armes generiques

armes generiques - Algo - Programmation

Marsh Posté le 05-09-2012 à 10:42:42    

J'aimerais dans mon petit projet de jeu, implémenter des armes génériques.
 
ce que je cherche a faire, c'est d'avoir des effets indépendants que je peut combiner à la volée pour donner sa généricité a mon projectile (genre jeux de shoot'em up)  
 
par exemple :
 . tête chercheuse,
 . division en 3 du projectiles au bout de 2s
 . rebond des projectiles  
 ....
 
ensuite un fois ces modules fait, les combiner "en jeu" (à la maniere des materia de FF7) pour creer au choix pour l'exemple des modules si dessus
 
 un projectile tête chercheuse qui se divise en 3 au bout de 2s, et dont les sous projectiles rebondissent
   ou
 un projectile tête chercheuse rebondissant qui se divise en 3 au bout de 2s
   ou  
 un projectile rebondissant qui se divise en 3 au bout de 2s et dont chaque sous projectile est tête chercheuse
 
--------------
 
de base je me dis qu'il faut que je définisse un projectile comme un objet
ayant , un début, une phase active, et une mort
et des effets se collant à ces phases
 
se divise en 3 au bout de 2s pourrait etre racroché a mort du projectile...
 
mais tout cela m'arrange pas, comment un projectile dans la pratique peut avoir des effets ?  
genre on dis de base qu'il a des attributs,
et pour les comportement on les accroche sous forme de construction/dérivation... mais ainsi on ne peut pas 1 faire dériver les objet à la volée... et on ne peut pas imaginer touts les projectiles possibles en amont ....  
 
 
Bref si quel qu'un a une piste je suis prenneur

Reply

Marsh Posté le 05-09-2012 à 10:42:42   

Reply

Marsh Posté le 05-09-2012 à 11:00:34    

Déjà est-ce que tu as une ébauche de jeu avant d'aller plus loin ?


---------------
Blablaté par Harko
Reply

Marsh Posté le 05-09-2012 à 21:04:13    

non mais cela ne change rien en la question du comment on peut implémenter cela de manière intelligente.
 
----
idée qui me semble pourrie mais qui doit fonctionner :
 
établir une liste de paramètre associé au tir de base. et à la construction du projectile setter les paramètres en fonction des options qu'a le joueur en possession et comment il les as agencées.  
....
 
idée voulue :
associer un effet/rendu/comportement par option. et pouvoir les combiner à la constrution.
 
idée 2:
 
chaque projectile a un étape de construction, ou il vas appeler les constructeurs des options.  
ensuite une boucle rendu/execution, ou on modifie le projectile en passant par toutes les boucles rendu/Execution de mes options
et enfin a la destruction de celui ci, appeler les boucle destruction de mes options...
 
 
 
 
 

Reply

Marsh Posté le 06-09-2012 à 10:51:05    

Voilà, le principe c'est d'avoir tes fonctions appelés lors de la construction, celles lors de la destruction et celles pour la MAJ.
 
En gros tu peux voir ça de 2 façon :  
 
Soit tu as une fonction qui est appelée par ton projectile directement (par exemple, il peut posséder une liste de fonction à exécuter lors de la création, de la destruction et du tick), soit tu peux avoir des instances qui modifient le comportement de ta balle, sans que celle-ci demande quoique ce soit.


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 07-09-2012 à 13:51:59    

Il faudrait que tu regarde du côté des design pattern ( http://fr.wikipedia.org/wiki/Patro [...] C3.A9ation ) suivants :
* Fabrique : bien utile à mon avis pour créer toutes tes armes génériques : http://fr.wikipedia.org/wiki/Fabri [...] ception%29
 
* Pour l'enchaînement des effets des armes, j'avais pensé au début au design pattern Commande ( http://fr.wikipedia.org/wiki/Comma [...] ception%29 ) voire chaîne de responsabilité ( http://fr.wikipedia.org/wiki/Cha%C [...] ception%29 ). Mais finalement, je pense que le mieux est une combinaison du pattern Stratégie ( http://fr.wikipedia.org/wiki/Strat [...] ception%29 ) avec "Chaîne de responsabilité"...


Message édité par rufo le 07-09-2012 à 13:52:19

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed