Deutsches Simutransforum
Passagier-(und Post-)Erzeugung - Druckversion

+- Deutsches Simutransforum (https://simutrans-forum.de/mybb)
+-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3)
+--- Forum: Wie spiele ich Simutrans? (https://simutrans-forum.de/mybb/forumdisplay.php?fid=6)
+--- Thema: Passagier-(und Post-)Erzeugung (/showthread.php?tid=6059)

Seiten: 1 2 3 4


Passagier-(und Post-)Erzeugung - prissi - 11-07-2011

In den letzten Nightlies haben wir (insbesondere Knightly) sich Gedanken zur Auswahl von Passagierzielen gemacht. Bisher wurden Passagierziele (Städte und Sehenswürdigkeiten) folgendermaßen ausgewählt (p=Wahrscheinlichkeit als Ziel ausgewählt zu werden):
p = level/summe_aller_level

Für Netzwerkspiele und sehr große Karten ist aber eine Gewichtung nach Entfernung wünschenwert. So kann ein Spieler erst einmal lokal etwas aufbauen, auch wenn er/sie erst später einsteigt. Auch wird so der Spielanfang erleichtert und erlaub die Paks noch ein bisschen länger schwierig zu machen. Die Formel ist nun (minimale Entfernung ist dabei 4):
p = level/(summe_aller_p*entfernung

Die bevorzugt aber nahe Ziele sehr stark. Als Konsequenz wurden drei Zonen für Städtereisenden eingeführt:
Code:
# amount of passengers that travel from/to factories or attractions
factory_worker_percentage = 33
tourist_percentage = 16

# the remaining percentage is divided among short-range,
# medium-range and long-range cities trips
# long-range percentage need not be explicitly specified;
# it equals (100% - city_short_range_percentage - city_medium_range_percentage)
# the distance ranges for city trips
# the ranges are the number of tiles from the origin city
city_short_range_percentage = 60
city_medium_range_percentage = 30
city_short_range_radius = 50
city_medium_range_radius = 100

Das betrifft allerdings nicht Sehenswürdigkeiten. Außerdem sind feste Radien problematisch, da schon bei einer 512*512 Karte mit 16 Städten im Mittel keine Stadt in 50 Kästchen Entfernung liegt und nur eine in 100. Als Konsequenz will fast niemand weiter reisen.

-----------------------------------------------------------------

Ein Vorschlg ist es die Grenzen von der Städtedichte einer Karte abhängig zu machen. Ein anderer wäre es, an der Formel selbst zu drehen. Ein Vorschlag ist:
p = level/summe_aller_p * (A+1)/(A+entfernung)

A ist dabei ein Faktor der die Lokalität angibt. A=0 bevorzug dichte Ziele, während a=10000 praktisch nur auf die Die Größe (level) eines Zieles Rücksicht nimmt. Nachteil ist, dass A ein reichlich abstrakter Parameter ist.

Man könnte natürlich einen Schieberegler in den "Neue Welt"-Dialog einbauen, zwischen "Nähe <-> Größe". Oder es gibt einen neuen Parameter für die simuconf.tab. Oder sogar zwei für Städte und Sehenswürdigkeiten?

Wie sind eurer Ansichten dazu?


RE: Passagier-(und Post-)Erzeugung - Randy007 - 12-07-2011

Sehr gute Gedankengänge!!
Der Einfachheit halber wäre ich für: "Grenzen von der Städtedichte einer Karte abhängig machen". Alternativ den Schieberegler der beim Start auf einen Mittelwert gesetzt ist. Die Simuconf ist für Anfänger schon verwirrend genug.


- partyschreck - 12-07-2011

Ich bin natürlich auch begeistert.
Grundsätzlich denke ich auch, dass die Einstufung von der Größe der Karte abhängen sollte.

Ich hätte aber noch einen weiteren Vorschlag:
Für jede einzelne Stadt wird ermittelt, welche anderen Städte als benachbart (medium range) gelten und welche als weit entfernt.
Die zwei Drittel, die am nächsten gelegen sind sind medium range, das entfernte Drittel gilt als weit entfernt.
Zwei Dinge finde ich dabei reizvoll:
Jede Stadt wird als Gesamtkomplex betrachtet (Rathaus) wird zur Entfernungsberechnung genutzt.
Beim Entstehen neuer Städte kann sich sich die Topographie der Welt ändern (Entfernungen sind relativ).

Zusätzlich könnte auch die Größe einer Stadt einen Einfluss auf seine Entfernung haben (schwarze Löcher).


- The Transporter - 12-07-2011

Das ist eine sehr Interessante Idee.
Die Stadtgröße, und die Entfernung sollten beide Einfluss nehmen. Einen zusätzlichen "Zufallsfaktor" zur Steigerung der Wahrscheinlichkeit fände ich ganz interessant. Dieser Faktor, der normalerweise recht niedrig ist, sollte dann vereinzelten Orten ein erhöhte Wahrscheinlichkeit bescheren. Das ergiebt dann besonder attraktive Orte, die somit auch etwas schneller wachsen als der Rest. Ansonsten wäre das ganze sehr statisch. Es dürfen natürlich nur ein paar weinge Orte bevorzugt werden. Genauso könnte es dann auch ein paar benachteiligte Orte geben, die eben etwas "anspruchsvoller" sind.
So könnten auch Flüsse und Gebirge einen positiven Einfluss auf die attraktivität einer Stadt nehmen. Stadtnahe Industrien wären dann eben negativ.
Für die Radien würde ich eine Mischung aus festen Werte und einem Prozentsatz der größten Karteausdehnung nehmen. Kurzstrecke 7%, max. 25-30 Felder. Für Mittelstrecke bis 30%, max. 120 Felder. Der Rest ist dann Fernverkehr.


- prissi - 12-07-2011

OK, vielleicht noch etwas konkreter. Die Stadtgröße bzw. Sehenswürdikeitsgröße nimmt schon einfluss. Das ist das "Level" in den obigen Formeln.

Wie sollen die Grenzen von der Stadtdichte abhängig gemacht werden? Das ganze erfordert irgendwie auch kryptische Parameter. Man kann natürlich den mittleren Abstand von x% aller Städte untereinander nehmen. Aber da wird vermutlich auch nur ein zur Stadtdichte vergleichbarer Parameter rauskommen.

Wie soll eine Stdat als benachbart erkannt werden? Mathematisch, meine ich?

Hier mal ein paar Funktionen zum Vergleich. Rot grün und Türkis sind nur durch andere A-Werte (A=0, A=20, A=100) entstanden.


- partyschreck - 12-07-2011

Kann man nicht einfach die Wahrscheinlichkeiten der Zielerfassung ganz direkt abhängig machen von ihrer Entfernung, so dass eine doppelt so weit entfernte Stadt eine halb so hohe Wahrscheinlichkeit hat.
Diesen Attraktivitäts/Entfernungswert könnte man um weitere Werte modifizieren, wie schon genannt.
Man müsste dann gar nicht mehr mit verschiedenen Klassen arbeiten, sondern nur mit einer einzigen Formel.


- Norman - 12-07-2011

Eine Stadtattraktivität fände ich super. Flüsse, Seen, Gebirge -> Höhenlage mit Schnee (Skigebiete), Anzahl und Art der Industrie in der Gegend, wie oft Stationen im letzten halben Jahr zum Beispiel überfüllt waren ect. wären Faktoren dazu.
In verschiedenen Zeiten galten manche Städte immer wieder als hip.
Vielleicht lassen sich Kacheln wie kleine Parks, kleine Teiche im 128er gibts ein Freibad und ähnliches, die selbst keine Ziele sind, ihre Anzahl bezogen auf Gesamtkacheln einer Stadt, die Stadtattraktivität zu beeinflussen.
Viel Grün in einer Stadt, so ungefähr.
So gibt es immer mal wieder kleine Schwankungen.
Edit: Die Stadtgröße selbst sollte vielleicht auch eine Rolle spielen.
Ein idyllisches Bergdorf sollte klein bleiben um idyllisch zu bleiben.


- prissi - 12-07-2011

Die Sehenswürdigkeiten in einer Stadt sind unabhängig von der Stadtgröße. Eine Stadt mit mehr Sehenswürdigkeiten bekommmt mehr Passagiere ab.

Und mit 1/x wie gerade drinnen sind doppelt so weit eintfernte Ziele halb so wahrscheinlich (bei gleicher Größe/Level). Mit der A-Formel könnte man in der Tat auf die vier Parameter zur Einstellung von Grenzen verzeichten. Das ist eine der Fragen, welches System lieber bevorzugt wird.


- cfds - 12-07-2011

Ich wäre für von der Städtedichte abhängige Radien. Wenn man d=sqrt(Kartengröße/Stadtzahl) definiert sollte der der Nahverkehrsradius etwa d (oder sogar d/2?) sein um Ballungsräume zu simulieren. Der "Mittelverkehr" sollte sich auf einer Skala die einerseits die Stadtdichte enthält, andrerseits von der Kartengröße abhängt, bewegen. So etwas wie min(2*d,sqrt(Kartengröße)/5)
Man müsste mal eine Dummy-Nightly bauen bei der man nur Karten mit Städten erstellt und Verteilungsstatistiken baut (oder ein externes Programm, ich nehme an das bei der Stadterstellung einfach zufälige Punkte ausgewählt werden, geschaut wird ob sie im Wasser liegen und vielleicht noch ob eine Stadt zu nahe dransteht).


- Randy007 - 12-07-2011

Sorry Prissi, da muss ich mich ausklinken. Sowas ist nicht mein Ding. Ich bin Kaufmann. Daher eher für ein Wirtschaftsmodell der Ansprechpartner.