Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Auswanderung
#21
Alles neu macht der Mai 7.12.

Das mit dem Häuser bulldozern ist der bessere Ansatz, an dem internen Zähler für die Bevölkerung rumschrauben macht mehr Probleme als das Abwandern erfordert.

So gibt es beispielsweise die "magische Zahl" 511, jedesmal wenn der interne Bevölkerungszähler ein vielfaches davon erreicht, wird eine Touristenattraktion gebaut - der ursprüngliche Emigrationsansatz führte nun in einem Spiel dazu, dass eine Stadt 5 Kirchen besass, weil die Bevölkerung immer um 511 (oder auch 1022, hab's nicht nachgeschaut) pendelte. Dass ich dann Bielefeld in Würzburg umbenannte* kann so keine Lösung für den Bug sein.

Der neue Ansatz spart sich alles rumfummeln in den internen Variablen und läuft über das Abreißen von öffentlichen Gebäuden (Wohn- und Gewerbehäuser) nach folgendem Ablauf:

- in der simuconf.tab werden 3 Werte definiert, diese entsprechen grob dem Prozentwert von generierten Passagieren zu transportierten Passagieren
- sobald in einer Stadt genügend Passagiere transportiert werden, dass einer der Prozentwerte überschritten wird, wird das von den Bewohnern erwartete Transportlevel dauerhaft angehoben
- sinkt jetzt das Verhältnis der transportierten zu den erzeugten Passagieren unter das erreichte Transportlevel wird der Zähler für das Schrumpfen der Stadt erhöht
- sobald der Zähler den Schwellenwert übersteigt, wird zufällig aus der Gebäudeliste ein Objekt herausgezogen, wenn dies keinen Besitzer hat und ein Gewerbe- oder Wohnhaus ist wird es von der Karte entfernt (was dann eine Neuberechnung der Stadtgröße nach sich zieht, hier kommt der Bevölkerungsverlust her)
- gleichzeitig dazu (egal ob ein abreißbares Haus erwischt wurde) wird auch das von den Bewohnern erwartete Transportlevel verringert

Durch das zufällige Auswählen eines Gebäudes kann es auch wertvolle erwischen (nicht nur die Hütte mit pax- und post-Level von 1 sondern auch das Wohnhochhaus mit pax 9), um durch Würfelpech ein zu krasses Schrumpfen zu verhindern werden im Schrumpfungsschritt nur dann Häuser entfernt, wenn das negative Wachstum kleiner ist als 10 % der Bevölkerung.

Bei großen Schritten der Transportlevel-Prozentwerten (z.B. 5%, 50% und 95%) ist das Auswandern tendentiell geringer (da seltener die Grenzwerte unterschritten werden), deutlich heftiger wird es bei nahe beieinander liegenden Werten, bei partyschreck's XC-Speicherspiel mit den sehr gleichformigen und hohen Transportzahlen sind 65%, 75% und 85% *sehr* schmerzhaft für die Bevölkerung...

Mit einem frischen Spiel habe ich es noch nicht angetestet, aber wahrscheinlich sind Werte wie 10%, 33% und 66% mit den üblichen Wachstumsregeln sinnvoll zu spielen.

http://pastebin.com/3aM4Rz83

Das ganze im Spiel sieht dann aus wie im Bild, am Meldungstext könnte ggf. noch gefeilt werden Smile

*) angeblich die größte Kirchendichte in Deutschland


Angehängte Dateien Thumbnail(s)
   
Zitieren
#22
renke
Die Idee der Auswanderung über das Abreisen von Gebäuden zu steuern ist in meinen Augen Keine
gute Wahl!
Besser ist es die Auswanderung interen über den Zähler zu reglen!
Auserdem solange es keine Simutransversion gibt die Andere testen Können ist die Idee nicht
spruchreif.
:!: Mein Festnetz Internet ist leider etwas langsam. :!:
:!: Deshalb werde ich gelegendlich Eine Simutranspause machen. :!:
:!: Um dann am Meine Simutransprojekte arbeiteten und neu Ordnen zu Können! :!:
Zitieren
#23
Zitat:Die Idee der Auswanderung über das Abreisen von Gebäuden zu steuern ist in meinen Augen Keine
gute Wahl!
ist es das? finde ich nicht. sind nun alle Argumente ausgetauscht?

