Deutsches Simutransforum
Skripts fuer KI Spieler - Druckversion

+- Deutsches Simutransforum (https://simutrans-forum.de/mybb)
+-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3)
+--- Forum: Programmierung und Patches (https://simutrans-forum.de/mybb/forumdisplay.php?fid=38)
+--- Thema: Skripts fuer KI Spieler (/showthread.php?tid=8408)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38


RE: Skripts fuer KI Spieler - Dwachs2 - 24-04-2020

Es wird erst versucht die einfachen Verbindungen zu bauen. Wenn das schief geht, dann kommen die kombinierten dran.

Die Entscheidung, welche Verbindung zuerst versucht wird, steht unten in basic.net: die Verbindung mit besserem Verhaeltnis gain_per_m zu cost_fix (geschaetzte Baukosten) wird genommen.


RE: Skripts fuer KI Spieler - Andarix - 24-04-2020

(24-04-2020, Friday-18:09:32 )Dwachs2 schrieb: ...
die Verbindung mit besserem Verhaeltnis gain_per_m zu cost_fix (geschaetzte Baukosten) wird genommen.

So was in der Richtung hab ich vermutet.

Da möchte ich noch das Transportvolumen und die Entfernung mit einbringen als Gewichtung. Ggf auch eine Abhängigkeit zwischen Fahrzeugzahl und Entfernung besonders bei Straße.


RE: Skripts fuer KI Spieler - Dwachs2 - 24-04-2020

Gerne. Man koennte ja auch verschiedene Gewichtungen einbauen, die ja nach Spieler-Nr der KI fuer ein leicht anderes Verhalten sorgen...


RE: Skripts fuer KI Spieler - Andarix - 24-04-2020

(24-04-2020, Friday-18:09:32 )Dwachs2 schrieb: ...
Die Entscheidung, welche Verbindung zuerst versucht wird, steht unten in basic.net: die Verbindung mit besserem Verhaeltnis gain_per_m zu cost_fix (geschaetzte Baukosten) wird genommen.

mmh, da verstehe ich jetzt was nicht

Zitat: if ( best == null
|| (best.gain_per_m * test.cost_fix < test.gain_per_m * best.cost_fix)
|| (test.cost_fix == 0 && best.cost_fix == 0 && best.gain_per_m < test.gain_per_m) )
{

Warum wird der Monatsgewinn von best mit den Baukosten von test multipliziert und umgekehrt.

Das hiese zum Beispiel, das der Gewinn von Rail mit den Baukosten von Straße multipliziert wird.


RE: Skripts fuer KI Spieler - Dwachs2 - 24-04-2020

Wenn a*b < c*d dann ist auch a/c < d/b und umgekehrt. Fuer Integer ist das mit * besser (wenn es zu keinem overflow kommt). Man koennte dort auch mit Komma-Zahlen arbeiten, dann waere es wurscht, was da steht.


RE: Skripts fuer KI Spieler - Andarix - 24-04-2020

(24-04-2020, Friday-23:13:15 )Dwachs2 schrieb: Wenn a*b < c*d dann ist auch a/c < d/b und umgekehrt. ...

jetzt bin ich noch verwirrter



Zitat:function calc_production()
{
local src_prod = fsrc.output[freight].get_base_production();
local dest_con = fdest.input[freight].get_base_consumption();

// TODO implement production factors


Wenn mit production factors die Wareneingangs- und Warenausgangsfaktoren ( die % hinter der Warenanzeige ) gemeint sind, dann ist das TODO unnötig.

get_base_production() und get_base_consumption() liefern bereits die errechneten Werte ( Produktionsrate * % ).


RE: Skripts fuer KI Spieler - Dwachs2 - 25-04-2020

Der Bonus durch bereitgestellte Passagiere, Post, Strom ist da nicht drin.


RE: Skripts fuer KI Spieler - Andarix - 25-04-2020

(25-04-2020, Saturday-10:17:48 )Dwachs2 schrieb: Der Bonus durch bereitgestellte Passagiere, Post, Strom ist da nicht drin.

Der ist zu diesem Zeitpunkt nicht relevant.

Und da es ein Bonus ist der nicht garantiert wird ist der für die Bewertung ungeeignet. Würde nur dafür sorgen das Konvoys genommen werden die ohne den Bonus dann minus machen.


RE: Skripts fuer KI Spieler - Andarix - 26-04-2020

Was ist der Unterschied zwischen command_x.build_way() und command_x.build_road()?


RE: Skripts fuer KI Spieler - Andarix - 27-04-2020

Löscht man bei der Script-KI eine Linie wirft sie einen Script-Error das die Line id nicht vorhanden ist.