Le jeu vidéo Pairpix a été développé sous la forme d'un projet FireMonkey dans Delphi 11 Alexandria à l'occasion de sessions de codage en direct sur Twitch. Les rediffusions sont disponibles en français sur Serial Streameur.
Ce jeu vidéo est un classique des jeux pour les enfants et la famille. Il faut associer deux images entre elles pour les éliminer du plateau et toutes les retourner afin de passer au niveau suivant.
Pour se détendre et faire un peu travailler sa mémoire, je propose un mode de jeu classique où il suffit de trouver toutes les paires d'un plateau de jeu avant de passer au suivant. Des cartes sont ajoutées progressivement pour pimenter la partie.
Le mode challenge est beaucoup plus intense : il faut faire le plus gros score en une minute. Les niveaux s'enchainent en même temps que le stress monte !
Ce jeu est assez simple dans son fonctionnement comme dans son code source. Il fonctionne sous Windows, Mac, Linux, iOS et Android sans aucune adaptation du programme. Il a suffit de compiler, un peu déboguer et profiter du résultat.
Les illustrations du jeu proviennent de la banque d'images Adobe Stock, de The Game Creators et de Cartoon Smart. Certains boutons utilisent aussi des chemins vectoriels (composant TPath) provenant du site Material Design Icons.
Les scènes du jeu s'adaptent à la taille de l'appareil du joueur et de son orientation (pour iOS et Android). Il a suffit d'utiliser un TScaledLayout avec une taille virtuelle fixe dans laquelle on travaille et une taille réelle dépendant de l'écran du joueur dont on ne se préoccupe que dans l'événement onResize de la fiche principale.
En fin d'un challenge on peut partager son score en diffusant un texte prérempli accompagné d'une illustration. Pour ça il a suffit d'utiliser le service de plateforme IFMXShareSheetActionsService lorsqu'il est disponible (iOS et Android) et lui fournir une capture légèrement modifiée de l'écran de fin récupérée grâce à la méthode PaintTo() de la fiche. J'en avais déjà parlé à l'occasion du développement du jeu Pumpkin Killer.
Pour afficher le texte des crédits du jeu avec des liens j'ai utilisé le composant open source DzHTMLText de Rodrigo Depiné Dalpiaz et l'unité u_urlOpen de ma boite à outils.
L'icône du jeu qui sert aussi dans différents formats sur les magasins d'applications a été générée à partir de l'image de fond du jeu et d'un SVG pour la lettre "P" dans le programme Pic Mob Generator (disponible pour les développeurs intéressés).
Le jeu a été publié sur l'App Store (iOS), le Mac App Store (macOS), Google Play (Android 32&64 bits), Amazon (Android 32 bits), Microsoft Store (Windows 10 et 11, 32&64 bits) et Itch.io (Windows, Android et Mac).
Là encore, tout est disponible dans Delphi pour créer les programmes, les installer et les signer avec nos certificats.
La soumission aux magasins d'application n'a pas posé de problème majeur. Quelques échanges avec l'équipe de Apple ont été nécessaires pour clarifier l'absence de récolte de données personnelles (en lien avec le RGPD européen) et le principe de partage de l'écran en fin de partie du mode challenge qui aurait pu transmettre des informations à d'autres sites ou applications (spoiler : ce n'est pas le cas, on ne partage qu'un texte et l'image, l'utilisateur est totalement maître de cette fonctionnalité).
Même si la base des boites de dialogue existait déjà sous forme de template de jeu, on peut dire que le développement et la publication du jeu auront duré environ 35 heures (dont bien 5h pour la publication). Ca inclut les phases de conception, de débogage, de test et la partie purement graphique d'adaptation des captures d'écran nécessaires pour les magasins d'applications.
Envie d'en savoir plus sur ce jeu et ses fonctionnalités ?
Vous pouvez regarder les rediffusion des sessions de développement ou me contacter pour en savoir plus sur son code source et ses écrans.