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

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

11

30.01.2011, 01:56

Die "klassischen" Ansätze enden meist in endlosen if-else Geschichten und meist sind die KIs "weniger" auf die aktuelle Situation sondern (zu sehr) auf das Spiel angepasst. Das endet meist in immer gleiches Verhalten der KI egal, wie man sich selbst verhält. Man muss also viel "nachbessern" um den klassischen Ansatz an viele Situationen anpassen zu können. Diese Notwendigkeit sollte bei einem Potenzialansatz nicht gegeben sein (zumindest nach meinen aktuellen Kenntnisstand).
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Mastermind

unregistriert

12

30.01.2011, 11:30

Die "klassischen" Ansätze enden meist in endlosen if-else Geschichten und meist sind die KIs "weniger" auf die aktuelle Situation sondern (zu sehr) auf das Spiel angepasst. Das endet meist in immer gleiches Verhalten der KI egal, wie man sich selbst verhält. Man muss also viel "nachbessern" um den klassischen Ansatz an viele Situationen anpassen zu können. Diese Notwendigkeit sollte bei einem Potenzialansatz nicht gegeben sein (zumindest nach meinen aktuellen Kenntnisstand).


Ja das ist bei den dynamischen Feld Ansätzen auch so, deswegen habe ich das verlinkt. Es geht auf jeden fall ohne if-then-else, du solltest das weiter verfolgen. Leider habe ich im Moment nicht die Zeit da mehr zu zu sagen. Hast du das o.g. Paper mal gelesen?

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

13

30.01.2011, 16:19

Ich habe das Paper überflogen. Auffällig ist halt, dass sie mit Differenzialgleichungen arbeiten und als "Schalter" exp-Funktionen nutzen, die einer Fermi-Verteilung sehr ähnlich sind. Das Argument, dass die Funktionen direkt von 0 auf 1 schalten sah ich zwar nicht ein (denn dass ist eigentlich nur für unendlich große alpha der Fall), aber daran wollte ich mich nicht aufhalten. Interessant ist halt der "total" Verzicht auf die typischen if-Sachen, wobei ich mich frage, ob ein Rechenwerk wirklich so gut mit exp-Funktionen umgehen kann, aber dass ist ja eher ein "Implementierungsproblem".
Explizit haben Sie das Thema Potenzial nie erwähnt, auch wenn die beschrieben Funktionen als Potenziale aufgefasst werden können.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

FalkT

Treue Seele

Beiträge: 125

Wohnort: AC

  • Private Nachricht senden

14

30.01.2011, 17:32

Meine Frage ist nun:
Hat schonmal jemand Erfahrungen mit diesem Ansatz gewählt? Würdet ihr eher analytische
Potenziale oder direkt ausgewertete Potenziale empfehlen? Welche Datentyp würde ihr für die einzelnen Raumpunkte wählen (immerhin muss man ja die verschiedene Potenziale addieren und ggf auch "unendlich hoch" in Kombination mit sehr flachen, ausgedehnten Potenziale ermöglichen; sprich hat einen sehr großen Wertebereich der abgedeckt sein will)?
Oder kennt ihr einen geschickteren Ansatz für ein RTS Spiel?
Die Idee finde ich sehr gut und ich habe mir darüber auch schon Gedanken gemacht.
Das Haupt-Problem aus meiner Sicht ist die Aktualisierung des entsprechenden Feldes, also im Grunde eine Echtzeitaktualisierung.
Beim sehr vielen bewegten Objekten und entsprechenden Überlagerungen/Addition könnte einiges an CPU-Aufwand resultieren.
Falls das kein Problem darstellt, also genug CPU-Zeit zur Verfügung steht, kannst du sogar noch überlegen eine Vorhersage in das System einzubauen.
Das System würde dann als Interface das Potentialfeld zu einem Zeitpunkt x zur Verfügung stellen, der sich auch in der Zukunft befinden kann.

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

15

30.01.2011, 20:48

Könnte man das Feld nicht einfach als Textur in der Grafikkarte speichern? Dann könnte man mit einfachen Zeichenfunktionen arbteiten.

Keine Ahnung ob es da später irgendwelche Probleme gibt, ich hab einfach mal laut gedacht ^^

Werbeanzeige