Sujets sur : Interview

Interview : Comment Damien a découvert l’ActionScript 3 pour en faire son métier

Commentaires fermés sur Interview : Comment Damien a découvert l’ActionScript 3 pour en faire son métier

Ecrit le 18 août par Matthieu
Publié dans le(s) sujet(s) Flash 3D |Interview

Cette nouvelle interview est consacrée à Damien Buchet : Développeur ActionScript 3 avec PaperVision 3D.

Voici ce que vous allez découvrir :

  • Comment Damien a débuté la programmation ActionScript.
  • Quelles sont les ressources, sa méthodologie pour améliorer sa programmation ActionScript.
  • Comment Damien a perfectionné sa connaissance de l’ActionScript 3 avec Google et des tutoriels.
  • Comment et en combien de temps il a pu développer son premier projet en 3D Flash.
  • Son point de vue sur l’utilisation des Frameworks ActionScript.
  • Comment structurer ses projets ActionScript.
  • Quelle organisation adopter pour son application Flash.
  • Damien vous fournit même un exemple simple pour découvrir l’utilisation de PaperVision 3D.

 

Exemples SWF Flash avec PaperVision 3D

Voici l’application flash qui utilise PaperVision 3D pour le déplacement du cube.

Les exemples ci-dessous utilisent les tweens de Grant Skinner.

Utilisez les touches directionnelles et votre souris pour changer la position de la caméra.

Ci-dessous, l’exemple de Damien avec une petite modification sur la gestion des touches directionnelles.

Télécharger “Exemple Papervision 3D”

ex-papervision-3D-interview.zip – Téléchargé 604 fois – 748,72 Ko

Téléchargez le Framework Tweens de Grant Skinner.

Téléchargez le Framework 3D Flash Papervision 3D.

Allez visiter le site de Damien Buchet. Vous découvrirez les projets ActionScript qu’il a développé.

Avez-vous déjà utiliser la 3D dans Flash ?

Avec Papervision 3D, Sandy 3D Engine ou un autre Framework ?

Partagez vos exemples d’application et retour d’expérience dans les commentaires ci-dessous.

Interview : Comment Michel a appris à développer des jeux flash

2 questions

Ecrit le 15 juillet par Matthieu
Publié dans le(s) sujet(s) Interview

Dans cette interview, Michel nous dévoile comment il a appris la programmation flash, quels sont les outils qu’ils utilisent quotidiennement et sa méthodologie de travail.

En plus, il fournit même un exemple entièrement commenté !

Michel a également un avis différent du mien pour programmer des applications flash, à découvrir dans l’interview ci-dessous…

Texte de l’interview de Michel

Matthieu : Bonjour Michel, peux-tu te présenter aux lecteurs d’actionscript facile ?

Michel : Bonjour Matthieu et tous les lecteurs d’actionscript facile !

Je suis haut de 1m82, lourd de 86Kg, brun capillairement parlant et j’ai les yeux vert-marrons ! Alors ?!

Ce n’est pas de la présentation américaine, ça ? 😉

Plus sérieusement, j’ai 31 ans et j’habite le centre de la France depuis plus de 15 ans maintenant.

Mon lien avec l’informatique a commencé dés mon arrivée en France, en 91 à l’âge de 11 ans avec un Amstrad CPC 6128.

Le problème était que je n’avais pas de disquettes à l’époque, alors je passais mon temps à recopier des pages de codes dès le matin pour pouvoir jouer la suite de la journée…

Je ne comprenais pas la moindre ligne de code à ce moment là et ce qui me foutait la rage c’est quand je me trompais dans une adresse mémoire, juste d’un chiffre et plantais l’ordi, à deux doigts de la fin du listing…

De toute façon, j’ai fini par péter mon Amstrong à la suite d’un très mauvais score à Ghost’nGoblins… 😀

Mais j’ai compris petit à petit le fonctionnement de l’ordinateur, le code. Et très rapidement je préférais passer mon temps à coder des jeux plutôt que d’y jouer.

J’ai fais ensuite l’acquisition d’un IBM PS/1, mon premier PC cadencé à 8Mhz, 40Mb de disque dur et 512Kb de mémoire vive, que je saturais très rapidement avec mes programmes ambitieux en Turbo Pascal.

C’est à ce moment là, en 1995 à peu près, que j’ai eu la chance de découvrir la « demoscene » et des « coders » chevronnés comme Skal, Unreal, pour ne citer qu’eux, à travers des groupes de démo comme Bomb, Pulse, Haujobb…

