La plateforme Flash est très connu pour ses nombreux Framework de jeux tels que FlashPunk, Flixel ou As3IsoLib, cependant ils utilisent tous le rendu de base imposé par le lecteur Flash/AIR, on ne peut donc pas se permettre d’afficher trop choses en même temps à l’écran sous peine d’avoir un jeu qui rame, voir même un plantage du lecteur. Depuis la sortie de Flash 11 il est possible d’exploiter le GPU (procésseur graphique) via l’API Stage3D (nom de code Molehill) pour faire des rendus 2D et surtout 3D, accélérés. L’avantage d’un rendu accéléré par le GPU est sans appel car il est beaucoup plus rapide que celui de base, les calculs graphiques étant faits par la carte graphique et plus par CPU (processeur central). L’autre avantage est de pouvoir faire de la vrai 3D avec de très bonnes performances, je vous invite à consulter le site d’Adobe Gaming pour une liste des principaux moteurs et Framework 3D.
Je vais vous présenter aujourd’hui 2 projets à suivre de très prêt, l’un pour faire de la 3D et un autre pour faire de la 2D.
Minko : Un nouveau moteur 3D
Minko est un moteur 3D écrit en ActionScript 3 exploitant l’API Stage3D du lecteur Flash/AIR, la base du moteur est Open Source et gratuite et il est possible d’acheter des plugins supplémentaire afin d’ajouter des fonctionnalités de plus haut niveau. Il est concus pour abstraire au maximum l’API Stage3D afin que le développeur puisse se concentrer sur le développement de son jeu. Un tas de fonctionnalités sont déjà présentes, on retrouve les incontournables pour un moteur 3D, à savoir
- Un scénographe
- Gestion des caméras
- Gestion des animations
- Gestion des lumières / Ombres
- Création d’objets 3D de base facile
- Gestionnaire de ressources
- Etc…
Mais ce n’est pas tout car si vous allez faire un tour sur le dépôt Github du projet vous pourrez aussi récupérer quelques extensions gratuites et elles aussi Open Source, comme chargeur de modèle collada (avec chargement automatique des textures et des animations), un moteur physique ou encore un plugin pour 3DSMax !
Si la 3D vous tente et que vous avez un peu de temps à tuer alors n’hésitez pas et plongez dans un des nombreux exemples disponibles.
- Le site de Minko
- Télécharger Minko V1
- Les dépôts sur Github
Axgl : Flixel version GPU !
Je ne vais pas présenter Flixel car j’en parle assez sur ce blog 😛 mais imaginez un instant pouvoir utiliser Flixel avec votre GPU ? Les premières choses qui me viennent à l’esprit sont :
- Plus de Sprites
- Plus de particules
- Encore plus d’effets et de monde sur l’écran 😀 !
C’est ce que propose Axgl, un nouveau Framework AS3 exploitant Stage3D et ressemblant très fortement à Flixel, que ce soit au niveau de la conception que du code final. En fait porter un jeu créé avec Flixel ne devrait normalement pas être trop compliqué car vous avez les mêmes noms de méthodes et les mêmes helpers statiques ! FlxG sera remplacé par Ax, FlxSprite par AxSprite et FlxState par AxState, facile non ? Vous n’êtes pas convaincus ? Jettez un oeil (et récupérez le après x] ) à la documentation et vous verrez que c’est presque pareil. Presque car il y a des choses en plus pour travailler par exemple avec le context3D.
Comme d’habitude c’est Open Source et gratuit, le tout disponible sur Github ! Alors n’hésitez plus un instant et profitez dés aujourd’hui des joies de Stage3D dans votre bon petit jeu retro pleins de pixels, mais cette fois avec encore plus de pixels 😛
- Télécharger Axgl
- Documentation d’Axgl
- Dépôt sur Github
La suite ?
Je n’ai pas encore parlé d’As3IsoLib qui est une fantastique librairie permettant de créer des mondes isométriques très facilement. Actuellement la version 1 utilise le moteur de rendu de base de Flash mais la version 2 qui est en cours de développement utilise Stage3D ce qui implique une hausse considérable des performances ! Mais j’aurais l’occasion de revenir sur ça quand la lib sortira. Sur ce codez bien !