Zitat:Besser ist es die Auswanderung interen über den Zähler zu reglen!
der interne Zähler ("bev") hat gegenüber dem Abreißen von Häusern einige Nachteile:
- über bev wird primär berechnet, wie viele Bewohner wohnungs- und arbeitslos sind, das Ändern dieses Wertes verändert das gesamte Balancing (hinsichtlich Stadtwachstum und Bauen von Gebäuden durch die öffentliche Hand)
- die Einwohner der Stadt (also das aus dem Info-Dialog) werden berechnet über das Level der Häuser plus bev, da ändern zweiteres Balancing-Probleme verursachen kann ist ersteres naheliegend
- die Menge an Passagieren wird nur über das Level der Gebäude gesteuert, der erste Ansatz hat damit - trotz schrumpfender Stadt - das Verkehrsaufkommen nicht gesenkt
- Gebäude abreißen gibt ein direktes Feedback (rate mal, wann im Screenshot Bewohner mit meinem Verkehrssystem unzufrieden waren), das kontinuierliche Abwandern anhand der Werte "nicht transportiert" und "arbeitslos" ist ein nicht direkt spürbarer (und einschätzbarer) Faktor in der recht linearen Kurve Bevölkerungswachstum.

Zitat:Auserdem solange es keine Simutransversion gibt die Andere testen Können
?
es ist doch alles vorhanden, was zum Bauen notwendig ist

wenn du nicht kompilieren möchtest könnte ich Linux-Binaries (i386 & amd64) anbieten, die anderen unterstützten Plattformen besitze ich nicht.

Zitat:ist die Idee nicht spruchreif.
zu melden habe ich hier eh nix (aber dafür einen Heidenspaß mit einem Spiel, in dem sich die Einwohner deutlich melden, wenn mein Transportnetzwerk stottert)

[Edit: Narf, Attachment vergessen...]


Angehängte Dateien Thumbnail(s)
   
Zitieren
#24
Falls ich Zeit finden könnte (und der Code dem alpha-Level entronnen ist), könnte man ja über ein Compilat über alle Plattformen reden.

OT:
scherz>Soll ich Dir dafür meine Kontonummer geben?</scherz>
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#25
Zitat:und der Code dem alpha-Level entronnen ist

lolwhut? ich wäre froh hätte der Code Alphastatus ERREICHT

Zitat:Soll ich Dir dafür meine Kontonummer geben?

ich würde ja gerne die Zigmillionen Credits aus dem aktuellen pak64-Spiel* überweisen, aber in keiner der Städte gibt es eine Bank mit so einem Banking-Terminal**

*) nach einiger Zeit pak128 ist irgendwie alles andere ein Kinderspiel...
**) Grafiker vor!
Zitieren
#26
Eine Implementierung wäre sehr schön. Theoretisches Wissen von http://pastebin.com/3aM4Rz83 habe ich zwar, aber daraus etwas lauffähiges zu bauen ist mir nicht möglich.
Zitieren
#27
Die letzten zwei Tage habe ich mit dem 3-Stufen-Ansatz recht lange ein pak64-Spiel ausgetestet - noch nicht ganz das Wahre; einige Städte hängen ständig um eine der Grenzen herum (10, 33, 66 hatte ich gesetzt), andere waren nie von der Abwanderung betroffen.

Die einzige Lösung scheint mir zu sein, dass jede Stadt aus ihrem Wachstum und dem Transportsystem heraus ein Wunschlevel für den Personentransport erstellt (emergent dürfte das Modewort dafür sein), was ich nun zusammengebastelt habe.

