Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› Spielmechanik —› Datentheorie und zusätzliche Datenwerte am Beispiel TUFO

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [12] [13] >>

Autor Mitteilung
verfasst am: 14.12.2005, 20:56
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Wie schon bei Mantis 1237, 1258, 1243, 1248 und weiteren älteren Tickets zu sehen ist, fallen immer wieder fehlende Datenwerte in den verschiedensten Objekten auf. Allerdings hat Jim mit seinem Kommentar in 1237 auch recht wenn er bremst und sagt man sollte sich ersteinmal überlegen was man überhaupt benötigt, bevor man andere Nachteile hat oder unnötige Arbeit leistet.

Im folgenden Text werde ich deshalb ersteinmal ein paar Überlegungen zur Datentheorie anstellen und dann exemplarisch an UFO-Objekten analysieren was wir insgesamt benötigen.
Dort können dann alle ihre Ergänzungen zu geben und wenn man einen Konsens über die offenen Punkte hat das ganze eventuell in einem einheitlichen Modell für alle anderen Objekte umsetzen.

Nicht-Theoretiker sollten sich also überlegen ob sie sich das folgende antun wollen ;-)



Die Informationen für ein Datenobjekt in einem Spiel lassen sich imho in vier grundlegende Datenbereiche aufteilen:
Technikdaten, Hintergrundinformationen, Verhaltensbeschreibung und Missionswerte.


Technikdaten sind diejenigen Objektdaten, die ein Spielobjekt von anderen ähnlichen Objekten unterscheiden. Im Falle eines UFOs sind das z.B. Angriffsstärke, Geschwindigkeit und ähnliches.
Diese Daten sind normalerweise fest zugewiesen und innerhalb des Spiels nicht veränderbar. Sie haben Auswirkungen auf die Verwendung des Objektes im Spiel wie z.B. im Kampf etc.
Jede Änderung in diesem Block erfordert üblicherweise auch entsprechende Änderungen in dem Spielprogramm mit aufwendigen Betatests etc.


Hintergrundinformationen sind diejenigen Objektdaten, die im Spiel zwar abgefragt und dem Spieler präsentiert werden, die aber keinerlei direkten Einfluss auf das Spielprogramm selber haben. Dies sind üblicherweise Grafikdaten wie z.B. das Icon des UFOs oder aber so etwas wie die UFOPädie-Einträge.
Auch diese Daten sind normalerweise fest zugewiesen und im Spiel nicht veränderbar.
Aufgrund des fehlenden direkten Einflusses auf das Programm sind hier Ergänzungen aber einfacher und mit weniger Testnotwendigkeit.


Die Verhaltensbeschreibung ist derjenige Teil der Daten, der der Spielengine sagt wie sie das jeweilige Objekt steuern und verwenden soll. Dieser Bereich ist sozusagen der Schlüssel zu der jeweiligen KI.
Im Falle eines UFOs gibt es aktuell nur einen Wert für die Verwendung (Angriff nach X Tagen) und keinerlei Auswahl für die KI (alle UFOs haben gleiches Verhalten, sobald sie da sind).
Die Grunddaten dieses Bereiches sind normalerweise fest zugewiesen, können aber bei vielen Spielen für einzelne Instanzen (d.h. das einzelne UFO anstelle des Modells) in Abhängigkeit von der jeweiligen Story angepasst werden.
Die Auswirkungen von Änderungen hier sind sehr stark von der verwendeten KI-Technik abhängig.


Die Missionswerte sind normalerweise diejenigen Speichervariablen, die sich auf den aktuellen Zustand des Objektes beziehen. Im Falle eines UFOs wären dies z.B. der aktuelle Hitpoint-Wert, Position und sonstige Zustandswerte.
Die meisten Missionswerte haben einen festen Anfangswert (z.B. Hitpoints) in den anderen drei Blöcken, aber einige beziehen sich auch nur auf die jeweilige Situation (z.B. Position).
In diesen Bereich zielte ich mit 1237 und theoretisch reichen hier auch tatsächlich 1-2 wahlfreie Werte aus, in denen ein Spielsatzersteller beliebige Zwischenwerte speichern kann - aber das klappt nur wenn die übrigen Bereiche vollständig abgedeckt sind und keine weiteren Speicherstellen benötigen.




Wenn man sich jetzt XForce betrachtet, dann sieht man in der Unterscheidung zwischen TUFOModell als Vorlage und TUFO als spezifisches Objekt bereits die Umsetzung eines Teils der Überlegungen oben - die im Spiel unveränderbaren Daten gehören in das TUFOModell (auf das auch nur Lese-Zugriff besteht), während die editierbaren und im Spiel wechselnden Daten in TUFO gespeichert sind.
Die Technikdaten sind dabei im wesentlichen fest (zumindest bis man ein anderes Flugzeugkonzept programmiert als das existierende), die Hintergrundinformationen ebenfalls (auch wenn man auf einige wie z.B. das UFO-Bild noch keinen Editor-Zugriff hat, aber dafür gibt es schon Mantis-Einträge).

Die Missionsdaten sind ebenfalls zum großen Teil umgesetzt, auch wenn es hier noch ein paar Lücken für eine bessere Scriptsteuerung gibt. Ein großer Teil dieser Lücken dürfte aber mit einem verbesserten Bereich für eine Verhaltensbeschreibung gefüllt werden.


Das Hauptproblem ist das die Verhaltensbeschreibung praktisch fast komplett fehlt. Man kann weder einem UFO unterschiedliche Taktiken zuordnen noch sein Erscheinen anders als über "ab Tag X" definieren. Hier sollte man sich ein paar weitere Werte überlegen.
Allerdings ist KI-Scripting schon komplex genug, das muss nicht noch mit einem Dutzend für jeden Bereich andere Werte gesteuert werden. Deshalb sollten sich die möglichst wenigen Grunddaten dieses Bereiches für alle Objekte von UFO bis Alien soweit wie möglich ähneln.

Nur zur Klarstellung: Mir geht es hier nicht um das wie des Scriptings oder gar eine KI-Programmierung, sondern um die Grunddaten mit denen ein Spielsatzersteller einstellen kann welches Verhalten eine vorhandene KI dem jeweiligen Objekt zuordnen soll.



Betrachtet man zuerst einmal die Auswahl für das Erstellen eines UFOs. Nach welchen Kriterien könnte ein Spielsatzersteller die UFO-Auswahl einschränken wollen?
Nach meinen Überlegungen reichen drei Auswahlwerte aus um jede Variante eines Spielsatzes abzudecken. Diese drei Auswahlwerte sind eine Zeitsteuerung, eine Typsteuerung und eine Funktionssteuerung.

Die Zeitsteuerung ist direkt verständlich - wobei ich hier ausdrücklich keine Definition wie "Angriff nach Tagen" mache sondern das erst einmal neutral belasse.


