16 Couleurs

16 Couleurs – graphisme & jeu vidéo


8 Commentaires

Portfolio: Crazy Planets (2009)

PlayfishCrazyPlanets-Header2

Jusqu’en 2010 le paysage du jeu sur Facebook était très différent de ce qu’il est devenu par la suite. Aucune des sociétés présentes sur le marché n’était ni très grosse ni très rentable, les techniques de monétisation du free-to-play restaient balbutiantes et les préconceptions sur ce que devait ou ne devait pas être un jeu Facebook encore peu présentes. Par conséquent l’environnement était très propice aux expérimentations plus ou moins loufoques dans l’espoir d’être les premiers à découvrir le genre de jeu qui fonctionnerait bien sur la plateforme. Pour ma part,  j’avais en 2008 rejoint le studio norvégien de Playfish, à la situation géographique assez improbable puisque situé à Tromsø, une petite ville située tout au nord du pays, à 350 km au delà du cercle polaire, là où le soleil ne se montre pas pendant deux mois l’hiver mais en contrepartie ne se couche pas entre le 21 mai et le 21 juillet !

Tromsø

Tromsø. Pas mal, non ?

Crazy Planets - Play IconC’est dans ce contexte que naquit Crazy Planets, un jeu Flash de tir au tour par tour inspiré par le gameplay de Worms, à la différence que toutes les missions se déroulaient sur de minuscules planètes circulaires avec une gravité à l’avenant. Avec certaines armes un peu puissantes, il était donc possible de se blesser par mégarde en tirant un projectile qui ferait le tour de la planète ! On pouvait engager ses amis Facebook comme co-équipiers, ce qui permettait de coller leur photo de profil sur un des personnages de l’escouade et de rendre les combats cocasses à l’occasion, comme quand il fallait se résigner à sacrifier Jean-Christian Ranu de la compta pour terminer une mission. À cela s’ajoutait un léger aspect RPG avec des niveaux pour les personnages offrant davantage de points de vie et des armes à débloquer en collectant des matériauxUn mode multijoueur était prévu depuis le début et devait même constituer le cœur du jeu, la campagne solo ayant été ajoutée sur le tard quand il s’est avéré qu’il ne serait pas possible de construire un mode multijoueur dans les délais impartis.

L’équipe de développement fut limitée à deux personnes la plupart du temps, à savoir un programmeur (Bryan Gale, actuellement développeur indépendant préparant l’intrigant Induction) et moi-même pour toute la partie graphique hormis certaines décorations. J’avais aussi conçu la plupart des niveaux avec un éditeur maison et avais été impliqué dans le game design.

Ayant à peu près carte blanche pour les visuels, j’avais opté pour un thème qui m’est cher et qui était tout à fait en adéquation avec le type de jeu et le public visé : une science-fiction tendance rétro avec planètes inconnues, soucoupes volantes et robots un peu fous (ce qui avait également l’avantage de justifier l’intelligence artificielle basique de ces derniers !). Pour la direction artistique à proprement parler, je m’étais fixé deux objectifs : un style affirmé et accrocheur tout en restant très lisible, ciblant plutôt un public jeune en accord avec le gameplay, et comme Flash n’ayant jamais été réputé pour sa vitesse, une attention particulière aux performances du jeu qui m’a fait privilégier des formes simples sans fioritures inutiles et effets coûteux en temps machine.

Lancé mi-2009, Crazy Planets ne rencontrera qu’un succès commercial modeste malgré de bonnes critiques et même des versions pirates sur les réseaux VKontakte en Russie et Renren en Chine. Après être resté longtemps sans mise à jour, le jeu fut mis à la retraite forcée en 2012 lors d’un énième changement technique de Facebook qui aurait demandé de remanier trop de code pour être financièrement justifiable. Aujourd’hui Crazy Planets n’est pas tout à fait oublié puisqu’une poignée de fans continue de réclamer son retour plusieurs années après sa disparition. Quant au marché du jeu vidéo sur Facebook, la sorte d’explosion cambrienne que j’invoquais en introduction s’est arrêtée rapidement à partir du moment où Farmville s’est avéré être une machine à cash et, comme Clash of Clans ou Candy Crush Saga aujourd’hui, est donc subitement devenu la référence et le standard auquel tout nouveau concept serait jaugé et dont les mécanismes allaient être scrutés de manière obsessionnelle et imprégner des milliers de jeux.


