Aller au contenu

[Labo] : Construct 2 sur Android sans passer par CocoonJs ou AppMobi

J’inaugure une section « Labo » dans lequel des tests expérimentaux sont de mise 🙂 Aujourd’hui un test particulièrement intéressant qui permet d’exporter un jeu fait avec Construct 2 sous Android, sans utiliser de services tiers…

Est ce une réussite ?…

A vrai dire, oui et non 😀

Si il y a une chose que je reproche à Construct 2 personnellement c’est l’incapacité du produit à produire un code natif pour les plateformes mobiles. En effet, il faut obligatoirement passer par des services tiers comme AppMobi ou CocoonJS.

Non pas que je sois complètement contre ce principe. Mais il faut dire que nous devenons ultra dépendant de ces plateformes. Pour l’instant c’est gratuit. Mais qu’adviendra t’il si cela devient payant ? Pire encore si ces services venaient à disparaître ?

Alors j’ai essayé de faire autrement en essayant une autre possibilité, dont voici le résultat.

Space Blaster

Vous avez bien reconnu le projet Space Blaster de C2, qui est un des exemples du logiciel. A première vue, cela a l’air concluant non ? Malheureusement tout n’est pas aussi rose, et je dois vous dire que mon test expérimental est inutilisable en l’état.

Commençons par explique comment j’ai construit cette application…à moitié réussi.

Un framework gratuit

Qui dit application non native, dit forcément Html 5 embarqué dans le cas de Construct 2. Il a donc fallut trouver quelque chose qui permette d’introduire facilement (c’est un peu le maître mot de Construct non ?) un projet C2 dans un apk.

il existe plusieurs solutions, j’en ai testé une : Titanium Studio. Il s’agit d’un framework gratuit qui permet de coder des applications mobiles. Il est multi plateformes et permet notamment de construire des applications à partir d’un template Html 5. Tiens tiens, il me semble que Construct 2 permet de sortir du Html 5 non ?

titanium_screenDonc j’ai créé un nouveau projet avec Titanium basé sur Html 5 et j’ai intégré un export Construct 2 Html 5. Cela n’est pas trop difficile puisque les projets Titanium sont assez bien organisés, il suffit juste de trouver le répertoire contenant le fichier index.html et d’y balancer tout le projet Construct 2, après c’est le javascript qui fait le boulot ou pas….

Les problèmes

Trop beau pour être vrai, mais cela fonctionne. En revanche, ce n’est pas suffisant. Cependant ce labo m’a permis de savoir qu’il était bien possible sans trop de peine de faire une application mobile sans passer par des services particuliers.

Voici les problèmes majeurs que j’ai relevés et qui rendent l’utilisation de ce système pour le moment impossible :

Pas de prise en charge du WebGL.

Sacrilège ! le Webkit utilisé dans Titanium ne gère pas le WebGL ce qui fait que l’application plante directement au lancement. Dommage ! Mais il semblerait d’après ce que j’ai vu que cette prise en charge était encore expérimentale chez Titanium.

Instabilité de l’application

C’est plus qu’un problème. L’application réagit bizarrement. Un coup elle se lance, un coup elle clignote (le canvas disparaît donc impossible de « toucher »), c’est plus qu’instable. Vous comprendrez donc que pour le moment ce n’est pas fiable.

Ca raaaaame !

Forcément qui dit pas de WebGL, pas de bonnes performances, l’application est très lente.

L’avenir ?

Assez difficile de le dire. Il est à parier que si Titanium Studio arrive à intégrer le WebGL correctement, cela risque d’être déjà un très grand pas. Mais est-ce suffisant ? L’instabilité chaotique de l’application laisse à penser qu’il y a encore beaucoup de boulot. Titanium est prévu pour faire des applications mobiles mais je ne suis pas sur qu’il soit bien au point quand il s’agit des techniques employées pour les jeux (canvas, webgl etc…).

Aussi, j’ai du mal à croire à une incompatibilité. En effet, Html 5 c’est Html 5 partout il n’y a pas de piège. Aussi il faut savoir que le Html 5 embarqué n’a pas les mêmes performances non plus qu’une application native.

Il existe un autre framework du même type : MoSync, mais je n’ai pas testé avec, peut être fera t’il l’objet d’un nouveau « Lab » bientôt 😉