Eine Typsteuerung benötigt man hauptsächlich für Geschwader mehrerer UFOs oder wenn man bestimmte Missionen erzeugen will. Ein UFO-Typ ist dabei so etwas wie "Scout", "Transporter", "Beiboot", "Angreifer", "Mutterschiff" etc. Teilweise gibt es hierbei schon Überschneidungen in den dritten Wert (Funktion) - das ist auch ein Grund für diese Diskussion, um zu schauen ob es eine bessere Aufteilung gibt.

Die Funktionssteuerung wählt dagegen aus, was ein UFO anschließend machen soll. Dies geht natürlich über in den Bereich welches KI-Verhalten das ausgewählte UFO an den Tag legen soll. Wenn man z.B. ein UFO-Geschwader aufbauen will kann man zuerst über Typ ein Mutterschiff suchen und dann eine kleine Anzahl von UFOs, die die Funktion "Begleiter von" erfüllen können.

Letzteres kann man natürlich auch lösen indem man den Typ "Jäger" sucht und dann einfach ein bestimmtes Script "Verfolge X" zuweist - man kann erkennen weshalb ich mit der Aufteilung so noch nicht zufrieden bin, das ist mir nicht eindeutig genug. Was besseres fällt mir momentan aber nicht ein (zumindest nicht ohne die Anzahl der Werte zu erhöhen, was wieder andere Nachteile hat).



Kommen wir damit zum zweiten Punkt des Verhaltens, die KI-Bestimmung. Hier erst einmal ein Schritt in die Theorie;-)
Es gibt drei prinzipielle Möglichkeiten eine KI-Auswahl aufzubauen.

Die erste ist schon aus dem Rennen, hier nur der Vollständigkeit halber: Ein Reihe von Bewertungsdaten steuert ein einzelnes KI-Programm, das je nach Bewertung eines Schiffes dieses angreifen oder fliehen oder sonstwas machen lässt. Da bereits entschieden wurde, das eine KI für Spielsatzersteller zu scripten sein sollte, ist diese Variante draussen - so eine KI ist sehr aufwendig und kaum umzuprogrammieren, auch wenn sie dafür in einem geschlossenen Programm sehr viele Möglichkeiten hat.

Die zweite Variante ist die Zuteilung eines einzelnen festen Scriptes. Jedes Script muss dabei alle Möglichkeiten des jeweiligen Schiffes abdecken, was natürlich auch bedeutet das für jedes spezielle (von einem Standart abweichende) Schiff ein eigenes Script vorhanden sein muss.
Der Vorteil hierbei liegt in der einfachen Definition und irgendwann wird es auch genügend vorgefertigte Scripte geben um alles abzudecken. Der Nachteil ist das ein Programm nur schwer nach solchen Scripten sortieren oder auswählen kann - es sei denn der Spielsatzersteller passt die Sortierungsfunktion speziell an seine getroffene Scriptauswahl an.

Die dritte Variante ist es, das Spiel nach vordefinierten Schiffsarten mehr oder weniger zufällig aus einer Gruppe von passenden Scripten wählen zu lassen. Üblicherweise geschieht dies über ein Raster aus 2-3 Werten, z.B. Schiffstyp und Aggressivität. Jedem Rasterfeld würde dann ein Script wie z.B. aggressives Beiboot, zufälliger Scout, defensiver Carrier, gescriptetes Missions-UFO oder ähnliches zugewiesen. Mehrere Scripte in einem Rasterfeld würden wohl zu einer Zufallsauswahl führen.

Dies ist sowohl für Spielsatzersteller bequem einzustellen wie auch für KI-Scripter einfacher zu programmieren (ein Script muss nicht mehr alles abdecken), aber es schränkt natürlich die Auswahl auf die Möglichkeiten der gewählten Werte ein, wie auch immer sie lauten werden.

Wenn man zwischen den verbleibenden Möglichkeiten 2 und 3 entscheiden will, so erfordert die eine mehr Aufwand beim Schreiben der KI-Scripte sowie der Auswahl durch den Spielsatzersteller, ist dafür aber deutlich differenzierter und mit mehr Möglichkeiten versehen als die andere M
verfasst am: 14.12.2005, 20:57
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Es gibt also eine maximale Länge für Texte ;-)


Wenn man zwischen den verbleibenden Möglichkeiten 2 und 3 entscheiden will, so erfordert die eine mehr Aufwand beim Schreiben der KI-Scripte sowie der Auswahl durch den Spielsatzersteller, ist dafür aber deutlich differenzierter und mit mehr Möglichkeiten versehen als die andere Methode. Wobei die Ausnutzung der zusätzlichen Möglichkeiten natürlich einen Grund für den erhöhten Aufwand bildet.


Und jetzt bitte Eure Gedanken und Kommentare zu dieser Thematik. Am liebsten wäre es mir wenn man am Ende dieser Diskussion und Analyse einen Satz von Werten für die Verhaltenssteuerung hat, den man sowohl UFOs alsauch Aliens zuweisen kann und die sich nur in den Auswahlwerten (z.B. Typ=Beiboot oder Typ=Sniper), aber nicht in den Grundprinzipien unterscheiden.
Das ist dann nämlich für alle einfacher zu handhaben alswenn man die KI für UFOs anders zuweist als die KI für Figuren im Bodeneinsatz. Und Jim muss einfach nur einen gemeinsam definierten Record-Typ "KI-Daten" als einzelne Eigenschaft an alle passenden Spielobjekte hängen...
verfasst am: 14.12.2005, 21:47 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Also ich bevorzuge klar Variante 2 (jedem UFO bzw Alien ein eigenens Skript zuweisen). Schon deshalb, weil sie Variante 1 enthält ;D
Um ehrlich zu sein, ich sehe auch nicht so recht den Vorteil von Variante 3. Mag sein, dass man dann nicht für jedes UFO ein Skript auswählen muss, dafür müssten dann aber Werte wie "aggresiv" etc. festgelegt werden, was mindestens genausoviel Arbeit macht.

Zitat: DirkF
Der Nachteil ist das ein Programm nur schwer nach solchen Scripten sortieren oder auswählen kann - es sei denn der Spielsatzersteller passt die Sortierungsfunktion speziell an seine getroffene Scriptauswahl an.

Versteh ich nicht. Wenn das Skript fest zugewiesen ist, muss doch das Programm sowieso keine Sortierung/Auswahl vornehmen?

Ach ja, und eine Vereinheitlichung (nur ein KI-Record) für Aliens und UFOs halte ich auch für fragwürdig, schließlich unterscheiden sich die benötigten Infos doch erheblich. Wobei ich auch nicht so recht weiß, was du mit KI-Record überhaupt meinst/bezweckst.
verfasst am: 14.12.2005, 22:01
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
Morgen mal ansehen, heute ist es zu spät und das Wetter zu schlecht.
verfasst am: 14.12.2005, 22:10
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: Natter
Versteh ich nicht. Wenn das Skript fest zugewiesen ist, muss doch das Programm sowieso keine Sortierung/Auswahl vornehmen?

