Guhao Nan Temple du fond de la non concave rapports Qubit | Numéro public QbitAI
En tant que joueur, un jour vous trouvez un bug de jeu:
J'ai pu tirer le coin étrange coincé!
Donc, donner le jeu est devenu un bureau, un couteau 999, était d'avoir 1 heure 5 minutes pour passer à travers les points de contrôle, et ainsi refroidira?
Après rafraîchir? Est pas si le vide indicibles et la culpabilité? Un jeu si bon a été détruit.
Les développeurs de jeux l'intention est de rendre le joueur longanimité, laissez-les aller, mais les jeux stupides bug a tout gâché.
Récemment, une start-up canadienne Studios jeu: Un peu Awake, un nouveau modèle open source - ennemi AI Il permet au joueur de jeu de suivre automatiquement le chemin de l'ennemi et l'initiative pour éviter des obstacles environnementaux coin, rochers, etc., afin d'améliorer le défi et la jouabilité du jeu.
Si vous faites le développement de jeux, le projet pourrait être votre grande aide.
A partir de 0, le premier à écrire stupide coin AI d'une carte
Tout d'abord, nous allons mettre en place une unité hostile utilisent le noeud de collision KinematicBody2D dans le moteur Godot et utiliser la machine d'Etat pour définir son état.
Écrivez le plus simple, le joueur seulement suivre l'état du mouvement linéaire de l'ennemi:
Réglage et suivi de la voie d'évacuation des joueurs
Afin d'améliorer les performances de l'algorithme de suivi, définissez d'abord la marque pour déplacer la ligne sur le personnage du joueur.
En conséquence, si l'ennemi ne peut pas voir le joueur, le joueur cherchera automatiquement si ce qu'il reste des trajectoires et la trajectoire de ce mouvement, comme des chiens.
La prochaine information de trace pour assurer réel et efficace pour rester sur le chemin, utilisé ici scène Node2D avec une minuterie. Nous retracerons intervalle de génération à 0,1 seconde.
Lors du débogage, si vous voulez suivre le chemin visible, il suffit d'ajouter un nud colorRect.
Maintenant que votre ennemi a inspiré instincts sanguinaires du cur, poursuivi un joueur!
Définir les barrières physiques
Ensuite, nous devons laisser l'hostilité AI qui ont clairement pour éviter les obstacles sur le chemin suivi.
D'abord toutes les unités ennemies ajoutés pour donner un nud RayCast2D, mais aussi définir l'environnement de la couche physique, que AI sait qu'entre lui et le point de trace (Ray) Quels sont les obstacles.
Godot élu dans la colonne du projet, trouver l'option LayerNames dans les paramètres du projet, sélectionnez 2D ou 3DPhysics en fonction de votre jeu.
Nommé d'après la couche physique différente, la couche physique sur laquelle vous souhaitez appliquer à différentes cibles (comme la roche, mur, porte fermée), l'option Collision prévue dans la colonne cible Inspecteur des propriétés définies pour une la couche physique.
Une fois la cible de la couche physique est mis en place, nous avons mis à jour l'ennemi noeud RayCast2D pour lui permettre de déterminer peuvent être immédiats passer les obstacles.
La dernière étape, les étapes ci-dessus dans l'algorithme de synchronisation pour suivre les unités ennemies dans l'état:
Eh bien, maintenant votre ennemi AI Si vous rencontrez des obstacles dans le suivi de manière objective de marque perdue, il trace les joueurs de chemin contrôlés un par un, et d'essayer d'établir une connexion avec le point de trace, en cas de succès commencera immédiatement suivi.
A ce stade, l'algorithme entier est complet, simple, mais grande amélioration de la qualité du jeu, dans l'espoir de vous aider à faire le développement de jeux.
Le code source ouvert pour le lien:
https://abitawake.com/news/articles/enemy-ai-chasing-a-player-without-navigation2d-or-a-star-pathfinding
- FIN -
Qubit QbitAI · titres sur contrat
Suivez-nous, la première fois informé l'avant-garde des développements scientifiques et technologiques