Mardi 11 Décembre 2018, 02:05     Connectés : 3      Membres : 2


Mot de passe oublié ?

Pas encore de compte ?

Écoulement du temps dans un RPG

REPONDRE S'ABONNER
Daivin
Novice
#1
Bonjour,

J'essaie de créer un RPG à l'ancienne (façon Dungeon Master ou Might'n'Magic).

Je suis confronté au problème de l'écoulement du temps, et à son corollaire qui est l'échelle du jeu. Ces deux mesures me paraissent assez indissociables, si on veut garder un minimum de réalisme bien sûr.

Je pense qu'une bonne échelle serait d'environ 1,5 mètre par case (et donc par mouvement). Ceci correspond à un personnage avançant à 5km/h environ.

Par contre, comment faire correspondre cela à une base de temps réaliste ?
La vitesse de 1,5 mètres correspond à 1 seconde de marche dans notre échelle temporelle, ce qui ferait donc une carte immense ne serait-ce que pour une heure de marche (prévoir une carte de 3600x3600, le joueur va avoir le temps de s'ennuyer, et je vous préviens, je ne dessine pas une carte pareille).

Comment faire alors ? Tricher et décoreller les distances et le temps ?

Je vois deux possibilités:

1) mettre en place une base de temps qui avance de x minutes à chaque seconde réelle, tout en gardant une taille de case de 1,5m à 2m.
Ceci serait l'option Might'n'Magic, où le temps s'écoulait même sans mouvement de la part du joueur.

2) Écoulement du temps lié aux actions du joueur. C'est l'option roguelikes ou Avernum (la série en vue iso écrit en basic, si je me souviens bien)

Je souhaite quand même que le jeu vive en dehors des actions des joueurs (ne serait-ce que pour le plaisir sadique du joueur qui se fait massicoter par les trolls pendant qu'il cherche sa vorpale dans son inventaire). Je m'oriente donc vers la première option, mais ça ne va non plus être très réaliste de mettre une minute pour parcourir 2 mètres.

Il y a peut-être d'autres options ?
Merci de vos suggestions.
cabfe
Seigneur
#2
C'est comme pipi-caca.
C'est réaliste de le gérer, mais vite relou.

A moins que la gestion du temps ne soit un élément primordial du gameplay, te casse pas la tête et fait de l'approximatif
ParazaR
Garde
#3
Bonsoir,

J'essaie de créer un RPG

.

Wahoooo ! .
Jusque-là, je pensais que seuls des studios de développement de jeux vidéo pouvaient réaliser un tel travail.

Message édité pour la dernière fois le : 04/12/2018 à 18:15

mm678player
Garde royal
#4
Salut,


Je ne sais pas dans quelle mesure ma réponse va modestement contribuer à ta question, ou répondre à côté du sujet, par exemple je n'ai rien à répondre sur les aspects distance et vitesse de déplacement.


De Might & Magic aux Elder Scrolls, j'ai souvent vu le choix d'un facteur, d'abord 30, puis plus récemment 20, entre le temps dans le jeu, et celui dans la réalité. (J'évite volontairement l'expression "temps réel", parce que en jeu il peut y avoir basculement du mode tour par tour au mode temps réel).

Mais ça pose encore un choix à faire entre deux possibilités :
- La méthode "Might & Magic 7" par exemple. Toutes les deux secondes dans la réalité, le temps ingame avance d'une minute. Mais une heure ingame fait bien 60 minutes ingame, un jour fait 24h, etc...
- La méthode Morrowind par exemple. Même facteur 30, mais une seconde est une seconde, une minute est une minute (voir les durées des sortilèges par exemple), et un jour est... 48 minutes ! Bien qu'il fasse 24h sur les écrans d'attente / repos.


En parlant d'inventaire, il y a une idée que j'ai souvent pensée, mais jamais trouvée nulle part. Bon je dépasse peut-être le cadre de ce que tu vas peut-être programmer, mais je profite de ce sujet commme extension des "innovations dans les RPG", question sur le temps.
Il y a actuellement deux extrèmes. La plupart des jeux "pas online", sur les écrans d'inventaire, cartes, journal, stats, skills, etc... le temps est en pause. Et les jeux online (et peut-être d'autres) où le temps continue complètement normalement "en-dessous" de l'écran d'inventaire et autres. J'ai souvent pensé qu'on pourrait avoir une pause, mais à chaque fois qu'on fait une action dans l'inventaire, déplacer un objet, réparer, s'équipper, etc... le temps en-dessous pourrait avancer d'une durée fixe (exemple 3 secondes), puis se remettre en pause... Idée perso offerte gratuitement...


