Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Künstliche Intelligenz

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Veranschaulichung der Wegfindung von Schweinezombies in einer Testumgebung der Entwickler auf dem offiziellen Bild zur Vollversion 1.9.2 (16w14a). In dieser Version begann ProfMobius, die zugrundeliegenden Algorithmen gänzlich zu überarbeiten.[1]

Unter dem Begriff der Künstlichen Intelligenz (KI) versteht man:

[...] den Versuch, eine menschenähnliche Intelligenz nachzubilden, d. h., einen Computer zu bauen oder so zu programmieren, dass er eigenständig Probleme bearbeiten kann. Oftmals wird damit aber auch, besonders bei Computerspielen, eine nachgeahmte Intelligenz bezeichnet, womit durch meist einfache Algorithmen ein intelligentes Verhalten simuliert werden soll.
~ Wikipedia bezüglich künstlicher Intelligenz

In Minecraft folgt das sichtbare Verhalten von Kreaturen offensichtlich bestimmten Regeln, die hier zusammengefasst als "KI" bezeichnet werden. Kreaturen führen einerseits selbstständig (autonom) bestimmte Handlungen aus, andererseits zeigen sie fremdbestimmte (heteronome) Reaktionen auf Reize und Gegebenheiten ihrer Umwelt. Von besonderer Bedeutung bei fremdbestimmten Handlungen ist die Interaktion mit dem Spieler.

Selbstständiges Verhalten[Bearbeiten]

Unter selbstständigem oder autonomem Verhalten wird hier jedes Verhalten verstanden, das eine Kreatur aus eigenem Antrieb zeigt, ohne dass es dazu eines besonderen äußeren Reizes bedarf. Alle Kreaturen zeigen selbstständige Verhaltensweisen, unabhängig davon, ob sie dem Spieler grundsätzlich passiv, aggressiv oder neutral gegenüberstehen.

Auch wenn das selbstständige (im Gegensatz zum fremdbestimmten) Verhalten unabhängig vom Spieler ist, so setzt es doch bei den meisten Kreaturen bei einer größeren Entfernung als 32 Blöcke vom Spieler aus. Die Kreatur bleibt dann bewegungslos. Dies hat lediglich einen technischen Hintergrund, der darin besteht, Systemleistung einzusparen.

Die meisten Kreaturen geben bestimmte, charakteristische Laute von sich. Diese Laute werden jedoch nicht von der KI gesteuert, was deutlich wird, wenn man die KI abschaltet. Die Laute tragen aber dennoch entscheidend dazu bei, den Eindruck von Selbstständigkeit zu verstärken.

Fortbewegung[Bearbeiten]

Das wichtigste und allen Kreaturen eigene Verhalten ist die selbstständige Fortbewegung in der Spielwelt. Diese Art Verhalten kann mit dem Ausdruck "zielloses Umherstreifen" umschrieben werden. Die meisten Kreaturen sind Landkreaturen, d. h. ihre Fortbewegung ist durch die Schwerkraft an den Boden gebunden. Dazu zählen auch Hüpfen, Schweben und das Durchqueren von Wasser. Eine besondere Art der Fortbewegung ist das Teleportieren. Neben den an das Land gebundenen Kreaturen gibt es flugfähige Kreaturen und schwimmende Wasserkreaturen.

