Market Panic est un jeu mobile, on y incarne un lapin qui doit atteindre la fin des niveaux en avançant automatiquement, c’est au joueur de déplacer les éléments de l’environnement pour s’assurer qu’il atteigne son but. Le joueur peut créer ses propre niveau grâce a un éditeur de niveau et les partager en ligne grâce a une base de données. Il peut aussi tester les niveaux des autres joueurs et voir lesquels sont le plus joué.
L’éditeur de niveau était l’objectif principal du projet pour permettre au jeu de vivre de lui-même grâce à sa communauté. Il permet de placer, tourner & modifier n’importe quel bloc du jeu. A noté que les niveaux de l’aventure de base sont faits avec le tool.
Pour optimiser les temps de chargement et ne pas obliger le joueur a télécharger tout les niveaux, les données était séparer en deux, les « LevelInfos » qui stock seulement les informations et les « LevelData » qui eux contiennent les données permettant la construction du niveau. De cette manière un niveau est téléchargé uniquement au moment ou le joueur décide d’y jouer.
Market Panic est un jeu mobil, pour optimiser les performances plus faibles nous avons utilisé un programming pattern : le compositor. Il permet de centraliser les références entre script et découper les fonctionnalités par « Services ». Ils sont initialisés au lancement du jeu et dispose de référence uniquement aux autres services qu’il utilise. Chaque service ayant sa fonctionnalité, cela permet de bien segmenter le code et de ne pas appeler des scripts inutiles qui consomment des ressources.
Sur ce projet, nous avons utilisé les addressables. Ce système permet d’allouer et de retirer dynamiquement des objets sur la mémoire vive. Cela permet d’optimiser les performances en chargeant uniquement les objets nécessaires pour un niveau. De plus, ce système est très modulaire et couplé à la base de données il permet d’actualiserfacilement le contenu du jeu sans faire de mise à jour.