Keine Auswahl des Scriptes für ein UFO, sondern die Auswahl eines UFOs nach einem zugeordneten Script.

Beispiel: Du hast 6 verschiedene UFOs, von denen je 2 als einzelne Scouts, Mutterschiffe und Begleitjäger definiert sind. Wenn Du jetzt ein Mutterschiff erzeugst und diesem einen Begleiter mit einem bestimmten Verhalten zuweisen willst, wie gehst Du dann vor?
- Du kannst ein UFO nach einer anderen Methode wählen und ihm das Script "aggressiver Begleiter von" zuweisen.
- Willst Du dagegen eine Suche durchführen "welches meiner UFOs hat standartmäßig das Script "aggressiver Begleiter von" dann klappt das nur wenn diese Suche manuell programmiert wird - es gibt keine allgemeine Suchfunktion die nach dem Titel eines unbekannten KI-Scriptes suchen kann und nur der Spielsatzersteller weiß welche KIs er importiert hat.

Zitat: Natter
Ach ja, und eine Vereinheitlichung (nur ein KI-Record) für Aliens und UFOs halte ich auch für fragwürdig, schließlich unterscheiden sich die benötigten Infos doch erheblich. Wobei ich auch nicht so recht weiß, was du mit KI-Record überhaupt meinst/bezweckst.

war zum einen nur ein Gedanke und zum anderen dachte ich an eine einheitliche Speicherstruktur nach dem Typ
KI.Name:="scriptname"; // freier String des beliebigen Scriptnamens
KI.Typ:="Typbezeichnung"; // Liste Scout, Jäger ODER Sniper, Tank etc.
KI.Verhalten:="Verhalten"; // Liste aggressiv, defensiv, ...

So etwas würde die Auswahlkriterien vereinheitlichen, was bei der Variante 3 sehr wichtig und bei der Variante 2 nur mittelmäßig wichtig wäre.

Dieser Record würde natürlich nicht das KI-Script selber enthalten, das wäre tatsächlich Schwachsinn.
verfasst am: 14.12.2005, 22:27
Registrierdatum: 15.04.2005, 14:41

 Beiträge: 214
Der Text schreckt nicht nur Nicht-Theoretiker ab, aber ich habe mich bis zum Ende duchgekämpft. Habe aber festgestellt das mir nicht ganz klar ist was wir jetzt wollen.

Probieren wir es mal kurz:

Variante 1 ist ein Satz von Befehlen die je nach Situation entscheiden was zu tun ist. Größter Aufwand aber auch beste KI

Variante 2 und 3 sind meiner Meinung nach sehr ähnlich, Skript schreiben das etwas bestimmtes tun soll und dann Objekt zuweisen. Klar bei Variante 3 hab ich halt zwei Teile.

Ich würde Variante 2 also Objektskripte bezeichnen die alle Möglichkeiten des Objektes schon abdecken. Also ein Scout hat z.B. die Funktionalitäten Suchen und Fliehen, er sucht solange den Globus ab bis er was findet und flieht vor Angreifern. Das Skript ist fest mit dem Objekt verbunden und kennt alle dessen Eigenheiten.

Variante 3 ist ein Verhaltensskript das man mit einer Aufgabe kombinieren kann und einem Objekt zuweist.
Ich definiere die Aufgabe mit Suchen für Scouts. Dann nehem ich ein Verhaltensskript was definiert was passieren soll wenn Ereignisse auftreten. Also z.B. defensive Suche ich verteidige mich gegen schwache Gegner und fliehe bei starken; aggressive Suche ich greife an sobald ich was entdecke und fliehe nur bei großem Schaden (Steigerung könnte kamikaze sein bei dem man nie flieht)

Variante Drei ist meiner Meinung nach recht praktisch, benötigt aber eine genaue Schnittstelle zwischen den zwei Skripten so das man jede Kombination machen kann. Das Verhalten muss auf die Aufgabe einwirken können.

Variante Zwei würde bei Ufos mit mehrfachen Aufgaben Sinn ergeben. z.B. Primäraufgabe Suchen, wenn aber jetzt was gefunden wird prüfe ich ob es ein Bodenziel ist wenn ja greife ich es kamikazemässig an, wenn nicht umfliege ich es und greife nur an wenn es gefährlich wird.
Will man so eine Version mit Variante Drei machen wird man schnell unzällige Verhaltens und Aufgabenskripte haben die sich nur in kleinen Bereichen unterscheiden.

Acuh ja ich bin für die Drei, da kann man sicher auch mit wenigen einfachen Skripten eine recht gute KI simulieren.
verfasst am: 14.12.2005, 22:46
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: tw01d023
Habe aber festgestellt das mir nicht ganz klar ist was wir jetzt wollen.

Ich möchte erst einmal eine Sammlung was für Werte man braucht um ein Objekt wie z.B. ein UFO variabel zu steuern. Und zwar unter der Richtlinie das diese Werte eindeutig, aber möglichst wenige sind.

Dabei sollte man nicht vergessen das alle drei Varianten der Scriptrealsierung ähnlich viel Angaben benötigen und sich nur darin unterscheiden, an welcher Stelle welche Werte an ein Script übergeben werden.

Bei Variante 3 würde es viele kleinere Scripte geben und die UFO-Steuerung benutzt verschiedene Werte um eines dieser Scripte auszuwählen und zuzuweisen. Die Arbeit pro Script ist deutlich einfacher, aber dafür ist man in der Umsetzung etwas eingeschränkter.

Bei Variante 2 würde man ein Script mit einem bestimmten Verhalten wählen und müsste diesem Script zusätzliche Werte geben, damit es das gesteuerte Ufo richtig einordnen kann - oder aber man bräuchte soviele verschiedene Scripte mit festen Werten, das praktisch jeder Spielsatzersteller erstmal eigene Scripte für jedes UFO schreiben muss.

Da man hier nicht vergessen sollte das man einige zusätzliche Werte auch unabhängig vom Script braucht (sonst hat man es schwerer UFOs eines bestimmten Typs auszuwählen), kann man diese Werte natürlich auch im Script abfragen lassen und so das script deutlich allgemeiner gestalten (z.B. ein Script "aggressives UFO", das je nach Typ die passende Aggressivität für Scout (nur gegen Transporter), Jäger (gegen XForce-Jäger) oder Mutterschiffe (alles inkl. Basen) auswählt)
verfasst am: 14.12.2005, 23:10
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: DirkF
Ich möchte erst einmal eine Sammlung was für Werte man braucht um ein Objekt wie z.B. ein UFO variabel zu steuern. Und zwar unter der Richtlinie das diese Werte eindeutig, aber möglichst wenige sind.

