Par exemple, le saké:
- Disons qu'il y a 10 chambres dans le monde.
- Et disons que le monde est habité par 10 entités.
- Et chaque entité a sa propre "routine quotidienne" où elle effectue certaines actions dans la pièce et peut également naviguer entre les pièces.
Étant donné que le joueur ne peut être que dans une pièce à la fois, quel est un bon moyen de garder une trace des actions que les autres entités effectuent dans d'autres pièces hors écran?
- L'option la plus simple consiste à vérifier chacune des 10 entités sur chaque image, à vérifier leur position / état et à déterminer si l'entité doit ou non se trouver dans la pièce où se trouve le joueur à un moment donné. (Cela semble toutefois très lourd en termes de ressources, d'autant plus que le montant de la pièce / entité est augmenté.)
Une autre option consiste à garder une trace du temps qui s'est écoulé depuis le début du jeu, puis chacune des entités vérifie si son motif intersecte la pièce où se trouve le joueur, et s'il le fait, vérifie par rapport au temps si oui ou non le l'entité est censée être dans la même pièce à ce moment particulier, les entités dont les motifs ne se croisent pas avec la pièce actuelle dans laquelle le joueur se trouve ne font rien tant que le joueur n'entre pas dans une pièce que leur motif recoupe et seulement à ce moment-là calculer si oui ou non ils devraient rendre. (Mais s'ils interagissent avec la pièce, ils devront toujours vérifier l'état des pièces qui croisent leur itinéraire afin de déterminer leur emplacement à ce moment, ce qui n'est pas terrible.)
La troisième option à laquelle je suis parvenu serait tout d'abord de ne regarder que les itinéraires qui croisent l'emplacement du joueur (comme décrit précédemment), deuxièmement en entrant dans une pièce, vérifier si le joueur est dans cette pièce, sinon de ne vérifier que le état de la pièce et combien de temps faut-il pour passer à la pièce suivante. Par exemple, un PNJ concierge entre dans la pièce, vérifie l'état de la pièce, voit qu'il y a un déversement fait par le joueur, calcule le temps qu'il faudra pour nettoyer cela et combien de temps le cheminement prendra, etc. Et jusqu'à ce que le mentionné le temps est prévu pour entrer dans la pièce suivante, nous vérifions seulement si le joueur est dans la pièce. L'emplacement exact du PNJ à des fins de rendu ne serait calculé que lorsque le joueur entre dans la pièce.
Après un remue-méninges un moment, je suis arrivé à la troisième option, mais je me demandais s'il y avait peut-être une façon connue ou meilleure de gérer des choses comme celles-ci?