Die Fortbewegung der meisten Kreaturen folgt einem typischen Ablauf (Besonderheiten werden anschließend erläutert):

  • Die Kreatur dreht ihren Kopf in eine zufällige Richtung und danach den Rumpf in die gleiche Richtung. 180°-Drehungen werden oft sehr schnell ausgeführt.
  • Wenn der Spieler mindestens 30 Blöcke weit entfernt ist, dreht sich die Kreatur in immer neue Richtungen, verharrt jedoch auf ihrer aktuellen Position.
  • Eine zufällige Zielkoordinate wird ermittelt. Der Zielpunkt ist bei den meisten Kreaturen 0-10 Blöcke entfernt. Auch für die Kreatur unerreichbare Zielpunkte sind möglich. Zielpunkte an Land werden von Landkreaturen bevorzugt, gelegentlich werden aber auch Zielpunkte im Wasser oder in Fahrzeugen (Boot, Lore) gewählt.
  • Die KI berechnet den schnellsten Weg für diese Kreatur zum Zielpunkt. Dabei werden sowohl Hindernisse wie tiefe Abgründe, Anhöhen, Zäune, Lava- und Wasservorkommen als auch Abkürzungen wie offene Türen oder niedrige Abgründe berücksichtigt.
  • Der Weg wird in der Geschwindigkeit der Kreatur überwunden. Während des Weges kann es jederzeit zu Interaktionen mit Spielern kommen, welche die Bewegung unterbrechen.
  • Erreicht die Kreatur die Zielkoordinate, wird die aktuelle Bewegung beendet.
  • Die aktuelle Position wird zur neuen Startkoordinate. Der Ablauf beginnt von vorne.
  • Tritt in der Umgebung der Kreatur nach der ursprünglichen Routenberechnung, also während des Bewegungsablaufes, eine Änderung auf, kann diese nicht mehr verarbeitet werden. Gelangt die Kreatur an die Stelle, wo die Veränderung stattgefunden hat, beginnt sie zumeist auf und ab zu hüpfen, da sie nicht weiß, wie sie sich nun verhalten soll. Dieses Verhalten hört erst auf, wenn erfolgreich eine neue Route an einen anderen Ort berechnet wurde und angetreten wird.

Landkreaturen meiden Abgründe oder Lava, selbst wenn sie gegen die entsprechende Schadensart immun sind. Sie umgehen unter normalen Umständen Wasser, wann immer dies möglich ist. Sie können sich zwar darin fortbewegen, dieses behelfsmäßige Schwimmen ist gegenüber dem Laufen allerdings deutlich langsamer. Die KI sucht nicht zwangsläufig den kürzesten Weg, sondern bevorzugt den schnelleren Landweg. Die Spinne und die Höhlenspinne können auch senkrechte Flächen überwinden.

Flugfähige Kreaturen bewegen sich statt auf der Oberfläche des Bodens im gesamten Luftraum, also in allen drei Raumdimensionen. Die Fledermaus kann sehr lange kopfüber an einem Block verharren und sich ab und zu in eine andere Richtung drehen, ehe sie wieder ihren scheinbar zufälligen, schnellen Zickzack-Kurs aufnimmt. Der Ghast fliegt bedächtig von einer Position zur nächsten, ohne jemals zu verharren, geschweige denn zu landen. Der Plagegeist dringt bei seinem ununterbrochenen Flug auch in den Boden ein. Das Verhalten des Enderdrachen ist in Phasen (Rundflug, Angriff, Rückkehr zum Endbrunnen etc.) gegliedert. Seine Wegfindung weicht ebenfalls ab, da er mit Blöcken nicht kollidiert, sondern sie in den meisten Fällen zerstört.

Schwimmfähige Kreaturen bewegen sich gänzlich uneingeschränkt in allen drei Raumdimensionen im Wasser. Der Tintenfisch verfolgt einen unvorhersehbaren Zickzack-Kurs, ohne jemals an einem Ort zu verharren. Normale Wächter führen schnelle Bewegungen mit vielen Drehungen aus und verharren nur kurz an einem Ort. Große Wächter hingegen verhalten sich träge und wechseln ihren Ort nur geringfügig. Geraten Wächter an Land, hüpfen sie unablässig ziellos und hektisch auf dem Boden herum, sterben aber nicht.

Fremdbestimmtes Verhalten[Bearbeiten]

Während das selbstständige Verhalten auftritt, wenn sich die Kreatur ungestört in der Welt befindet, wird das fremdbestimmte oder heteronome Verhalten durch die Anwesenheit anderer Wesen angeregt. Verschiedene dieser Verhaltensmuster werden bereits ausgelöst, wenn andere Kreaturen in der Nähe sind. Das Auftreten der meisten Muster erfordert allerdings einen Spielers in der unmittelbaren Umgebung. Das fremdbestimmte Verhalten ist gegenüber dem selbstständigen Verhalten grundsätzlich stark davon abhängig, ob der Spieler einer passiven, aggressiven oder neutralen Kreatur gegenübersteht.

