URL: https://linuxfr.org/news/openfl-4-0 Title: OpenFL 4.0 Authors: David Mouton bubar🦥, Benoît Sibaud, palm123, claudex et NeoX Date: 2016年07月12日T17:30:19+02:00 License: CC By-SA Tags: openfl, api, gamedev, haxe, crosscompilation et firefox Score: 31 [OpenFL](http://www.openfl.org/) est une API graphique libre et gratuite, permettant de créer des jeux et des applications cross-platform. Il y a quelques jours, une nouvelle version majeure de OpenFL, [la version 4](https://github.com/openfl/openfl/releases/tag/4.0.0), a été publiée. Cette dépêche profite de l'occasion pour faire un tour des possibilités offertes par cette API.  OpenFL est donc capable de compiler nativement pour les plateformes Linux, Windows, MacOS, iOS, Android, Raspberry PI, BlackBerryOS, Firefox OS, HTML5, Tizen, Wii U, PS3, PS Vita, PS4, et Xbox One, tout en profitant de l'accélération GPU via OpenGL, OpenGL ES, WebGL, Stage3D, et un moteur de rendu spécifique pour les consoles de jeu. Parce qu’il a un historique important dans le développement de jeux vidéo et parce qu'il est naturellement orienté multi-plateforme, OpenFL utilise [Haxe](http://haxe.org/) comme langage de programmation. ---- [Le site officiel](http://www.openfl.org/) [Le site officiel de Haxe](http://haxe.org/) [La dépeche sur la sortie de Haxe 3.2.0](http://linuxfr.org/news/sortie-de-haxe-3-2-0) [Les sources](https://github.com/openfl/openfl) [Le billet de Lars Doucet](http://www.fortressofdoors.com/flash-is-dead-long-live-openfl/) ---- OpenFL ==================== Architecture ------------ **OpenFL** est une API comme OpenGL l'est aussi. Elle repose essentiellement sur l'API Flash et s'oriente naturellement vers la production de contenus interactifs, d’applications, de jeux, d’interfaces 2D et d'animations.  Elle s'appuie sur la bibliothèque **Lime** qui se charge de toute la mécanique de compilation croisée. On va y revenir. Moteur de jeu ------------- C'est clairement dans le jeu vidéo que cette API se développe le plus. Le célèbre jeu "[Papers, Please](http://papersplea.se/)", gagnant d’un [Bafta](https://fr.wikipedia.org/wiki/British_Academy_of_Film_and_Television_Arts) et fort de quelques 30 récompenses utilise OpenFL. Electronic Arts, le géant du jeu vidéo, a récemment substitué OpenFL à Scaleform pour produire son dernier jeu vidéo mobile, _([John Madden NFL](https://itunes.apple.com/us/app/madden-nfl-mobile/id855627886?mt=8))_. Une grande majorité des essais au [Ludum Dare](http://ludumdare.com/compo/) exploite cette API. OpenFL a par ailleurs concentré ses efforts pour ouvrir la porte du développement sur consoles de jeu. [HaxeFlixel](http://haxeflixel.com/), construit par-dessus OpenFL, est un framework de développement de jeux vidéo 2D [populaire](http://haxeflixel.com/showcase/). Personnellement j'attends avec impatience la sortie de [Defender's Quest 2](http://www.defendersquest.com/2/?page=preorder) et Yummy Circus. [Stencyl](http://www.stencyl.com/) va encore plus loin en offrant tout un environnement de développement en plus d'un très bon moteur de jeux.  Interfaces ---------- Dans le domaine des **IHM**, on retrouve [HaxeUI](http://haxeui.org/) qui propose une solution efficace pour construire des interfaces. Il est à noter que la V2 devrait bientôt sortir. **Ian Harrigan**, le principal développeur, a présenté lors du dernier [WWX](http://wwx.silexlabs.org/2016/) cette nouvelle version. En attendant la vidéo, vous pouvez retrouver ses [interviews](https://haxe.io/wwx/2016/Ian-Harrigan/) et ses [supports de présentation](https://www.dropbox.com/login?cont=https%3A%2F%2Fwww.dropbox.com%2Fhome%2FPublic%3Fpreview%3DHaxeUI-WWX.pptx). Lime ==== [Lime](https://github.com/openfl/lime) est la bibliothèque gratuite et [open-source](https://github.com/openfl/lime/blob/develop/LICENSE.md), qui sert de fondation à OpenFL et à d'autres projets. Elle s'occupe de la partie multi-platforme. Elle expose les contextes Canvas, DOM, GL (WebGL, OpenGL, OpenGLES) en fonction des plateformes et unifie les I/O pour OpenFL (clavier, souris, écrans, joystick...) via SDL. Lime offre également une API audio mais expose OpenAL pour ceux qui veulent quelque chose de plus bas niveau. Elle supporte : - Windowing - Input - Events - Audio - Render contexts - Network access - Assets Heaps ===== [Heaps](https://github.com/ncannasse/heaps) est un framework de développement de jeu 3D qui repose directement sur Lime. [Evoland](http://store.steampowered.com/app/359310/?l=french) et **NorthGard** sont de très bons exemples de ce que peut faire Heaps.  Pour bien commencer =================== Le plus simple reste d'utiliser [Haxe Develop](http://www.haxedevelop.org/). [Intellij Idea](https://www.jetbrains.com/idea/), [Sublime Text](https://www.sublimetext.com/), ou [VsCode](https://code.visualstudio.com/) supportent aussi très bien les développements Haxe et OpenFL. NdM : _Ou vim ou emacs ou [Ed](https://fr.wikipedia.org/wiki/Ed_%28logiciel%29)._ Ensuite le site de OpenFL propose une [série de tutoriels](http://www.openfl.org/learn/) plutôt efficaces. Celui sur le [jeu pong](http://haxecoder.com/post.php?id=14) est pas mal du tout. Vous pouvez également lire [ce très bon billet](http://www.fortressofdoors.com/flash-is-dead-long-live-openfl) «_Flash is Dead, Long Live OpenFL_» de **Lars Doucet** sur OpenFL et tout son écosystème En bref, OpenFL est une très belle technologie à découvrir ou redécouvrir.