Développer des jeux mobiles en Lua avec Corona SDK

 Michaël Peiffert, fondateur du studio indépendant lyonnais Mis-Clos, développe ses jeux en Lua avec Corona SDK. Corona SDK est une solution logicielle développée par Ansca Mobile. Conçu à l’origine pour créer des jeux en 2D sur mobile, il peut être utilisé pour réaliser toutes sortes d'applications mobiles, de l'ebook à la business app, à destination des plates-formes iOS, Android, Nook et Kindle. Des jeux comme Bubble Ball ou Blast Monkey ont été créés avec Corona SDK. Et bien sûr, Space Disorder !

Une version de Corona pour les usages non-commerciaux est librement téléchargeable sur leur site, ainsi que de nombreux tutoriels. Si vous voulez plus détails en français, lisez le retour d'expérience de Pierre Olivier Macé sur HurricaneScript. Et pour les Parisiens, sachez qu'il existe un Corona SDK Paris Meetup.

 


Interview de Michaël Peiffert (30/01/2013)


"J'ai tout de suite été séduit par Lua"

 

Bonjour, vous êtes développeur indépendant, vous avez créé en janvier 2011 le studio Mis Clos et produit, à la tête d'une équipe de six personnes, un premier jeu Space Discorder, qui est sorti le 11 octobre. Pourquoi avoir choisi de le développer avec Corona SDK ?

J'ai testé plusieurs SDK avant de me lancer avec Corona. Celui-ci avait tout pour me plaire.

Déjà, il est multiplates-forme iOS et Android. C'est-à-dire, un énorme gain de temps lorsque je ferai le portage de mon jeu vers Android.

Ensuite, le prix de la licence est très honnête et le SDK est mis à jour presque quotidiennement avec de nouvelles fonctionnalités.

Les API qu'il propose correspondaient bien au type de jeu 2D que je voulais réaliser. La gestion des spritesheet, de la physique, des sons et des scènes sont prêtes à l'emploi.

Corona propose des API très simples à implémenter et qui permettent de mettre en place des solutions de monétisation, obligatoires pour un jeu mobile : achats intégrés, affichages publicitaires et statistiques.

Enfin, le simulateur de Corona permet de tester son application sur différents devices iOS et Android sans même avoir à compiler. Encore une fois, un énorme gain de temps.


En quoi la connaissance de Lua est-elle utile pour utiliser Corona ?

Corona est entièrement en Lua. C'est donc indispensable de connaître ce langage pour développer avec ce SDK.


Aviez-vous déjà utilisé ce langage ? A-t-il répondu à vos attentes ?

Pour tout vous dire, je ne suis pas développeur à la base. Je me suis mis à la programmation lorsque je me suis lancé dans ce projet. Et je dois avouer que j'ai tout de suite été séduit par Lua de par sa simplicité. Et une fois qu'on le maîtrise bien, on apprécie son dynamisme et sa rapidité.


De quelle manière l'utilisiez-vous ?

De manière permanente puisque tout est développé en Lua.


Votre jeu pour l'instant ne s'adresse qu'aux utilisateurs iOS. Comme cela se fait-il ? Le portage vers d'autres plateformes est-il complexe même avec Corona ?

D'abord, j'ai ciblé en priorité iOS car il y a très peu de fragmentation hardware. Faire tourner mon jeu sur Android avec Corona est très simple. Le problème, c'est la disparité des devices. Optimiser un jeu pour qu'il fonctionne de façon optimale sur les devices les plus populaires demande un peu de développement en plus.

Néanmoins, une version Android de mon jeu verra le jour cette année, bien que j'ai d'autres projets en cours.


Développez-vous vos prochains jeux avec les mêmes technologies ? Les recommanderiez-vous ?

Mon prochain jeu, Out There, est prévu pour PC / Mac / Mobiles. Bien que je développe ce projet sur un autre SDK, j'utilise Corona pour prototyper les idées de gameplay et pouvoir les tester rapidement.

Je recommande vivement Corona SDK à tout développeur qui se lance dans le mobile. Je suis juste un peu triste qu'il ne compile pas (encore) pour PC et Mac. Cela en ferait un grand moteur de jeu 2D pour les indépendants.


Merci à vous !