All posts by Aymeric

About Aymeric

Freelance Interactive & Game Developer.

Dargaud cartography, pure JavaScript isn’t so bad…

New year comes with plenty new resolutions, one of them was to finally give a serious try to a small project into pure JavaScript. I used to swear on JavaScript every time it was mentionned. I made several projects using TypeScript and Haxe, and I’m very happy with those techs. But, if there is some strong libraries (Pixi.js, Phaser, three.js) made in pure JavaScript, there are certainly some reasons !? And when you know that those guys are all ex-flashers, you think that they would use a compiled language. But not at all, they don’t want to depend on a company (since Adobe’s failure on Flash…), freedom feeling you said?

Continue reading Dargaud cartography, pure JavaScript isn’t so bad…

Scaleform, for the love of Flash

Edit, official answer from Autodesk: “Initial Indie friendly efforts have focused on MayaLT, as the most widely used Autodesk game tool. Autodesk is considering a similar option for their Game Middleware tools (such as Scaleform, Navigation and HIK) which will make them more affordable and accessible to Indies. An Indie friendly pricing model, hopefully coming soon, would allow them to offer the latest version of Scaleform to Indies and not bother maintaining a separate (and older) consumer Scaleform Mobile download. That should solve the problem for Indie devs that want the latest Metal, XCode and 64 bit support.”

We’re in 2015 and Flash is still there. It might be a dying technology but it couldn’t die right now because there isn’t any other tool which is able to replace it. The strength of Flash is obviously its vector animations. However since several years many of the flash developers don’t use the Flash Pro software in their daily job. Now we’re mostly using Starling and sometimes we grab animations from a fla and turn them into a SpriteSheets, or using DragonBones or mostly a SWC file to turn it into textures at runtime. Also there is the fact that we’re not able to reload SWF file using AS3 code on iOS.
Those facts highlight that something is broken in our production line: graphic/animation designers are increasingly dependent on developers. We are not able to take their SWF to make it running on our mobile device, so we must recreate everything ourselves via code and optimized framework (Starling). And hell, I hate doing animations jobs.

I think AAA studios were laughing when Flash was announced dead, because they use it daily. Mass Effect, Tomb Raider, The Witcher, Crysis… all of them use SWF file for their UI stuff. Have you thought a moment that even EA was using SpriteSheets with several resolutions for its menu!? Obviously not, with SWF file they are able to target all resolutions needed with just scaling/stretching their SWF without any loss, from a crappy 640 x 480 resolution to a 4k. However they are not doing it via AIR (it even doesn’t exist on console), but via Scaleform. Let’s have a look on this amazing tool!
Continue reading Scaleform, for the love of Flash

Update an application on several PCs with one click

Hey there, happy holidays!

This last month I worked for Fontevraud, the largest abbey in Europe! I updated their iBar program. Inside the main chapel, they have several touch screens displaying Fontevraud’s informations about Eleanor of Aquitaine, a Quiz, a Pacman retracing the story of a prisoner (the abbey was a prison after the French Revolution)…

The iBar program (PC only) works exactly like an iPad, a main screen launching applications. That was the first time that I worked for a museum, and so there were new kinds of problematics: how to know if a touch screen crashed and notify someone? How to get the errors for fixing them later? How to update the application on each touchscreen without human intervention on each machine?
Continue reading Update an application on several PCs with one click

Taking screenshots with Flambe, fighting multi-platforms

I enjoy playing with Flambe. It’s the only tech (except OpenFL) which enable you to have a SWF, Canvas & WebGL browser game with one code base made in Haxe (like OpenFL).
Having those three targets, you’re sure to reach your audience at 100%. However one feature, taking an in-game screenshot, may ruin your multi-platforms adventure.
Continue reading Taking screenshots with Flambe, fighting multi-platforms

Unity2D the Good, the Bad and the Ugly.

Hey guys, after more than one year working with Unity, I thought it was time to give some feedbacks. With Thomas (aka Gsynuh) we worked on a 3D game which has been canceled unfortunately. Anyway we were really happy to use Unity3D for this project instead of using Away3D (we’re mostly AS3 developers).

Now Thomas is working full time on A Blind Legend (we will provide you soon a blog report on this exciting project!), built with Unity3D. On my side I will help him on specific tasks, I’ve also several AS3 projects, and one game in progress using Unity2D.

For those of you who don’t know me, I worked on the Citrus Engine and so I’m very familiar with Starling framework (a 2D API). This background precision is important to understand my approach of Unity2D.