3 Commentaires

L’animation HTML5/WebGL avec Flash Professional CC 2014 – la méthode officielle !

Flash HTML5 (montage)Il y a 18 mois, j’avais évoqué l’extension Swiffy de Google comme étant une solution efficace pour exporter des animations HTML5 à partir de Flash. Les choses ont un peu évolué depuis : l’extension n’ayant pas été mise à jour, elle n’est plus compatible avec les dernières versions de Flash Pro, et il faut donc garder une vieille version de Flash Pro CS6 sous le coude juste pour pouvoir exporter en HTML5. Peu pratique, sans parler du risque qu’un beau jour, Swiffy finisse par ne plus fonctionner du tout.

Je viens de découvrir la nouvelle version de Flash Pro sortie fin juin (Flash Professional CC 2014, de son petit nom). Adobe s’est apparemment pas mal réveillé et s’est finalement décidé à transformer Flash Pro en un logiciel de création d’animations multiformat : SWF évidemment, mais en y ajoutant un large support du standard HTML5 et un support un peu plus expérimental de WebGL.

Concrètement, lors de la création d’un nouveau projet, on a maintenant le choix entre ActionScript 3 (le format Flash standard), Canvas HTML5 et WebGL. Si on choisit HTML5 ou WebGL, les animations sont ensuite créées nativement dans ces formats, mais avec le workflow et les outils habituels de Flash. Les rares outils qui ne sont pas supportés sont désactivés (par exemple, 3D Rotation Tool pour HTML5 et WebGL, ou toute la partie texte pour WebGL) pour éviter tout problème.

Pour convertir un document Flash existant en HTML5 ou WebGL, il y a deux solutions :

  • soit copier/coller tous les calques du fichier FLA d’origine vers un nouveau document HTML5 Canvas / WebGL
  • soit utiliser les scripts JSFL fournis (Commands > Convert HTML5 Canvas from AS3 document formats ou Commands > Convert WebGL (Preview) Canvas from AS3 document formats).

La conversion semble donner de bons résultats pour des animations pures. Le rendu des éléments textuels est généralement plus problématique : pas d’antialiasing et une seule mise en forme possible par champ. Quelques autres fonctions ne sont pas supportés du tout (Blend mode en overlay, lignes en pointillés, transformations 3D…). Le cas échéant, tout script AS3 est désactivé et devra être converti en Javascript a la main.

Animation SWF

Animation SWF

Animation HTML5 avec Flash Professional CC 2014

Animation HTML5 avec Flash Professional CC 2014

Avec mon exemple habituel, en HTML5 je note juste la perte d’antialiasing sur le masque de l’image du haut, et bizarrement un saut dans l’animation du nuage de poussière (alors que la conversion avec l’ancienne solution Adobe, CreateJS, était nickel). En WebGL, le masque de l’image du haut est complètement absent et le masque de la fumée verte du chaudron est affiché de manière incorrecte par moment. Je ne suis pas en mesure de vous montrer le résultat puisque l’animation a besoin d’un serveur web pour être affiché (intégré à Flash Pro, donc l’animation ne fonctionne plus si l’application est fermée)… « support expérimental », ils avaient prévenu !

Adobe Edge Animate HTML5

A noter aussi qu’Edge Animate, la solution d’animation 100% web d’Adobe que j’avais évoqué à plusieurs reprises par le passé (ici et ici), continue de faire son petit bonhomme de chemin et la version 2014 dispose de fonctionnalités très intéressantes, comme la prise en charge des fichiers vidéo HTML5, l’importation de spritesheets, le copier/coller d’images SVG depuis Illustrator, la mise à l’échelle réactive (responsive), les trajectoires de mouvement (similaires à Flash), etc.


4 Commentaires

Spine, une solution efficace pour l’animation pour les jeux iOS et Android

