Jeu Vidéo Bots Stack Overflow

Pour « bot » un jeu, vous devez être en mesure de faire deux choses programme: détecter ce qui se passe dans le jeu, et contribuer au jeu.

Détecter ce qui se passe dans le jeu tend à être le plus difficile des deux. Quelques méthodes pour ce faire sont les suivantes:







événements d'entrée Génération de nouveau dans le jeu est généralement la tâche plus facile. Certaines méthodes comprennent:

  • Mémoire « Piquer » similaire à la section de surveillance de la mémoire ci-dessus, la mémoire est poking l'acte d'écriture des données directement dans l'espace mémoire du jeu. Ceci est la méthode utilisée par le Game Genie pour l'application de ses codes de triche. Compte tenu de la complexité des jeux modernes, il est une tâche très difficile et peut potentiellement bloquer l'ensemble du jeu.
  • Emulation d'entrée clavier « faux » ou des signaux souris peuvent être générés en lieu et place de l'interaction humaine directe. Cela peut se faire dans le logiciel en utilisant des outils tels que AutoIt. hacks matériels peuvent également être utilisés, tels que les appareils qui se connectent au port USB de l'ordinateur ou le port PS / 2 et apparaissent au système d'être un clavier, mais au lieu de générer des événements keypress faux à partir de signaux reçus de l'ordinateur (par exemple, sur une port série). Ces méthodes peuvent être plus difficiles pour les jeux à détecter.
  • Script de jeu comme technique mentionné ci-dessus, certains jeux proposent des méthodes intégrées pour contrôler programmation, et en tirant parti de ces outils est généralement le plus facile (mais peut-être pas le plus puissant).






Une fois que je l'ai écrit un bot simple MMORPG par moi-même. Je AutoHotkey.

  • Il fournit beaucoup de méthodes pour simuler l'entrée d'utilisateur - on va travailler. Il est fastidieux de programmer un travail un en C ++ par soi-même (ou regarder dans la source de AutoHotkey).
  • Il peut rechercher directement l'écran des modèles de pixels, même les écrans de jeu (DirectX)

Donc, ce que je faisais était de rechercher l'écran le nom d'un ennemi (comme une image stockée avec la police du jeu) et le script clique sur quelques pixels en dessous pour attaquer. Il suit également la barre de santé et des pots si elle est trop faible.

Très trival. Mais je sais d'un WoW bot qui est également fait en utilisant AutoHotkey. Et je vois beaucoup d'autres personnes ont eu la même idée (la mienne était pas pour WoW, mais probablement illégale, aussi).

Comment une personne physique va leur jour le jour?

C'est un peu le problème que dans les jeux résoudre AIs.

Qu'est-ce que vous voulez que votre entité à faire? Code votre entité pour le faire. Si vous voulez que votre monstre pour chasser l'avatar du joueur, le monstre a juste besoin de faire face à l'avatar, puis se diriger vers elle. Lorsque ce monstre se trouve à une distance convenable, il peut choisir de mordre l'avatar de joueur, et ce choix peut être aussi simple que AmICloseEnough (monstre, joueur); ou plus complexe, voire aléatoire.

Bots dans un FPS sont difficiles à obtenir le droit, car il est facile de les rendre parfaits, mais pas si facile de les moquer. Par exemple. ils savent toujours exactement où le joueur est (gPlayer.GetPosition ()) il est donc facile de tirer le joueur dans la tête à chaque fois. Il faut un peu de « l'art » pour faire bouger le robot comme un être humain serait.

Il est appelé AI (intelligence artificielle) et est vraiment pas difficile à reproduire, un ensemble de règles et de commandes dans le langage de programmation de votre jeu fera l'affaire. Par exemple, un bot FPS travaillerait en obtenant les coordonnées du corps de votre joueur et mettre l'arme de votre robot ennemi de viser à ce coordonner et commencer à tirer quand dans une certaine plage.

Disclaimer: Je suis l'un des co-fondateur de ShieldSquare







Articles Liés