In Abwesenheit eines Spielers[Bearbeiten]

Beobachtung ist ein im Verhalten von fast allen Kreaturen vorhandenes Element. Befinden sich weitere Kreaturen in einem Umfeld von acht Blöcken um diese herum, werfen sie diesen gelegentlich einen Blick zu. Dies ist lediglich ein kleines Detail, um mehr Charakter zu verleihen, hat aber keine wirkliche Bedeutung.

Angriffe werden von einigen Kreaturen ausgeführt, sobald sie bestimmte Kreaturen bemerken. Am aggressivsten ist in der Hinsicht der Wither. Er verschont nur untote Kreaturen, alle anderen werden durch die von seinen drei Köpfen verschossenen Projektile schnell getötet. Wölfe haben es auf alle Arten von Skeletten, Schafe und Kaninchen abgesehen. Bei Sichtkontakt wechseln sie automatisch zu einem aggressiven Verhalten und beginnen die springende Verfolgung der Kreatur, die immer die Flucht ergreift, aber bald eingeholt wird. Weiterhin greifen Ozelote Hühner selbstständig an. Sie pirschen sich langsam an diese an, und springen dann das letzte Stück zum Angriff. Nach dem Sprung nehmen sie entweder die Verfolgung des flüchtenden Tieres auf oder starten einen erneuten Anpirschversuch. Wenn kein Spieler in der Nähe ist, gehen Zombies gegen Dorfbewohner vor. Sie verfolgen diese beständig und können bei Schwierigkeitsgrad Schwer sogar die Holztüren ihrer Häuser durchbrechen. Stirbt ein Dorfbewohner durch einen Zombie, kann aus ihm, ebenfalls in Abhängigkeit vom Schwierigkeitsgrad, ein Dorfbewohnerzombie entstehen. Eisengolems werden gegenüber einem Spieler aggressiv, wenn dessen Beliebtheit in dem Dorf, dem sich der Eisengolem zugehörig fühlt, unter einen bestimmten Wert sinkt.

Flucht tritt bei Kreaturen ohne Einwirkung des Spielers vor allem dann auf, wenn sie auf eine Kreatur, die ihnen gefährlich werden kann, treffen. Deswegen nehmen Kaninchen und alle Skelettarten schnellstmöglich Reißaus vor Wölfen, und Dorfbewohner halten sich von allen Zombiearten und Illagern fern. Obwohl Ozelots und Katzen ihnen niemals etwas antun könnten, ergreifen Creeper dennoch sofort die Flucht vor ihnen. Schafe und Hühner erkennen ihre natürlichen Feinde jedoch nicht , sie ergreifen erst die Flucht, nachdem ein Angriff erfolgt ist. Hin und wieder kann das Fluchtverhalten speziell bei Tieren auch ausgelöst werden, indem sie auf irgendeine Weise Schaden erleiden, z. B. wenn sie gegen einen Kaktus gedrängt wurden. Auch Endermen können fliehen, doch nicht vor einer anderen Kreatur, sondern bei Kontakt mit Wasser, und auch nicht indem sie weglaufen, sondern durch Wegteleportieren.

Verfolgung tritt in den meisten Fällen dann auf, wenn eine Kreatur einen Angriff vorhat. Friedliche Absichten haben hingegen die allesamt sehr anhänglichen Jungtiere, die stets nah bei einem erwachsenen Tier ihrer Art bleiben. Papageien sind nicht weniger anhänglich als Jungtiere, wenn sie eine andere Kreatur verfolgen. Sie setzen sich dann zu deren Füßen und beobachten diese, sobald sie sich nah genug genähert haben. Läuft die beobachtete Kreatur an einen anderen Ort, nehmen die Papageien unmittelbar die Verfolgung auf.