Bleiben wir bei UFOs. Bleiben wir auf dem Globus (also nicht der eigentliche Kampf). Folgende Dinge fallen mir ein, die im Skript Verfügbar sein sollten:
- Keine, die nicht auch in X-Skript verfügbar sind/sein sollten ;D

Erstens braucht man natürlich eine Variable TUFOModell, welche alle Daten des UFOs enthält.

Zweitens eine Funktion, die mit den Aliens an Board einen Bodeneinsatz anlegt (wozu bräuchten Aliens sonst Transporter).

Drittens eine Funktion, um gezielt Basen anzugreifen.

Viertens, Zugriff auf alle momentan auf dem Globus vorhandenen Flugobjekte. Dringend benötigt werden vor allem Infos zur Geschwindigkeit, Entfernung sowie Bewaffnung.

Fünftens, Informationen zu Luftabwehrstellungen.

Mir fallen sicher noch mehr Sachen ein, aber ich wollte erstmal nur meine Sicht der Dinge verdeutlichen. Gerade was das Verhalten von UFOs auf dem Globus angeht, sehe ich keine allzugroßen Probleme, dass in eine "KI" zu packen. Das ganze ist ja mehr oder weniger schon jetzt mit X-Skript möglich, nur das derzeit eine Vernünftige Möglichkeit fehlt, einem UFO direkt ein 'KI-Skript' zuzuweisen, welches ausgelöst wird, sobald dieses UFO erscheint.
verfasst am: 15.12.2005, 00:03
Registrierdatum: 15.04.2005, 14:41

 Beiträge: 214
Zitat: DirkF
Ich möchte erst einmal eine Sammlung was für Werte man braucht um ein Objekt wie z.B. ein UFO variabel zu steuern. Und zwar unter der Richtlinie das diese Werte eindeutig, aber möglichst wenige sind.

Ich denke eher an so was wie Callbackfunktionen um das Verhalten zu steuern.
Es werden vom Spiel mögliche Funktionen definiert und jeder der sein Skript schreib implementiert was er will.
Also in der Art "OnTransporterDetected" "OnInterceptorDetected" "OnTransporterLost" "OnTargetReached" die halt als Parameter noch den Transporter usw. bekommen. Damit könnte man schon einiges anfangen.
Dann wären noch Funktion in die andere Richtung wie "GetClosestTransporter" usw. nützlich mal einfach ein Ziel zu finden.

Wenn jedes Ufo für sich alleine existiert ist es wohl einfacher als wenn sie zusammenarbeiten müssen dann benötige ich eine Möglichkeit Werte einfach zwischen den Ufos auszutauschen oder ich erzeuge ein Gruppenskript was meine Einzelskripte aufruft.

Moment ich habs jetzt wieder gefunden was ich früher schon gelesen habe Konzeptergänzung Alien-Werte das ist doch fast schon die selbe Überlegung nur halt mit den Aliens. Kamm mir doch gleich bekannt vor.

Aber jetzt hab ichs schon geschrieben und es wird schon spät und bald schon wieder früh :(
verfasst am: 15.12.2005, 00:04
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
@Natter
alles was Du da nennst sind Informationen die man zur KI-Programmierung benötigt. Vieles davon ist übrigens automatisch vorhanden, da ich mir zur Zeit ziemlich sicher bin das man das KI-Script für den Globus als reguläres XScript definieren kann. Dabei sind zwar noch ein paar Fragen zu der Eventsteuerung offen, aber theoretisch sollte es möglich sein dies einzurichten.
Da stimmen wir mit den benötigten Infos übrigens 100% überein, ich habe höchstens noch ein paar genauere Ideen zur Realisierung über die ich mal mit Jim mailen muss.

Zitat: Natter
nur das derzeit eine Vernünftige Möglichkeit fehlt, einem UFO direkt ein 'KI-Skript' zuzuweisen, welches ausgelöst wird, sobald dieses UFO erscheint.

Selbst dafür habe ich schon 1-2 Ideen, nur noch keine Gelegenheit die zu testen ob das klappt. Obwohl ein zusätzlicher UFO-Wert für den Namen eines Scriptes oder einer Funktion hilfreich wäre ;-)

Aber eine KI-Zuweisung nachdem das UFO erschienen ist ist nur die halbe Miete und auch nicht das worauf ich mit der Diskussion hier zielte.

Hauptsächlich ging es mir darum festzustellen wie die übergeordnete Spielsteuerung festlegen kann welches UFO erscheint - eine Auswahl danach welche KI dieses Schiff benutzt ist z.B. dann notwendig wenn die Steuerung das nicht überlagern und eine andere KI zuweisen kann.

Und dabei geht es mir auch nicht um ganz gezielt gescriptete UFOs (die sind problemlos möglich) sondern um Möglichkeiten die regulären Zufallsufos einzugrenzen.

Wenn z.B. ein Spielsatzersteller will das bei jeder 10. UFO-Erschaffung ein Lander für einen Terrorangriff zusammen mit Begleitjägern erscheint, dies aber nicht laufend dieselben gescripteten Schiffe sein sollen...
In solchen Fällen (und auch zur Unterstützung der KI) braucht man Klassifikationen für UFOs.
Denn was hilft Dir ein Zugriff auf UFOModell um festzustellen welche Angriffsstärke das UFO hat wenn das Script keine Informationen über den "Normalwert" der Angriffsstärke hat?

Angriff=200 kann in einem Hightech-Spielsatz schon in frühen Spielphasen schwach sein und in einem anderen Spielsatz ohne Schilde die stärkste Waffe des Mutterschiffes sein.
Man kann jetzt natürlich hingehen und in jedem Script passende Konstanten definieren damit der Spielsatzersteller das editieren und anpassen kann, aber ich halte es für einfacher wenn es zusätzliche Informationen im TUFOModell gibt wo der Spielsatzersteller passend eintragen kann "dieses Schiff ist als Angreifer, Begleiter, Mutterschiff, etc. klassifiziert".
Dies gilt dann nicht nur für das eigene UFO des Scriptes (da kann man notfalls das Script passend schreiben), aber auf jeden Fall wenn die KI eines UFOs andere UFOs klassifizieren will (der Jäger ist weniger Wert als das Mutterschiff, ich muss zuerst den XForce abfangen der das Mutterschiff angreift und kann den anderen XForce der sich mit meinem anderen Jäger beschäftigt ignorieren).

Außerdem kann damit die übergeordnete Spielsatzsteuerung bereits, WAS sie als nächstes UFO erzeugt - und gegebenenfalls die Auswahl passend einschränken kann...
verfasst am: 15.12.2005, 18:00
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
[Beitrag 1]
Erst mal mein Eindruck während des lesens: ;)

