25-01-2014, 12:07 AM
Oui, une solution à ce problème est d'avoir un temps absolu, mais le jeu devient alors un jeu de programmation.
Et concernant les actions interactives :
Si l'interaction est au début de la chasse, le joueur va recevoir le butin de chasse avant même de chasser. Il faut donc bloquer l'action en cours. Si le joueur se fait attaquer pour être volé entre temps, il ne faut délivrer qu'une partie du butin, et annuler la suite de l'action. Cependant, quand un joueur choisi de chasser, vu qu'il interagit au moment du choix de l'action, il connait son butin de chasse avant d'avoir commencé à chasser. Il peut donc vendre la peau de l'ours avant de l'avoir tué (sauf si on l'attaque pendant sa partie de chasse).
Si l'interaction est à la fin de la chasse, et que le joueur se fait attaquer pour être volé entre temps, le joueur n'aura pas interagit et on ne sait pas ce qu'il était enfaîte en train de chasser depuis des heures.
Sinon, un problème me vient pour le jeu "macro" :
Chaque joueur peut choisir des actions qui seront exécutées au passage de tour.
Lorsque je veux me déplacer, je peux par exemple indiquer ma case d'arrivée, et je dois donc la voir. Chaque joueur voit donc les cases alentours, et quand il choisi de se déplacer à pied, il choisi où il veut arriver.
Mais si le jeu implémente des montures, et que le joueur souhaite se déplacer à cheval, on fait comment ? Si le cheval va deux fois plus loin pour une même action, le personnage doit voir deux fois plus loin ? Pas très logique !
A sa première connexion après le passage de tour, le jeu sait qu'il avait choisi un déplacement, le joueur peut donc avancer case par case ? Ça casse le fait que toutes les action sont simultanées au passage de tour, sauf l'exécution du déplacement. Car si plusieurs joueurs ont décidé de se déplacer, le faire avant l'autre a un impact, puisqu'un joueur veut pouvoir suivre un autre pour l'attaquer par exemple. Si l'autre joueur se sait en danger, il va devoir attendre juste avant le passage de tour pour que l'agresseur n'ai pas le temps de jouer l'exécution de son déplacement. Et ça on ne veut pas.
D'autres idées de solutions ?
Et concernant les actions interactives :
Si l'interaction est au début de la chasse, le joueur va recevoir le butin de chasse avant même de chasser. Il faut donc bloquer l'action en cours. Si le joueur se fait attaquer pour être volé entre temps, il ne faut délivrer qu'une partie du butin, et annuler la suite de l'action. Cependant, quand un joueur choisi de chasser, vu qu'il interagit au moment du choix de l'action, il connait son butin de chasse avant d'avoir commencé à chasser. Il peut donc vendre la peau de l'ours avant de l'avoir tué (sauf si on l'attaque pendant sa partie de chasse).
Si l'interaction est à la fin de la chasse, et que le joueur se fait attaquer pour être volé entre temps, le joueur n'aura pas interagit et on ne sait pas ce qu'il était enfaîte en train de chasser depuis des heures.
Sinon, un problème me vient pour le jeu "macro" :
Chaque joueur peut choisir des actions qui seront exécutées au passage de tour.
Lorsque je veux me déplacer, je peux par exemple indiquer ma case d'arrivée, et je dois donc la voir. Chaque joueur voit donc les cases alentours, et quand il choisi de se déplacer à pied, il choisi où il veut arriver.
Mais si le jeu implémente des montures, et que le joueur souhaite se déplacer à cheval, on fait comment ? Si le cheval va deux fois plus loin pour une même action, le personnage doit voir deux fois plus loin ? Pas très logique !
A sa première connexion après le passage de tour, le jeu sait qu'il avait choisi un déplacement, le joueur peut donc avancer case par case ? Ça casse le fait que toutes les action sont simultanées au passage de tour, sauf l'exécution du déplacement. Car si plusieurs joueurs ont décidé de se déplacer, le faire avant l'autre a un impact, puisqu'un joueur veut pouvoir suivre un autre pour l'attaquer par exemple. Si l'autre joueur se sait en danger, il va devoir attendre juste avant le passage de tour pour que l'agresseur n'ai pas le temps de jouer l'exécution de son déplacement. Et ça on ne veut pas.
D'autres idées de solutions ?