La demoscene est un monde à part dans l’informatique, un côté très « underground » qui m’a très vite séduit et qui mérite à lui tout seul un chapitre entier.

Pour faire court, c’est grâce à ça que j’ai compris l’importance d’optimiser son code, ses graphismes et les sons…

C’est aussi à ce moment là que j’ai pu comprendre l’utilité des mathématiques en informatique, qui, il faut l’avouer, ne me servaient jusqu’alors, qu’à compter la monnaie rendu par mon épicier arabe lors de mes fréquents achats de bombons (les œufs aux plats, mes favoris) !

Mais je l’avoue, j’ai pris une telle claque avec la demoscene, tellement largué au niveau du code que je me suis mis au graphisme 2D 8bits sous GrafxII (un Deluxe Paint d’Amiga, sur PC pour les connaisseurs)

J’ai alors passé quelques années dans des groupes comme Toadstood, Popsy Team, Skytech, Enenzi à créer et optimiser des images (et oui à l’époque des dessins en 16 couleurs c’était tendance).

Là aussi il y avait des cadors comme Made, Lazur, Yoga ou X-Man pour ne citer qu’eux également.

Je vais arrêter là pour la demoscene, sinon je vais pleurer de nostalgie 😀

Mais il me semblait intéressant de citer cette période qui a son importance sur la suite de mon parcours dans le monde du Flash notamment.

C’est au début des années 2000 que j’ai donc découvert le Flash, un logiciel qui m’a permis de lier mes deux passions : le code et le graphisme.

Alors oui, avec Flash 3, on ne parlait pas vraiment de code, mais d’une gestion très basique d’événements utilisateurs pour la plupart du temps. Mais le dessin et l’animation vectorielle était une petite révolution dans le monde du Web, défiant les horribles Gifs animés qui nous fracturaient les rétines sur la majorité des sites web de l’époque.

Depuis ce temps et jusqu’en 2003, je travaillais beaucoup avec l’IDE Flash en freelance, pour ne pas dire « au black » pour créer des pochettes de CD, des logos, des bannières, des présentations CD et des sites web full-Flash.

En 2004, j’ai intégré l’équipe du célèbre site de jeux en ligne Prizee.com en tant que deuxième développeur Flash. On bossait alors sous l’IDE Flash MX 2004 en ActionScript 2.0.

Là j’ai eu la chance de « tirer la bourre » avec mon responsable et très doué Cédric Néhémie, aka Abe !

Ce furent des moments de travail très enrichissants et rapidement nous sommes passés sous MTASC, le célèbre compilateur en ligne de commande produit par le talentueux Nicolas Cannasse de Motion-Twin.

Au fur et à mesure de notre collaboration, nous avons mis au point des outils et des « workflow » plus performants les uns que les autres pour sortir des jeux, exploitant les limites des performances du Flash Player et dans des délais très courts.

J’ai pendant ce temps évolué au sein de l’entreprise pour être tour à tour responsable Flash de Prizee, chef d’équipe et chef de projet.

Puis j’ai convaincu mon équipe et la direction de passer à haXe, un nouveau langage « web », successeur de MTASC, que nous utilisions pour produire du contenu Flash très performant. Nous suivions l’actualité haXe et Flash de très près afin d’être toujours à la pointe de la technologie en matière de développement de jeux en ligne.

Depuis je ne suis plus jamais repassé à l’ActionScript sauf sous la menace 😀

Là aussi, il y a un chapitre entier à consacrer à haXe qui est à mon sens un langage et un « concept » révolutionnaire !

J’ai ensuite quitté Prizee pour me consacrer entièrement à haXe.

J’ai nourri un blog très fréquenté, écrit des articles pour un magazine spécialisé dans la technologie Flash, Flash&Flex developers, et un livre a même était en projet, que j’ai dû mettre en stand by malheureusement pour diverses raisons.

Par ailleurs, je dispense ponctuellement des cours de Flash/haXe à l’IUT de Clermont-Ferrand aux élèves de 3ème année de « Licence pro Web » et j’ai également effectué des formations à l’APTA ou du consulting auprès de certaines entreprises, toujours dans le domaine du Flash, haXe et du développement Web en général.

Aujourd’hui je suis en phase d’intégrer un nouveau portail de jeux en ligne.

 

Matthieu : pour apporter des précisions, Michel a été un de mes premiers formateur en actionscript, c’est lui qui m’a enseigné les bases.

Eh oui, à l’époque c’était encore de l’AS2 ! Nous avons travaillé ensemble pour la société Prizee.com

