Videospiel-Bots Stack-Überlauf

Um ‚bot‘ ein Spiel, müssen Sie in der Lage sein, zwei Dinge zu tun programmatisch: erkennen, was im Spiel vor sich geht, und liefern den Input für das Spiel.

Erkennen, was im Spiel vor sich geht neigt desto schwieriger der beiden zu sein. Einige Methoden hierfür sind:

Ereignisse zurück ins Spiel Eingabe hin ist in der Regel die einfachere Aufgabe. Einige Methoden sind:

  • Der Speicherabschnitt Ähnlich wie bei der Speicherüberwachung „Stoßen“ oben, ist Speicher Stossen der Akt des Schreibens von Daten direkt in den Speicherplatz des Spiels. Dies ist die Methode, mit dem Game Genie verwendete für seinen Cheats anzuwenden. Angesichts der Komplexität der modernen Spiele, ist dies eine sehr schwierige Aufgabe und kann potenziell das gesamte Spiel zum Absturz bringen.
  • Eingabe Emulation „falsche“ Tastatur- oder Maussignale können anstelle der direkten menschlichen Interaktion erzeugt werden. Dies kann in Software-Tools wie AutoIt erfolgen. Hardware Hacks können auch verwendet werden, wie zum Beispiel Geräte, die auf den Computer des USB oder PS / 2-Anschluss und erscheinen mit dem System verbinden eine Tastatur zu sein, sondern generieren gefälschte keypress Ereignisse basierend auf Signalen vom Computer empfangen (zum Beispiel über ein serielle Schnittstelle). Diese Methoden können schwieriger für Spiele zu erfassen.
  • Spiel Scripting Wie oben erwähnt, bieten einige Spiele integrierte Methoden für sie programmatisch zu steuern und nutzen diese Tools nehmen in der Regel die einfachste (aber vielleicht nicht die stärkste) Technik.

Einmal schrieb ich eine einfache MMORPG bietet von mir. Ich benutzte AutoHotkey.

  • Es bietet viele Methoden, um Benutzereingaben zu simulieren - ein funktionieren. Es ist mühsam, eine Arbeits man in C ++, indem man sich programmieren (Oder schauen Sie in AutoHotkey der Quelle).
  • Es kann direkt auf den Bildschirm für Pixelmuster, auch Spielbildschirme (DirectX) suchen

Also, was ich tat, war der Bildschirm für den Namen eines Feindes zu suchen (Stored als Bild mit der Schrift Spiel) und das Skript klickt ein paar Pixel darunter angreifen. Es prüft auch die Health-Bar und Töpfe, wenn sie zu niedrig ist.

Sehr trival. Aber ich weiß, eines WoW Bot, der auch mit AutoHotkey gemacht wird. Und ich sehe viele andere Leute hatten die gleiche Idee (Meins war nicht für WoW, aber wahrscheinlich illegal, auch).

Wie funktioniert eine einzelne Person über ihren Tag zu Tag?

Dies ist eine Art des Problems, das KIs in Spielen zu lösen.

Was wollen Sie Ihr Unternehmen zu tun? Code Ihr Unternehmen, das zu tun. Wenn Sie Ihr Monster wollen die Spieler Avatar zu jagen, muss das Monster nur den Avatar stellen und dann auf sie zu bewegen. Wenn das Monster in einem geeigneten Abstand bekommt, kann er wählen, den Spieler Avatar beißen, und diese Wahl kann so einfach sein wie AmICloseEnough (Monster, Spieler); oder komplexere oder sogar zufällig.

Bots in einem FPS ist schwierig richtig zu machen, weil es einfach ist, dass sie perfekt, aber nicht so einfach machen sie Spaß zu machen. Z.B. sie wissen immer genau, wo der Spieler (gPlayer.GetPosition ()), so ist es einfach, jedes Mal der Spieler in dem Kopf zu schießen. Es dauert ein bisschen „Kunst“ der Bot bewegen wie ein Mensch machen würde.

Es ist AI (künstliche Intelligenz) genannt und ist wirklich nicht so schwer zu replizieren, eine Reihe von Regeln und Befehle in der Programmiersprache des Spiels wird es tun. Zum Beispiel wäre ein FPS bietet arbeiten, indem die Koordinaten Ihres Spielers Körper bekommen und dein Feind bietet Waffe Einstellung zu dieser Koordinate und startet Schießen, wenn sie in einem bestimmten Bereich zu zielen.

Disclaimer: Ich bin einer der Mitbegründer von ShieldSquare

In Verbindung stehende Artikel