JeuWeb - Crée ton jeu par navigateur
Script monstre, objets ... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Script monstre, objets ... (/showthread.php?tid=4677)



Script monstre, objets ... - skill-san - 29-03-2010

Bonjour,

Je suis à un stade où le développement de mon jeu devient plus complexe et j'ai une incertitude qui me bloque depuis une semaine.
J'ai construis mon jeu de façon à pouvoir permettre des exceptions dans les effets des objets ou les actions des monstres.

Exemple bateau 1, une potion de soin redonne des hp et une potion disons de fumigène fait un écran de fumée.
Exemple bateau 2, Les monstres font des actions basiques mais un boss peut faire spawn des monstres.

Dans la structure du jeu rien n'est prévu pour afficher de la fumée avec un objet ou faire créer des monstre par un autre. Pour ne pas surcharger mon code et ma base pour des "choses unique", j'ai ajouté un champ script.

Mon dilemme : dois-je gérer ces scripts dans mon code, l'alourdir et le rendre moins évolutif. Ou Créer/utiliser un langage de script.
Merci.


RE: Script monstre, objets ... - christouphe - 29-03-2010

quel style de conception utilises-tu ? Car si tu utilises la COO, tu peux tout à fait imaginer qu'nu boss est un objet héritant de monstre avec une méthode spéciale lui permetant de créer un nouveau monstre (return new monster(); )

Non ?


RE: Script monstre, objets ... - skill-san - 29-03-2010

Oui mais c'est un cas parmi d'autre et faire une classe par "objet" différent c'est lourd.

class bossSpawn...
class bossTeleport...
class monstreMangeurPerso...
class monstreStripTease...
...

Le but c'est de pouvoir faire des MAJ et des modif sans toucher au code.


RE: Script monstre, objets ... - Anthor - 29-03-2010

C'est pas lourd, c'est de l'applicatif ^^


RE: Script monstre, objets ... - christouphe - 29-03-2010

(29-03-2010, 12:52 PM)skill-san a écrit : class monstreStripTease...

LOL !!! :good: j'adore...


RE: Script monstre, objets ... - keke - 29-03-2010

Coucou,

Perso, j'ai employé des Events (Evènement). C'est des petits bouts de code assez léger que je peux glisser à des endroits précis de mon code.

Ainsi, j'ai des Events pour des lieux. Si un joueur marche sur une case, on repère les events associés à cette case, et on joue le code associé.
Ainsi, un sol peut renvoyer du texte, créer des monstres, téléporter un joueur, lui faire perdre des points de vie, se comporter comme un batiment, etc.
L'avantage de l'event, c'est que l'on peut le coller un peu n'importe où. L'event "afficher du texte" pourrait facilement se mettre à la mort d'un monstre "Vous avez finalement tué le roi dragon, la paix va pouvoir revenir", où lorsqu'un joueur va se reposer, etc...
D'autres events sont plus spécifiques ...

kéké


RE: Script monstre, objets ... - skill-san - 29-03-2010

J'ai ça ^^ mais que pour le sol

Ici un téléporteur
Citation :DataBase
id = 1
map = 2
x = 10
y = 8
type = TELNO
arg = "map=1;x=2;y=6;effect=none;useMana=0;usePo=0"
Visibl = V

Mais le problème là c'est que c'est trop simple. Enfin ... je me demande si avec ce modèle en plus complexe + ma gestion événement temporel ça pourrait suffire à pratiquement tout faire.

Mais donc je finirais par créer un langage de script. Enfin un très très simple ^^.


RE: Script monstre, objets ... - My Hotel - 29-03-2010

C'est vrai que la POO est adaptée à ça. Si on arrive pas à trouver des points communs entre tous nos objets, donc un nombre fixe de colonnes en BDD, soit on met toutes les colonnes possibles, et certaines seront inutilisées sur certaines lignes, ou alors un simili langage de script, qu'on parse à coup d'explode.
L'idéal je pense restant une classe par objet.

Bye


RE: Script monstre, objets ... - Anthor - 30-03-2010

(29-03-2010, 05:22 PM)My Hotel a écrit : C'est vrai que la POO est adaptée à ça. Si on arrive pas à trouver des points communs entre tous nos objets, donc un nombre fixe de colonnes en BDD, soit on met toutes les colonnes possibles, et certaines seront inutilisées sur certaines lignes, ou alors un simili langage de script, qu'on parse à coup d'explode.
L'idéal je pense restant une classe par objet.

Bye

Dans ce cas là on peux tout à fait sérialiser un objet en base et le reloader par la suite.