Hello à tous !

Voilà quelques temps déjà que nous sommes 4 amis sur un projet: Antyz. C'est un puzzle game mixé avec un peu d'arcade. Dans un futur éloigné (2450 après J.C. environ), les fourmis sont les dernières survivantes de graves changements climatiques et doivent faire face à une ère glacière. Afin de survivre, elles décident alors de creuser vers le centre de la terre afin de profiter de la chaleur du noyau et d'échapper à une mort certaine. Au fil de leur aventure, elles remonteront les âges oubliés dans les différentes couches de la planète. Dans ce contexte, le joueur incarne une petite fourmi éclaireuse qui va devoir ouvrir le chemin pour sa colonie.

Ce sera un jeu mobile Android / iOS.

Voici quelques vidéos de gameplay pour que vous puissiez vous faire une petite idée :-)



Petits challenges techniques
Le terrain
Le principal défi technique du jeu dans ses débuts était de développer un terrain dans lequel le joueur peut creuser et qui est supporté par des téléphones relativement "vieux" comme un iPhone 4 par exemple. Nous avons donc choisi l'algorithme du marching square pour ceux qui connaissent. L'idée était d'abord de générer un mesh complet, vous imaginez les dégâts sur un CPU de smartphone Après quelques tests, la solution finale retenue était d'utiliser simplement des cubes qui sont scalés en guise de contour.

Pour améliorer les performances, nous avons évidemment mis en place une pool.



Les draw calls
Nous avons entre 9 et 11 draw calls par scène de niveau.

L'overdraw
Comme le jeu utilise beaucoup de sprites transparents, nous sommes vites tombés face au soucis de l'overdraw. La seule solution: éviter de superposer trop de sprites et les détourer au maximum.

Particules
Comme Unity ne nous laissait pas trop le choix, nous avons développé un petit système de particules 2D soumises à la physique.



Auriez-vous des expériences, des idées ou des règles à suivre dans l'optimisation d'un jeu mobile ? Je pense particulièrement aux particules qui nous posent quelques soucis sur les vieux téléphones lorsqu'il y en a trop. Est-ce qu'il y a moyen de batcher certaines choses ?

A+

David