Besoin d'un coup de pouce sur Construct 2 ? C'est par ici !
par Nono
#8478 Bonsoir,

L'idée de faire un jeu porté sur smartphone me branche plutôt bien, mais n'en ayant pas, je ne peux pas tester au fur et à mesure de l'avancement d'un jeu
Je me demandais donc s'il y avait une sorte de limite pour ne pas que ça rame (ça dépend des portables bien sur), du genre maximum XX sprites, XX layouts.. et si le porter avec une méthode comme cocconJS ou autre pouvait le faire moins ramer, qu'en HTML5?
De plus, est-ce que la résolution s'adapte automatiquement en fonction du téléphone? (genre du 3" ce n'est pas toujours le même que du 4.5")
Merci d'avance ;)
Avatar de l’utilisateur
par Squale
#8487 Perso j'ai eu à gérer quelques soucis de lags sur mon jeu sur le Google Play mais c'était du à des mauvaises manips de ma part, donc je dirais qu'il faut simplement faire attention au poids de tes sprites et de tes fichiers audio.

Pour la résolution d'après ce que j'ai vu ça s'adapte plutôt bien.
Avatar de l’utilisateur
par Crystal Noir
#8498 Bonjour,

Pour répondre à la question oui ca peut laguer, notamment si tu utilise phonegap. Le mieux est d'utiliser le directcanvas, appmobi par exemple le propose, on a normalement (je n'ai pas testé mais dans la théorie) quelque chose de plus performant.

Concernant la résolution d'écran c'est une grande question. Personnellement j'ai réussi à gérer cela dans Game Maker Studio avec un code qui marche partout, j'ai pris un ou deux codes par ci par là et j'ai un peu adapté ca marche parfaitement. Dans le cas de Construct 2 je me suis pas encore penché sur le problème mais j'aimerais voir si ce code pourrait être porté mais c'est pas sur.

Dans Construct 2 on a des options fullscreen, avec des options Letter Box qui permettent de mettre des bordures noires si la résolution est différente. C'est bien et le mieux, car sur mobile, le fait d'avoir un layout de redimensionné à la taille de la résolution peut donner des choses pas très jolies (déformation des sprites et des images notamment), ce qui est logique si tu fais un jeu en 800x 480 (landscape), et que tu le fais tourner sur une résolution de 1280 x 720, avec un redimensionnement tes sprites ne seront pas aussi jolis et de plus ils seront déformés.

Le problème se pose beaucoup pour Android qui à mon regret, a à mon sens, trop de résolutions différentes. Mais....On a le letter box j'ai dit tout à l'heure pour garder le ratio original et ajouter des bandes noires. Certes, le problème c'est que le directCanvas de appmobi ne supportait pas cette fonction (du moins aux dernières nouvelles sur le site de Scirra). MAIS ! J'ai vu qu'il y avait maintenant la fonction LetterBox Scale et qui plus est, est automatiquement utilisée maintenant lorsqu'on prend le template mobile quand on fait un nouveau projet, alors peut être que c'est la solution :p Et d'après ce que j'ai lu, ca serait la solution ultime, si cette option est bien gérée par appmobi ou CocoonJs car cela fait le boulot à notre place (voir ci-dessous la suite).

Sinon dans le cas contraire je ne vois pas trop de solution à part le redimensionnement pour le moment, pour ce qui est du mobile. En revanche j'aimerais voir si il y a moyen notamment en jouant sur les layouts d'utiliser le code dont je parlais plus tôt, mais je n'en suis pas sur car le layout, c'est la scène et pas vraiment la taille de l'application en elle même.

Le principe est simple : on prend une hauteur fixe de référence. Par ex pour Androîd 720. On dit qu'on veut absolument garder cette hauteur. Le programme, suivant la résolution du mobile, va pouvoir calculer la largeur qu'il faut de manière à ce que le ratio soit gardé, et ajouter des bandes noires pour combler. De ce fait aucune déformation du jeu et il reste adaptable.

Un code ce genre admet qu'on puisse bouger la "résolution" du jeu au runtime donc pendant le lancement. Je n'ai pas encore fait ce genre de tests avec Construct 2 mais j'aimerais bien voir si c'est possible.

Enfin pour répondre, le html 5 ca rame pas à proprement parlé, mais cela demande d'avoir un navigateur qui le gère correctement, et surtout qui gère parfaitement le WebGL. Le seul pour le moment (et il y a encore des lacunes) c'est Chrome. Firefox aussi mais un peu moins bien à mon goût.

Aussi quand on fait un jeu en html 5 et pour mobile, il faut bien garder à l'esprit que ce n'est pas comme développer un jeu pour Windows, il y a des impératifs ressources à prévoir et également bien penser à essayer d'optimiser au mieux son code afin d'éviter les calculs inutiles, ce qui est loin d'être évident :)