Jump to content
Unity Insider Forum

Enemy Evolution


Recommended Posts

Hallo,

 

da langsam mein Spiel eine gute Form annimmt, präsentiere ich mal mein Spiel. Es trägt den Titel Enemy Evolution. Dieses Spiel ist ein Top-Down Shooter-Spiel, in welchem sich die Spielfiguren mit Leuchtkugeln beschießen.

 

Hier mal ein Link zum aktuellen Video:

 

Hier ein Link zu einem Screenshot aus dem Spiel:

Screenshot000Onedrive

 

 

 

 

Der Name vom Spiel kommt davon, dass sich die KI der Gegner entwickelt. Das bedeutet, je nachdem wie der Spieler spielt, passen sich die Gegner auf die Spielweise des Spielers an. Wenn der Spieler sehr viele Gegner killt, versucht die KI, auch so viele Gegner bzw. den Spieler zu killen. Umgekehrt funktioniert es genauso. Wenn der Spieler ständig stirbt, schaltet die KI einen Gang runter. Zumindest ist das so geplant.

 

Über die weitere Entwicklung wird berichtet...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo und herzlich willkommen im Forum.

 

Den Ansatz mit den sich anpassenden Gegnern finde ich interessant. Beim Spiel selbst sind mir ein paar Sachen aufgefallen.

 

- Die Kamera sollte immer beide Gegner zeigen. Beim Spiel Tanks wird gezeigt, wie man so was einfach verwirklicht.

- Die Figuren sind zu klein oder das Level zu groß. Die Modelle spielen bei dieser Größe keine Rolle. Das könnten genauso gut einfache Cubes sein.

- Die Level sind relativ lieblos gestaltet. Das führe ich auf den frühen Entwicklungsstand zurück, das ist natürlich in Ordnung.

- Die eigene und die Gegner-Health sind schwer abzuschätzen, Lebensbalken über Spieler/Gegner?

- Außer der erhöhten Nummer in der Gegner-Iteration kann ich nicht abschätzen, wie stark der Gegner wirklich ist.

 

Bin gespannt, wie es weiter geht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

 

verwendest du einen Ansatz wie Reinforcement Learning, Neuronale Netze oder machst du das Verhalten deiner KI nur von Statistik abhängig?

 

Neuronale Netze war eine Idee. Habs aber verworfen. Denn bei mir sollen sich die Gegner gleich in der ersten Generation erfolgreich sein können. Die Gegner müssen also nicht erst lernen. Was die Gegner wann ausführen, hängt von verschiedenen Sensoren ab. Anfangs alles Random.

 

Ich verwende eine Vorlagenbasierte Evolution mit genetischen Algorithmen. Zur Auswahl, welcher Gegner sein Verhalten weitergibt, vergleiche ich die Differenz (Frags - Deaths) zwischen zwei Generationen. Vergleiche dann diese Differenz mit der Spielerdifferenz. Der Gegner, welcher am ehesten dem Profil des Spielers entspricht, gibt sein Verhalten an die anderen Gegner weiter.

 

Ein Beispiel:

GegnerA 4 Frags, 1 Deaths = 4 - 1 = 3.

GegnerB 1 Frag, 3 Deaths = 1 - 3 = -2.

Spieler 0 Frags, 1 Death = 0 - 1 = -1.

Hier gibt der GegnerB sein Verhalten an den GegnerA weiter, weil die Differenz -2 näher an der Differenz vom Spieler ist. Das gilt nur für die aktuelle Generation. In der nächsten Generation kann es wieder ganz anders aussehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo und herzlich willkommen im Forum.

 

Den Ansatz mit den sich anpassenden Gegnern finde ich interessant. Beim Spiel selbst sind mir ein paar Sachen aufgefallen.

 

- Die Kamera sollte immer beide Gegner zeigen. Beim Spiel Tanks wird gezeigt, wie man so was einfach verwirklicht.

- Die Figuren sind zu klein oder das Level zu groß. Die Modelle spielen bei dieser Größe keine Rolle. Das könnten genauso gut einfache Cubes sein.

- Die Level sind relativ lieblos gestaltet. Das führe ich auf den frühen Entwicklungsstand zurück, das ist natürlich in Ordnung.

- Die eigene und die Gegner-Health sind schwer abzuschätzen, Lebensbalken über Spieler/Gegner?

- Außer der erhöhten Nummer in der Gegner-Iteration kann ich nicht abschätzen, wie stark der Gegner wirklich ist.

 

Bin gespannt, wie es weiter geht.

 

Danke für das Feedback

 

Das mit der Kamera wird noch überarbeitet, da ich noch schauen muss, welcher Zoom gut genug ist.

Die Modelle sind sehr einfach gehalten :-)

Die Level sind vorerst auch sehr einfach gehalten. Hatte bis letzte Woche nicht einmal Texturen.

Lebensbalken klingt echt gut. Werde ich einbauen.

Wie schwer oder leicht ein Gegner ist, lässt sich eigentlich auch nicht sagen :-)

 

Wie es weiter geht. Also ich plane bis spätestens Ende April ein Release.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 5 weeks later...

EDIT:

 

So, dass war ja mal schwer. Die Bilder wurden nur angezeigt, wenn ich bei Onedrive eingeloggt war. Habe deshalb garnicht bemerkt, dass die Bilder sonst nicht angezeigt werden :blink: . Nun sollten die Bilder angezeigt werden.

EDIT ENDE:

 

 

Update vom Spiel:

 

Hier mal einige neue Bilder. Das Aussehen der Spielfigur hat sich sehr verändert. Jetzt bekämpfen sich Schiffe. Auch die Texturen sind nun besser :D . Manchmal können die Gegner echt böse werden.

 

ScreenshotSpielfigurWenigLebenspunkte.PNG?psid=1

Spielfigur mit wenig Lebenspunkten

 

----

ScreenshotGame100.png?psid=1

 

 

Screenshot aus dem Spiel.

 

---

 

ScreenshotAvatarLaserNah.PNG?psid=1

 

Die Spielfigur des Spielers, aus einer anderen Perspektive.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

So, nun wieder neue Bilder. In Zukunft sollten keine Probleme auftauchen.

 

Bild 1 zeigt die neue Oberfläche. Dem Spieler wird nun seine Platzierung und wie viele Plätze es insgesamt gibt angezeigt. Das gleiche gilt bei den Frags, wie viele zum Sieg gemacht werden müssen.

 

 

ScreenshotGame102_Klein.png?psid=1

--

Die Bilder 2 und 3 zeigen die zwei Spielfelder.

 

ScreenshotSpielfeldFabrikVonOben_Klein.png?psid=1

 

ScreenshotSpielfeldKolosseum%20VonOben_Klein.png?psid=1

--

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...