Michel, peux-tu nous expliquer ton parcours de développeurs débutant à professionnel ?

Quelles sont les ressources, les éléments qui t’ont le plus aidé ?

Et surtout, combien de temps cela t’a t-il pris ?

Michel : Comme j’ai pu l’expliquer dans ma courte présentation 😀

Il y a eu plusieurs phases. Très tôt, j’ai eu une attirance pour le développement, l’envie de crée des jeux et pas seulement les utiliser, les « subir ».

Le monde de la demoscene ensuite a été très révélateur des besoins d’optimisation des programmes à l’exécution (gestion de la mémoire, prise en compte de la lenteur des PC de l’époque…) ainsi qu’en en terme de stockage (et oui c’était les disquettes à l’époque !)

Puis la découverte de Flash, dans les années 2000.

D’abord à des fins personnelles, puis petit à petit je me suis lancé dans le développement un peu plus professionnel en offrant mes services en tant que développeur de sites web full-Flash.

Mais c’est réellement à Prizee que j’ai eu l’opportunité de m’enrichir et mettre tous mes acquis au profit d’un développement complètement professionnel avec tous les impératifs que ça implique.

Les éléments qui m’ont le plus aidé sont le moteur de recherche Google mais aussi les décompilateurs !

J’ai énormément appris en regardant ce qui se faisait de mieux en matière d’animation Flash.

J’ai passé des journées et nuits entières à décompiler et essayer de comprendre le code des autres.

J’ai également beaucoup trainé sur les mailing-lists OSFlash et haXe et IRC : #flash, #flash.fr, #haxe

Mais au risque de passer pour un vieux con arrogant, il faut avant tout être passionné, motivé, persévérant…

 

Matthieu : donc, Michel, tu es un créateur professionnel de jeux vidéos flash, si je comprends bien ?

Peux-tu nous dire quels sont les jeux que tu as créé ?

Et surtout comment ?

Michel : J’ai crée des jeux aboutis, principalement en étant à Prizee. Si mes souvenirs sont bons, j’ai développé « La marre aux cadeaux », « Toudou Aviateur » et participé aux développements d’autres jeux de mon équipe.

Par contre, je me suis très rapidement spécialisé dans la réalisation d’outils de développement.

C’est réellement ce que je préfère !

Pour prendre un exemple concret, avec la mise en place d’un efficace workflow haXe et grâce au mode de programmation d’applications modulaires, les gars de mon équipe ne s’occupaient plus que du développement du moteur du jeu en lui-même, quasiment.

Tout le reste étaient des modules de présentation, de gestion de l’interactivité des joueurs, de la communication avec la partie serveur, communs à tous les jeux et indépendant de celui-ci.

 

Matthieu : et avec quels outils, logiciels, ressources… ?

Michel : Mes outils favoris sont un bloc-notes avec plein de gribouillis dessus et un stylo (je suis accro des Bic noirs transparents…vraiment, je trouve qu’ils glissent super bien sur une feuille ! :D).

Ensuite je suis fan de formules mathématiques, ça me fait réellement tripper d’optimiser mes calculs, de trouver des suites logiques etc.

Sinon je ne suis pas adepte des gros IDE lourds, je travaille sur FlashDevelop ou directement avec Notepad++.

Je ne suis pas non plus un grand fan de frameworks, pour la plupart trop chargés et abrutissant le développeur à terme (c’est mon avis, ça vaut ce que ça vaut hein…Quoi ?! Tu veux t’batt ?!? :D)

Ce n’est pas que j’aime systématiquement « réinventer la roue » mais j’ai à force, développé mes propres classes légères et répondant à mes propres besoins, ni plus ni moins.

J’aime la simplicité avant tout.

 

Matthieu : Avec ton expérience de développeur, quels conseils donnerais-tu à un débutant voulant se lancer dans la programmation actionscript ?

Michel : Je ne sais pas si je vais être de bons conseils, vu l’intitulé du site « ActionScript facile » puisque je défends bec et ongles et tente de promouvoir haXe !

Mais, convictions personnelles à part, je conseillerais de comprendre dans un premier temps ce qu’est Flash, le format SWF, le Flash Player etc.

De s’intéresser un peu à ce qu’il y a derrière…

Ensuite, je pense qu’il est essentiel de ne pas être totalement dépendant des différents frameworks proposés depuis des années sur la scène Flash, ni d’aucun IDE ou scripts d’aides au développement.

Ou du moins, pour être plus précis et quitte à me répéter, je conseillerais de toujours savoir comment tout ceci fonctionne en arrière plan…