Am liebsten wäre es mir wenn man am Ende dieser Diskussion und Analyse einen Satz von Werten für die Verhaltenssteuerung hat, den man sowohl UFOs alsauch Aliens zuweisen kann und die sich nur in den Auswahlwerten (z.B. Typ=Beiboot oder Typ=Sniper), aber nicht in den Grundprinzipien unterscheiden.


Ich denke, das hat erst mal Zeit bis zum Schluss. Wir sollten erst mal festlegen, was wir brauchen und dann schauen, ob wir es zusammenlegen können.


Keine Auswahl des Scriptes für ein UFO, sondern die Auswahl eines UFOs nach einem zugeordneten Script.

Was ja zwei sehr unterschiedliche Dinge sind.


Habe aber festgestellt das mir nicht ganz klar ist was wir jetzt wollen.

jepp.

**************

So. Meine fehlende scriptkenntnis ist wieder hinderlich. Aber naja.. mach ichs wieder mal von hinten:

Was will der durchschnittliche gamesetter?

Sein UFO erstellen, die Aliens da drin festlegen, und dann genauso ein script, wonach das UFO handelt.
Mit anderen Worten: Er möchte ein Dutzend scripte, die von Forschungsschiff bis Basisangriff alle Bereiche des Verhaltens festlegen. Er möchte nicht Tabellen anlegen oder in scriten rumschreiben, bei denen er sich nicht auskennt. (Es kann nicht jeder progger sein)
Dazu benötigen wir also ein paar Basisscripte, mit denen ähnlich der Auswahl für Aliens mit ein paar Klicks festgelegt werden kann, wie sich das UFO verhält: Ein Forschungsschiff weicht grundsätzlich aus etc.
Dabei können auch mehrere scripte ausgewählt werden, aus denen dann zufällig eines ausgewählt wird.

Das ist so, wie ein einzeln erscheinendes UFO eine KI erhält.

Gruppen von UFOs:
Auch ohne extra-script kann das Programm recht einfach Gruppen erstellen:
Die Zufallswahl für Einzel-UFO ergibt ein best. gameset-UFO. Bsp: Mutterschiff
Das ausgewählte script aus (vom gamesetter aktivierten scripten) rumstreunen/Flugzeuge angreifen/Basisangriff ergibt: Basisangriff
Der erfordert: BegleitUFOs
BegleitUFos können nur sein, welche Begleitschutz (ev. und/oder Kamikaze, Abfang) in der scriptauswahl haben- einfaches false/true
Basisangriff ergibt weiterhin: zwischen 2 und 5 BegleitUFOs
diese werden erstellt und mit dem KI-script begleitschutz (Kamikaze, Abfang) ausgestattet. Dabei erhalten diese keinen eigenen Begleitschutz, da sie selbst Begleitschutz sind- auch wieder einfache ja/nein Abfrage bei der Erstellung

Damit haben wir eine Gruppe UFOs, von denen eines eine Basis angreift, und der Rest Angreifer abfängt.

Was ist dazu erforderlich?
Ein paar Standardscripte, und die entsprechende Auswahl im editor. Simpel und einfach. Auch die scripte müssen gar nicht soo kompliziert sein.

Eine Stärkeabwägung könnte im pbrigen recht einfach (wenn auch nicht all zu genau) aus den Werten Trefferpunkte und Schaden/Zeiteinheit von UFO und Flugzeug erfolgen: Wer zuerst tot ist, hat verloren ;)
Ein Forschungsschiff wird immer verschwinden, wenn es nicht haushoch überlegen ist, ein Zerstörer greift an, solange er nicht sehr unterlegen ist etc.


Das war die einfache Handhabung, wie ich es glaube auch bei den Aliens mal erwähnt hatte.

***********
verfasst am: 15.12.2005, 18:14 · Edited by: LennStar
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
[Beitrag 2]

Auswahl der UFOs durch scripte nicht von UFO ausgehend, sondern von der Situation (Also das, was anscheinend gemeint ist)

Was hätten wir nach obigen Modell schon?

UFO-modelle mit einer vorhandenen generellen Verhaltenseinstufung (und somit Einschätzung durch eine fähige KI- dem Menschen namens gamesetter in Bezug auf logisches Verhalten und Kampffähigkeiten)


Es wird ein neues schript erstellt, das genauere Anweisungen enthalten soll als die Standardscripte.
Das Problem: Welches UFO soll dieses script ausführen?
Lösung: Einstufung in die Standardkategorien, die in jedem gameset gleich sind und vom gmaesetter schon gemacht wurden.
Damit ist sicher gestellt, dass ein Eskorten-script nur Eskorten-UFOs auswählt etc.
Ähnlich wie oben könnten auch hier Gruppen erstellt werden- Kategorie auswählen, mögliche UFOs werden ausgesiebt- fertig. Ein spezielles UFO kann ohnehin nur gamesetspezifisch durch ID ausgewählt werden.
Welches genaue Verhalten den einzelnen UFOs von diesem script vorgeschrieben wird, ist scriptersteller-Sache. Die von diesem script erstellten UFOs können dann entweder ein Standard-script bekommen oder als "Standardleer" definiert werden, woraufhin sie dem speziellen script folgen. Das kann man ja auch vermischen, indem z.B. eins leer und eins mit Standardscript erstellt wird.
Grundsätzlich könnte man auch als Standartscript noch "leer" einfügen, mit dem das UFO nur dann auftaucht, wenn es von einem Extra-script geforderd wird- entweder, weil es nur ein einmaliger Fall ist, oder nur unter ganz bestimmten Bedingungen auftaucht. Es z.B. ein UFO ist, das alle anderen UFOs angreift (2 Rassen-Thema).


Dieses Prinzip sollte ohne Probleme und einfach anwendbar sein. ^^
Sagt mir, wenn ich am Thema vorbei geredet habe oder ihr Anmerkungen habt- ich sehe jedenfalls kein Problem bezüglich script/UFO-Auswahl. Nur ne Frage der Programmierung von ein paar Ja/Nein Abfragen bevor das UFO erstellt wird bzw. ein script zugewiesen wird.
verfasst am: 15.12.2005, 23:07
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: LennStar
Meine fehlende scriptkenntnis ist wieder hinderlich.

Ganz und gar nicht - hier geht es nicht um das wie des scriptens und damit brauchst Du solche Kenntnisse nicht.
Zitat: LennStar
Aber naja.. mach ichs wieder mal von hinten:
Was will der durchschnittliche gamesetter?

Das betrachte ich als den vorderen Einstieg - ich war nur einen Schritt weiter in meinen Gedanken, deshalb ist es wohl untergegangen das das meine erste (nur in Gedanken gestellte) Frage war...

Zitat: LennStar
Sagt mir, wenn ich am Thema vorbei geredet habe oder ihr Anmerkungen habt