Das ganze läuft dann so:
- aus Beförderungswünschen zu durchgeführten Beförderungen wird ein Transport-Level errechnet, dieses ist der Zielwert, der erreicht werden muss. Das Transport-Level kann im Regelfall nur steigen und entspricht den Erwartungen der Bevölkerung an die zu erreichende Beförderungsqualität.
- in jedem Schritt wird das Transport-Level verglichen mit den tatsächlichen Beförderungen, sinkt die Zahl der Bevölkerungen unter das Transport-Level steigt der Abwanderungswunsch an (die Bevölkerung verzeiht dabei eine gewisse Transportverschlechterung)
- wenn genügend Menschen abwandern wollen, wird das Transport-Level um eins gesenkt und über die Hausabriss-Methode die Bevölkerung gesenkt

Es gibt keinerlei Variablen mehr, die in der simuconf.tab gepflegt werden müssen - aber dafür lässt sich die Depopulation auch nicht deaktivieren Smile

Ohne mich weiter um i18n zu kümmern (die ich im ST-Projekt recht umständlich finde) gibt es auch Feedback vom Programm: Einerseits mit der bekannten "emigrated to Mars"-Infobox, andererseits wird in der Stadtliste hinter dem Name von Städten mit zu geringer Personentransportqualität ein Ausrufezeichen angezeigt.

Am Wochenende werde ich systematischer erforschen, was das in einem frischen Spiel bedeutet.


Angehängte Dateien Thumbnail(s)
   
Zitieren
#28
renke
Programmieren ist nicht meine Stärke!
Aber das malen und Zeichen von neuen Simutrans Modellen ist bei mir eher möglich !
Deshalb habe ich auch bei meiner letzten nachricht nach einer Testsimutrans.exe gefragt!
:!: Mein Festnetz Internet ist leider etwas langsam. :!:
:!: Deshalb werde ich gelegendlich Eine Simutranspause machen. :!:
:!: Um dann am Meine Simutransprojekte arbeiteten und neu Ordnen zu Können! :!:
Zitieren
#29
Nun, ich habe eben keinen Zugriff auf ein Windows-System mit C++-Compiler - ich kann da einfach nicht liefern.

Was mich überraschte (wenn man drüber nachdenkt eigentlich nachvollziehbar, aber ich erwartete irgendwie anderes) ist, dass weniger das Stadtwachstum ohne Ausbau des Personentransports dafür sorgt, dass Bewohner ausziehen, sondern der deutlich größere Anteil durch überfüllte Haltestellen nicht mehr transportiert werden können.

Im neuen Spiel habe ich nach 1,5 Jahren alle Städte und Industrien verbunden, ohne dass das Transportnetz wirklich leistungsfähig genug für die erzeugten Menschenmassen ist - das war dann der Punkt, an dem in ersten Städten Personen wegziehen.

Bisher noch recht interessant, wie es später im Spiel wird kann ich (noch) nicht sagen. Probiert's halt selbst aus Smile
Zitieren
#30
Dass meine Vorschläge so unverständlich waren, ist mir zwar nicht verständlich, aber äußerst schade, wollte ich doch auch einen Teil dazu beitragen. Dass die Menschen umziehen sollten, wollte ich nie. Das war nurn Beispiel, um meine Idee zu erklären, was ja nich geklappt hat.
Andererseits muss ich aber sagen, dass meine Vorschläge mittlerweile überflüssig zu sein scheinen, da die aktuelle Idee von der Theorie her ganz gut klingt und meine Ideen im Nachhinein betrachtet wohl nur noch mehr Probleme gemacht hätten. Bin gespannt, was hier weiterhin passiert und nicht abgeneigt, ein Abwanderungsspiel zu zocken. Allerdings will ich jetzt grade die Zeit nicht aufwenden. Das kommt aber auf jeden Fall später, vllt nach Weihnachten
Zitieren


Gehe zu:


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