Quand on a travaillé sur des jeux web en Flash, il est assez étonnant de constater le manque de solution « clé en main » pour l’animation sur mobile. En pratique, la plupart des développeurs iOS et Android se résignent à utiliser des sprite sheets qui sont faciles à implémenter mais manquent quelque peu d’élégance. Surtout, le gros inconvénient de cette méthode est la taille des assets générées, puisque chaque frame se traduit par une nouveau sprite, même si les changements sont minimes.

Chez Brainbow, on a longtemps cherché un outil qui permettrait de générer des assets beaucoup plus légères que les traditionnelles sprite sheets tout en contentant à la fois les artistes (puissant, utilisant des concepts familiers et disposant d’une interface intuitive) et les programmeurs (intégration facile avec les moteurs les plus populaires et la stabilité du runtime). J’avais espéré à une époque que Spriter puisse occuper cette place et j’avais donc supporté le projet sur Kickstarter au printemps 2012. Malheureusement, plus de 18 mois après la collecte des fonds, il faut bien reconnaître le développement s’éternise et est toujours loin de proposer le niveau de stabilité et de finition qu’on serait à même d’attendre d’un produit qui vise clairement les professionnels.

Spine

La quête a donc continué… jusqu’à ce que je tombe par hasard sur Spine, d’Esoteric Software. Le concept est le même que Spriter, à savoir un outil d’animation 2D principalement pensé pour les personnages grâce à un système de bones organisés hiérarchiquement en squelette. L’intérêt est que l’animation n’a dans ce cas pas à être exportée sous forme de sprites, puisque uniquement les images de base et un petit XML sont nécessaires, d’où un gain de place énorme (souvent 90% en moins !).

Avec son interface bien pensée et agréable à l’œil, ses runtimes pour la plupart des moteurs populaires (Cocos2D, Unity, XNA…) et son excellente stabilité (du moins en quelques semaines d’utilisation) Spine semble tout à fait prêt pour un usage professionnel malgré son jeune âge. Même en étant pensé avant tout pour les personnages, le système d’animation est suffisamment flexible pour être parfaitement utilisable pour animer des interfaces ou des effets spéciaux simples. Le site web propose en outre une documentation détaillée ainsi que des vidéos expliquant comment prendre en main le logiciel. L’impression de sérieux est générale et permet d’être plutôt confiant sur l’avenir de l’outil.

Évidemment, Spine n’est pas non plus un remplaçant de Flash et reste beaucoup moins puissant : on n’y trouve aucun outil de dessin, ni de support d’images vectorielles et l’absence de quelques fonctionnalités bien pratiques comme les masques ou l’utilisation de courbes comme guide se fait souvent sentir. Néanmoins je suis plutôt impressionné par Spine qui, sortant un peu de nulle part, nous a permis chez Brainbow de passer à la vitesse supérieure avec les animations pour nos projets iPhone et Android.

Une version d’essai est disponible sur le site web de Spine (Esoteric Software)


5 Commentaires

Tester des animations Flash sur mobile avec Swiffy et Dropbox

Malgré le désamour souvent bruyamment exprimé pour Flash sur plateformes mobiles, le logiciel reste encore largement utilisé comme outil de création pour de nombreux jeux et applications pour smartphones et tablettes. En effet, il n’existe pas vraiment à l’heure actuelle d’outil dont les possibilités en matière d’animation soient réellement au niveau de Flash Professional.

Lors de la création de contenu pour un jeu mobile, les animations créés avec Flash sont généralement exportées sous forme bitmap en sprite sheets qui sont ensuite affichées par le moteur du jeu selon sa propre tambouille.

Le problème se pose quand un artiste ou animateur veut tester rapidement une animation sur mobile, en particulier pour se faire une idée du résultat sur un petit écran. La lecture du format natif SWF n’étant pas possible sur la grande majorité des smartphones, il n’existe pas vraiment de solution simple. On peut tenter d’exporter l’animation en vidéo ou GIF animé, mais le résultat est généralement médiocre et/ou la lecture sur mobile peut là encore poser problème.

En tâtonnant un peu j’ai réussi à trouver une méthode relativement indolore qui permet de visualiser les animations sur mobile en moins d’une minute :