Nicht am Thema vorbei, aber eine Ebene zu tief angesetzt.

Du gehst davon aus das Du bereits ein UFO hast. Aber wie willst Du als Gamesetter dem Spielsatz mitteilen, welches UFO Du wann haben willst?
Aktuell geht das nur nach dem Wert "Verfügbar nach Tagen", was unter anderem dazu führt das man mehr oder weniger zu einem linearen Anstieg der UFO-Fähigkeiten gezwungen ist.

Wenn man allerdings die UFO-Automatik abschaltet und per Script seinen eigenen Zufall definieren will - frei nach dem Motto "ich will 10 Tage nur Scouts, dann ein Mutterschiff (das der Spieler entkommen lassen muss wegen fehlender Waffen), dann erstmal Jäger und Kampfschiffe aber keine Scouts mehr usw." - was dann?

Du kannst natürlich ein persönliches Script schreiben in dem jedes Deiner UFOs namentlich und per ID zugeordnet ist, aber das funktioniert nur mit dem einen Spielsatz und ist für den erwähnten durchschnittlichen Gamesetter zu aufwendig.

An der Stelle will ich einsetzen und hier eine einheitliche Klassifikation schaffen, sodass der Spielsatzersteller ein fertiges Script nehmen kann und nur für jedes UFO eintragen muss "Das hier ist ein Scout, das hier ist einer meiner Jäger, das ist ein Mutterschiff" - und das Script erkennt dann die Zuordnung der ihm ansonsten unbekannten Modelle und sorgt dann automatisch für die entsprechenden Auswahleinschränkungen wenn von anderen Scripten Aufrufe kommen wie "Für die Spezialmission brauche ich jetzt einen Jäger und einen Scout".

Die KI kam nur in sofern ins Spiel, als dass einige dieser Auswahlkriterien identisch sind mit solchen die ein KI-Script ebenfalls für seine Zuordnung, Steuerung und Auswahl braucht und man das deshalb kombinieren könnte (falls andere Lösungen nicht als besser angesehen werden).
verfasst am: 16.12.2005, 17:59 · Edited by: LennStar
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
Zitat: DirkF
anz und gar nicht - hier geht es nicht um das wie des scriptens und damit brauchst Du solche Kenntnisse nicht.

Aber ich versteh nicht (oder erst nach 5 Minuten) was du mit sowas meinst:
Wenn man sich jetzt XForce betrachtet, dann sieht man in der Unterscheidung zwischen TUFOModell als Vorlage und TUFO als spezifisches Objekt bereits die Umsetzung eines Teils der Überlegungen oben - die im Spiel unveränderbaren Daten gehören in das TUFOModell (auf das auch nur Lese-Zugriff besteht), während die editierbaren und im Spiel wechselnden Daten in TUFO gespeichert sind.

Es ist also auf alle Fälle hinderlich.
***

Zitat: DirkF
Aber wie willst Du als Gamesetter dem Spielsatz mitteilen, welches UFO Du wann haben willst?
***
dann erstmal Jäger und Kampfschiffe aber keine Scouts mehr usw


Erst mal dazu etwas was ich schon ewig und oft sagte: Auch eine Eingabe, bis wann ein UFO auftaucht. Was auch immer ihr macht: das macht so schnell wie möglich, dürfte ja auch ziemlich simpel sein. Aber damit kann man eine ganze Menge steuern- verschiedene Rassen, mit der Zeit stärkere Aliens (durch Zuordnung zu best. UFOs) und UFOs etc.
Und wenn du deinen besagten scout nach zwei Monaten noch einmal haben möchtest... wird das der Spieler kaum mögen, weil es dann viel zu leicht ist. Also gleich eine neue scout-Version, die noch mithalten kann. (Quasi der Sprung vom Tornado zum Eurofighter)
Wenn du doch den gleichen scout verwenden willst, hast du im schlimmsten Fall zwei identische UFOpädie-Einträge. (Oder halt per Einzelaufruf mit ID machen)


Zitat: DirkF
An der Stelle will ich einsetzen und hier eine einheitliche Klassifikation schaffen, sodass der Spielsatzersteller ein fertiges Script nehmen kann und nur für jedes UFO eintragen muss "Das hier ist ein Scout, das hier ist einer meiner Jäger, das ist ein Mutterschiff" - und das Script erkennt dann die Zuordnung der ihm ansonsten unbekannten Modelle und sorgt dann automatisch für die entsprechenden Auswahleinschränkungen wenn von anderen Scripten Aufrufe kommen wie "Für die Spezialmission brauche ich jetzt einen Jäger und einen Scout".


Ich denke, wir sind uns einig, dass ein Programm niemals zuverlässig herausfinden kann, welches UFO was erledigen soll, da jedes gameset unterschiedlich ist, oder? Selbst wenn man definiert "Abfangjäger ist schnell" kann ein gameset auch einen langsamen Abfangjäger haben- aus welchen Gründen auch immer.
Mit Grenzen arbeiten um Typen festzulegen geht nicht.
Formeln gehen auch nicht ohne Grenzen.
Bleibt also eine Festlegung von demjenigen, der das UFO erstellt hat. Zitat von mir oben:

Lösung: Einstufung in die Standardkategorien, die in jedem gameset gleich sind und vom gmaesetter schon gemacht wurden.
Damit ist sicher gestellt, dass ein Eskorten-script nur Eskorten-UFOs auswählt etc.


Der UFO-Ersteller wählt im editor unter den Standardscripten aus, welches script= welche Aufgabe (und somit welche Kategorie) das UFO haben kann. Ählich wie bei der Besatzung (hmm... da könnte man auch noch ne % einbauen- 30% ist das Basisangriff, 70% Terrorangriff)
Alle weiteren KI-scripte müssen dann nur noch abfragen:
gewünschte UFO-Kategorie (Standardsript)
und aus allen UFOs, die diesen script haben können, auswählen. (Mit Rücksicht auf die Auftauchgrenzen)
Fertig.
Damit kannst du eine beliebige Gruppe Typenkorrekt zusammen stellen. Und wenn du eine andere Verhaltensweise haben möchtest, wird das Standardscript gelöscht und dem UFO ein neues zugewiesen- nach der Typauswahl.

Selbst für Aufgaben, die nicht in einem Basisscript vorkommen (wobei mir nichts einfällt, was nicht durch Angriff/Patroille/Forschung in den jew. Varianten ist) kann man so auswählen: Forschung und scout sind eher schwache UFOs, Basisangriff garantiert nen Killer.

*****

