Dans Minecraft, les monstres qui vous réveillent lorsque vous dormez dans un lit situé dans un endroit peu sûr sont-ils des monstres qui existent déjà et qui ont été déplacés depuis un endroit sombre, ou sont-ils des monstres qui sont apparus étant donné que le jeu a trouvé un chemin depuis un endroit sombre ?
Réponses
Trop de publicités?Il s'agit de monstres nouvellement apparus qui peuvent trouver un chemin à partir d'un endroit qui leur permet de se reproduire.
Hay d'excellentes recherches sur ce par bugi74 :
Chaque fois que le(s) lit(s) devient (deviennent) actif(s), tous les joueurs sont passés en revue un par un, chaque joueur ayant 20 chances de faire apparaître un monstre. La règle normale "les monstres ne pas près du joueur" ne semble pas s'appliquer.
À chaque essai, il lancera un type de monstre aléatoire parmi les sous-ensembles suivants squelette, araignée ou zombie, et une emplacement de départ aléatoire jusqu'à +/-32 blocs dans le sens horizontal et jusqu'à +/-16 blocs verticaux de l'emplacement l'endroit où le joueur dort. Ensuite, il cherche vers le bas, à partir de cette position, le le premier bloc opaque situé sous le bloc bloc actuel à vérifier. Ensuite, il essaie si l'endroit est approprié pour que le monstre (de l'eau pour les mobs, etc.) mais pas de vérification du niveau de lumière (encore), en cherchant à remonter si le bloc est pas approprié. (Il y a une limite de 16 blocs au-dessus de la position du joueur pour hauteur il cherchera). Si un endroit approprié approprié est trouvé, il y a un autre vérification pour savoir si le mob peut y frayer, cette fois avec une vérification du niveau de lumière.
Ensuite, l'algorithme essaie de calculer un chemin entre l'endroit trouvé et le joueur. Si le dernier point du chemin chemin est à moins de 1,5 bloc de la position du la position du joueur dans les trois coordonnées, le mob est spawné dans un endroit point très très proche du joueur (comme un demi-bloc de distance) (c'est ce qui permet de (c'est ce qui permet le "warp à travers les murs"), et toutes les sortes de choses sont mises en mouvement (comme le réveil et l'agression), et aucune autre et aucun autre essai n'est fait pour ce joueur à ce moment-là.
Les deux cas où le monstre obtient aussi près du joueur sont lorsque le chemin est seulement bloqué par un bloc épais (fin ?) et que le lit (ou une partie appropriée lit (ou une partie appropriée de celui-ci) est contre ce mur, ou lorsqu'il trouve vraiment un chemin vers le joueur. Je n'ai aucune idée de l'intelligence de l'algorithme est intelligent - je ne pense pas qu'il soit qu'il soit proche de A* ou mieux, à en juger par à quel point ils sont stupides lorsqu'ils essaient d'atteindre le joueur dans des situations normales (heureusement pour nous !).
J'ai un Plugin Bukkit qui gère le sommeil des joueurs AFK qui m'a poussé à examiner tout ça moi-même.
C'est un nouveau mob qui surgit pour vous punir d'avoir un emplacement de lit stupide. Test facile ;
1) Passez en mode pacifique, cela élimine tous les monstres.
2) Revenir à la normale et dormir dans un lit non sécurisé
3) Les monstres apparaissent immédiatement
Nous pouvons voir que ce monstre vient d'apparaître, parce que le temps ne s'écoule pas pendant que vous dormez (le jeu se contente de régler l'heure du matin), donc un mob n'aurait pas pu "apparaître" suivi de "se téléporter vers vous". Nous pouvons constater ce manque de temps en remarquant que les fours ne sentent pas pendant que vous dormez, par exemple (cela a peut-être été corrigé dans un patch récent ? mais je ne pense pas).
De la Le wiki de Minecraft :
Si un mob hostile peut s'approcher à moins de 2 blocs du lit, même si les blocs sont séparés par un mur, vous serez réveillé avec le mob hostile à côté de vous. Il semble y avoir un léger délai avant que le mob ne vous attaque, vous laissant le temps de porter le premier coup.
Il semble donc qu'il ne s'agisse pas d'un problème de frayage, mais plutôt d'un problème de "possibilité pour la mob de se rendre physiquement à la position "dangereux pour le sommeil" à partir de l'endroit où elle fraye".