L'export HTML5 avec Swiffy dans Flash

  • En premier lieu, on va avoir besoin d’un compte Dropbox, avec l’application ad hoc sur le mobile cible (Android, iOS, Blackberry et Kindle Fire sont officiellement supportés).
  • Ensuite, on installera l’extension Flash Swiffy, qui permet de convertir les animations au format HTML5
  • Une fois ces deux étapes réalisées, il suffit d’exporter le contenu Flash en HTML5 via Commands > Export as HTML5 (Swiffy). Swiffy va créer un fichier HTML unique qui contient toutes les données de l’animation, fichier qu’il faudra copier dans le répertoire Dropbox partagé.
  • Il suffit ensuite d’ouvrir ce fichier HTML sur le mobile à l’aide de l’application Dropbox une fois la synchronisation effectuée et d’admirer le résultat.

Animation Flash sur mobile

J’ai pu tester la manipulation sur iOS et Android, et cela fonctionne parfaitement dans les deux cas. La réussite  pour les autres plateformes dépendra surtout de la présence d’un navigateur supportant correctement l’HTML5.

Quelques remarques sur Swiffy : la conversion est généralement fidèle, mais certains effets spéciaux dans Flash (genre filtres ou blending) sont susceptibles de ne pas être exportés correctement, ou du tout. Le framerate est aussi souvent un peu à la rue sur mobile, mais ça ne gène pas outre mesure pour se faire une idée du résultat final.

À noter également que les nested movie clips (les movie clips animés dans des movie clips) posent généralement problème et seront ignorés.  La solution consiste à les afficher comme Graphic dans leurs propriétés (ce qui par contre rend impossible l’utilisation de filtres).


9 Commentaires

Quels logiciels pour l’animation HTML5 ? (3)

J’ai déjà évoqué auparavant les solutions disponibles pour la création d’animations HTML5 comme Adobe Edge Animate, Sencha Animator, Purple, Hype, Radi, A5 HTML5 Animator, Hippo Animator, Mugeda, MotionComposer et même Flash Professional. J’ai récemment pris connaissance de deux nouvelles alternatives sur lesquelles nous allons nous pencher tout de suite :

E-anim (Windows uniquement, version d’essai gratuite, licence à 10 euros) se veut une solution tout-en-un de création et même d’hébergement d’animations. A l’origine utilisant la technologie Flash, il propose également l’export vers l’HTML5 à présent. Avec sa prise en compte de l’interactivité qui permet de réaliser de petits programmes, le logiciel semble très puissant et devrait offrir beaucoup de possibilités à qui saura se plonger dans la documentation et les très nombreux exemples… L’interface n’est en effet pas vraiment intuitive, ou du moins très « personnelle » dans sa manière de faire les choses et de présenter l’information. On note quelques lacunes pour une utilisation purement axée sur l’animation : malgré tous mes efforts je n’ai pas été en mesure de faire boucler une animation (l’option pour cela ne donnant pas l’effet escompté) ni d’ajouter de l’easing aux animations. En outre, il est surprenaent de ne pas pouvoir directement visualiser l’animation dans l’éditeur, mais de devoir chaque fois compiler un SWF qui s’affichera dans une nouvelle fenêtre, avec quelques secondes perdues à la clé. Difficile dans ces conditions de réaliser des animation très léchées.

E-anim

Easy WebContent Presenter (en ligne, gratuit pour l’instant) est quant à lui dans l’esprit de MotionComposer, à savoir plutôt une alternative à PowerPoint (donc orientée « diapo ») qu’un logiciel d’animation classique. On y trouve néanmoins une vraie timeline avec des clés à placer dessus. Comme de plus en plus souvent, il s’agit d’un outil complètement en ligne, utilisable via un navigateur internet et sauvegardant les créations dans le cloud. L’interface est claire et d’apparence très professionnelle. Les fonctionnalités de base sont là, même si on relève quelques manques ou limitations (entre autres : précision limitée au dixième de seconde et impossibilité de dupliquer une clé). Un choix d‘easings assez complet est disponible en double-cliquant sur une clé, malheureusement il faut le faire pour chaque paramètre (coordonnées, dimensions, rotation…), ce qui devient vite fastidieux. J’émettrai les mêmes réserves qu’auparavant au sujet du caractère purement en ligne du logiciel : si cela rend la diffusion des animations plus simple (voir mon animation ici), des problèmes de confidentialité peuvent se poser, et surtout quid du devenir des données en cas de suspension définitive du service ? Il ne semble en effet pas possible de télécharger un fichier d’animation complet, ce qui est plutôt ironique pour un format ouvert comme le HTML5.