Il ne s’agit pas là de « réinventer la roue » encore une fois, ou de coder sur une machine à écrire, mais tout simplement savoir se débrouiller sans, en cas de besoin.

J’ai malheureusement rencontré beaucoup de développeurs qui étaient très vite largués sans leurs outils habituels.

Pour finir, je serais d’avis de bien cerner un besoin en développement et d’appliquer le juste nécessaire et le « mode de développement » adéquat.

Pour prendre un exemple concret là aussi, un jeu doit être robuste, fluide.

Et pour qu’un jeu « claque » à coup d’effets spéciaux, il est indispensable de coder un peu plus bas niveau, plutôt que d’alourdir le tout à coup de couches abstraites, certes très élégantes mais d’avantage adaptées à des développements plus lourds d’interfaces etc.

 

Matthieu : As-tu des techniques ou « astuces » pour programmer des applications et jeux flash robustes et évolutifs ?

Des stratégies simples à mettre en œuvre pour optimiser une application ou un jeu flash ?

Michel : Il y a pas mal de données sur lesquelles on peut agir. Optimiser ses boucles, utiliser des algorithmes connus, les bons types de variables dont les temps d’accès en lecture ou écriture peuvent être plus ou moins lents, surveiller les fuites de mémoire, éviter les couches abstraites comme évoqué précédemment…

D’une manière générale, plus un code est abstrait, plus il est compréhensible au niveau humain et plus la machine galère à le comprendre elle !

Et donc, plus une application se veut évolutive et « modulaire » et moins elle est rapide à l’exécution.

C’est encore une fois un compromis à trouver selon les besoin du développement.

Attention au surdéveloppement donc.

 

Matthieu : Allez, as-tu une application, un code source, ou un tutoriel à partager avec nous ?

Michel : Hmmm, voyons voir…

Ce n’est pas un truc de cador mais j’aime beaucoup partager cet exemple de petit effet avec mes élèves, c’est donc plutôt anecdotique.

Un petit coup de sinus/cosinus ça vous tente ?

Je savais que j’allais vous faire rêver !!! Pom, pom pom… 😀

Allez, ce n’est pas si compliqué, vous allez voir.

Les fonctions sinus et cosinus sont périodiques de période 2 PI, c’est-à-dire qu’elles « bouclent » en quelque sortes sur les même valeurs.

De plus, on sait qu’elles oscillent entre -1 et 1.

Voici la courbe de la fonction sinus par exemple :

courbe sinus cosinus

On peut voir ici que sin( -PI ) = sin( -PI + 2PI ) = 0 etc et comme ça jusqu’à l’infini et peut-être même jusqu’au ciel qui sait ? :p

Ces fonctions peuvent donc se révéler très utiles pour créer des déplacement « rigolos » entre-autres.

Ce genre d’effets était très apprécié dans les démos à une certaine époque et est encore utilisé dans certains jeux par exemple.

Le reste du programme consiste à créer des lettres avec un dégradé de couleurs et un contour.

Pour ce faire, il existe de nombreuses possibilités.

Ici, j’ai choisi de « découper » dans un carré de dégradé de couleur, la lettre puis lui donner un contour, le tout sans incorporer la police de caractères dans le SWF final, ce qui permet d’alléger notre fichier final.

Comme vous pouvez le voir, ce petit bout de code est écrit en haXe, mais vous pouvez très facilement l’adapter en AS3.

 

Matthieu : je te remercie beaucoup pour cette interview et l’ensemble des conseils que tu as donné aux lecteurs d’actionscript facile.

Je te laisse le mot de la fin.

Michel : J’ai été ravi de répondre aux questions et j’espère très sincèrement avoir contribué positivement au contenu de ton site, que je trouve clair et instructif.

Et comme disent nos amis anglo-saxons : c’étaient mes 2 cents 😉

Et voici l’application flash codée en haXe

Télécharger le code source

Vous trouverez ci-dessous le code source de cette application programmée avec haXe !

Télécharger “Bannière effet texte Michel”

banner-haXe-michel.zip – Téléchargé 627 fois – 8,05 Ko

Pour aller plus loin

Pour ceux qui sont intéressés par le langage haXe, voici le site de Michel avec des tutoriels sur haXe, ainsi que son site personnel.

Et également le site officiel d’haXe.

Souhaitez-vous des tutoriels sur le langage haXe ?

Ayant programmé des applications avec haXe, dites-moi si je peux vous aider avec ce langage.

Quels fonctionnalités voulez-vous aborder en vidéos ?