welche Aufgaben müssen sein (also meine Basisscripte)
- Forschung: entweder gezieltes oder zufälliges Anfliegen von Punkten und dort verweilen/landen; Ausweichen
- Scout: Sensorendienst; Ausweichen
- Patrouille: Abfangen unterlegener/gleichwertiger Gegner; ansonsten fliegen
- Verteidigung (Eskorte): andere UFOs/Basis oder Punkt auf der Weltkarte; Ortsnahes Abfangen aller Feinde
- Kamikaze: Wie Patroullie; Abfangen aller Gegner
- Versorgung: Fester Punkt wird angeflogen und UFO verharrt (landet)
- Terrorangriff
- Basisangriff

Das sind jetzt erst mal 8, die mir spontan einfallen, mit ein paar Bedingungen eingebaut (Anzahl gleicherscriptiger UFOs in der Gruppe), kann man auch weite Patroullie oder ähnliche Modifikationen gleich in das Standardscript bringen.

Alles andere (wie gezieltes Aufteilen einer Eskorte auf mehrere Gegner) ist sicher mächtig kompliziert und muss- zumindest vorläufig- nicht in ein Standardscript. Mir fällt auf Anhieb auch kein Strategiespiel ein, bei dem sowas wirklich klappt, nur nebenbei. Wenn ich nur dran denke, wie bei Spellforce immer alle 10 Heiler 3 Schadenspunkte einer Einheit heilen wollten O.o
verfasst am: 16.12.2005, 19:10
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: LennStar
Erst mal dazu etwas was ich schon ewig und oft sagte: Auch eine Eingabe, bis wann ein UFO auftaucht.

Dann hast Du aber immer noch einen linearen Zeitstrahl - und ich hab schon eine Möglichkeit gefunden wie man das per Script (selbst in der 0900, aber da ist es ohne globale Variablen aufwendig) in ein nicht-lineares Verhalten wechseln kann.
Z.B. kann man dann sagen die nächsten UFOs erst nach einer Forschung X auftauchen oder dass die Zerstörung von Alienbasis Y das Auftauchen weiterer Mutterschiffe verhindert etc...
Wenn man noch so einen Wert für die Typauswahl zusammen mit den globalen Variablen hat, dann sind beliebigen Story-Verzweigungen keine Grenzen mehr gesetzt (außer dem Aufwand für den Scripter natürlich ;-))
Zitat: LennStar
Ich denke, wir sind uns einig, dass ein Programm niemals zuverlässig herausfinden kann, welches UFO was erledigen soll, da jedes gameset unterschiedlich ist, oder?

Das Programm soll es ja auch nicht herausfinden, der jeweilige Gameset-Ersteller (der es wissen sollte) soll es dem Programm über diesen eingestellten Wert sagen.
Danach kann das Programm problemlos korrekt auswählen, da es dann die Info vom Spielsatz zugewiesen bekommen hat...

Deshalb ist genau das
Zitat: LennStar
Lösung: Einstufung in die Standardkategorien, die in jedem gameset gleich sind und vom gmaesetter schon gemacht wurden.
Damit ist sicher gestellt, dass ein Eskorten-script nur Eskorten-UFOs auswählt etc.

mein ziel - nur das ich überlegt habe ob man eine Standartkategorie nimmt oder zwei Werte einstellbar macht.
Und außerdem wie man dann die genaue Auswahl dieses Typs vornimmt.

Als Aufgabe fehlt auf jeden Fall noch die Möglichkeit, eine gezieltes Script "Nummer XY" zuzuweisen, wenn ein UFO nur per speziellem Script für eine Sonderaufgabe erstellt wird, z.B. "Überläufer der Aliens versucht zu uns zu kommen" oder "Verräter ist von Basis X gestartet und flüchtig".

Ansonsten sind Deine 8 Punkte schonmal eine Diskussionsgrundlage...
verfasst am: 16.12.2005, 20:12
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
Zitat: DirkF
Z.B. kann man dann sagen die nächsten UFOs erst nach einer Forschung X auftauchen oder dass die Zerstörung von Alienbasis Y das Auftauchen weiterer Mutterschiffe verhindert etc...


Trotzdem von-bis. Mit Möglichkeit 0 und unendlich als Standard. Wers kompliziert haben möchte, kann das machen und die beiden Punkte ignorieren, ansonsten ist das sehr einfach und sehr wirkungsvoll. Machts einfach, basta.

Zitat: DirkF
nur das ich überlegt habe ob man eine Standartkategorie nimmt oder zwei Werte einstellbar macht.


Dann machs nicht so kompliziert ;) (doppeldeutig gemeint)
Ehrlich: Eine Zusammenfassung vor oder nach Monsterposts (oder in deinem Fall 2 *g*) in möglichst einem Satz macht vieles leichter... Sag, was du willst, und dann kannst du anfangen, zu erklären. Mit nur der Erklärung kanns passieren, dass dein Ziel nicht klar wird- mit der Erklärung versteht man aber meist dein Ziel am Ende des posts, selbst wenns am Anfang nicht klar war ;)
Genaue Fragen helfen auch oft- um deine Gedanken zu verstehen oder Probleme so zu definieren, dass die Lösung offensichtlich wird. [Denn die größte Schwierigkeit besteht nicht in der Antwort, sondern in der richtigen Frage.] Dazu nimmt man ein "?" und möglichst auch ein oder mehrere Fragewörter.
Bsp: (Wenn ein script Kategorien zuteilen würde)
ob man eine Standartkategorie nimmt oder zwei Werte einstellbar macht.
Welche Werte sollen es ermöglichen, eine Kategorie festzulegen?
Dazu nötig: Welche Werte haben wir, die dazu dienen können?
- Geschwindigkeit
- Trefferpunkte
- Schildstärke und Absorption
- Waffenstärke
Namen, Alienzahl, Erscheinen etc. sind nicht allein Aussagefähig- auch ein UFO mit einem Alien (King Kong) kann Terror-angriffe ausführen.

Problem: Alle Werte funktionieren nur in Relation zum gameset.
Folge: Eine Einschätzung muss sich aus Relationen errechnen.
Wenn nun also festgelegt werden soll, ob Angriff oder Flucht, muss ausgerechnet werden, wer zuerst abgeschossen ist.
Danach wird entschieden, ob Angriff oder Flucht (ignorieren und weiter Ziel ansteuern).

Dieses Ergebnis ist unabhängig von defensiv/offensives Subverhalten. Es ist bereits im Standardscript vorgegeben: Patrouillen-UFOs etc. ergreifen bei überstarken Gegnern die Flucht, Kamikaze greifen immer an, Mutterschiffe etc, die trotz großer Stärke unterlegen sind, können natürlich auch versuchen abzuhauen (daran hab ich noch gar nicht gedacht, aber kein Problem das zu regeln), dazu sollten sie aber im Normalfall zu langsam sein.