Easy WebContent Presenter

Enfin, saluons l’initiative de Hippo Studios qui diffuse gratuitement la version 1.8 de leur logiciel Hippo Animator (Windows uniquement). Le programme est sans fioritures mais permet de réaliser des animations simplement avant éventuellement de passer à la version 2 (dont j’avais parlé auparavant), payante mais aux fonctionnalités beaucoup plus étendues. Des logiciels évoqués dans ce billet, c’est sans conteste le plus homogène et facile à prendre en main.

Hippo Animator 1.8

 

Voir aussi :


10 Commentaires

L’animation HTML5 avec Flash Professional

Les solutions pour la création d’animations en HTML5 peuvent être classées en deux catégories :

  • Le recours à un logiciel spécifique pour la réalisation d’animations directement au format HTML.
  • L’utilisation de Flash Professional pour la création du contenu, lequel  sera ensuite exporté en HTML en lieu et place du traditionnel SWF.

J’ai couvert la plupart des solutions disponibles dans la première catégorie (Adobe Edge, Tumult Hype, Hippo Animator…) lors de précédents billets ici et ici.

Dans la deuxième catégorie on trouve entre autres Swiffy de Google et Toolkit for CreateJS, la solution officielle d’Adobe. Swiffy (plus de détails ici) est une extension gratuite qui après installation est accessible dans le menu Commands de Flash. Toolkit for CreateJS  (plus de détails ici) , gratuit également, dispose lui de sa propre fenêtre, située dans Windows > Other > Toolkit for CreateJS.

J’ai testé les deux extensions avec une petite animation constituée d’éléments du défunt Country Story (© Playfish/EA) que j’avais réalisés il y a quelques années. Cliquez sur les images ci-dessous pour voir l’animation d’origine en SWF, celle en HTML convertie par Swiffy (Commands > Export as HTML5 (Swiffy)), et celle en HTML convertie par Toolkit for CreateJS (Windows > Other > Toolkit for CreateJS > Publish).

Animation SWF

Animation HTML5 par Swiffy

Animation HTML5 par Swiffy

Animation HTML5 par Toolkit for CreateJS

Animation HTML5 par Toolkit for CreateJS

La conversion semble fonctionner de manière satisfaisante dans les deux cas puisque le résultat est très proche de l’animation d’origine. On note juste l’absence d’anti-aliasing sur le masque sur l’image d’en haut et peut-être une vitesse un peu inférieure à celle du SWF.

Un des gros travers d’HTML5 est les soucis de compatibilité, et c’est malheureusement confirmé par ce petit test. L’animation créée par Toolkit for CreateJS s’affiche de manière incorrecte et extrêmement lente sur l’un des deux PC, pourtant avec la même version de Chrome, sur lesquels je l’ai testée. Sur iPad, les deux animations passent correctement avec Chrome et Safari, même si le framerate est poussif dans tous les cas (léger avantage pour Toolkit néanmoins).  À noter également que Toolkit semble convertir les objets vectoriels en bitmaps, quand Swiffy les laisse tel quels.

La taille des fichiers est aussi largement supérieure à la solution Flash, puisque les animations HTML5 pèsent entre 100 et 120 ko contre 24 ko pour le SWF.

Malgré les petits soucis de compatibilité et l’inflation de la taille des fichiers, la création d’animation HTML5 avec Flash reste une solution très prometteuse puisqu’elle présente le gros avantage de pouvoir conserver un outil et une pipeline qui ont fait leurs preuves et qui sont maîtrisés par de nombreux infographistes et animateurs.


Poster un commentaire

Flash Player 11 (Molehill) avec support 3d disponible en version bêta