Tant qu'on y est, ça me rappelle une autre idée perso du même genre. Dans les écrans de dialogue. Il y a ceux qui figent le temps (exemple TES3, TES4), et ceux où le temps continue normalement derrière (exemple TES5, FO4, TW1 je crois, etc...). Là aussi on pourrait imaginer un compromis. Temps normal si pas de réaction du joueur pendant x secondes, puis temps moitié, puis quart, puis diverses autres fractions, puis figé, toujours si pas de réponse du joueur. Puis de nouveau normal dès clic du joueur et pendant que les persos parlent.

Bon, je jette juste ça comme ça, dans le vent. C'est pas forcément pour toi.


Mais je pense aussi comme d'autres, que le réalisme n'est pas forcément la seule priorité. Parfois il y a des choix plus réalistes et moins pratiques pour le joueur, d'autres fois des choix plus pratiques pour le joueur et moins réalistes. Et parfois il faut trouver des idées vraiment originales pour que les deux choses aillent dans le même sens... ou juste faire un truc pratique pour le joueur, car la réalité, on l'a déjà...
strelok
Novice
#5
Pour l'inventaire qui n'arrête pas le temps, deux exemples où c'est un plus :
tu as les metro, fps qui te font ramasser visuellement un à un les objets sur tes victimes : on ne fait pas ce qu'on veut, l'univers est hostile au joueur et à ses besoins.

De même dans Diablo 2 : on ne compare pas deux lances magiques entre trois démons. Un temps pour tout, on se met à l'abri avant d'avoir du temps. Pareil pour les potions de soin qui ne sont pas instantanées.

Des mécaniques de jeu qui ont vraiment un sens, rajoute aux sensations, pour moi.

Pour le temps, je n'ai jamais vécu un jeu où ça ait apporté quelque chose. Sauf la démo de Detroit, beyond human, mais je n'ai fait que le niveau du balcon.
Le temps est sans importance. Seule la vie est importante.
Daivin
Novice
#6
Merci pour vos réponses.

Effectivement, le réalisme pour le réalisme n'est pas un but en soi.
Je me demandais (sans trop m'avancer) si je n'allais pas donner quelques métiers aux mobs, mais sans tomber dans la simplicité du «nous sommes ouvert de telle heure à telle heure». Après y avoir réfléchi, il n'y a pas grande différence entre un gars présent dans une boutique à heure fixe et un autre présent dans un champ lui aussi à heure fixe. Mis à part peut-être le trajet d'un point à un autre pour éviter de le faire surgir brusquement sur une case (c'est plus facile avec un boutiquier où il suffit de verrouiller l'entrée dans la boutique quand il est absent).

Je veux absolument éviter le syndrome BAT ( fiche wikip ) : il fallait impérativement se trouver à certains endroits à une heure fixe pour déclencher des évenements.

Le système de 1 seconde == 1 minute dans le jeu me parait une bonne base (à ajuster si nécessaire). De même je garde l'idée d'un inventaire en pause, sauf lors d'une action, ce qui permet de réfléchir sans être pénalisé tout en gardant un certain réalisme. Merci pour l'idée !

C'est amusant de constater que tous les mécanismes qui paraissent aller de soi quand on joue ne sont plus du tout évident lorsqu'on s'y intéresse plus en détail.
mm678player
Garde royal
#7
«nous sommes ouvert de telle heure à telle heure»

Je ne réponds pas directement à ta question, mais ça me fait penser encore à un autre point de ma "liste mentale des choses qu'il faudrait corriger / modifier / rajouter" dans les jeux en général. Si ça ne te sert pas à toi dans ton initiative courageuse, ce sera toujours une discussion générale sur les jeux dans un forum sur les jeux...


Dans les jeux ayant des horaires dans lesquel entrer dans tel magasin ou maison après telle heure, est une intrusion (prenons Skyrim par exemple), d'abord ce qui est bien fait, ensuite ce qu'ils auraient pu mieux faire.
Ce qui est bien fait, par exemple, c'est que le PNJ va d'abord monter crescendo avec des commentaires de plus en plus agressifs, du genre "sortez ou j'appelle la garde", avant de vraiment le faire.
Ce qui est moins bien fait, mettons on vient de lui parler chez lui. Il parlait avec enthousiasme, car il vous donnait une quête consistant à lui rendre service, voire vous venez de lui dire que c'est fait. Et dès la seconde où on sort de la fenêtre de dialogue, il commence tout de suite le premier palier des commentaires agressifs. Dans ce cas, on s'attendrait à un premier commentaire sur un ton sympa, genre "Merci encore, mais maintenant j'ai besoin de rester seul", plus un délai confortable supplémentaire, avant d'enchaîner avec le premier palier du crescendo habituel.

Autre exemple, je discutais avec la chambellane de Faillaise, derrière, dans la partie "interdite". Et alors que j'étais tout le temps dans la fenêtre de conversation, j'entendais dans mon dos, un garde faire le crescendo habituel de l'intrusion, puis commencer à m'attaquer. Plus tard, ils ont fait une mise à jour, et la zone tout entière on pouvait s'y balader comme on veut, quand on veut, qu'on parle à quelqu'un ou pas, qu'on soit Thane ou pas, etc... Là aussi, j'aurais préféré un truc du genre, en général c'est interdit, mais si on parle à une "autorité locale", pendant la conversation c'est ok, plus un délai confortable après, et ensuite seulement ils commencent à nous prévenir "sortez etc...".

Bon, tout ça est peut-être trop complexe pour ce que tu veux faire. Mais un truc que tu avais dit m'avait fait penser à quelque chose qu'il me restait à dire sur les jeux et auquel je n'avais plus pensé avant...

Message édité pour la dernière fois le : 05/12/2018 à 12:15

UlrichVonBek
Citoyen
#8
Bonjour,

. . .
1) mettre en place une base de temps qui avance de x minutes à chaque seconde réelle, tout en gardant une taille de case de 1,5m à 2m.
Ceci serait l'option Might'n'Magic, où le temps s'écoulait même sans mouvement de la part du joueur.