Dorfbewohner unterscheiden sich von allen anderen Kreaturen durch deutlich ausgeprägtere Verhaltensmuster. Sie interagieren miteinander, indem sie sich nahe beieinander stellen und einander zuwenden, was den Anschein eines Gespräches erweckt. Unter bestimmten Bedingungen gelangen zwei Dorfbewohner in den Paarungsmodus, und nach einiger Zeit erscheint ein neues Dorfbewohnerkind. Dorfbewohnerkinder können Fangen spielen und einem Eisengolem eine Mohnblume abnehmen, die er in einer Hand hält. Bei Regen und in der Nacht flüchten Dorfbewohner schnellstmöglich in Häuser. Landwirte ernten ausgewachsene Karotten, Kartoffeln und Weizen. Auf freiem Ackerboden säen sie diese erneut aus. Drei Weizen werden automatisch zu einem Brot weiterverarbeitet. Erhalten die Landwirte durch die Ernte einen Überschuss, teilen sie diesen mit anderen Dorfbewohnern, indem sie die Gegenstände auf den Boden werfen. Dorfbewohner, die möglicherweise Schaden genommen haben, können sich dadurch heilen.

Territorialverhalten zeigen Dorfbewohner und Eisengolems in Bezug auf ein Dorf. Sie verlassen nur durch Zwang das Dorfgebiet, und versuchen immer, so schnell wie möglich wieder dorthin zurückzukehren.

In Interaktion mit einem Spieler[Bearbeiten]

Angriffe, oder zumindest Angriffsversuche, werden von allen aggressiven Kreaturen, wobei es sich nahezu ausschließlich um Monster handelt, sofort ausgeführt, sollten sie den Spieler erblicken. In den meisten Fällen bewegen sie sich direkt auf ihn zu und versuchen ihm zu schaden. Einige Kreaturen setzen auf Fernkampfmethoden und halten deswegen einen gewissen Abstand zwischen sich und dem Spieler. Neutrale Kreaturen, zu denen auch einige Monster gehören, fügen dem Spieler keinen Schaden zu, wenn er sich in ihrer Umgebung aufhält. Erst, wenn er einen Angriff vornimmt, oder beim Enderman Sichtkontakt herstellt, wechseln sie zu einem aggressiven Verhalten.

Andere Wesen erkennen[Bearbeiten]

Grundsätzlich erkennt eine Kreatur ein anderes Wesen durch Koordinatenvergleich: Wenn sich das Wesen innerhalb eines bestimmten Radius' aufhält, wird es erkannt. Dieser Radius ist im Attribut generic.followRange bei jeder Kreatur hinterlegt (laut Sprachdatei: Kreaturen-Folgedistanz ). Der Standardwert für die meisten Kreaturen ist 16 Blöcke, für Zombies 35 Blöcke.

Man kann die Kreaturen-Folgedistanz reduzieren:

  • Wenn man schleicht, reduziert sich sie sich um 20%.
  • Wenn man sich den passenden Monsterkopf aufsetzt, reduziert sie sich um 50%. Bei Skeletten und Creepern sinkt sie somit von 16 auf 8 Blöcke, bei Zombies von 35 auf 17,5 Blöcke.
  • Hat man den Statuseffekt Unsichtbarkeit, reduziert sie sich um 93%, solange man keine Rüstung trägt. Mit Rüstung ist die Reduzierung geringer, mit jedem Rüstungsteil sinkt sie um 17,5% (d. h. mit drei Rüstungsteilen beträgt die Reduzierung nur noch 40,5%).
  • Man kann die Effekte beliebig kombinieren, die Reduzierung verstärkt sich entsprechend.

Weil es bei der Kreaturen-Folgedistanz nur um den Abstand geht, kann die KI ohne weitere Zusatzprüfung auch Wesen hinter Wänden erkennen. Diese Art des Erkennens wird häufig bei Kreaturen untereinander angewendet. Beispiel: Wölfe und Schafe, Zombies und Dorfbewohner, Papageien und Monster.

