JeuWeb - Crée ton jeu par navigateur
Application des DOT en tour par tour - 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 : Application des DOT en tour par tour (/showthread.php?tid=3678)

Pages : 1 2


Application des DOT en tour par tour - niahoo - 17-03-2014

yop !

J'aimerais vos avis sur les Damage Over Time, les fameux DOT. Je suis dans un contexte de jeu en tour par tour à deux joueurs.

Chaque joueur a une équipe de 3 personnages et peut, à chaque tour, lancer une attaque sur l'équipe adverse.

Certaines attaques peuvent appliquer un DOT sur un membre de l'équipe adverse, voire sur plusieurs membres. Je me demande quand appliquer les dommages.

Pour commencer, le joueur 1 joue, son action applique un dot à un personnage X du joueur 2.

Ensuite, vient le tour du joueur 2. Je me propose d'appliquer le DOT immédiatement pour le stresser un peu. Première interrogation : ne vaudrait-il pas mieux appliquer le DOT à la fin de son tour pour le laisser jouer ? Car le DOT pourrait tuer son dernier perso, et ça c'est un peu frustrant. Alors que s'il joue et bute son adversaire puis que son dernier perso crève, il aura au moins obtenu l'égalité (et je pencherais même pour la victoire, ça me semble plus juste).

Mais ensuite, quand vient le tour du joueur 1 à nouveau, faut-il appliquer également le DOT au joueur 2 ?

Les DOT ont un nombre d'applications. Par exemple "5-7 dégâts sur 4 tours" signifie que le DOT s'appliquera 4 fois. Donc, soit pendant 4 tours du joueur auquel cela s'applique, soit pendant 2 tours de jeu ou chaque joueur joue 2 fois.

Si j'applique les DOT de tout le monde à tous les tours ça rend le jeu un peu plus nerveux peut-être mais ça peut être frustrant de prendre des dommages deux fois sans pouvoir se soigner. Car pour le coup si notre dernier perso crève pendant le tour de l'adversaire on n'aura vraiment rien pu faire.

Alors, qu'en pensez-vous ? Exemples de jeux jouables gratos bienvenus.


RE: Application des DOT en tour par tour - Ter Rowan - 17-03-2014

je dirais un tour = toutes les interactions entre les différents joueurs / personnages.

==> un dot ne se réalise qu'une fois par tour (peu importe le nombre d'actions)

autre solution : le dot ne se réalise qu'une fois par action du personnage (ça permettrait une dimension tactique plus importante : ex = je viens de me choper un dot : si j'attaque il me fait 15 de dégats, si je me ménage il ne me fait que 5)

dans tous les cas je dirais : le dot se réalise au passage de tour

P1 lance dot sur P2
P2 lance attaque sur P1
fin du tour
calcul des dégâts de dot sur P2
évaluation du combat (fin de combat ou tour suivant)
début du tour suivant

avec cette séquence là, tu peux avoir des matchs nuls : P2 tue P1 mais meurt après à cause du dot (ça m'est déjà arrivé dans who => je bute le mec et crève comme un con juste après, frustrant mais rigolo)


RE: Application des DOT en tour par tour - niahoo - 17-03-2014

Donc toi tu préconises une seule application du dot après que tout le monde ait joué.

Au départ je comptais faire une résolution simultanée des actions des deux équipes, mais je me suis ravisé. On va avoir [joueur 1 qui joue] => [joueur 2 qui se prend des dégâts] puis l'inverse. Donc si je suis ta logique il faudrait que [j1 met un dot sur j2], [j2 fait son action], [j2 se mange des dégâts du DOT]. Mais si l'action de J2 consistait à lancer un DOT sur j1, je dois donc attendre que j1 ait rejoué avant de lui mettre des dégâts. Sinon ce n'est pas équitable.

En fait ma question est plus sur la différence entre ces deux séquences :

Code :
Tour de J1 ---------------
[J1 applique un DOT sur J2]
Tour de J2 ---------------
[J2 applique un DOT sur J1]
[J2 se mange des dommages du DOT]
Tour de J1 ---------------
[J1 effectue une action quelconque]
[J1 se mange des dommages du DOT]
Tour de J2 ---------------
[J2 effectue une action quelconque]
[J2 se mange des dommages du DOT]

Code :
Tour de J1 ---------------
[J1 applique un DOT sur J2]
Tour de J2 ---------------
[J2 applique un DOT sur J1]
[J2 se mange des dommages du DOT]
Tour de J1 ---------------
[J1 effectue une action quelconque]
[J1 se mange des dommages du DOT]
[J2 se mange des dommages du DOT]
Tour de J2 ---------------
[J2 effectue une action quelconque]
[J2 se mange des dommages du DOT]
[J1 se mange des dommages du DOT]



RE: Application des DOT en tour par tour - Thêta Tau Tau - 17-03-2014

J'ai l'impression qu'en général, les dégâts sont infligés au début du tour, du moins pour les jeux dont je me souvient (les FF auquel j'ai joué, un mmorpg corréen dont je me souviens plus le nom, dans pokémon il me semble aussi).
Faire les dégâts en début de tour a l'avantage de donner plus d'informations au joueur, qui d'une part se verra rappeler qu'il est empoisonné et surtout verra combien de dégâts il prends, et pourra donc adapter sa stratégie (parce que suivant les règles c'est pas forcément facile à savoir, surtout s'il y a des résistances ou autres qui entrent en jeu et modifient la valeur de base).
Le fait de ne pouvoir rien faire si on meurt dès le premier tic n'est pas vraiment un problème je pense, car c'est pas vraiment différent de mourir en prenant un coup de hache ou une boule de feu. De plus il n'y a en général pas beaucoup d'intérêt à mettre un dot sur un personnage qui n'a presque plus de vie.

