Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
A jam submission

Forest fireView game page

Un jeu de gestion de feu de forêt conçu pour la Gamejam #37 de Gamecodeur
Submitted by Matimat7 — 1 day, 10 hours before the deadline
Add to collection

Play game

Forest fire's itch.io page

Results

CriteriaRankScore*Raw Score
Respect des thèmes#132.7702.938
Overall#142.3282.469
Note générale#151.8862.000

Ranked from 16 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Pseudo adhérent Premium sur Gamecodeur
Rolland

Elève Gamecodeur depuis...
1 an

Temps passé
20h

Raconte-nous la génèse et l'histoire de ta création
Ce projet permet de participer à la gamejam 37 (réaction en chaine). J'ai eu du mal à trouver une thème sur la réaction en chaine, je me suis forcé à m'arrêter sur la première idée qui était un feu de forêt sans savoir comment j'allais le faire. J'ai perdu beaucoup de temps à chercher les graphiques gratuits, à voir si c'était pour me donner une excuse pour ne pas débuter à coder ;-). J'ai choisi de partir sur du Lua/Love2D sans hésiter même si la prochaine fois je ferais du C# pour faciliter la POO qui est largement perfectible en Lua. J'ai fait pas mal de refactoring (trop peut-être) pour pouvoir mettre en pratique les différente notions apprises sur GameCodeur (Génération aléatoire de la map, utilisation des vecteurs pour gérer les déplacements , module (plusieurs fichiers), machine à état, gestion des tilesheet / quads, gestion des timers , gestion des collisions par box, gestion des scales et flip, utilisation de manager : spriteManager, TilesheetManager, HeroManager, TreeManager). J'ai pas réussit à terminer, j'espère faire mieux la prochaine fois. J'ai donc un jeu avec un héro qui ne peut rien faire, mais par contre la propagation fonctionne ;-)

Leave a comment

Log in with itch.io to leave a comment.

Comments

(2 edits)

C'est dommage, à vouloir faire trop de POO et des managers par ci et par là, tu as perdu trop de temps et tu n'as pas de jeu. Le problème ne vient pas de la POO perfectible en Lua, mais de la façon dont tu met en place les choses. Je me suis permis de regarder ton code, et je vois des choses complétement inutiles, qui transforment ton code en usine à gaz. Voici un exemple :
dans ton fichier FireBallTilesheet.lua, tu crée une liste :

FireBallTilesheet.lstTile = {}

Puis plus loin dans ton code tu fais une fonction :

function FireBallTilesheet.getListQuad()

    return FireBallTilesheet.lstTile

end

Pourquoi avoir fait une fonction qui retourne cette liste plutôt que d'aller la récupérer directement étant donné qu'elle fait partie de la variable que tu renvoi à même titre que cette fonction, à savoir FireBallTilesheet ?

Ensuite pourquoi créer une variable globale ( FireBallTilesheet ) si c'est pour la retourner en fin de fichier ? une variable globale est accessible depuis n'importe où dans le code, il est inutile de la retourner.

De part cet exemple j'entends que tu t'es mélangé les pinceaux, faisant une usine à gaz, et t'éloignant de l'objectif de la gamejam qui est d'obtenir un résultat dans le temps imparti. Pour cela il faut faire des choix lors du développement, et développer d'une manière rapide.

Je rebondis de manière semi-digressive sur le sujet de la POO pour dire en complément que la tendance à complexifier inutilement le code tend à être inévitable avec elle, même quand on est rigoureux. Je renvoie les curieux aux vidéos (en anglais… à sous-titrer ?) de Brian Will sur la programmation orientée objet, qu’il dénonce tout en défendant la programmation orientée données (séparation des données et des fonctions). Je pense qu’il a raison sur le fait que cette dernière est bien plus naturelle et claire (cerise sur le gâteau, elle est aussi plus performante !! Cf. le système entité-composant (ECS), notamment proposé par des moteurs de jeux). La conférence de Stoyan Nikolov à CppCon 2018 (en anglais aussi…) illustre cela avec un gros cas pratique (au passage, lui trouve que la POO peut quand même servir dans des cas limités, ce qui se discute). Je laisse chacun se faire son avis !

Pour un petit projet, ça se voit peut-être moins, mais rien qu’avec un simple essai un peu plus gros mais pas tant, j’avais déjà senti que le syndrome « usine à gaz même en concevant de manière logique » commençait à me tomber dessus… La séparation des fonctionnalités en bouts situés à divers emplacements résulte ironiquement en du code spaghetti, ce qui est pile un phénomène que l’on cherche à éviter.

Pour revenir au cas présent : la tendance à créer des « gestionnaires » (managers) abstraits illustre pile le coup de tenter de regrouper des choses dans des abstractions n’ayant pas de sens en elles-mêmes, pour tenter de coller à un schéma d’organisation du code. En vrai, il n’y a rien de mal à programmer en impératif (ou fonctionnel ou autre), il faut se décomplexer. ;) On peut être à la fois simple et générique, alors autant ne pas se gêner !

En tout cas tu as trouvé des assets très sympa

Prochain défi possible pour toi ça serait de faire du Z-Order pour que le personnage passe soit devant soit derrière les arbres ;)

Je ne sais pas si tu comptes continuer ce projet ou faire autre chose, mais quoi qu'il en soit bravo d'avoir rendu quelque chose et bonne continuation !

Submitted

L'important est d'avoir participer et dommage que tu n'es pas pu aller plus loin car le concept marche très bien pour le thème.

Les graphismes ne doivent pas être un obstacle pour ton développement, tu peux commencer avec des figures carrés, ronds etc pour représenter tes objets afin de ne pas te prendre la tête tout de suite avec les graphes ^^ Par ailleurs tu as le site opengameart ou encore https://itch.io/game-assets/free pour trouver des assets gratuites :)

Submitted

Faire une Game Jam c'est déjà une victoire. Tu sembles être tombé dans les pièges dans lesquelles je pense pouvoir dire que tout le monde est tombé et tombe encore. Procrastination pour chercher les graphismes, la musique, la configuration de l'IDE, la réinstallation du PC etc :) Continue ton jeu et présente nous les avancer sur Discord.

Submitted

J'espère que tu comptes continuer à travailler sur ton projet pour le rendre jouable, parce tu as déjà une bonne base. Ca serait dommage de pas aller plus loin. Mais bravo pour le boulot !

Submitted

Même si la GameJam est terminée tu peux continuer à développer ton jeu et nous le présenter dans la section projet du discord :-)

En tout cas bravo pour ta participation (ce n'est pas tout le monde qui se lance dans les GameJam)

Submitted

Dommage que tu n'ai pas pu terminer ton concept. J'aime beaucoup l'effet de propagation en fonction des maps générés.

Submitted

C’est là un concept intéressant. Dommage que tu n’ai pas eu le temps de le terminer.