Agar.io ist ein simples Spiel für Menschen, aber wie einfach ist es für künstliche Agenten? In diesem Artikel werden wir uns mit der Konstruktion eines genetischen Algorithmus befassen, der neuronale Netzwerke entwickelt, um in einer Agar.io-ähnlichen Umgebung zu spielen.
Die Simulation zeigt Agenten, die aus über 1000 Generationen des Algorithmus hervorgegangen sind. Die Genome zeigen menschliche Eigenschaften wie die Suche nach Nahrung, das Vermeiden größerer Blöcke und das Verfolgen kleinerer Blöcke. Es gibt jedoch auch Fälle, in denen ein Genome einfach in einen größeren Block läuft, ohne ersichtlichen Grund. Dies liegt daran, dass jedes Genome nur drei andere Blöcke und drei Nahrungsblobs sehen kann.
Die Codebasis besteht aus drei Hauptteilen: dem Feld, dem Spieler und dem genetischen Algorithmus. Das Feld besteht aus zwei verschiedenen Objekten: Nahrung und Spielern. Nahrung ist stationär und hat kein "Gehirn". Jedes Nahrungsblob hat einen statischen Futterwert. Wenn Nahrung gegessen wird, bewegt sie sich zu einer neuen Position auf dem Feld. Spieler hingegen können Entscheidungen treffen, indem sie neuronale Netzwerke verwenden. Sie verlieren langsam an Größe, wenn sie nicht aufgefüllt werden (entweder durch das Essen anderer Spieler oder Nahrung).
Der Spieler ist eine vereinfachte Version des Spielers im echten Spiel. Ein Genome kann nicht teilen und schießen - es kann nur bewegen. Die Ausgabe jedes Genoms besteht aus einer Bewegungsrichtung und einer Bewegungsgeschwindigkeit.
Der genetische Algorithmus ist der Kern der künstlichen Intelligenz. In der ersten Frame werden eine bestimmte Anzahl von Spielern initialisiert, die ein neuronales Netzwerk als Gehirn haben. Diese Gehirne repräsentieren die Population einer Generation. Diese Gehirne werden dann durchgesetzt, indem die gesamte Population in einem einzigen Spielfeld platziert und gegeneinander konkurriert wird. Die fittesten Gehirne werden in die nächste Generation übernommen, während die weniger fiten Gehirne eine hohe Chance haben, entfernt zu werden.
Es gibt verschiedene Einstellungen, die den Spielprozess beeinflussen können. Dazu gehören die Größe des Spielfelds, die Anzahl der Nahrungsblobs, die Anzahl der Spieler, die Geschwindigkeit der Spieler und vieles mehr. Es gibt auch eine Liste von Verbesserungen, die noch nicht implementiert wurden.
Wir hoffen, dass dieser Artikel einen guten Überblick über die künstliche Intelligenz in Agar.io gegeben hat. Wenn Sie Fragen zum Code haben, bitten wir Sie, ein Issue auf dem Repository zu erstellen.
* KI-Zusammenfassungen können Fehler enthalten. Alle Angaben ohne Gewähr.