Il est maintenant temps de faire une mise à jour de mon article du mois de mars. Adobe propose en effet à présent une version « bêta 2  » de Flash Player 11, avec comme grosse nouveauté le support de l’API Stage3D (anciennement connue sous le nom de Molehill). Les derniers mois ont aussi permis aux moteurs 3D pour Flash d’intégrer la technologie dans leur dernières versions et par conséquent certains développeurs ont pu en tirer avantage. À titre d’exemple, on peut jeter un coup d’œil aux démos d’Alternativa3d, dont certaines sont réellement impressionnantes quand on réalise que n’importe quel jeu Flash, pour peu que le budget et le talent suivent évidemment, pourra bientôt proposer des visuels de cette qualité.

Démo de Tanki Online 2.0, développée avec le moteur Alternativa3d. 60 fps avec un GPU d'entrée de gamme (Nvidia 3100M)

La différence avec les capacités 3D de Flash avant Player 11 est énorme, puisqu’il s’agit grosso modo de passer d’un support logiciel (lent, de surcroît) à un support matériel dont les performances sont sans comparaison. Adobe parle d’un passage de l’affichage par Flash 10 de « quelques milliers de triangles sans Z-buffer à 30 images/seconde » à celui de l’affichage par Flash 11 de « centaines de milliers de triangles avec Z-Buffer à 60 images/seconde en plein écran et haute définition ». Évidemment tout va dépendre des performances du matériel sur lequel tournera Flash, mais rares sont aujourd’hui les PC ou tablettes dépourvus de GPU 3D. Mais même sans accélération matérielle présente, Adobe prétend que les performances seront largement supérieures à Flash Player 10, grâce à l’acquisition d’une licence de la technologie Swiftshader de Transgaming, qui se présente comme le rendu 100% logiciel le plus rapide du marché.

démo de Metro 2033 Online développée avec le moteur Alternativa3d


1 commentaire

Flash : la 3d avec accélération matérielle pour bientôt

Adobe a rendu publique une version bêta de Flash Player 11 (nom de code Molehill) il y a quelques jours. La grosse nouveauté est le support de l’accélération matérielle 3d par le biais d’une API qui peut utiliser soit DirectX, soit OpenGL, avec comme solution de secours un rendu logiciel si ces derniers ne sont pas présents (ou si la carte vidéo n’est pas supportée, comme c’est le cas avec mon portable…).

Zombie Tycoon de Frima est une démonstration des capacités 3d de Flash 11

En pratique cela devrait enfin permettre d’afficher de la 3d avec des performances correctes dans Flash. Des solutions existaient depuis quelques années, comme les moteurs Away3d et Papervision, mais du fait de leur rendu 100% logiciel, les performances laissaient franchement à désirer, surtout sur des configurations modestes.

Les réactions ont été rapides : Away3D proposent dès à présent une version alpha de leur moteur compatible avec Molehill (voir ici). De leur côté, Unity ont annoncé qu’ils supporteraient l’export vers Flash 11 (voir ici). Unity Player, leur plugin pour navigateur dont le gros argument est  le support de la 3d avec accélération matérielle, va se retrouver en concurrence frontale avec Flash Player 11, et on peut estimer qu’il va péricliter rapidement. Je ne pense pas que cela sera préjudiciable à terme pour Unity, au contraire. D’une part, une grosse partie de leur activité se concentre sur iOS et les jeux PC, qui ne sont pas concernés par Flash Player. D’autre part, leur savoir-faire se situe principalement dans leur pipeline de développement, avec tous les outils que cela implique, et leur support de multiples plateformes (web, iOS, Android, Wii, Xbox 360, PS3). Y ajouter Flash permettra aux jeux construits avec Unity d’être théoriquement accessibles par 90% des PC connectés à internet, un chiffre que je suppose bien supérieur au taux de pénétration actuel d’Unity Player.

Une fois qu’il sera officiellement disponible, voir Flash Player largement adopté prendra 6 mois voire 1 an, mais à partir de ce moment là, le type de jeux jouables dans le navigateur de monsieur tout-le-monde va radicalement évoluer.

  • Pour installer Flash Player Incubator, c’est ici.
  • Il est préférable de désinstaller votre version actuelle de Flash avant : Windows, Mac.
  • Zombie Tycoon, un jeu qui sert de démonstration aux nouvelles capacités 3d de Flash, est jouable ici.