Après entre infliger les dégâts une fois par tour ou deux fois par tour je dirais que ça a peu d'influence sur le gameplay. Mais je privilégierais une seule fois par tour car c'est l'option la plus simple (ça évite de devoir faire une multiplication par 2 pour savoir si on va mourir au prochain tour par exemple).


RE: Application des DOT en tour par tour - niahoo - 17-03-2014

On utilise pas tous le mot "tour" de la même façon (pour moi c'est 1 joueur qui joue comme dans "chacun son tour", pour vous c'est plus "tour du plateau == tous les joueurs ont joué". Mais j'ai compris que tu favorisais le schema 1 (dans mes exemples de code).

Si je mets les ticks des dots avant que le joueur ne joue alors je le ferai avant d'afficher "c'est votre tour" comme ça il n'aura pas l'impression d'avoir été privé de jeu. Une sorte d'inter-tour quoi.

Avec les dommages avant le tour ça donnerait donc ça :

Code :
Tour de J1 ---------------
[J1 applique un DOT sur J2]
Tour de J2 ---------------
[J2 se mange des dommages du DOT]
[J2 applique un DOT sur J1]
Tour de J1 ---------------
[J1 se mange des dommages du DOT]
[J1 effectue une action quelconque]
Tour de J2 ---------------
[J2 se mange des dommages du DOT]
[J2 effectue une action quelconque]
merci pour ton avis.

Après pour les dot qui agissent différemment selon si le perso à été agressif ou défensif, savoir si certains dots sont avant le tour mais d'autres en fin de tour, on peut toujours complexifier. Je cherche avant tout un schema de base pour mon prototype.


RE: Application des DOT en tour par tour - GeGe_KAT - 17-03-2014

On a pas mal de DOT dans notre jeu (jeu au tour par tour aussi) et on a choisit d'appliquer les dégats en fin de tour (de jeu) du joueur qui crée le DOT.

Code :
Tour X de J1 ---------------
[J1 applique un DOT sur J2/J3]
[J1 valide sa fin de tour]
[J2 se mange des dommages du DOT]
[J3 se mange des dommages du DOT]
Tour X de J2 ---------------
[J2 effectue une action quelconque]
Tour X de J3 ---------------
[J3 effectue une action quelconque]
Tour X de J4 ---------------
[J4 effectue une action quelconque]
Tour X+1 de J1 ---------------
[J1 effectue une action quelconque]
[J1 valide sa fin de tour]
[J2 se mange des dommages du DOT]
[J3 se mange des dommages du DOT]

Ce n'est pas une bon choix d'appliquer les DOT au début du tour du joueur qui subit les dégats car ce n'est pas à lui de décider quand les prendre et surtout parceque ça pourrait perturber le déroulement du combat. Imaginons dans la situation ci-dessus (mais que l'on résolve les dégats en début de tour de cible) : si lors du tour de J2, celui-ci attaque J3 (J3 serait full HP), J2 ne "bénéficiera" pas du DOT que J1 a infligé à J3, alors qu'il l'a lancé le DOT avant ! (J2 va devoir infligé plus de dégats pour achever la cible par exemple. Ca serait pas réaliste du tout, le DOT lancé avant aura effet qu'après et plein d'actions pourront d'intercaller entre temps) => On a donc des actions désynchronisées, on perd tout l'enchainnement possible...

Si tu veux que le joueur ciblé sache qu'il s'est prit un DOT, autant lui afficher un rappel plutot que d'appliquer les dégats en début de tour.


EDIT : Je viens de relire le 1er post. C'est que dans une utilisation 1V1 en fait. Cette solution marche quand même, mais à moins d'intérêt...
En tous cas, il ne faut infliger les dégats qu'une fois par tour "complet" de jeu.


RE: Application des DOT en tour par tour - Ter Rowan - 17-03-2014

(17-03-2014, 03:11 PM)niahoo a écrit : Donc toi tu préconises une seule application du dot après que tout le monde ait joué.

Au départ je comptais faire une résolution simultanée des actions des deux équipes, mais je me suis ravisé. On va avoir [joueur 1 qui joue] => [joueur 2 qui se prend des dégâts] puis l'inverse. Donc si je suis ta logique il faudrait que [j1 met un dot sur j2], [j2 fait son action], [j2 se mange des dégâts du DOT]. Mais si l'action de J2 consistait à lancer un DOT sur j1, je dois donc attendre que j1 ait rejoué avant de lui mettre des dégâts. Sinon ce n'est pas équitable.

En fait ma question est plus sur la différence entre ces deux séquences :

Code :
Tour de J1 ---------------
[J1 applique un DOT sur J2]
Tour de J2 ---------------
[J2 applique un DOT sur J1]
[J2 se mange des dommages du DOT]
Tour de J1 ---------------
[J1 effectue une action quelconque]
[J1 se mange des dommages du DOT]
Tour de J2 ---------------
[J2 effectue une action quelconque]
[J2 se mange des dommages du DOT]

Code :
Tour de J1 ---------------
[J1 applique un DOT sur J2]
Tour de J2 ---------------
[J2 applique un DOT sur J1]
[J2 se mange des dommages du DOT]
Tour de J1 ---------------
[J1 effectue une action quelconque]
[J1 se mange des dommages du DOT]
[J2 se mange des dommages du DOT]
Tour de J2 ---------------
[J2 effectue une action quelconque]
[J2 se mange des dommages du DOT]
[J1 se mange des dommages du DOT]

je préfère ton option 1, même si au final, avec l'équilibrage c'est presque la même chose, mais l'option 2 plus difficile à appréhender d'un point de vue joueur.

Il n'empêche que l'inter tour pour les dots me semble plus pertinent (c'est avant le tour = tour J1+tour J2)


RE: Application des DOT en tour par tour - niahoo - 17-03-2014

(17-03-2014, 04:43 PM)GeGe_KAT a écrit : EDIT : Je viens de relire le 1er post. C'est que dans une utilisation 1V1 en fait. Cette solution marche quand même, mais à moins d'intérêt...
En tous cas, il ne faut infliger les dégats qu'une fois par tour "complet" de jeu.

J'envisage aussi de faire d'autre types de match, 2V2 ou 1V1V1 voire 2V2V2 donc pourquoi pas. C'est un point intéressant.


(17-03-2014, 05:16 PM)Ter Rowan a écrit : je préfère ton option 1, même si au final, avec l'équilibrage c'est presque la même chose, mais l'option 2 plus difficile à appréhender d'un point de vue joueur.
Il n'empêche que l'inter tour pour les dots me semble plus pertinent (c'est avant le tour = tour J1+tour J2)


Oui je suis d'accord pour l'équilibrage. Donc là tu parles d'inter-tour-global : après que tout le monde ait joué on applique tous les dots de tout le monde. ça règle à la fois le problème soulevé par GeGe_KAT et ça évite au joueur 1 de prendre top d'avance sur le joueur 2 (les DOTs peuvent être accompagnés de dégâts directs lorsqu'ils sont appliqués).

Bon effectivement ça me semble de bons points tout ça Smile

Ce qui donnerait le schéma suivant

Code :
---- Début de manche 1 -------------
---- Tour de J1 --------------------
J1 applique un DOT sur J2
---- Tour de J2 --------------------
J2 applique un DOT sur J1
---- Début de manche 2 -------------
J1 se mange des dommages du DOT
J2 se mange des dommages du DOT
---- Tour de J1 --------------------
J1 effectue une action quelconque
---- Tour de J2 --------------------
J2 effectue une action quelconque



RE: Application des DOT en tour par tour - Argorate - 17-03-2014

Moi j'aime assez bien le mode proposé par Wesnoth, à savoir, il n'y a pas de tour de "table" comme proposé par Ter Rowan, chaque joueur joue puis appuis sur passé le tour.
Les DOT se font bien en début de tour (regen et poison sur les HP). Après c'est un choix: es-ce que tu veux que l'ordre des tours est une incidence? Mais de toute façon ça n'avantage qu'au premier tour, puisqu'après c'est cyclique...

le J3 pourra lancer un truc sur le J1 et le J1 se le mangera avant de jouer son prochain tour.
par contre le J1 joue en premier, le premier tour, mais c'est tout. (je sais pas si je m'exprime bien^^)


RE: Application des DOT en tour par tour - niahoo - 17-03-2014

Oui oui mais justement, j'hésite à faire des manches : Soit chacun joue 1 fois puis on résout les DOT (+ les HOT et autres trucs sur la durée) et on refait une manche ;
soit on joue chacun son tour et on résout certains des *OT à la fin du tour de chacun.

Le système de manche a un côté sympa, ça rajoute des events et ça permet de résoudre tous les *OT en un coup (code plus simple).

J'ai trop peu joué à des jeux en tour par tour de ce style pour choisir simplement.

Ce qui est chiant c'est de devoir développer les deux pour pouvoir tester, donc j'essaie de ne pas faire ça en trouvant des avantages/inconvénients décisifs à l'un des modes.