Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
KI-Schnittstelle
#11
Zitat:Original von prissi
Die KIs haben nicht viel zu rechnen. Das Aufwendigste, wie Wegebau und Platzsuche, wird von Routinen erledigt, die nur noch mit korrekten Parametern zu füttern sind.

Ich hatte halt an eigene Wegsuche gedacht, weil mir die automatisch erstellten Wege manchmal noch zu zackig sind. Ich baue meine Wege direkter und passe auch mal die Landschaft an. Als Mensch reiße ich sogar Gebäude ab, wenn sie im Weg sind, aber das sollte die KI nicht tun.

Zitat:DLL-Module halte ich schlicht für unbrauchbar, da die nicht mal zwischen Unixen austauschbar sind.

Damit kenne ich mich nun etwas weniger aus, aber wenn Simutrans ohnehin quelloffen ist, dann sollte das kein Problem sein, da direkt für die jeweilige Plattform kompiliert werden würde. Und für Windows sollte ein Binary reichen.
Zitieren
#12
Die Wegsuche ist schon optimiert. Ich meine, ich werde die KIs doch nicht extra dumme Wege bauen lassen. Sätze wie, ich bau immer gerade und muss manchmal nur dies und das tun, lassen sich fast nicht vernünftig in ALgorithmen pressen.

Aber selbst die schlechte Wegsuche kann ja Ausgangspunkte für Optimierungen liefern. Auch das wäre weniger Aufwand als das jedesmal für eine KI zu programmieren.
Zitieren
#13
Ich habe gute Erfahrungen mit Lua in meinem H-World Projekt gemacht.

Ich denke jedoch dass eine vernünftige Schnittstelle zwischen KI und Simutrans so breit sein wird, dass es besser ist, die KI in Simutrans selbst zu belassen.
Blogger blog blog
Zitieren
#14
Anhand von diversen Savegames aus dem Forum, sind mir auch die verschiedenen Vorlieben der ST'ler schon aufgefallen. Die einen bauen möglichst gerade mit sowenig Ecken wie möglich, andere fast alles in der Diagonale. Und alle Varianten dazwischen, auch die KI hat da ihre Vorliebe.
So hat eben jeder seine Vorstellung von Optimalem Streckenbau. Und eigentlich bleibt die effektive Streckenlänge meistens gleich, egal ob gerade oder Diagonal gebaut wird.
Zitieren
#15
Zitat:Original von Hajo
Ich denke jedoch dass eine vernünftige Schnittstelle zwischen KI und Simutrans so breit sein wird, dass es besser ist, die KI in Simutrans selbst zu belassen.

Ich kenne wie gesagt keine Details aus dem aktuellen Quellcode, daher ist folgendes nur geraten, aber vom theoretischen her würde die Schnittstelle in etwa so aussehen:

void buildThingy(ThingyID, PosX, PosY, PosZ);
void buildTrack(TrackType, Pos1X, Pos1Y, Pos1Z, Pos2X, Pos2Y, Pos2Z);
void setProperty(ThingyID, Property, Value); // +getter; (+ getAllProperties?)
Vector<Train> getTrains();
Vector<Factory> getFactories();
Vector<Building> getCityBuildings();
Vector<Stuff> getOtherStuff(); // moeglicherweise noch aufgeteilt.

Vector<Thingy> getThingies(); //geht auch, aber ist eher hardcore

Dann natürlich noch Dinge an die ich gerade nicht gedacht habe. Und für die GUI sollten da vielleicht noch Dinge hin, die den Bereich einschränken, den man sehen kann. Alles andere braucht man ja nicht durch die Gegend zu kopieren. Wenn man das sauber trennt zwischen GUI und Core, dann kann man da auch "relativ schnell" Rechnernetzkram zwischenpacken. Just under six month or so...

Aber ich sollte aufhören zu spekulieren solange ich mir den Quellcode nicht einmal angeguckt habe. Und bitte nicht hauen!
Zitieren
#16
Schau zeurst mal, was Simutrans intern an Daten überhaupt hat, und wie diese addressiert werden. Solche Spekulationen führen gern zu behauptungen wie "Er hat doch schon gezeigt wie klein und einfach die Schnittstelle sein kann" was dann viel Arbeit macht das später geradezurücken.

buildThingy() wird so nicht machbar sein, setProperty() auch nicht und getCityBuildings() wird auch knifflig. Schau mal was da ist, und dann sehen wir was die KI davon braucht.

Schau auch mal was die bisherige KI so alles an Zugriffsmethoden nutzt/braucht.
Blogger blog blog
Zitieren
#17
Zitat:Original von Hajo
Schau zeurst mal, was Simutrans intern an Daten überhaupt hat, und wie diese addressiert werden. Solche Spekulationen führen gern zu behauptungen wie "Er hat doch schon gezeigt wie klein und einfach die Schnittstelle sein kann" was dann viel Arbeit macht das später geradezurücken.

Ok, ich halte meine Klappe für die nächste Woche Wink Meine Gedanken arbeiten leider auf Höchsttouren an anderen Problemen, wenn man sich krampfhaft auf die DA konzentrieren will.
Zitieren
#18
DA = Diplomarbeit? Dann viel Erfolg und versuch so lange die KI in die Warteschleife zu schicken Wink Das Thema ist schon ein Jahre aktuell, da kommt's auf ein paar Wochen nicht an. Viel Glück mit der DA!
Blogger blog blog
Zitieren
#19
Ja, Diplomarbeit, nächsten Dienstag ist Abgabe. Danke Smile

Und eine wichtige Sache war mir nach dem Abschicken eben noch eingefallen: Niemand soll behaupten ich hätte gesagt, es wäre einfach. Es ist machbar und vielleicht sogar schick und klein, aber einfach ist das nicht.
Zitieren
#20
Was spricht eigentlich gegen tab-Dateien?

Die cityrules.tab ist doch auch eine Scriptdatei für den Städtebau.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste