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

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

1

13.05.2012, 13:58

KI-Einstieg - Hilfe bei erstem Einsatz

Hi

bin wie ihr hier ja vll wisst, dran GLTron nach zu programmieren.
Bin jetzt dran eine KI für die Gegner zu erstellen, sodass sie nicht einfach sinnlos herumfahren:P

Bin völliger Neueinsteiger im Thema KI, hab mit ich aber schon ein wenig im Internet schlau gemacht darüber.
So viel wie ich ejtzt weiß, gibt es viele verschiedene Methoden zu KI.
Zum Beispiel- das is glaub ich so bei dem A*-Algoritmus, was ja auch eine Art Ki ist- dass man den verschiedenen Möglichkeiten durch viele Kriterien punkte gibt
und der Computer so dann anhand der höchsten Punktzahl erkennt, was zu machen ist.

Speziell bei meinem Beispiel mit GLTron könnte man so was ja auch machen.
Dabei hibt es ja nur die drei Möglichkeiten.
Geradeaus fahren, links abbiegen oder rechts abbiegen.

Für was würdet ihr dann dabei Punkte geben.
Ich hab bis jetzt so überlegt, dass ich geradeaus direk einen Punkt gebe, da er ja eigentlich immer lieber geradeausfahren soll und hab dazu noch
getestet, ob er in den nächsten 10 (oder wie weit auch immer, kann ja auch an das Level des gegners angepasst sein) Einheiten gegen einen anderen Wagen fährt
und dass natürlich für jede Richtung.

Ich denke, vom Grundsatz kann ich das ja so machen, wäre nur wie frage, für was ich noch alles punkte geben sollte?

Außerdem würd ich gern wissen, ob ihr das auch so gemacht hättet, oder ob es da eine bessere Lösung geben würde.
wenn werft nur Stickworte in den Raum, würde mich lieber selbst informieren, wenn ich dann noch Fragen hab, kann ich die ja dann noch stellen.

Danke!
ProAmateur
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

13.05.2012, 14:11

A* ist keine KI, sondern ein Wegfindungsalgorithmus. Das heißt es wird normalerweise ein Weg von Punkt A zu Punkt B gesucht. Was Du aber willst, ist den besten Punkt B zu bestimmen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

3

13.05.2012, 15:13

Ja Ok streng gekommen stimmt das ja, aber das sollte ja auch nur ein Beispiel für KI sein und das is ja eine Art von KI.
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

FSA

Community-Fossil

  • Private Nachricht senden

4

13.05.2012, 15:41

Nein es ist keine Art von KI. Ein A*-Algorithmus ist einfach nur ein Algorithmus. Wenn du ihn richtig verwendest kannst du damit eine KI programmieren.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

5

13.05.2012, 15:53

ja ok, gecheckt, so meinte ich das ja!

Is aber auch egal!
könntet ihr mir vll meine Frage beantworten?
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

FSA

Community-Fossil

  • Private Nachricht senden

6

13.05.2012, 15:58

Klar ;) Also soweit ich Tron kenne, ist der Sinn doch eher, dass der Vordermann eine Kurve Richtung Gegner um 90° fährt, oder? Also würde ich einfach erst mal festlegen wer vorne ist. Dafür müssen die Beiden natürlich nebeneinander fahren. Jetzt kann man A* verwenden um sie auf gleiche Linie zu bringen. Dann kann der PC, oder du, anfangen Haken zu schlagen und ausrechnen wie er am schnellsten vor dich kommt.
MfG

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

7

13.05.2012, 16:20

Ich weiß ja nit welches Tron du meinst, aber das is irengwie nit so ganz das, was ich meinte.
kannst es dir ja mal runterladen und angucken.

oder ich erkläre es grad:
man fährt meist zu dritt in einem Raum herum und kann sich dann immer rechts oder links 90° drehen.
Auf de gefahrenen strecke entsteht eine Mauer und wenn jetzt jemand gegen die mauer von irgendjemenad einschließlich einem selber,
hat man verloren und fliegt raus.

Deine Erklärung hab ich nit so ganz verstanden, vll erklärst du es nochmal bisschen genauer, wenn es noch wichtig ist!
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

13.05.2012, 16:39

Im Prinzip wie Snake für mehrere Spieler?
Nur mit einem A* kommst du da auf jeden Fall nicht weit. Du musst die Dynamik berücksichtigen - versuchen vorherzusagen, was der Spieler oder andere Gegner tun werden, um dann darauf reagieren zu können oder den Gegner in eine "Falle" zu locken.
Ich denke, man könnte versuchen die Zeit und den Raum stark zu diskretisieren und dann das Spiel als "rundenbasiert" zu behandeln, wie Schach. Und für Schach & co. gibt es genug KI-Verfahren.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

9

13.05.2012, 16:44

Wie stellst du dir das vor?

Meinst du das so, dass ich dann alle tron so zu sagen nach einander dran sind und dann immer entscheiden,
was sie machen?
Bei dem vergleich mit Schach ist es ja aber so, dass es nur bestimmt fedler gibt, aber bei dem GLTron verucht man ja grade flüssige
Bewegungen zu erzeugen und nicht vorgefertigte felder zu benutzen.
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

13.05.2012, 16:50

Wenn du die zeitliche Diskretisierung fein genug machst, dann spielt es fast keine Rolle mehr, ob sie nacheinander dran sind oder gleichzeitig entscheiden.
Und wenn die räumliche ebenfalls fein genug ist, dann wird niemand merken, dass sie nur entlang eines Gitters fahren.
Nur so eine Idee!

Werbeanzeige