Starling 1.2

Le 15 août est sortie la version 1.2 de Starling amenant avec elle son lot de nouveautés.
Pour ceux qui ne connaissent pas encore Starling, ce projet open-source est une librairie Flash/AS3 permettant de tirer partie des capacités qu’apporte le lecteur Flash depuis sa version 11. En effet, depuis cette version, Flash permet d’utiliser les capacités du GPU (carte graphique) de votre ordinateur via le Stage3D.

– Ca change quoi ?

– Les performances !

Oui, grâce à cela vous pouvez réaliser des jeux de meilleure qualité notamment en 3D avec des performances nettement plus élevées !

– Et Starling dans tout ça ?

Starling quand à lui va vous permettre d’utiliser ce fameux Stage3D pour réaliser des jeux 2D. Très utile quand on sait que Flash permet de créer des applications pour mobile dont les capacités sont clairement inférieures à celle que propose un ordinateur de bureau.

Un dernier fait marquant est que cette librairie open source disponible sur Github est supportée par Adobe.

Les nouveautés de la version 1.2

Performances

Au menu des nouveautés on commence par les performances. L’équipe aurait modifié le cœur de Starling pour le rendre 50% plus performant que sa précédente version. Selon un benchmark réalisé sur Ipad 1, la précédente version arrivait à afficher sur la scène 690 objets alors que la nouvelle pourrait monter à 1080 !

Système d’évenement

Seconde nouveauté importante : l’amélioration du système d’événement qui, jusqu’à aujourd’hui, était très inspiré par celui de Flash.

En effet, beaucoup de développeurs se plaignent des performances du système actuel de Flash qui nécessite l’instanciation d’un objet Event pour chaque émission d’événement. De plus la méthode qui va « écouter » l’événement doit posséder obligatoirement un paramètre de type Event même si le développeur n’en a pas besoin.

Avec cette nouvelle version, Starling introduit la nouvelle méthode dispatchEventWith.

Petit exemple :
// nouvelle méthode :
object.dispatchEventWith(Event.TRIGGERED, true);
// équivalente à :
object.dispatchEvent(new Event(Event.TRIGGERED, true));

Pour plus d’infos sur ce sujet consultez la page du wiki du projet dédiée à cette nouveauté.

 Constrained Mode

Flash 11.4 et AIR 3.4 permettent l’utilisation de l’accélération graphique sur de nouveau matériel notamment celui basé sur le chipset Intel GMA. Pour rendre cela possible il est nécessaire d’activer cela dans le Context3D via le « Constrained Mode ».

Avec la version 1.2, Starling a mis en place cette fonctionnalité par défaut. Il faut souligner que cette option peut entrainer des limitations pour les shaders et l’accès aux textures. Elle peut donc être désactivée via le constructeur de Starling.

Intégration avec d’autres librairies 3D

Starling permet désormais une intégration parfaite avec d’autres librairies 3D comme Away3D ou encore Flare3D. Très utile pour réaliser les interfaces 2D de vos jeux 3D !

Des tutos sont d’ailleurs disponibles dans cet article pour Away3D ou encore sur le wiki de Flare3D.

Lee Brimelow a aussi réalisé un tutoriel vidéo à ce sujet.

Skewing (ou encore l’art de rendre les objets obliques :) )

Starling 1.2 introduit deux nouveaux paramètres sur la classe DisplayObject : « skewX » et « skewY ». Cela vous permettra de rendre oblique sur l’axe X ou Y un objet de la scène.

 

Système de statistiques

Starling propose depuis longtemps un système de statistiques permettant d’afficher les FPS (Frame Per Second) et la mémoire utilisée par votre jeu. Un nouveau paramètre a été ajouté : DRW qui indique le nombre de « DrawCalls » c’est à dire le nombre d’objets affichés sur la scène par frame. En résumé, plus ce chiffre est petit plus performant sera votre jeu.

.. plein d’autres choses

Ceci était donc la liste des améliorations majeures qu’apporte la version 1.2 de Starling. Pour connaitre la liste complète jetez un coup d’œil sur le changelog du projet.