Mit einer Zusatzprüfung der KI wird das Erkennen auf das Sehen eingeschränkt. Alle Kreaturen haben eine Augenhöhe (mit F3 + B als roter Ring erkennbar). Nur wenn die Augenhöhe eine direkte Verbindung mit dem anderen Wesen herstellen kann, erkennt die Kreatur das Wesen. Die Blickrichtung der Kreatur spielt dabei keine Rolle. Diese Art des Erkennens wird häufig zwischen Kreatur und Spieler angewendet, bevor die Kreatur den Spieler angreift.

Es gibt aber keine feste Regel, welche Kreaturen Sichtkontakt brauchen und welche nicht. Während er bei Zombies und Dorfbewohnern nicht bestehen muss, ist er bei Dienern nötig. Magier brauchen ihn aber wieder nicht. Außerdem brauchen fast alle Monster zu einem Eisengolem Sichtkontakt, um diesen anzugreifen, Magier aber nicht.

Mit folgendem Befehl erhält man eine Lederkappe, die die Kreaturen-Folgedistanz des Trägers um 50% reduziert:

/give @p leather_helmet 1 0
  {AttributeModifiers:
    [ { AttributeName:generic.followRange,
        Amount:-50,
        Name:Augenbinde,
        Operation:0,
        UUIDMost:1,
        UUIDLeast:1,
        Slot:head
      }
    ]
  }

Künstliche Intelligenz abschalten[Bearbeiten]

In Minecraft kann die KI einer Kreatur über die NoAI-Eigenschaft in ihren Kreaturdaten deaktiviert werden. Diese Eigenschaft kann man entweder direkt bei der Erzeugung der Kreatur mittels Befehl /summon belegen, oder nachträglich mit dem Befehl /entitydata ändern. In beiden Fällen wird die KI durch die Angabe von NoAI:1 (= true) deaktiviert und bleibt durch den Standardwert NoAI:0 (= false) aktiv.

Eine Kreatur mit abgeschalteter KI bewegt sich nicht von der Stelle, auch nicht durch Schubsen, und reagiert nicht auf ihre Umwelt. Sie despawnt nicht und ist nicht mehr physikalischen Einflüssen wie einer Wasserströmung oder der Schwerkraft ausgesetzt. Sie hat allerdings weiterhin eine Hitbox, d. h. sie nimmt einen Raum in der Umwelt ein und kann Schaden nehmen und sterben.

Erzeugt man mit dem Befehl /summon einen Enderdrachen oder einen Riesen, weisen diese grundsätzlich kein Verhalten auf. Dies hängt allerdings nicht mit der NoAI-Eigenschaft zusammen, sondern beruht auf verschiedenen Gründen.
Der Enderdrache fliegt theoretisch immer zum Koordinatenursprung der Welt, unabhängig von der Dimension, da sich dort im Ende der Endbrunnen mit den Obsidiansäulen auf der Hauptinsel befindet. Dort wird sein Verhalten durch Phasen gesteuert, die nur in der Umgebung der Hauptinsel sinnvoll sind. Diese Phasen werden durch die DragonPhase-Eigenschaft vorgegeben, die elf verschiedene Werte annehmen kann. Um ein unschlüssiges Verhalten und unnütze Zerstörung in anderen Dimensionen zu vermeiden, gilt beim Spawnen eines Drachen immer DragonPhase:10, wodurch dieser sich nicht von der Stelle bewegt und keine Kollisions- und Hitbox besitzt. Lediglich das einmalige natürliche Spawnen auf der Hauptinsel des Endes und die Wiederbeschwörung sind davon ausgeschlossen.
Der Riese ist ein ungenutztes Spielelement, für ihn ist keine KI im Programmcode hinterlegt. Er wird sich daher niemals selbstständig bewegen, egal, welche Kreaturdaten man manipuliert. Da lediglich die KI des Riesen fehlt, ist er nicht wie bei NoAI:1 vor Umwelteinflüssen geschützt, weswegen er herumgeschoben werden kann.

Einzelnachweise[Bearbeiten]

Geschichte[Bearbeiten]