JeuWeb - Crée ton jeu par navigateur
[Conception] Magie? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : [Conception] Magie? (/showthread.php?tid=4470)



[Conception] Magie? - Argorate - 02-12-2009

Salutation,

Je voulais savoir quelle méthode de conception vous utilisez pour ce qui concerne les pouvoirs magiques dans un jeu?

On stock en bdd : tel joueur a accès a tel pouvoir, ainsi que le niveau de celui-ci.
Puis lorsque qu'on veut l'utiliser…
Faut t-il créer une fonction par pouvoir ? Qui gèrerait les effets du pouvoir en question.
Car généralement les pouvoirs magique ce n'est pas juste des dégâts, il peut y avoir un changement d'état chez l'ennemis: "empoisonné", "ralenti" ou je ne sais quel effet spécial...

Donc quel serait, pour vous, la meilleure manière de concevoir ce système de jeu?


Merci de votre attention.


RE: [Conception] Magie? - pascal - 02-12-2009

Une fonction par pouvoir, ça risque de devenir assez lourd à faire évoluer.

Dans ton analyse des effets magiques, il ne faut rien oublier :
- modifications des caractéristiques (bonus / malus)
- dégâts
- effet temporaire ou permanent
- effets sur les actions possibles (ex : ne peux plus bouger, ne peux plus attaquer...)
- téléportation
- ...

Ensuite définir les grandes familles de sorts, définir les paramètres qui le composent.

Tu peux aussi prévoir un champ pour stocker un nom de fonction qui gère ce qui ne rentre pas dans le cas normal.

A+

Pascal


RE: [Conception] Magie? - Roworll - 03-12-2009

A voir d'abord comment tu souhaites intégrer ton système de magie et le fonctionnement quil doit avoir. Je te conseille de jeter un oeil du coté des pen & paper RPG (ou même des MMOs).
Certains systèmes ont une grande expérience sur la question.

En gros, on a deux écoles

- Un sort différent à chaque fois
Chaque sort à son nom, ses effets ses particularités.
Selon les versions, les sorts gagnent en puissance avec le joueur (ex D&D : boule de Feu) ou doivent être réappris à des niveaux de puissance supérieure (ex Rolemaster : Guérison I, Guérison II, etc)
C'est rigide, limite figé, mais donne un contrôle extrême sur la progression en puissance de la magie et des jeteurs de sorts.
Au niveau architecture de l'application, on a quasiment une entrée dans la BDD par sort et un module pour gèrer les effets de celui-ci (je schématise au max hein, pas la peine de venir pointer sur les possibilités d'optimisation du modèle)

- Combinaison d'effets
C'est ce qui s'apparente à la nouvelle école.
On trouve ce genre de fonctionnement dans des jeux comme Gurps, Champion ou Ars Magica.
Un sort est alors un effet de base sur lequel viennent se greffer des avantages. Par exemple, un sort d'attaque fait des dégâts. Qu'il balance du feu, de la glace, des cailloux ou des corn flakes, le but est de faire mal.
La subtilité est dans les effets et les résistances possibles.
Dégâts + ralentissement ou immobilisation = pluie de glace qui gèle l'environnement / la cible
Dégâts + malus d'attaque : Projection de sable qui aveugle la cible
Dégâts + AE + DoT : Boule de feu qui explose dans une zone et continue à tout cramer pendant quelques temps.
La puissance du sort varie en fonction de la mana utilisée lors de l'invocation et/ou du nombre d'XP investis pour son apprentissage.

L'avantage de ce système est qu'il est hyper souple. Le désavantage est qu'il est plus dur à modéliser et surtout à équilibrer.

De toute manière, il est sage de prévoir une table ou du moins quelques champs pour stocker l'état (débuff) de la victime ou du lanceur de sorts et de ses alliés (buffs / sorts défensifs).

Encore une fois, tout dépend du système que tu souhaites mettre en place et de l'importance de la magie dans ton univers. Attention à ne pas tomber dans le travers habituel ou le mage est presque la classe ultime


RE: [Conception] Magie? - Kassak - 05-12-2009

Une fonction par pouvoir, ça peut commencer à devenir lourd si on a 40 000 sorts, mais avec ce système on peut vraiment programmer le sort qu'on souhaite. J'avais fait ça pour mon 1er projet, et des sorts que je pensais super chaud à faire au final sont faciles à faire.


RE: [Conception] Magie? - Crimson - 06-12-2009

Une fonction par sort c'est artisanal comme solution...

Généralement tu dois pouvoir grouper tes sorts par types. Donc à moins que tout tes sorts soient totalement différents tu peux faire une fonction générique par groupe et une fonction particulière pour les quelques sorts avec des comportements particuliers.

Une autre solution peut être de gérer les sorts comme des listes d'effets et de traiter les différents types d'effets lors du lancement du sort. J'ai déjà codé ça pour un jeu et ça permet de faire pas mal de sorts différents.


RE: [Conception] Magie? - Globe - 06-12-2009

Après analyse des émulateurs WoW j'ai opté pour leur solution, une table sorts qui liste les sorts, leur coût en mana, le niveau approximatif du sort (par exemple boule de feu, trait de glace sont deux sorts basiques), les dégats de base, et l'id de l'effet causé. Une table effets, qui liste les types d'effets (par exemple +3 dégats feu, ou encore Etourdit...). Ensuite une table qui reprend le niveau approximatif du sort (celui de la table sorts) et qui détermine les conditions de déblocage selon le niveau, l'école de magie et les caractéristiques.


RE: [Conception] Magie? - Argorate - 09-12-2009

Salut,

quand je disais "une fonction par magie" j'entendais par magie ayant un effet spécial distinct ^^
Les magies n'ayant pas d'effet particulier autre que causer des dégâts ou soigner, forcément il suffit de faire une fonction générique.
Mais la discutions que je voulais avoir c'était évidement sur les cas qui sont chiant a gérer.

Donc je verrais bien quand j'en serais a cette phase, je pense avoir eu pas mal d'élément de votre part.
Merci.