Archives du mot-clé Starling

Starling API – Introduction à la 2D accélérée GPU

Ce billet est le premier d’une longue série sur l’API Starling. Starling est une API pour créer du contenu 2D qui sera accéléré par votre carte graphique (GPU) dans Flash Player. Starling est gratuit et open source (licence Simplified BSD), ce qui signifie que vous pouvez l’utilisez librement dans vos projets commerciaux. Pour l’instant, vous ne pourrez faire que des jeux dans le navigateur avec Flash Player 11. A partir de début 2012 et de la sortie de Stage3D pour mobile (AIR 3.2), vous pourrez prendre exactement le même code et créer des applications natives pour iOS et Android!

Starling, pour faire quoi?

Le premier et principal cas d’utilisation de Starling est la création de jeux vidéos. Bien sûr, il est possible de réaliser toute sorte de contenu, c’est vous le développeur qui allez décider ;) . L’API est encore en beta, mais utilisable dans vos projets. Vous pourrez trouver toutes les informations sur le site officiel:

http://starling-framework.org/

Et de l’aide sur le forum:

http://forum.starling-framework.org/

Un très bon PDF d’introduction (en anglais):

http://www.bytearray.org/?p=3371

La documentation:

http://doc.starling-framework.org/core/

Les sources sur Github:

https://github.com/PrimaryFeather/Starling-Framework

Inspiration de Sparrow pour iOS et de l’API Flash standard

Starling a principalement été développé par Daniel Sperl, qui a déjà réalisé un framework nommé Sparrow pour iOS, permettant de créer des jeux accélérés GPU sur plateformes Apple. Un vrai pro donc, avec une API qui a déjà fait ses preuves. Encore mieux, l’API de Starling est directement inspirée de la Display List de Flash. On y retrouve donc des classes telles que Sprite (addChild, removeChilden, …), MovieClip, Tween, TextField, etc. Cela permet une prise en main rapide du framework, même si ces classes sont différentes dans leur implémentation par rapport à la Display List de base. Voici par exemple le schéma présentant la chaîne d’héritage de la classe DisplayObject: Certains noms devraient vous être familiers :) .

Accélération GPU

Grâce aux nouvelles APIs de Flash Player 11, et plus particulièrement la classe Stage3D, il est possible d’utiliser le GPU (carte graphique) et non plus le CPU (processeur) pour effectuer des rendus. Le CPU d’une machine a une capacité limitée pour réaliser des traitements graphiques, notamment car il est utilisé par le reste des applications. Le GPU en revanche est spécialisé dans ces traitements (manipulation de vertex, calculs mathématiques, …) et pourtant, il n’est utilisé que dans les jeux qui vous installez sur votre machine (principalement). L’API Starling va vous permettre d’utiliser cette puissance GPU inutilisée pour vos jeux, ce qui va vous permettre de réaliser des jeux d’exception :) . Starling va en fait masquer la complexité des APIs bas niveau offertes par Flash Player et vous proposer une API haut niveau que vous pourrez manipuler plus facilement, sans vous soucier de ce qui se passe derrière. L’accélération GPU n’est pas automatique, il faut que votre carte graphique (+drivers) soient compatibles. Si vous avez une machine assez récente, c’est sûrement le cas. Pour fonctionner sur un maximum de plate-formes, Stage3D (et donc Starling) s’appuie sur OpenGL ES 2 / DirectX qui sont standard. Voici un schéma récapitulatif:

De la 2D avec des APIs 3D?

Flash Player propose des APIs pour faire de la 3D et pourtant Starling est spécialisé dans la 2D. Il est en fait assez simple « d’ignorer » une dimension. Lors d’un rendu 3D, la carte graphique dessine des triangles. Si elle a un polygone à dessiner, elle va le transformer en une série de triangle. Cela facilite notamment la gestion de l’éclairage, du calcul des normales, etc. Lire la suite

Flex User Group Lyon – Jeudi 17 Novembre : Back From MAX et Starling Framework

Lors du dernier User Group lyonnais, on a eu une présentation de GraniteDS par @wdrai. Suite à une boulette de ma part, les inscriptions n’ont été lancées que quelques jours avant, ce qui n’a pas laissé le temps à certains de s’arranger pour venir, désolé.

Comme pour la dernière session, on fera cela à l’Epitech Lyon et plus dans les locaux de Clever Age. Ce sera sûrement dans une salle de TD, ou dans l’amphi si le nombre d’inscriptions devient trop important. Pour la date, ce sera le Jeudi 17 Novembre à 18h45 pour plus ou moins 2 heures de présentation.

Pour vous inscrire, toujours pareil, c’est gratuit et c’est sur EventBrite:

http://www.eventbrite.com/event/2441111430

Back From MAX Lyon!

La semaine dernière a eu lieu  Back From MAX Paris, un évènement organisé par Adobe qui a permis de revenir sur tout ce qui a été dévoilé pendant la conférence annuelle Adobe MAX à Los Angeles.

Pendant la première partie de ce prochain User Group, on va donc faire une sorte de mini-BFM en revenant sur toutes les annonces qui ont été faites. Comme le temps est compté, on ne pourra pas revenir sur toutes les annonces, on verra donc uniquement celles qui nous intéressent vraiment en tant que flasheur / flexeur (= skip tout ce qui concerne PhoneGap, TypeKit, Edge et HTML8).

On reviendra donc sur la roadmap de Flex, la version 4.6 et ses nouveautés, Stage3D, AIR Native Extensions, … avec un maximum de démonstrations.

Introduction à Starling Framework

Avec Stage3D, introduit avec Flash Player 11, on a accès à la puissance du GPU pour pouvoir réaliser du contenu de grande qualité, notamment des jeux. Mais cette puissance peut aussi être appliquée à la 2D, contrairement à ce que le nom de l’API laisse présager. On peut donc avoir des milliers d’objets affichés à l’écran, des effets de particule, des explosions, … et tout cela à 60 fps:

http://www.starling-framework.org/

Pendant la 2eme partie de la présentation, je ferais donc une introduction au framework Starling, ses forces et ses faiblesses. Cette présentation sera appliquée, je vais montrer comment coder un jeu assez simple, comme un Doodle Jump.