A propos d'une IA basique de type jeu de gestion

Bonjour à tous,

Ceci est mon premier message sur ce forum et je tiens à saluer le super boulot que le créateur de GD à fait, ainsi que le reste de la communauté qui fait de son mieux pour s’entraider.

C 'est la première fois que je m’attaque à un logiciel de ce genre et je n’ai aucune connaissance en programmation. Je trouve ça passionant même si ça m’a fait prendre conscience que le devellopement d’un jeu vidéo est quelque chose de long et difficile. Je tâcherai de reconsidérer mon jugement la prochaine fois que j’aurais envie de dire “c’est de la merde” en parlant d’un petit jeu indépendant plutôt moyen.

Ceci étant dit, me voilà depuis 1 semaine sur le logiciel et j’essai toute sorte de chose afin de mieux comprendre la logique du truc.

J’essaye actuellement de faire une IA (tellement basique que je ne sais même pas si elle mérite le nom d’IA) qui pourra peut être m’être utile quand je me lancerai dans la création d’un jeu.

L’idée:

  • Un bucheron (IA 1) coupe automatiquement du bois dans un périmètre entourant une cabane de bucheron.
  • Un forestier (IA 2) replante automatiquement des arbres dans un périmètre entourant une cabane de forestier.

J’avoue que j’ai un peu de mal à faire quelque chose de potable. J’ai fait quelque chose de fonctionel (dumoins, en apparance) mais qui ne correspond pas complètement à ce que j’aurais voulu.

Le jeu Test IA.gdg:
mediafire.com/?8azyqpu4l57ay6m

les problèmes principaux:

  • bucheron : gros problème par rapport à sa vitesse de déplacement. je n’arrive pas à faire en sorte qu’elle soit linéaire, constante. J’ai également de gros soucis (rarement identiques) si je mets deux (ou plusieurs) bucherons.
  • forestier : je n’arrive pas a faire en sorte qu’il respecte une distance minimale entre deux arbres. J’ai également un problème avec la direction du sprite au début du cylcle. Etant donné que je lui donne une force d’angle Random(360), je ne vois pas comment orienter la direction du sprite selon l’angle qui va être déterminé par Random(360).

Mais au delà de ces petits soucis, j’aimerai avant tout avoir votre avis sur la façon dont j’ai écris les évenements. Ma logique est elle bonne par rapport à celle du programme ? Existe t il des méthodes solides (en terme de logique et de structure) pour gérer ce genre d’IA ?

Il y a certains points que j’ai du mal à comprendre par rapport à GD : dans quel ordre lit il les évenements ? Peut il lire plusieurs évenements simultanément ? Ne peut on pas faire des “mini programmes” qui se “condensent” en un seul évenement (peut être que les “modèles” servent à ça) ?

En fait, si j’en viens à me lancer dans un projet de jeu, il s’agira forcement d’un jeu sur une seule et même map, donc à priori une seule scène jouable. Et je ne vois pas encore comment organiser les évenements et les objets pour pas que GD s’embrouille (enfin, pour pas que JE ne m’embrouille) quand ils deviendront extrêment nombreux.

En gros c’est plutôt des questions de fond que je me pose, mais pour en revenir à mon bucheron et à mon forestier, j’aimerai déjà pouvoir comprendre les erreurs que j’ai faite !

Je suis tout ouie xD

Salut,

Tu peux mettre le Random(360) dans une variable, puis tu utilises cette variables pour faire bouger et changer la direction du personnage.

D’après tes événements, il ne doit pas y avoir de problèmes

Ils sont lus de haut en bas et cela se répète pleins de fois (à chaque image (fps) affichée, les événements ont tous été exécutés).

Tous les événements sont lus à la suite et le résultat de ces événements est affiché à la prochaine image. (sachant qu’il peut y avoir par exemple 60 images par seconde, c’est très rapide).

Il existe des liens qui permettent de faire comme si les événements d’une scène était dans une autre scène.

EDIT : quand tu veux nous montrer tes événements avec le jeu gdg, enregistre-le en mode portable (Général > Enregistrer > Petite flèche en dessous > Enregistrer en version portable).
Comme ça, GD fera bien le lien avec les images car pour le moment il faut que je mettes le jeu exactement où tu l’as mis sur ton ordi.

Ok, je vais essayer ça, merci.

Et pourtant, il y a bel et bien quelque chose qui cloche… Quand le bucheron va vers un arbre, il va à toute vitesse, peut importe la valeur que je lui met dans “longueur en pixel”.

Ok, c’est noté !

Merci pour le coup de main :slight_smile:

Je viens de tester d’un peu plus près (en changeant les cemins des images), le bucherons se déplace à une vitesse convenable.
D’ailleurs, toute ton IA fonctionne très bien, sauf peut-être le forestier qui plante assez près des autres arbres.

EDIT :
Enfin, le bucheron devrait aller plus vite pour rentrer dans sa cabane, mais c’est pas le cas. :confused:
Sinon, tu n’es pas obligé d’utiliser la condition “Toujours”, il suffit de rien mettre en condition. :wink: