Im Zuge der mittlerweile unzähligen Performance-Diskussionen sind mir immer mal wieder Kommentare aufgefallen, bei denen einige User sich die Frage stellen, wieso Urban Games nicht einfach ne Multi-Core-Engine von der Stange nimmt oder darauf wechselt? Nun, die Antwort liegt in der Vergangenheit des Spiels und die habe ich mal versucht zusammenzutragen, weil das in meinen Augen vieles von dem erklärt, wieso das Spiel so ist, wie es ist....
Die Geschichte
Alles begann im Jahr 2001 als zwei Forscher der ETH Zürich auf der Siggraph conference ein Paper über eine von ihnen entwickelte 3D-Engine zur prozeduralen Generierung und Entwicklungs-Simulation von Städten einreichten.[1] Die Engine, die den simplen Namen CityEngine trägt, wurde mit der Zeit weiterentwickelt und 2008 über ein Spin-Off der ETH Zürich namens Procedural Inc. erstmals kommerziell veröffentlicht. Als Software Engineer mit dabei war auch ein gewisser Basil Weber, der in seiner Masterarbeit eine effiziente Methode zur Stadtsimulation entwickelte, welche in die CityEngine integriert wurde.[2] Zur gleichen Zeit begann er wohl auch mit der Entwicklung von TrainFever.[3]
2009 erschien ein weiteres Paper über die CityEngine mit dem Titel "Interactive Geometric Simulation of 4D Cities".[4] Zu diesem Paper gibt's auch ein Youtube-Video, was den damaligen Stand der Engine zeigt und noch immer eine gewissen Ähnlichkeit zu dem hat, was wir heute in TrainFever und TransportFever sehen können:
Im Juli 2011 wurde Procedural Inc. dann vom amerikanischen GIS-Entwickler ESRI übernommen [5] und in das ESRI R&D Center Zürich umgewandelt. Die CityEngine wird bis heute von ESRI vertrieben und weiterentwickelt.[6][7] 2012 wurde ein weiteres Paper über die CityEngine veröffentlicht, diesmal ging es um die Prozedurale Generierung von Parzellen [8]. Im selben Jahr wurde die Entwicklung von TrainFever öffentlich [9]. 2013 verließ Basil Weber ESRI und gründete zusammen mit seinem Bruder Urban Games. Im September 2014 erschien schließlich TrainFever und zwei Jahre später TransportFever.
Was sagt uns das?
Die Ursprünge von TransportFever sind schon relativ alt und wahrscheinlich war die Ur-Engine eher für Stadtsimulation gedacht als für ein Spiel. Wobei nicht klar ist, ob TrainFever nicht sogar mal mit der CityEngine programmiert wurde. Sicher dürfte aber sein, dass sich TransportFever noch so ein wenig mit Altlasten rumschlägt, wenngleich das Ganze schon deutlich performanter ist als früher und auch mit der ursprünglichen Engine nicht mehr so viel gemeinsam haben dürfte.
Für TpF kann man die Engine nicht mehr wechseln, da das a) viel zu aufwendig wäre und b) die Savegames wohl auch nicht mehr kompatibel wären. Zudem dürfte UG mittlerweile auch ein kleineres Tool-Ökosystem um die Engine herum gebaut haben, mit dem sie arbeiten und was man nicht so schnell wegwirft.
Spannend wird, ob das nächste Spiel nochmal auf dieser Engine basiert oder ob sie was komplett Neues machen...
[1] Yoav Parish, Pascal Müller: Procedural Modeling of Cities: https://github.com/felix11/Ope…_cities__siggraph2001.pdf
[2] Webseite von Procedural Inc., https://web.archive.org/web/20….com:80/company/team.html
[3] Profil von Basil Weber, linkedin.com, https://ch.linkedin.com/in/basil-weber-65ba7a13
[4] Basil Weber, Pascal Müller, Peter Wonka, and Markus Gross: Interactive Geometric Simulation of 4D Cities, https://www.cg.inf.ethz.ch/Dow…pers/2009/Web09/Web09.pdf
[5] http://www.esri.com/news/relea…e-company-procedural.html
[6] CityEngine, Wikipedia, https://en.wikipedia.org/wiki/CityEngine
[7] ESRI CityEngine, esri.com, http://www.esri.com/software/cityengine
[8] Carlos A. Vanegas, Tom Kelly, Basil Weber, Jan Halatsch , Daniel G. Aliaga, and Pascal Müller: Procedural Generation of Parcels in Urban Modeling, https://www.cs.purdue.edu/cgvlab/papers/aliaga/eg2012.pdf
[9] Welcome to Train Fever!, http://www.train-fever.com/2012/06/welcome/