Wenn du also ganz oben wissen wolltest mit deinem Tabellen-Ding, ob der Spielsatzersteller noch eingeben soll, ob defensives/offensives/neutrales Verhalten, so ist dies ad absurdum geführt, da bereits in den grundlegensten Unterschieden zwischen den KI-scripts enthalten.
(Diese Überlegung ist im übrigen erst während des Schreibens herausgekommen. Daran hab ich gar nicht mehr gedacht. Ich sags ja: Fragen richtig stellen :D )

Zitat: DirkF
Als Aufgabe fehlt auf jeden Fall noch die Möglichkeit, eine gezieltes Script "Nummer XY" zuzuweisen, wenn ein UFO nur per speziellem Script für eine Sonderaufgabe erstellt wird, z.B. "Überläufer der Aliens versucht zu uns zu kommen" oder "Verräter ist von Basis X gestartet und flüchtig".


Du hast also einen UFO-Erstellung per Sonderscript, und bereits ein KI-script, das dieses UFO verwenden soll, richtig?
Dieses UFO soll nur für diese spezielle Mission erstellt werden?
Das ist der Fall des "Flüchtlings" aus meinem gameset.

Ich habe bereits im ersten großen posts von mir geschrieben, dass ein UFO "scriptleer" erstellt werden können sollte. Also quasi die Frage:
Standardscript verwenden ja/nein.
Wenn nein: KI-Inhalt dieses scripts verwenden.
KI-scripte und UFO-erschaffungs-scripte (<- meine Probleme weil ich mich nicht auskenne) dürften 2 Sachen sein.
Also: erstelle UFO mit Werten XYZ
Standardscript? ->nein
Spezielles script oder Zufallsscript aus KI-scriptpool nehmen?
spezielles script mit Namen "dieses script"

über die genaue Reihenfolge und Verknüfungen dieser Fragen können sich die Proggis kümmern ;)

Zitat: DirkF
Ansonsten sind Deine 8 Punkte schonmal eine Diskussionsgrundlage...


Ich kanns auch gerne mal überdenken und ein Reaktionen wenn-dann eintragen.
verfasst am: 16.12.2005, 21:19
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: LennStar
Folge: Eine Einschätzung muss sich aus Relationen errechnen.

Eben das will ich nicht.
Der Typ soll eben NICHT errechnet werden, sondern vom Spielset-Ersteller zugewiesen werden. Wie dieser das zuweist ist dann ganz von seinem Gameset abhängig und dem was er entscheidet zu setzen.

Genauso wie man jetzt sagt "ich will eine Waffe erstellen" und dann als Waffenersteller auswählt ob man Projektil, Rakete oder so eingeben will, so soll man dann sagen können "ich will ein UFO erstellen" und dann einstellen ob das als Scout, Patrouille, Beiboot, Mutterschiff (oder wie auch immer die Auswahl definiert wird) bezeichnet werden soll. Mit dem einzigen Unterschied das dieser UFO-Typ im Gegensatz zum Waffentyp keine Auswirkungen auf die UFO-Werte hat sondern nur intern als Kennzeichen für Skripte gilt.

Der Spielsatzersteller kann dann dem UFO beliebige Werte zuweisen - je nachdem was in seinem Spielsatz zur Story passt.

Die Auswahl was es an UFO-Typen gibt muss natürlich vorher allgemein gültig festgelegt werden - für den Spielsatzersteller ist das anschließend nur noch ein Auswahlfenster. Und hier möchte ich halt andere Meinungen hören was es da an Auswahlfenster geben könnte.
verfasst am: 16.12.2005, 21:43
Spielsatz Darkage

Registrierdatum: 01.03.2005, 13:47

 Beiträge: 1846
Zitat: DirkF
Eben das will ich nicht.
Der Typ soll eben NICHT errechnet werden, sondern vom Spielset-Ersteller zugewiesen werden. Wie dieser das zuweist ist dann ganz von seinem Gameset abhängig und dem was er entscheidet zu setzen.


Ich glaub du verstehst mich nicht, das oben war wenn du es errechnen willst.
Das ist total überflüssig, da sind wir uns ja einig.
Aus diesem ergibt sich aber auch, dass weitere Einstellungen außer einer einzigen (Auswahl des KI-scriptes) ebenfalls überflüssig und eher kontraproduktiv ist.

Der Spielsatzersteller wählt in jedem UFO ein oder mehrere KI-scripte aus einem Standardsatz aus- und entsprechen dem Typ.
Anderherum gesagt: Er gibt den Typ an, und automatisch wird das entsprechende KI-Standardscript ausgewählt.
Dieses enthält nun Verhaltensanweisungen inklusive der Berechnung "wer ist stärker: ich oder der Gegner" - besagte Relation.

Weitere KI-scripte erhalten nun den Wert "Terror" usw. oder - falls das überhaupt nötig ist - eine Art freien Wert, der dann für ganz spezielle, spielsatzspezifische Missionen gedacht ist. Dadurch wird dieses KI-script niemals zufällig ausgewählt, und jemand der ein spezielles UFO erstellt kann nach obiger ja/nein Methode seinem UFO dieses ganz spezielle script zuweisen.
Wie gesagt, die Details dazu sind Proggersache, ich weiß nicht, wie man diese Werte einbaut, übergibt etc.

Zitat: DirkF
Und hier möchte ich halt andere Meinungen hören was es da an Auswahlfenster geben könnte.


Und wie ich im vorigen post ausgeführt habe, gibt es da keine Möglichkeiten außer der einfachen Auswahl- jedenfalls kann ich mir keine denken, die irgendetwas verbessert, eher wird verschlechtert. [Der Aufwand wächst ja nicht linear. Irgendwelche grundlegenden (also sichtbaren) Unterschiede im Verhalten, die im gameset auswählbar sind, benötigen seehr ausgebaute (und viel mehr)auswählbare KI-scripte- was ungefähr einem Umfang von Black&White´s Schoßtierchen entspricht. Viel Spaß daran ;)]
Jeder der will kann aber gerne eine andere Möglichkeit nennen, ich versuchs dann zu zerpflücken. Darin bin ich gut ;) Wenn noch was übrig bleibt, können wir drüber dikutieren, obs besser ist.
verfasst am: 16.12.2005, 22:30
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Ich wiederhohle nur mal kurz, was ich schon lange gesagt habe:
- aktiviert/deaktiviert Flag für UFOs. Dann ist es sehr leicht, UFOs zu bestimmten Zeiten per Skript (auch für unerfahrene einfach) aus dem Spiel zu nehmen
- jedes UFO bekommt ein KI-Skript zugewiesen (für Faule gibts ein Standardskript)

Eure Posts sind mir einfach zu lang ;D. Wenn mir also einfach jemand sagen könnte, was dabei noch an Problemen bleibt...
verfasst am: 16.12.2005, 22:38
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
verschieben wir das ganze bis ich an ein paar scripten genauer zeigen kann wie ich das meine...
Dann sollte es deutlich klarer werden als die Theorie;-)

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [12] [13] >>




Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.013 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003