This is a Minesweeper clone made for practice for the Gamecodeur Gamejam #7.
It is made in Lua with the TIC-80 fantasy console.
All code, graphics, sounds and music are made by myself with the included editors (with the exception of the title screen picture made with Pyxel Edit).
Update: more efficient code help for highscores storage in the game's cartridge persistent memory from Rami (LIKO-12 developer)
Controls
You can play with a gamepad or your keyboard.
Have fun!
Gamecodeur Gamejam #7 additional info
- Elève Premium de Gamecodeur : Oui, annuel depuis quatre mois non intensifs
- Langage et Framework utilisé : Lua via TIC-80, une fausse console retro comme PICO-8
- Code / graphismes / sons / musique par moi-même via les éditeurs intégrés (à part l'illustration d'écran titre faite avec Pyxel Edit)
- Utilisation de librairies et codes externes : Non
- Temps passé : entre 35 et 40 heures en comptant la création des assets, les recherches, les discussions sur l'implémentation de fonctionnalités avec le développeur de TIC-80, le post de la progression sur le salon Discord et les oublis de coupure ou de mise en route du chrono
- Comment as-tu (ou pas) abordé la contrainte du thème : après avoir passé du temps à faire un Tetris amélioré par rapport à l'atelier, je me suis dit que c'était quand même trop proche de celui-ci et ai décidé en dernière minute de participer en partant sur un autre style de jeu qui ne me prendrait pas énormément de temps. L'extension de la date de remise m'a permis de prendre le temps d'améliorer l'enrobage
- Petit postmortem : le Lua de TIC-80 est assez facile d'accès, plus proche du Lua natif que PICO-8, ce qui aide pour pouvoir chercher dans la documentation officielle.
Niveau difficulté, j'ai passé par mal de temps sur la fonction révélant une zone de cases vides adjacentes (enfin plutôt deux fonctions récursives indirectes se renvoyant l'une vers l'autre), à essayer de comprendre d'où venaient les erreurs qui survenaient, en essayant de déclarer les fonctions de diverses manière, pour au final me rendre compte que j'avais oublié de remplacer un nom de variable en faisant un copier-coller (oui, c'est mal) et que ça fonctionnait parfaitement dès le départ à part ça.
Au final, on veut toujours faire plus, mieux, plus grand, plus complet, plus joli, etc., mais je suis quand même satisfait de pouvoir dire que j'ai fini un premier projet! L'extension de la date de remise m'ayant permis d'un peu peaufiner le visuel et faire quelques petits sons et musiques, une fonction de pause, ainsi qu'un tableau des meilleurs temps. Il me restera à implémenter le stockage définitif de ces meilleurs temps dans la "cartouche".
Note: j'avais déjà un peu programmé il y a 15 ans, un peu scripté il y a 10 ans, mais quasi tout oublié. J'ai au moins gardé la logique!