Continue reading Unity2D the Good, the Bad and the Ugly.

Unity P Dollar gesture recognizer

Hey guys! Just back from vacations in Norway (what an amazing country!), it’s time to go back to code!
Long time ago, I played with the one dollar algorithm for making gesture recognition. Browsing the page this week, I discovered the $1 has two children $N and $P. This last one is the most recent one and the best one! Its top features are multi-stroke and gestures represented as unordered point-clouds.

The $P algorithm has a C# implementation, so it shouldn’t be hard to use it with Unity? Indeed, unless the UI and files save path, the original code worked fine! A web demo, Github project and it’s on the Unity Asset Store!

Enjoy ;)

Sophie the Girafe 2

I’m glad to present you a new app with the famous girafe: The Safari of Sophie la Girafe!

screen568x568A fun and educational puzzle game for children between 2 and 6 years old! This adventure contains 18 original puzzles for you to enjoy with your child!
Travel to the great plains of Africa with the famous Sophie la Girafe! Introduce your child to lions and giraffes! Soar alongside eagles and pink flamingos and fly over herds of zebra and groups of crocodiles as you explore the mythical world of Sophie la Girafe.

All the scenery and environments have been especially designed with your child in mind. Your child will find it easy to move the puzzle pieces around by dragging them on-screen. The howls and roars of the savannah have been used to bring each animal to life.
Your child will be captivated by the clear, interactive interface, especially designed for younger children.

Thomas, in a previous blog post, related our issues using Adobe AIR GPU mode for a large project & how we switched to Starling. The Safari of Sophie la Girafe, is made with the GPU mode. As usual I made it with the Citrus Engine. Due to the complexity of some animations and finally because of bones/layer number I used DragonBones for running lots of them at full speed. The app works great but you may encounter some performance issue on iPhone4 due to this Adobe’s bug.

Is it my latest project with the GPU mode? Not certain, however for future apps I will focus on performances (even if on all my GPU apps there were pretty acceptables) rather than loading time. Obviously it depends primarily of the app content ;)

Silly Family available on the Mac App Store

Hey, I’m glad to share with you that Silly Family is now available on the Mac App Store! Don’t hear anything about Silly Family? Have a look there.

Thanks to Adobe AIR technology, with exactly the same code base we released the game on iOS, Mac, Android & Amazon. We could also release it to PC, but not sure where to sell it… I hope AIR would work on Windows 8 modern UI mode and so sell it via Windows store, but that’s an other story.

The first time you’re looking for putting your AS3/AIR game on the iOS store, you will find lots of tuts. However for the Mac App Store, that’s an other story. This one is the most concrete that I found.

Here is my bash script, FromAirAppToMacAppStore, working for AIR 13:

#!/bin/sh
#!/usr/bin/env bash
#$ -N $2
 
DIR="$( cd "$( dirname "$0" )" && pwd )"
 
cp $DIR/Info.plist $DIR/"$1".app/Contents
cp $DIR/Icon.icns $DIR/"$1".app/Contents/Resources
 
rm $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/Current/Resources/WebKit.dylib
rm -rf $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/AdobeCP15.plugin
rm -rf $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/Flash\ Player.plugin
rm -rf $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/adobecp.plugin
 
chmod -R 777 $DIR/"$1".app/
 
#codesign -f -v -s "$2" $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/AdobeCP15.plugin
#codesign -f -v -s "$2" $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/Flash\ Player.plugin
#codesign -f -v -s "$2" $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/adobecp.plugin
codesign -f -v -s "$2" $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0
codesign -f -v -s "$2" $DIR/"$1".app/Contents/Frameworks/Adobe\ AIR.framework
codesign -f -v -s "$2" --entitlements $DIR/entitlements.plist $DIR/"$1".app
 
codesign --display --entitlements - $DIR/"$1".app
 
productbuild --component $DIR/"$1".app /Applications $DIR/"$1".pkg --sign "$3"
 
codesign -v --verify $DIR/"$1".app
 
exit 0
 
#sh FromAirToMacAppStore.sh "SillyFamilyDesktop" "3rd Party Mac Developer Application: DaVikingCode (XXXXXXXXXX)" "3rd Party Mac Developer Installer: DaVikingCode (XXXXXXXXXX)"

For more instructions (and latest update) have a look on my Github’s repository. Note that I’m moving some repositories to Da Viking Code‘s Github account, the Citrus will move too ;)