Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.10.2013, 14:22

KI, die ein Jump'n'Run perfekt löst

Hi!
Ich habe ein Konzept ausgearbeitet, wie ein Jump'n'Run möglichst perfekt gelöst wird.
Mein Anliegen hierbei ist, ob ihr irgendwo Denkfehler bemerkt oder schnellere Ansätze habt. Nun denn:
  1. Aufruf
  2. Graph initialisieren
  3. relevante Nodes bestimmen (Bestimmung durch: Entfernung < foo wenn Objekt vom Typ B; Entfernung < nächstbeste Plattform o.Ä. wenn Objekt vom Typ A)
  4. Leicht modifizierten A* durchlaufen um Pfad zum Ziel zu bestimmen
  5. Solange Ziel nicht erreicht, mach:
    1. Graph aktualisieren
    2. Auf Kollisionen prüfen, wenn keine Kollision
      • Bewegen
    3. Auf Kollisionen prüfen, wenn Kollision
      • Funktion aufrufen, die spezifisch Leben abzieht
      • Bewegen
    4. Wenn Leben <= 0
      • Komplett Abbrechen

  6. Wenn Ziel das Level-Ende ist
    • Aufhören
  7. Wenn Ziel nicht das Level-Ende war
    • Sich selbst wieder aufrufen

:)

MfG
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (30.10.2013, 14:31)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

30.10.2013, 14:25

Nein, warum?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

30.10.2013, 14:35

Erst einmal ist dein Algorithmus unverständlich beschrieben. Was ist z.B. zu verstehen unter "Graph initialisieren", was sind "relevante Nodes", was ist "Typ A", was ist überhaupt eine "Plattform", wie ist "nächstbeste Plattform" definiert? Was bedeuten überhaupt die Knoten und Kanten in dem Graph, den du erzeugen willst? Inwiefern ein leicht abgewandelter A*? Warum Leben abziehen bei einer Kollision? Kollision womit überhaupt? Was ist mit "Ziel" gemeint (scheinbar ja nicht das Ende des Levels)?

Und was bedeutet es überhaupt ein Jump and Run "perfekt" zu lösen? Perfekt in Bezug worauf? Benötigte Zeit? Zurückgelegte Wegstrecke? Möglichst wenig Sprünge? Punktzahl?

Dann berücksichtigst du viele typische Elemente eines Jump and Runs gar nicht: z.B. Gegner, Trägheit bei der Bewegung bzw. die Möglichkeit Anlauf zu nehmen sowie die Steuerung der Sprunghöhe.

Würde man das Problem korrekt als Graph umsetzen, wäre dieser wahrscheinlich unfassbar groß und könnte nicht in annehmbarer Zeit verarbeitet werden.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

5

30.10.2013, 14:37

Ohne gross auf die Diskussion einzugehen (David hat ja schon genug Kritik angebracht). Hier etwas, was im Bezug dazu interessant sein könnte:
http://arstechnica.com/gaming/2013/04/th…ssic-nes-games/

Auf jeden Fall stellst du dir das wahrscheinlich viel zu einfach vor. Ansonsten überrasch uns und mach eine Probeimplementierung!

//Update
Ich find das Video einfach nur toll. Vor allem das Ende find ich genial. ^^

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »drakon« (30.10.2013, 14:51)


Werbeanzeige