Game Jam 31 - Jour #1
Leflou Il y a 1 an Premium Pro - Adhésion à vie3

Je vais essayer d’étoffer ce post à chaque fois que j’aurais progressé dans le développement de mon code. Pour l’instant l’idée du jeu que j’essaye de faire n’est pas encore super bien définie mais ce qui est certain c’est que tout se passera sur un seul écran.

Je pense faire tourner le gameplay autour d’une plante à faire pousser. J’hésite encore avec un haricot à faire monter en haut de l’écran ou des carottes à protéger des intempéries.

Au départ, j’imaginais pouvoir contrôler un petit personnage qui doit arroser la plante s’il fait trop chaud, la protéger avec un parapluie s’il grêle (avec un risque augmenté de se prendre un éclair), récupérer la pluie dans un saut quand il pleut. Le vent et la neige pouvant empêcher le personnage de se déplacer comme d’habitude (frein et glissade).

Je me rend compte que c’est trop ambitieux comme projet pour un débutant donc, je m’apprête à réduire le gameplay à « péter des nuages au-dessus de la plante pour l’arroser » (^^).

J’ai commencé Lundi à travailler sur le code en me concentrant sur deux choses : un écran de présentation et un Timer.

Après quelques essais, j’ai réussi à obtenir un premier résultat convaincant. J’ai une variable globale qui définie dans quel mode je suis, écran Start ou Jeu (variable pas bool car je me suis laissé la possibilité de pouvoir ajouter d’autres options). J’ai ensuite une variable bool qui défini si le jeu a besoin d’être initialisé. J’ai ensuite placé une condition pour pouvoir initialiser les variables et lancer le jeu ou, pendant le jeu, revenir à l’écran titre.

Pour le timer, je pointe vers une fonction updateGame qui crée une variable pour compter les frames. Je transfère ensuite cette valeur vers une autre variable pour appliquer un calcul, transformant la valeur en secondes et ensuite, je teste cette variable pour remettre le compteur de frame à zéro lorsque j’atteint 60 secondes.

Comme je ne vais pas faire un jeu en temps réel, les secondes vont représenter les minutes (ça change rien –> 60 secondes ou 60 minutes c’est pareil) et dans le même test, j’incrémente une variable qui symbolise les heures de 1. Et enfin je teste la valeur de cette variable et je la remet à zéro si elle atteint 24 en incrémentant ensuite une dernière variable qui compte le nombre de jours.

Pour obtenir un affichage homogène, j’ai récupéré la taille des caractères pendant cet update pour faire un test et formater l’affichage sur le type 05:04 au lieu de 5:4.

Enfin, je me suis amusé à faire un cls() avec une couleur différente selon les moments de la journée mais je me suis rendu compte qu’au final, un cls risquerait de me perturber quand je vais commencer à afficher des choses à l’écran. En plus, mon code est vraiment moche sur cette partie (je pense que je pourrais créer une fonction avec paramètre pour ça). Donc je vais mettre ça de côté pour l’instant.

La prochaine étape va être de nettoyer le code et d’essayer mettre la fonction qui calcule le temps dans une autre fonction et de voir si je peux juste récupérer la valeur pour l’afficher. J’aimerais séparer toutes les fonctions qui sont liées au temps et à la météo.

Prochaine étape, mettre en application ce qu’on a vu hier avec David pour afficher un soleil ou une lune selon le moment de la journée et commencer à travailler les notions de météos.

Voilà le lien pour tester (Espace pour démarrer, Suppr pour revenir à l’écran d’accueil)

https://tic80.com/play?cart=1753

Comments (3)

Tu devrais faire un Projet et y mettre ton devlogs dedans, ça sert a ça et on pourras comme cela voir ta progression avec tes posts.

Bon code au plaisir de suivre ton parcours 😀

Salut Leflou,

Très cool ton projet initial ! En effet souvent notre imagination surpasse nos capacités techniques ahah. C’est la deuxième jam à laquelle je participe et c’est la deuxième fois que j’imagine trop gros ^^
C’est cool en tout cas que tu aies pu trouver une alternative plus abordable, en espérant qu’elle te donne quand même du fil à retordre, c’est comme ça qu’on progresse :p

Bonne continuation pour la jam. Pressé de voir ton avancée et tes prochaines idées.
Tchuss,
Dipsy974

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.