2) Écoulement du temps lié aux actions du joueur. C'est l'option roguelikes ou Avernum (la série en vue iso écrit en basic, si je me souviens bien)

. . .

Hello hello !

L ecoulement du temps devrait rester relatif et non subjectif .

Perso principal et PNJs ne se deplacent pas a la meme vitesse (Morphologie, encombrement, Attribut de vitesse lies a la classe, Talisman de vitesse ,etc etc ).

Le PNJs ne se collent pas a la vitesse du perso principal .. Ils y en a de tres rapides et de tres lents ... ;)

Et il y a le joueur dependant de son propre temps (helas) , mais qui est l Oeil de Dieu (en quelque sorte).

L option 2, est contraignante pour le designer , car sans algo de calcul pour corriger l ecoulement du temps VS deplacements; qui dans ce cas est subjectif aux personages ; un perso tres rapide ou qui a un grand champ de deplacements ,va faire avancer le temps plus rapidement pour tout le monde .

De meme , un perso tres rapide mais avec un faible champ de mouvements (moi) VS un perso qui a un grand champ de deplacements mais assez lent (voleur, assassin,night blade,.. ) vont te conduire a creer des algos qui devrons garder une coherence sur l ecoulement du temps pour tout le monde ...


L option 1 va t eviter definitivement des arrachages de cheveux .

Bonus !!
Les cases de 1 a 2 metres ca marche si tu vis dans mon pays plat. Par contre , si ca monte, il faudra penser a reduire les mouvements des persos si ils ne sont pas Alpiniste , ou nageurs, ou avec de l embonpoint, ou plein d attirail... :)

Le temps doit rester relatif.

Bienvenu au Club Des Chauves ;)

-=[...forth ... you must gather your party before venturing forth ...you must gather your party before venturing forth ... you must gather your party before venturing ... ]=-
Daivin
Novice
#9
C'est vrai qu'avec l'option 2 (tour par tour, comme un jeu de plateau), il peut sembler étrange pour le joueur de voir des personnages qui ne bougent pas (ou qui semblent se teleporter) par rapport à sa vitesse relative.

Et puis d'abord je suis pas chauve, il me reste plein de cheveux à arracher !
ParazaR
Garde
#10
Et puis d'abord je suis pas chauve, il me reste plein de cheveux à arracher !

Message édité pour la dernière fois le : 07/12/2018 à 20:42