News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

Simutrans 25th Anniversary

Started by Roboron, June 30, 2022, 07:07:58 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Roboron


Hajo's first Simutrans sketch. At the top-right, a date can be read: 30-06-1997. Today, 25 years ago.

Simutrans started 25 years ago. Not yet as bits and bytes, but in the mind of a man: Hansjörg Malthaner (known by the Simutrans community as "Hajo"). Today, Simutrans is still alive, not only as bits and bytes in the thousands of computers (and now smartphones) that run Simutrans, but also in the hearts of many talented programmers, excellent artists, amazing modders and dedicated players.

To everyone of you: Thank you! Simutrans has gone very far, and it will go even further, thanks to everyone who believes in the Simutrans project.

Let's take some time to congratulate ourselves and celebrate this milestone!



But first things first...

[h2]A little bit of history[/h2]
Hajo started Simutrans alone in mid-1997. It was not until early 1999 that the first public beta was released. Simutrans started gaining some interest, and the first contributors, as the precursor of our current forum was created in the early 2000's to accommodate a growing community.

Hajo kept developing Simutrans until he retired from development because of personal reasons in 2005. Since then, Markus Pristovsek "prissi" takes care of Simutrans, but not alone. In 2007, Simutrans became open source. This move ensured the long term survival of Simutrans and attracted many contributors.

Simutrans stayed on good track after that and would eventually come to other platforms such as Linux distributions, Steam, or more recently, Android.

Meanwhile, as Simutrans matured, other projects were born from it with the intention to innovate even further like jamespetts' Simutrans Extended or himeshi's OTRP.

But enough of reading about history. Reading about history is boring. So why don't you instead see it?

[h2]The Simutrans Interactive Timeline[/h2]
For the first event of this anniversary, here is an exciting idea: Let's build a Simutrans Timeline of events. Surely a project as old as Simutrans has a lot of history to tell! So let's tell it, graphically.

The very good news is that we already have built the foundations of this timeline, and it is interactive!



See it right now at simutrans.github.io. You can look more closely an also filter by event type. Here is a closer look at the last two years.



I have added the events that came to my mind, but there are many things missing, and I don't know everything about Simutrans. Help us get a complete view of Simutrans history by adding missing events to the repository at GitHub. Missing releases, the date a contributor joined, or important events such as the forum migration. Every help is welcome!

[h2]The Simutrans 25th Anniversary[/h2]
That's not all we have prepared for this anniversary, but that's all for today. In the upcoming weeks, you will see more posts to celebrate the anniversary. Join us in two weeks from now for an exclusive interview with the Man Who Started It All: Hansjörg Malthaner (Hajo).

Happy Simutransing!

prissi

#2
Thank you very much for that work. ALso, did you made that cake? Looks really good ...

Could there be end dates, like for pak sets or contributors?

Matthew

Happy birthday Simutrans!

PD Animated Fireworks Smallest.gif

Roboron, this post series is a great idea and I really, really enjoyed it.

I only wish I had known the anniversary was coming so that I could prepare posts on Reddit etc.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

Isaac Eiland-Hall

Happy 25th to Simutrans!

The earliest forum snapshot on archive.org: https://web.archive.org/web/20050729004628/http://forum.simutrans.com:80/

The earliest version of simutrans.com from my era: https://web.archive.org/web/20040525180729/http://simutrans.com:80/

This one has the first graphics from me: https://web.archive.org/web/20040609051452/http://simutrans.com/

I hadn't realized that someone (surely Hajo) had registered it earlier and then let it go: https://web.archive.org/web/20010312171136/http://simutrans.com/

And one captured with graphics: https://web.archive.org/web/20010520040838if_/http://www.simutrans.com:80/

Roboron

Quote from: prissi on July 01, 2022, 02:07:59 AMThank you very much for that work. ALso, did you made that cake? Looks really good ...

Could there be end dates, like for pak sets or contributors?

Sorry, no time left for cake making. Maybe for the 50th anniversary...

Yes, you can add end dates. Events can also have and end date in addition to the start date, but then I do not recommend doing this as it takes so much space (so I used backgrounds when really needed)..

Quote from: Matthew on July 01, 2022, 07:38:35 AMI only wish I had known the anniversary was coming so that I could prepare posts on Reddit etc.

I think this was discussed briefly on a Devotee thread (in which you participated) some months ago. I also remember to had teased it in some of the first posts I made this year, and then two weeks ago again in the latest Simutrans Extra.
Quote from: Isaac Eiland-Hall on July 01, 2022, 06:37:45 PMThe earliest forum snapshot on archive.org: https://web.archive.org/web/20050729004628/http://forum.simutrans.com:80/

Seems like this is the oldest post, so I'll take that as the start date 👍

QuoteHow to use this forum...    Isaac.Eiland-Hall    0    358    July 23, 2005

Thank you very much for the links. I've added those to the Timeline now, including also https://web.archive.org/web/20030411182703/http://www.simugraph.com/forum/ which seems to be the first simutrans-related forum.
_____

Since yesterday I've made some modifications to the Timeline, because Flemmbrav asked for possibility of adding sources. Now, when you click an event, it will show details, including the source (if any). It is a good idea because this serves as a way to document Simutrans' history. I have added some sources, including the links by Isaac.

Use "source_name" and "source_url" fields when adding events to define it. Also the images are now added to a separate "img_url" field, for easier editing.

prissi

I have added some old versions to sourceforge museum
https://sourceforge.net/projects/simutrans/files/Museum

The 0.5 version runs only in dosbox and crashs on every user interaction.

For the other version, please be aware they need usually -res 5 in the commandline to start in a window, or they fail to switch to fullscreen 16 bit under modern windows versions.

Yona-TYT

Happy 25th to Simutrans!. 8)   :star: :star: :star: :star: :star:

Wow 25 years ago I was barely 1!.

It's great to see all the support and love from the fans of the project! . :thumbsup: :thumbsup: :thumbsup: :thumbsup:

@Roboron, Thanks for all your effort! I think that in the few years you have been in the forum you have done more than I have in 10 years here hehehehe, greetings friend!. ;D ;D ;D  

prissi

I added a video of the code contributions in the last 17 years:
https://youtu.be/tj03xoPTEXY

Roboron

QuoteCompared to the old version ending in 2011, the video is less nice, since the obsolete tools have not been really not been updated since 2011 and the old versions I needed to install to run it were producing slightly different output.

Have you tried this? https://gource.io/

prissi

Interesting.

Since lots of contribution in the SVN need hand editing, since they were either commited by me or dwachs but submitted via the forum. (True even for your first five patches or so.) So I hacked the contering python script from codeswarm and converted the history.txt for a relase log. Still some work needed to finetune parameters.

KneeOn

It's been 15 years of playing and trying to contribute and there was a whole decade of history before, what a journey Simutrans has been on. There can't be many games with this longevity and active development in one release strand...

Roboron

Simutrans was started 25 years ago, not by a game development company, not even by a team, but by a single man who dreamed to build the best ever transportation simulator: Hansjörg Malthaner, known by the Simutrans Community as "Hajo".

But who is this "Hajo"? How did he develop Simutrans in its early days? What has he been doing since he left the project, and what does he think about Simutrans today? We have reached Hansjörg Malthaner himself for an exclusive anniversary interview to reply to these and more questions.

Let's begin the interview!
________________________________________________________________

First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?

I live in Stuttgart, Germany. A place that often is called boring and provincial, but actually the living quality here is quite good. To German standards it counts as a larger town with a population of more than half a million people.

Most of my professional career I've worked as programmer, mainly using Java. Later the focus changed to quality assurance and automatization of build processes, testing and deployment. Meanwhile research has also become an aspect, to find and compile information which enables other people to do their work efficiently. In summary, still all typical software development just with emphasis on different aspects of the development process.


With such a curriculum, it is of no surprise that programming is also a big hobby of yours. But do you have any more hobbies?

There never was a scarcity of hobbies, just scarcity of time. Electronics was something that I was very interested in during my teenage years, and which recently was refreshed by experiments with microcontrollers, like the Arduino. Gardening was something that I picked from my parents. Not sure if hobby is the right term, it's more just part of my life all the time. As child I used to paint, and art has become a growing focus, while programming became less of a hobby and just a profession. Traditional art, pencil and watercolour, but also 3D art with help of the computer. Also experiments in sculpting and with arrangements of dried plant parts and rocks, but I even have written a few story fragments, that got some positive recognition.

Cooking has also taken a bigger role in my life lately, and I consider that a very nice hobby, particularly in conjunction with gardening and the options to grow some vegetables of my own. At times I build furniture or refurbish old furniture. There is really a lot of different things that I'm interested in. Music, both in composing or performing is likely seeing the least attention, but that didn't stop me from building a pipes instrument which is played similar to a xylophone.

Overall I think the shift away from programming released a lot of energy that went into very interesting and often also very satisfactory activities.


Talking about your art hobby, in the previous interview (more than 10 years ago) you stated that you were bad at 3D modelling. But now, looking at your art gallery, you have definitely improved a lot. Did you work on any 3D-related project that boosted your ability?

I think I am still bad at 3D modelling, but over the years I found ways to work around this and still produce interesting scenes. There are things like people or animals though, which I can do only with a huge investment of time.

There was no particular project, but at some point I changed from drawing game related graphics to 3d modelling. The rendered graphics both were more consistent and of higher quality than what I could draw. That set my focus on using the 3d tool, and made it worthwhile to really try to get good at it.

I'm still learning new things all the time though. Both about the 3d software and also how to set up scenes. There was no quick boost, it was more of a slow progress over many years. As you mentioned, 10 years passed and I even had used the 3d software before.

The next level will be short movies, so I'll have to learn how to move the camera, when to zoom how to cut and blend from one view to the next.


One of the artistic creations of Hansjörg Malthaner


Did you work on any serious project before starting Simutrans?

I'll say no. I had made a ray-casting engine, the original Doom game was popular the early 90s, and a simple space flight simulation, as I was an Elite fan. Also a drawing tool. Well, let's say the drawing tool was a serious project and actually used by some friends. But it soon was surpassed by other tools which were available for free. Also I had made a tool to model a sort of skeleton for 3D puppets and pose them easily. That one had potential but also limitations. Now tools like Blender serves the same purpose and does it much better. So I was working on projects, but none of them was published, at best shared with friends. Just the drawing tool I've offered as download for years, but I don't think it ever was used by many people.

A remnant of the space flight project persists, it went through many incarnations, had become Solarex, then Solarex GL, then Stellar Prospector, using OpenGL for display but deep inside there are still some design ideas that came from the old 3D space thingy. It actually might become a game some day.

https://freegamedev.net/d/22-stellar-prospector-formerly-solarex-gl

Allow me a note here - Simutrans did not start as a serious project. It started as a "let's see if I can do something like this" project and was only published when a person whom I had told about it in a sort of forum, asked to show a demo. The first versions were very bad, crashed often and barely had any functionality but show vehicles moving over roads on a tiled landscape. It took a lot of time to get past this infant stages.


The drawing tool sounds interesting. Did you ever use it to paint Simutrans graphics?
Yes, all the early graphics of pak64 were made with it. At that time 8 bit graphics with colour maps were still pretty standard, and the tool was aimed at working with colour mapped images. Later I changed to GIMP which is now the graphics tool that I use the most.

Actually, I forgot a later incarnation of the drawing tool, which focused on creating tile sets for games with tiled graphics. That one was used for some of the graphics in pak48.Excentrique, but more to conveniently handle and edit them. Most of the graphics were made with PovRay, a ray-tracing tool.


A screenshot of the painting tool "Drops" main menu.


So at mid 1997 you started Simutrans. A transportation simulator. Of all the projects you could have started, you started a pretty complex one. Did you ever think that the project was too much of a task for you?

Yes, I was often pushed to the limits of my skills. Particularly creating suitable graphics was a big problem. One time I got a comment, "Simutrans is too ugly to play."

I sure wanted to do better, but at the time my graphics skills were just not good enough, and only slowly improving as well. Programming was also tough, but a task that seemed to be more a matter of time to develop good solutions.

So from about 2000 I had been looking for help, and while it was very hard in the early days to find people willing to help, the more the project grew, the more it showed potential, the more offers came. I think, you can still see all the names in the credits scroller of the intro screen. Some had gotten monuments in the game. That time there was only one pak set, so pak64 was "the game" as much as the binary.

Only few wanted a monument though. So some had their names or nicknames preserved as vehicle manufacturers, architects and company names in the game. Some wanted no mention like that and only are named in the credits.

It was my way to honour those who helped in the years when help was really hard to get.


How did you promote Simutrans and find your first contributors in the early days?

This is a surprisingly tough question. After this long time memories can be deceiving. I remember the first announcement was made in a Usenet group, but version was very incomplete, so definitely not suitable for promotion.

I remember that for a while there were a very small number of people who had shown interest and which whom a had frequent email contact to talk about the project.

Before the first forum, we used e-group, a mix of mailing list and file repository. That was the major place for Simutrans for some years. Actually I tried to keep all talk in one place, I did not want to scout a lot of places daily and look if there are questions or comments which I should respond to.

Later it spread out, and we moved from the e-group to a forum which I hosted for a while. At that point I am fairly sure that I posted links in several game development places to the forum to attract more people.

This way I got into a surprisingly friendly contact with someone who was working on a commercial transport game.

But the pressure to promote was smaller, internet was somewhat exclusive. In private I did not have internet access before 1998 and that was a pay-per minute dial up connection, so any minute online was costly and somewhat precious.

Usenet also was a good place to get in touch with other game developers, but over the years, that also moved to forums.

It was not before 2015 that I published a game video on YouTube, way past my active time with Simutrans. I never was on Facebook, so my social media experience is limited.


How was the reaction to the first releases of Simutrans?

I really can't remember many details. It was just a demo, to show vehicles driving on roads. A proof of concept for the landscape display and vehicle driving. No game by far, and most of all, the early versions had no railroads.

A few people believed that it can become a proper game, helped with testing and feedback. If there were negative comments I seem to have forgotten, except that the art had to be improved a lot. That stuck, cause I could program, but not paint, and I had to deal with it somehow.


One of the first Simutrans demos released.


You have been quite a while apart from Simutrans. Do you miss working on Simutrans?

I certainly did not miss the working. I felt burned out and disappointed when I left, at least that is what I remember. Also more than once I voiced the opinion that software projects are a bad hobby for me, and even that I started a few over the years, it usually boiled down to the very same finding. These projects do not make me happy. I now have a stance, to only work on them when I really want to, which means that there are often year long breaks.

I missed the talk though. Usually around these projects there were challenges, ideas, solutions. They often were challenging in many ways, technical, artistic and in interaction of the player and the game. I liked to talk to other game developers about such.


What is the biggest challenge you faced when working on Simutrans?

At first I was tempted to say route calculations for vehicles and goods. But while this indeed was the biggest challenge in the early days, long term, the creation of good graphics and sound effects turned out to be an even bigger problem.


While graphics have improved over time thanks to pakset authors (pak128.german, pak192.comic, and pak256 specially), the sounds are indeed still a challenge no one wants to take. Is there anything more you think current Simutrans is in great need of improving?

I think a better user interface is needed. One that is easy to learn, understand and use. One which makes common tasks easy to accomplish. Also I think, a better looking user interface would be nice on top of an easier to use one.


Simutrans Depot window with the classic theme. The UI has improved since then, but not by much.

What was the thing you liked the most about working in Simutrans?

Actually, the thing I liked most was the feeling to be important. Older games, like civilization, had a big name on the title screen. Now I was on my way to join the ranks of these, whom I admired for their game making.


Simutrans has changed a lot through the years. When you look at it today, what makes you think?

It might sound strange, but often I wonder how much of it still is the same. All the core of the game is still quite like in the old days. I think the underground mode is the biggest new part, much of the rest was optimization and tuning what was already there. And yes, the networking code. I had a different approach in mind, and the team chose what I considered the hard way to do it. So that truly is new and it was no easy feat.


Simutrans has stand the test of time, so far. But it reached its peak in April 2012, when the game was downloaded more than 100.000 times on SourceForge. Since then its popularity has declined slowly but surely. What do you think this is due to?

I can think of three reasons. The first one is kinda obvious. Even free to play or indie games nowadays have very good graphics. Simutrans struggled to get on par with games from the 90s, and clearly looks very poor these days, compared to what players are used from other games.

The second is a more general change in gaming. Simutrans is very complex. Overall there has been a trend to simplify games. I think for most new players these days, learning how to play Simutrans is ridiculously hard.

This leads to the third point. Simutrans offers nothing inside the game to help new players. At least nothing that is easily accessible. After starting Simutrans, a player is prompted with some menus, lots of options to choose, and if they make their way through it, they are left with a kinda sad looking map and a bar of icons.

I think most new players give up at this point, if they even make it past the map creation dialog. They want to play a transport game but have to choose a pak set - a term that new players don't even know - and then create a map. "Where is the transport game?", many will think. And the newly generated map doesn't look that much like a transport game either.

I think Simutrans is just  too obscure for new players and not looking good enough. These days games must look very good and help the player right from the start to give them a feeling of success.

But these are just my thoughts, and others my find other explanations.


If you were to start Simutrans today, would you make it different? Would you make it simpler to accommodate the game to current trends?

This is a difficult question. I was not very experienced, neither as programmer nor as game designer and if I put myself in that position today, I think I'd again miss to understand the importance of a good interface and what is called user experience today. It had not been part of my studies, it's something I've learned later.


When you left Simutrans, the code was still closed-source. However, a few years later, you agreed to open-source it. Why did you took this decision then and not before? And why was the Artistic License choose over more popular open-source licenses?

The message from Prissi came in a very bad time. I was very depressed and not able or not willing to care. I was just like "leave me alone and do what you want with Simutrans". I was not involved in the choice of license, I think. I am sure I was asked but did not discuss, just said the choice looks good to me,  that is what I remember. I did not think much about the consequences. I just tried to live. If you are depressed like that, you care very little about license details and I did not expect to get in touch with the project again, so it meant very little to me those days.


An old post by Hajo, stating that he would open-source Simutrans should he left the project, which he finally ended up doing


There has always been the discussion of OpenTTD vs Simutrans, because they are both open source transportation games with similar looks and inspirations. While Simutrans is a success, it is far from OpenTTD in term of success. Why do you think players prefer OpenTTD over Simutrans?

The Transport Tycoon games had a huge fan base already when I started to work on Simutrans. And they are good games. There is little reason for their fans to look for alternatives.

Another aspect came to my mind when I dug out TTD once and compared it to Simutrans. It had limits, but it felt more fun to play. More dynamic? More "game"? Hard to really name it. My impression was, Simutrans is a huge and heavy simulation, TTD though was more fun to play.


It is hard for any project to be alive for 25 years without an organization backing it. And yet, here it is Simutrans. What do you think are the reasons Simutrans has gone so far and lasted so long?

I think it's mostly Prissi's determination and persistence, also Dwachs. Maybe there are more which I missed here, due to my long absence from the community. But in any case, it's the persistence and endurance of the people around it.


What's your opinion about Simutrans Extended? Have you ever played it?

I never played Simutrans Extended but I think it's good to have some competition. Usually this sparks new ideas and gives a push to try new approaches and solutions.


Finally, the question everyone wants to know., What is your favourite pakset?
pak96.comic was much to my liking. I don't know if it is still in development, but I liked the easy and fun approach taken there.


"Big Bus station" from pak96.comic, 1st place SMSC October 2010


Let's talk about your other recent project, "Stellar Prospector", a sim trading game set in the space. What are your inspirations and what do you want to accomplish with it?

Inspirations are old, games like Elite and Elite 2 - Frontier, but to some extent also Masters of Orion and Ascendancy.

The project's core is very old, dates back to 2000 or even before. It started as a stellar system generator, suns, planets, moons, atmospheres, resources and physics that were at least not openly nonsensical, even if very likely nowhere accurate either.

After that stage it became a trading game, actually without a flight simulation, well eventually a very limited 2D one. Just enough to get from place to place, cause that is what a trading game needs.

Then I've tried to add a 3D flight simulation, but never could fix some bugs in the display of the planets. I think, compared to other projects of mine, it got some pretty cool looks, though.

There were days when I really wanted to make a proper game out if it. I designed 5 major species to inhabit the galaxy, some politics and an attempt to simulate social events like sports events and concerts. The game even had a newspaper to read what happens in systems near and far.

But in one of the former questions you asked what is the reason for the success of Simutrans and I answered, the persistence and endurance of the core team members.

I don't have that any-more, or maybe never had. So at the moment I don't want to accomplish anything with it and I think the last update happened a year ago.

Furthermore there are now projects like Elite Dangerous and Star Citizens, crowd funded, very ambitioned, with very good graphics and likely way better stellar system generation code than mine.

So I don't think it makes sense to have big plans here. I'll work on it if want to try something, or to entertain myself in boring times.


A screenshot of Stellar Prospector


Thank you very much for this interview. Anything more you would like to say to Simutrans players?

Actually the ones I would like to address are those who joined and helped in the early years. They joined while the project hardly showed potential, had very limited graphics and it was closed source. Thank you for your trust in the project and thank you for the contributions.

Isaac Eiland-Hall

Hajo, if you ever find and read this: I may know the name Sid Meier from the Civ games, and I play the Civ games, and they benefit from being companies that can hire artists and programmers...

...but I've spent way way more time in Simutrans, and speaking personally, I consider you more important than Sid. I was sad when you broke away, worried about you. I've always wished there was more I might could have done to help things. But either way, I owe a great deal of debt to you and thanks to you for something that is part of my life.

Let those that want to play OpenTTD do so - great game, but I prefer Simutrans hands down.

KneeOn

I want to echo Issac. 

I was bunking off revision on my parents PC and I needed something like Sim City or Railroad Tycoon. 

I too play a lot of Civ, Cities Skylines and No Man's Sky but Simutrans is an absolute constant in my life. 

I think it always will be. I come and go, sometimes the gaps are months. 

It's good you mentioned Prissi and Extended as you did - the recent addition of timetabling is a great example of features jumping over etc. 

The entire dev team, starting with you, have created a community like no other in my view. 

Roboron

#15
In the last post of this series we talked with Hajo about the first years of Simutrans. However, many of the players reading this today have never played a Simutrans version from Hajo's era. If you ever wanted to take a taste of one of the earlier Simutrans releases, today is your lucky day!

The first demo version

A screenshot of Simutrans demo version 0.50, with text in German.

The first of the versions we have made available is not the actual first release, but it is pretty close. This beta version was released on 02/05/1999, while the history.txt starts just two months before (06/03/1999). As the "demo" name suggest, this version has practically no content, and crashes frequently, since it was just a version to show up the Simutrans engine working and a little more. Because of this and the need to use a DOSBOX, we recommend you to skip this version and try the next one if you want to truly play an early Simutrans.

The first playable version

A screenshot of Simutrans beta version 0.78.7 with the minimap and some toolbars and windows opened.

Thanks to the donation of user Khaki we got our hands on one of the firsts playable versions of Simutrans, beta version 0.78.7 (released on 14/06/01, two years after the previous demo). As you can see in the image, this version has already some basic working tools (rail, road, ship and terrain tools). The minimap is also present, with a familiar view.

You can play this version natively on Windows or with WINE under Linux, although you might find some game-breaking bugs (particularly one with pop-up windows).

The Museum and other versions
In the SourceForge Museum you can find the versions mentioned in this post and other versions from Hajo's era (beta versions 0.80,  0.84.01, 0.84.04.1 and 0.84.10) which were recovered thanks to Markus Pristovsek. Do you have any other previous version of Simutrans not listed there? Please share it with us!

And of course, you can still download (and compile) any version of Simutrans since it became open-source on SourceForge.

Talking about Markus Pristovsek, join us two weeks from now as we will interview the lead developer for the 25th Simutrans anniversary!

Roboron

After Hajo left Simutrans, a man took care of continuing development - and has continued to do so for over 17 years (more than double the time Hajo was involved with Simutrans!). Without him, we would not be here today celebrating 25th years of development. It is now the turn of developer Markus Pristovsek (known as prissi) to answer some questions!

You will find that many questions are similar to those from Hajo's interview, so you have the oportunity to compare the points of view of the two most influential Simutrans developers.

Let's begin the interview!
_______________________________________________________________

First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?

I am Markus Pristovsek, which is a pretty unique name. So if you found this on the internet, chances are high it is connected to me.

I am a Dedicated Professor [at] Nagoya University in Japan. (Dedicated Professor means that I do not have to teach. But I teach anyway a little, because I like it.) Since I have recently got my tenure that will likely stay so. Yeah, my first stable job at 52 years ...

Science is a little like the old medieval crafts: You have to travel a lot until you find place you can settle. In my case it involved studying physics at the TU Berlin in Germany, and from 1995 or so I worked on crystal growth of semiconductors like GaAs and GaN (see the Nobel prize of 2014 to my current director, Hiroshi Amano). After my PhD I stood in Japan (2000-2003), Berlin again to 2009, University of Cambridge 2012-2016, and from 2017 Nagoya.

I wrote job applications for almost 50 positions but was invited only four times, which is pretty normal in my field. From 2010 or so I put something like Simutrans coding coordinator into my CV under other activities, mostly to have more to show. However, at my second to last interview in 2016, one of the committee members was from the IT department. He was very eager to know more about it (actually he had looked up on Simutrans a lot!) and 1/4 or the interview derailed to Simutrans and "herding" open source projects. He seemed quite impressed on it and I could have probably got a position for teaching IT and Open Source if the interview would not have been about Teaching Photonics at an Applied University.


Did you learn programming as part of your physics background or did you learn it by yourself?

I wrote my first program in 1983 when stuck in an Austrian pension during a very rainy hiking holiday. My parents set out anyway, and I wrote a Pascal "database" for keeping track of my sailing competition results on six A4 sheets of scribble paper, based on the book "Pascal Programming for the CDC6000" from the mid 1970ies from my home library.

Shortly after I also implemented a line drawing algorithm on a friend C64 in USDC Pascal were one could see the line emerging pixel by pixel... That routine I reused in Simutrans.

My first Computer came in 1986. By chance it was an Atari ST, which we got with 30% rebate because my father somewhat knew Jack Tramiel (the founder) since he worked as Chief Concierge in the best hotel (then Hilton).

I first programmed it in Basic, then Pascal (as soon as the school yard network provided a compiler). But soon I ended up programming in C, since there was an IDE. My main contribution from that time is an Editor (PrED, sold about 100 times), and a viewer for TeX's DVI-files, which was mentioned in the 1990 LaTeX companion. This combined highly optimised C and assembler (I even wrote a 30% faster replacement 32 bit division routine compared to the already optimised C-lib.) MC 68k assembler was great. (68k was also the base for the PamOS, where I learned about UTF-8 http://palmdict.sourceforge.net/ )

Formal training was 1 Semester in University, IT for Physics, at the ripe age of 22. It was a HP workstation with 8 X-terminals. Almost unworkable slow, so the true nerd met at 22h in the evening, spawned 20 emacs until the network card overheated and the system rebooted with cleared memory. Had to repeated every three hours or so. The only thing I learned was hacking Unix on that one ... In the next room were PCs with absolutely filled with Viruses, which were for "IT for Philosophers"! But they had Internet connection, so I could download ST software from the US at mind blowing 8 Bytes per second during the night (well whole the University had a 9600 baud connection).

The next big thing I am proud, is a software I am still using today: https://github.com/prissi/snomputz It was written in 1997 to 1999 to run on a 386 without coprocessor and 2 MB main memory under windows.

Thus, in 2004, when I started contributing to Simutrans, I was quite computer literate, but had zero ideas on OOP. Also the Stroustrup book is great if you cannot sleep. Honestly, one of the most boring text I failed to read.

So a lot of my early code is rather C in disguise than proper C++. But I never really learned it. Tron (who hosted the third SVN) taught me a lot of proper C++, which I often stubbornly ignored first for some time.


Apart from physics and programming, do you have any other interests?

That changed with time. However, I like to be outdoors. So at some point in life, I made myself the rule to not switch on the computer when there is sun outside, and I pretty much lived by this rule. (Not too hard with miserable German winters or now sunset before 19h even in summer in Japan ... )

Walking or Hiking is great. I cycle a lot, even more since Covid. (I have a tandem and send my 10 year old off to the 6 km away school and then cycle back almost 9 km to my University, whenever the weather permits.) I like sailing, but in Japan the summer is too hot and the Nagoya bay is mostly harbour with refineries and steelworks and the airport on an artificial island ...

I like to read, but lacking time, it is mostly webcomics (I recommend the belfry archive, https://new.belfrycomics.net/ around since 1996 without advertising - the last old school internet site I know).

I used to write Science Fiction (in German), but that is even more time consuming. Also my work involves a lot of writing, so usually in the evening I am quite empty anyway.

I enjoy playing with my three children, but due to getting older (them) and the whole Covid online transition, they rather like to play with "friends" online. (Before we had 30 min/day cap altogether, now this feels more like the daily minimum for one of them).

I like dancing, Folk dances (Irish, Isreal, south-east European, ...) but like for hiking, I lack willing companions (and especially in Japan also occasions). I also like all kind of music. In the evening during dinner, one choses one tune on youtube, plays it screen down, and then passes the phone to the next. So there is a very broad range of music we all listen. Mostly around Christmas I dust off my guitar and various recorders as well.


Do your children play Simutrans? If so, do you play with them?

No, I showed them once. But I had not played for over a year now, so I can be hardly setting an example ...


Did you ever publish any of your Science Fiction writings?

Yes, less than 10 stories appeared in monthly a fanzine in the 90ies (on paper), called Solar-X, where I also wrote several book critics. Some more (in their rather raw state) can be still found on my old homepage: http://www.physik.tu-berlin.de/~prissi/m-werke.html

But nothing in English.


How did you know Simutrans? What was your first contribution?

I came to Simutrans in 2001 via a game collection CD of the German magazine c't (which I am still subscribing today). I was in Japan at that time, but the magazine send also there with surprisingly little delay (5 days later or so). At that time most magazines had software CDs, c't had one about four times a year.

Contribution started in autumn 2004. First was the compilation of a pak64.japan from the objects in the Japanese wiki and some other sources.

Codewise, just a little later in November I asked Hajo for the vehicle acceleration code. Simutrans was Freeware, but not open source; quite common then. So Hajo as creator hold the codebase, and had sent out parts to possible contributors.

I wanted to try a more physical model. (Before vehicles always accelerated to max speed, even if totally underpowered.) I have a PdD in Physics, but in the end I made it intentionally non-physical, since a physical code (like the one extended is using) was too performance heavy and even worse, did not look good in game scale, and failed with many vehicles of the existing paks. Hajo was pleased, and so I got a zip of the whole code. Next was UTF8 support, where I had a very solid knowledge from the Japanese Dictionary for PalmOS. Then I got SVN access and in January 2005 Hajo left Simutrans with me and Dariok and Hsiegeln, who hosted the second SVN, which just vanished one day.


How did you become the lead developer of Simutrans after that?

Very simple, from March 2005 to end of 2006 I was the only regularly active developer left. In that year I did a lot of work (powerlines, winter transition, roadsigns, quick zooming, pak64.german, ... ) Only mip was longer active than me, and has contributed to the gui infrequently all that time. All other developer joined later, so they implied that I am the lead developer. I never really claimed the title in any proper way.


Have you ever felt uneasy with your unclaimed leadership of the project?

No, not really uneasy. Maybe tired, and I would happily hand it over to someone with more time and more drive, and maybe a vision what to do next. I think I am too old for this now.

I am not sure if people need a leader. Whenever possible I would like to do things with a Simutrans team, but in the end few things are done and it is down to oneself. I think you know this quite well ...

I often wonder if I am too strict, or too German rude for a good leadership role anyway.


Simutrans has been in your hands for most of his lifetime (17 years, double the time than in the hands of his creator, Hajo). Do you think it will survive without you? How do you envision this transition?

Simutrans turns 25. There are very few programs under active development that ever reach that age. Most of those are editors, compilers and other tools. Most programs did a complete makeover during such time (look at Word for Dos, Word for Windows, and the current ribbon Word: These are separate programs.)

In that regard, Simutrans simply will not go away. As to my contribution: I host the SVN, and the server listing, and the German forum. But now there is a github standard repo under the simutrans team control, and the server list node.js code is on github. So anyone could continue.

Apart from the Android porting (which was less a coding effort than learning and applying new stuff), I did not do much in the last two years. Maybe Standard is now mature enough to not require any leader. The server uptimes are as long as the OS itself, and automated test find many serious errors immediately.

And then there are the forks, like OTRP and extended (although its stability is rather experimental to me). These are sucking on Simutrans; maybe Simutrans (standard) will fizzle out due to everybody contributing on forks. And the recent code reorganisation (especially the slitting of large files), while in theory making contribution and maintenance easier, had in practice the effect I feared: it became almost impossible to port anything back for me or anybody else without investing much more time. I am very grateful for Ranran going both ways occasionally.

It is getting long, but let's go into the Simutrans forks a little more:

There are two typical user bases: The extended one who play British on one server and the Japanese ones, who like model railroading, play sole or net simutrans.

They dictate the development in these branches/communities: Extended is mostly dictated by some ideas of mostly british realism mostly concerning railroads. The Japanese community (which is by far the largest, just look at the Discord) is mostly focussing on building clockwork like little realities. There was a Japanese freeware Freetrain (http://www.kohsuke.org/freetrain/) which just run trains along lines, no economics, which pretty much give a good idea of the style of many players in Japan.

In standard we have some US players (mostly in pak128) which are mostly focused on road vehicles, and the Brasilian community, the German community, so it is a colorful fragmented community with a clear summer-winter contribution cycle. Standard tries to cater to all, but of course that is bound to fail when competing with specialized forks. So maybe Standard just dies in active development, and will rather be the base for various shorter and longer surviving forks.


Indeed, the Japanese community is pretty big and active, even making annual conferences. Since you have been living in Japan for many years, have you ever attended any of those events?

Just before corona I was at a Simutrans con in Tokyo, and last autumn I met with five nice guys in Nagoya, where we went to the local Shinkansen museum. It was my first "con" (in the fandom kind), and it was quite impressive, with the amount of work put into counting cars throughput for different crossing designs for instance. I think there are videos on the net or in the forum.


What is the biggest challenge you faced when working on Simutrans?

Lack of time.

The tools have been greatly improved (in 2004, simutrans only compiled with cygwin GCC, and had no working debugger). Contribution is also there, motivation is still there. But in End of 2006 my first child was born, and since then contribution went down. Now it is only two hours in the evening at most.


When you first took care of Simutrans, it was still closed source. Did you push to make it open source? How went the process of making previous contributors to agree? Why the Artistic License was chosen over more popular open source licenses?

After the birth of my first child my time got less and less, and I became worried. Thus, in May 2007 I finally got Hajo's permit, and then contacted all the other contributors of whom I knew their addresses, Markus Weber, Hendrik Siegeln, Volker Meyer, Owen Rudge, Kieron Green, Stefan Wuttich, and Tomas Kubes. Other vanished. Also without SVN or the other old CVS, we could not really assign code ownership, and code gets reworked many times. So who is the copyright holder after a code review with corrections? For graphics, we did not publish work from anybody who we could not reach.

Several people wanted a non-commercial license, but there was nothing there. The artistic license had a clause that could be interpreted as non-commercial (even though a non-commercial license is actually incompatible with GPL). It states "Freely Available means that no fee is charged for the item itself, though there may be fees involved in handling the item."

Modern CC licenses of course fill that hole.

Still, I got a blank permit from the original developers. In principle we could change to GPL, if we get permission from Knightly, Dwachs, and the other main contributors since 2007.


What is the thing you like the most about working in Simutrans? And the thing you like the least?

I certainly do not like "working", even though occasionally this is necessary. What I like least:

- tools with awful documentation, or the need to watch youtube tutorials (I thought programmers could read and write)

- maintenance of all kind

What I like:

- most of the rest, I would say, otherwise I would have quit a long time ago


Is there anything you think current Simutrans is in great need of improving?

There are a lot of other stuff, like a directional wayobj for single direction roads and not the OTPR "hack" of special roads, which also give no real indication without an overlay. Porting the overtaking code back from OTRP, now that it does not desync any more and seems stable. (Unfortunately this has became very difficult after all the splitting and reorganisation, so it needs to be done manually routine for routine. Might be good time for in depth for code review anyway.) This would cater to the general simutrans play, to be not biased towards rails (like extended). Here standard is lacking, and a directional wayobj would be also nice for airplanes.

More server hosting would certainly help to increase user base.

But nothing "great need" category.


Do you have any roadmap for Simutrans next version(s)?

I answered that one many times. No roadmap. There is an outdated todo.txt. I would not mind retiring as coordinator and just occasionally submit patches (as I do now anyway).

I think Simutrans can still improve on some areas, especially usability and network gaming (like more passenger and goods routing along competing connections, a nice side-effect of the static code of Knightly, but with less impact on performance and faster route recalculations than currently in extended).

However, the active international user base is shrinking, so maybe the foremost task of any Simutrans chef must be recruiting new players (as you do very nicely with Steam!) which will increase new contributors.


Indeed, the player base has been shrinking slowly but surely for quite a while, since April 2012, when the game was downloaded more than 100.000 times on SourceForge. What do you think this is due to?

Multiple factors, I guess, like going to yearly releases with plenty nightlies, start of experimental dividing attention, and changes of the industry, games from centralized platform, more gaming from mobile platforms. Also falling out of time, graphic-wise.

I find also the download per country quite interesting:
https://sourceforge.net/projects/simutrans/files/stats/map?dates=2007-05-16%20to%202022-07-01

So after Germany and Japan, there is Brazil and United States, and also Indonesia on 8th. Some unusual countries for a transport simulator.


Simutrans has changed a lot through the years. When you look at it today, what makes you think?

A tough one. Actually, I think the principal game play is still very similar to the earliest releases.

So I would rather say, I am surprised that Simutrans survived that long.


If you were to start Simutrans today, what would you make different?

This is extremely hypothetical given my lack of time since the last ten years. However, one thing would be probably to do this 3D or pseudo 3D. There have been other approaches like Czech game which is very close to simutrans in terms of track laying and still allowing for full 3D. But as far as I know it lacked in other transport modes and industry connections beyond rail.

And not sure how to have large maps and 3D together. The network mode model would be the same, since I see no realistic way of syncing 10000 convoy departures and millions of routing events per minute. And at least standard is extremely stable, servers run for months, and clients disconnect mostly on request of their users and not because of losing sync.


What's your opinion about Simutrans Extended? Have you ever played it? How is your relationship with Simutrans Extended developers?

I think extended took a lot of pressure to review and incorporate patches, especially ones that were done not so well and also ones which disturbed the balance between easy entry and heavy playing. Some ideas are great and I would like to have them in standard.

But extended has become one sink, happily taking advice and patches from standard but almost never giving back (apart from ranran). With a shrinking number of contributors, of course I see extended critical for the long term future.

However, I think the code quality of extended is in need of improvement.

I tried twice to start it. But it did not in a meaningful way, at least I could not connect to BB then respective the pak128.Britain extended did not start because the demo game did not work for that version of simutrans.

Compiling was also not working well. I then looked at some of the warnings in MSVC (beyond the trivial ones) and there were a lot of places that indeed needs fixing. The multithreaded code must work by luck because there are some accesses on variables just declared volatile instead mutex protected and so on.

Also the gameplay with signals is so geared towards Britain and so user unfriendly, that it has really entered a very special niche.


The discussion about Simutrans VS OpenTTD is a recurrent one between our players, since both are open source transportation simulation games. However, the reality is that Simutrans is far from close to the success of OpenTTD. What do you think this is due to?

While OpenTTD came late, there was the TTpatch before. So there is rather an uninterrupted chain of user from TT(D) to OpenTTD, and people remember oh TTD is still around. Also OpenTTD rewards quick success. Vanilla pak has four engines/trucks/busses and a very quick success. Getting bankrupt is close to impossible. The downside is that after 2 h or so one is drowned in micromanagement of broken down vehicles and close to the year 2020.

Simutrans after 2h is still in stage one of connecting everything in a way without getting bankrupt and/or causing insane queues of waiting goods/passengers.

So while vanilla OpenTTD is the fast food, Simutrans is rather the 12 course menu. In the real world, McDonald serves more customer than a Michelin starred restaurant per day. This goes along that OpenTTD is often played by rather young gamers (at least this is the impression I got from the forums) while Simutrans caters to the more well aged community who had outgrown the kick of quick satisfaction.

And in the time of mobile games with 5 minute success, and streaming stuff in 20 minute slices, Simutrans is clearly no mainstream, since 20 minutes in Simutrans is almost nothing.

So it boils down to different audiences, and different fame deriving from *THE* transport simulator.


Did you have any relationship with OpenTTD developers? Was there any interchange of ideas or code?

I had little direct contact with the OpenTTD developer. Actually Owen Ridge, who hosts to he TTD forum, has contributed midi code to Simutrans. I did two patches, a winter seasons one (which is doomed since there are less winter than summer trees), a night time patch, and a rudimentary destination systems, all in 2005/6. I did not contribute since then.

Occasionally I look at the OpenTTD forum, but development has also stalled a bit it seems.


Although you are now mainly a developer, you actually started contributing with graphics to pak64.japan. Do you still like to paint graphics?

Never painted much, just a tiny bit of copy and paste and editing. I would like to paint, but I am bad at it.


What tools do you use when creating objects?

When making button or other GUI stuff, I use an ancient Paint Shop Pro 4.12 from the late 90ies. Still the best tool to push pixels for me on these few occasions. And then shades and tile cutter and so on.


Do you have anything you worked on you are specially proud of?

After so many years, no. Maybe not giving up on Simutrans.


Which is you favourite pakset? (paksets maintained by you are not valid!)

Even though it is no longer maintained, pak96.comic was graphically very nice. Pak128.japan is second, but the graphics are too bright for my liking. pak129.comic is very complete, but somehow the industries never engaged me much. pak48.excentique does not have enough choices, but i like the abstract setting (same with pak contrast). pak.HD (handdrawn) looks ugly with the new climate system, but is also a nice addition. pak.HO I have ever really tried out at all. pak.nippon fails due to the use of pak64 vehicles, so technically I am involved with it ...


Thank you for this interview. Is there anything more you would like to tell to Simutrans players?

I thank you all for playing Simutrans. And please consider to contribute, whether spreading the word, reporting bugs, running a public server at home, paint a simple object, or help with coding. Simutrans can only live another 25 years if there is contribution from players.

____________________________________________

Schedule of the Simutrans 25th Anniversary Posts
Next time we'll bring you something different: A remake! A remake of what do you ask? Ah, you will need to wait to find out!

Carl

I'm really enjoying this series; it's great to read these detailed interviews with people who've put so much time and effort into Simutrans. Hard for me to believe that it's over 12 year since I first downloaded the game.


Yona-TYT

Quote from: Roboron on August 15, 2022, 06:23:09 PMDo your children play Simutrans? If so, do you play with them?
Regarding the question about if your children play Simutrans, I remember that when I was finishing the tutorial for pak64, @prissi mentioned that she had left one of her children trying the tutorial, I also did the same with my little sister hehehehe. ;D ;D ;D ;D

Roboron


Enjoy this remake of a Simutrans advert video made 14 years ago by (the now inactive Devotee) vilvoh.

The Simutrans Community does not only welcome coders and artists. People who spread its love for Simutrans are also important, specially when they put as much effort and love in that as vilvoh did. Let this video serve as a reminder of all of you who enjoy making and sharing Simutrans content (be it now or in the past): Thank you! Without you too, Simutrans would not be what it is today.

Would you like to see (or make) more Simutrans-related media content? Well, you are in luck, because we have more surprises coming in this regard!

Next time, however, we will come back with another interview. Join us in two weeks as we will explore the boundaries of Simutrans with an exclusive interview with James Petts, lead developer of Simutrans Extended.

Roboron

One of the greatest honours an open-source project can have is to generate enough interest so that other people consider making their own versions of it. Simutrans, being a successful open source project, is no exception, and the greatest of those versions is Simutrans Extended (formerly Simutrans Experimental). Today, we will take a closer look at this fantastic fork with the help of his creator, James Petts.
_____________________________________________

First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?

I am James Petts, and I live in London. My education and professional life are in the law.


How does a man of law end up doing software development in his spare time?

As with many open source developers, I started work on what eventually became the Extended fork of Simutrans because I wanted to see features in the game that were not present. I remember playing Simutrans in around 2007, shortly after the British railway vehicles had first become available as an addon for Pak128. I enjoyed it, but found that there were certain things that were not quite right for what I wanted.

I remember making some feature requests on the forum, but the developers were not interested in implementing them, so I thought that I could implement them myself. This was in around 2008. They were initially written as patches for Simutrans, intended to be part of the main codebase, but they were not integrated, so I eventually just made my own fork. I think that I had a different idea as to what made a good game than the developers of of the original Simutrans; but also, I imagine that, as I was only just learning C++, the coding quality of my patches at the time was not what it should have been.

Once I had started adding features, I realised that there were more and more that were desirable, and I ended up spending more time developing the game than actually playing it; and the more complex features that were added, the more bugs that needed to be fixed and the more pakset work needed to implement the features.


Has Simutrans been your only experience with open source software development, or have you ever contributed to any other open source project?

Simutrans has indeed been my only experience with open source software. I have briefly contemplated contributing to other things, but I only have the one lifetime to live, and open source development is extremely time consuming.


And what do you devote your life to when not working and doing Simutrans development?

When not working or developing Simutrans, I enjoy photography, baking and railway modelling. The latter has entailed me having a sizeable shed built in my garden for several model railway layouts, and I am also a member of the Model Railway Club in London. As may be anticipated, there is some overlap between Simutrans and railway modelling.


James' model railway.


How did you know Simutrans? What was your first contribution?

I cannot remember exactly how I came across it now. I think that I was searching for transport based games to play in around 2007, and found Simutrans and thought it interesting; I think that I had considered Open TTD, but this was at a time when only the executable was available, and one already had to have Transport Tycoon Deluxe to play it; had the original Transport Tycoon, but not the Deluxe version, hence could not play Open TTD at the time. Simutrans, however, was available in a full version, so I think that I downloaded that. As to my first contribution; I am afraid that this is now lost to the mists of time and fading memory. This would have been sometime in late 2008, and I think that I wanted to implement something like comfort or journey time based routing, both of which are now long-standing Extended features.


When did you announce that you were making a Simutrans fork?

Initially, I just intended to produce a patch for Simutrans with the various features. This would have been in late 2008. The features were all in one large patch (literally, a .patch file for SVN), which was not the best way of doing it, and I was introduced to Github at around this time by another contributor, I think, so I created a "Simutrans-Experimental" branch on Github I think in around 2009 and added all of my features to this. Initially, the idea was still for the features to be merged into the main Simutrans trunk, but it became apparent after a while that some of my development goals, especially the targetting a higher level of economic realism at the cost of higher complexity, were not consistent with the development goals of the principal Simutrans developers, who tended to favour simplicity and a more synthetic economy, and so gradually the patch became a fork, although some Simutrans-Experimental features were merged into the original version ("Simutrans-Standard") eventually.  However, the "Simutrans-Experimental" name stuck until 2017, when, after discussions with others, I thought that it was time to make it clear that what I was working on was in fact its own game and a distinct fork, rather than just a development/beta branch. Nonetheless, I did not really want to divide the Simutrans community, as both Extended and Standard have a lot in common, and fans and developers of both have more to gain by co-operation than competition. I am very pleased that all of the Simutrans community still shares one single international forum and, latterly, Discord server.


On January 21 2009, James announced that he was working on an experimental version.


What are the core features that differentiate Simutrans Extended from Simutrans Standard?

The core Extended features, I think, are (1) the time based routing; (2) the passenger generation model; (3) passenger and mail classes; (4) the more realistic vehicle physics; and (5) private car transport. These are the features that fundamentally alter how players build networks. The time based routing means that players need to build networks that are time efficient rather than merely having sufficient capacity. It matters when people get to their destinations rather than just whether they get there. If their journey is too long, they may not travel at all, thanks to the passenger generation model. It is not enough to have a single one way circular 'bus route that covers the whole town - players must build a complex 'bus network consisting of multiple point-to-point lines that get people where they want to go quickly. If people can get to where they are going more quickly by driving their own car or by walking, they will. If people can get to where they want to go more quickly using a rival transport company's services, they will. People can interchange between distant stations/stops by walking between them, and can walk long distances to player stops - but would sooner travel from a nearer stop if the transport services take them where they want to go within a reasonable time. It is no longer the dominant strategy to use the most powerful locomotive on every train - balancing power and tractive effort means that different locomotives work better for heavy freight, short distance commuter trains and long distance express passenger trains. Different classes mean that wealthier passengers or mail senders can pay a premium for a faster or (in the case of passengers) more comfortable journey, allowing different modes of transport between the same points (e.g., aircraft, train and coach) to co-exist at different price points. Other significant features that have a real impact on player network design are infrastructure wear and renewal, public rights of way (which links with the private car routing
feature), automatic road connexions to industries and realistic railway signalling. Also worth mentioning, although having less of a direct impact on player network design, is the improved UI (largely as a result of efforts by Ranran in the last two years or so), with lots of very clear and engaging visual presentation of often complex data, and the multi-threading which allows even very large games to work (relatively) smoothly.


What is the biggest challenge you faced when working on Simutrans Extended?

This is not an easy question to answer, as there have been many challenges. From a technical perspective, probably the greatest
challenge was the multi-threading work in 2016-2017. Multi-threading is one of the most technically challenging aspects of computer programming: essentially, one has to manage multiple completely independent bits of the program ("threads") all working at the same time and potentially reading and writing the same information, and try to stop it all from conflicting with itself and making things go terribly wrong. I had no experience of writing multi-threading code before this, so this was definitely a steep learning curve. It has made a real difference to the performance of the game on larger maps, however, so it is worth it.
Another very challenging thing has been debugging loss of synchronisation errors for the game in its online mode: essentially,
different instances of the game running on several different computers must all do absolutely precisely the same thing or else the everybody will immediately disconnect. Any tiny difference between what one computer does and what another does with respect to the simulation code will cause the whole online game to fail completely. Debugging this sort of problem is much harder than finding normal bugs, because one has to work out exactly where two completely separate computers running the same code can end up diverging. There have been occasions when it has taken six months to find and fix a single bug of this type. I am very grateful for all of the people who have helped with this process over the years. One of the biggest challenges coming up, I think, is doing the full costs balancing. We currently have an interim balance produced by Dr. Supergood a few years ago, which has made the costings make much more sense than they did before, but when we cone to do the final cost
balancing, that will be a lot of work. I have been researching in anticipation of this balancing project for over 11 years; I am just awaiting the balance critical features on which I am currently working before launching into that.


Talking about upcoming challenges, what are the next goals for Simutrans Extended?

The current work on Simutrans-Extended is focussed on the 15.x branch. The focus of this intended major version is implementing all the features necessary for balancing the costs. This is a complex task: the amount of fuel that vehicles use must change depending on how hard that they are being worked; vehicles must need to be maintained regularly and thus not be available for service all the time, but for this to work automatically and seamlessly to avoid the need for constant player supervision; vehicles must be able to be overhauled periodically, at substantial cost, and this also must be partly automated to avoid the need for micromanagement; maintenance costs need to depend on how long that it has been since the last overhaul; overhaul costs need to depend on how many overhauls that the vehicle has already had; staff costs need to depend on what sort of and how many vehicles are in a train or similar (e.g., a train with continuous brakes needs only one guard even if there should be multiple brake carriages); costs need to vary with time according to inflation, and different costs need to vary to different extents with time (the cost of staff, for example, needs to increase at a different rate to the cost of coal, and the cost of oil at a different rate again, and so forth); vehicles need to require refuelling stops; it needs to be possible to lay over vehicles temporarily so as to avoid the need to expend staff cost on them for a low frequency service; and it needs to be possible to break up and re-combine multi-vehicle consists ("convoys" in the Simutrans way of describing things) dynamically.

This is all a very large project; coding work on this commenced in 2018, but stalled shortly thereafter because of the need to resolve some of those very difficult loss of network synchronisation bugs described in the previous answer, and I have only recently been able to recommence this work, having been focussing more on my model railway during the pandemic. Fortunately, we now have an excellent UI developer in the form of Ranran, who is likely to make it much easier to add the UI for these features, and greatly increase the quality of the UI that we get from what it would have been had I done the work myself. This will probably be the largest single set of features added at once, so this is likely to take a long time not just to code but also to test - and then an equally large amount of time to update the pakset (Pak128.Britain-Ex) to balance according to these new features. However, this will hopefully very much be worth it: we currently have only an interim balance, and, to a large extent, the game is the balance.

Although there are substantial additional features in Extended, and the game plays very differently to Standard in terms of network design, the game still plays in much the same way as Standard (and much the same way as Transport Tycoon before it, and myriads of other transport based games, such as the more modern Transport Fever): there always comes a time, assuming that the player should design a successful network, when the player has more money than he or she can spend, and only truly catastrophically bad decisions can bankrupt the player; beyond that point, players are limited by time rather than by money. This is obviously not how any real commercial company ever works (with the possible exception of Apple or Google, but that is another matter), so we need gameplay in which money is always an issue to a significant extent even for players with larger and generally successful networks. By simulating entropy and inflation, as well as some other dynamics, it should be possible for the game to get much closer to a reality based economic balance using reality based figures, although we cannot be sure of how this will work until we actually try it, and there may be need for further adjustment. To my knowledge, no other game has ever tried to simulate transport economics to this depth before.


RanRan's work has helped to improve greatly the UI for Simutrans Extended


Regarding other transport based games, Simutrans is usually compared with OpenTTD (because both are open source). But while OpenTTD is a huge success, Simutrans has gone pretty much under the radar in comparison - and even more Simutrans Extended. Why do you think players prefer OpenTTD over Simutrans?

It is difficult to know for sure the reason for others' preferences as that needs more information than I have available to me; I can only guess and the guesses could easily be wrong. Perhaps it has something to do with OpenTTD having what I and many would regard as a more robust open source licence (the GPL, I believe, compared to the Artistic Licence of Simutrans). Perhaps it has something to do with the fact that OpenTTD is more closely connected with a classic well-known commercial game, Transport Tycoon. Perhaps it is because, in its early years, Simutrans seemed to be focussed on the German-speaking market, wheras OpenTTD was focussed more on the English speaking market (note that Simutrans has a higher level of interest in Germany and Japan). It might simply be that OpenTTD acquired a critical mass early on and that that lead into positive feedback.

Compared to Simutrans-Extended in particular, it might be that Simutrans-Extended is more niche and in-depth, whereas OpenTTD is more accessible to casual players. It would certainly be good to broaden the audience for Simutrans and Simutrans-Extended; those who do play it do seem to get a great deal of enjoyment from doing so, but I do not know how many people that there are who are interested in a game that has the singular focus on economic realism that Simutrans-Extended by design has.


Simutrans (Standard) reached its peak in April 2012, when the game was downloaded more than 100.000 times on SourceForge. Since then its popularity has declined slowly but surely. Has this decline affected Simutrans Extended too?

I am not entirely sure as I do not keep download statistics. Certainly, forum activity seems to have peaked in 2012; the early 2010s were a time of rapid development in Simutrans-Extended (or "Simutrans-Experimental" as it was then), but it was less stable at the time. 2012 was the year that the Bridgewater-Brunel server first started, with the large semi-persistent online games that have become the hallmark of Simutrans-Extended play. At the time, the codebase was less stable, and the games were prone to interruptions through bugs that needed fixing, including some of the most difficult bugs to fix, loss of synchronisation bugs, which sometimes took 4-6 months to fix a single bug, during which time the server was unavailable. In more recent times, the game has been much more stable and the hours that people play online have greatly increased. Only to-day, I notice that somebody has started a new Simutrans-Extended server. I am not sure of the total numbers playing Simutrans-Extended now compared to 10 years ago, but, for those who do play, I am quite sure that the experience is significantly better, and suspect that, as a result, people play for longer now than they did then.

Indeed, the playerbase of Simutrans Extended, although smaller than Standard, seems to be also more active. Which do you think are the reasons behind Simutrans Extended players sustained interest?

It is always difficult to answer these questions as I can never really be sure about what motivates other people. One thing that I have seen mentioned on the forums and in the Discord servers by Extended players, many of whom spend many hours nurturing large and highly complex networks in the Bridgewater-Brunel server (and others servers that have been run from time to time) is that there are no other transport games that quite have the depth of Simutrans-Extended. Another factor may well be the servers themselves; I am not aware of any other transport game that has a large, semi-persistent online server and that by itself - the ability to build a successful network in a persistent and stable world lasting over one real life year in which others are striving to do the same thing - may well make the game satisfying in a way that other games are not. I know that Standard also has online servers, but, from what I gather, they tend to use smaller maps and have time passing more quickly, so may not generate the level of personal satisfaction that comes with carefully nurturing a large network gradually evolving over a long time. Also, Extended's features, especially relating to passenger transport (things such as walking between stops and time based routing), makes it easier both to co-operate and compete in a realistic way with other players, which I suspect makes the world feel more immersive for players.

More generally, one of the reasons that Extended diverged from Standard in the first place was that Extended was intended to have features that added depth and realism at the expense of additional complexity, whereas Standard focussed on accessibility to newer players and simplicity at the expense of depth and realism; that by itself would probably tend to generate fewer, more dedicated players for Extended as compared with Standard.


The Bridgewater-Brunel server is the most popular server of Simutrans Extended.


Is there anything you think current Simutrans Extended is in great need of improving?

Yes - there are lots of plans for improvement. I have written in a previous answer about many of the things that I am working on for version 15.x, such as vehicle maintenance and inflation that are needed to improve the balance. However, after that, the next major thing that needs improving is town growth. Currently, town growth works largely in the same way as Standard with some minor modifications over the years: the whole town grows evenly (and, due to a quirk in the way in which town boundaries are currently set in Extended, in a square) depending on the rates of fulfilment of mail, freight and passengers in the town as a whole. In reality, towns were shaped - literally - by their transport: they were small, compact units before public transport, with high densities in the centres but no suburbs. Commuter railways allowed high and middle wealth residents to live in suburbs centred around stations (termed "Metroland" by the Metropolitan Railway in London - this company also bought land near the stations to sell or rent for a profit once the lines had opened, a practice also common in Japan, I believe), while lower wealth residents still lived near the centre. Then, trams and later motor 'buses allowed lower wealth residents to live farther away from their workplace. Finally, the mass adoption of the private car resulted in evenly sprawling suburbs for people of all levels of wealth around city centres that had very little in the way of residential buildings.

So, after 15.x, the next major project will be a total overhaul of the town growth system so as to make growth based on local, rather than whole town, transport, for towns to compete with one another for residents (the population increase over time being not dependant on the quality of transport in towns, but rather the best towns attracting the
most residents), towns to be able to shrink as well as grow, buildings to be able to become abandoned, overcrowded or be re-purposed as times change, players to be able to buy buildings in towns and rent them out or later sell them, the occupancy rates and market rent depending on the desirability which will be heavily influenced by transport, towns that grow so as to touch other towns will become metropolitan areas with the consumed former towns becoming boroughs, the overall rate of population growth should be in line with historical figures and towns should finally cease to be square.


Simutrans Extended has changed a lot through the years. When you look at it today, what makes you think?

Simutrans-Extended has indeed changed over the years, and hopefully will continue to do so. In the early years, its original name of "Simutrans-Experimental" was apt, as there were many features that had not been fully implemented in the pakset or fully tested. I think that it is only with the regular use of the Bridgewater-Brunel server from perhaps about 2012/2013 onwards that Simutrans-Extended began to mature. It was always intended to be a realistic and detailed economic simulation, but earlier versions had a lot of anomalies that were only shown up with testing over time and which often required quite sophisticated new features to remedy. That process is continuing as a large number of the currently planned features arise out of testing showing up anomalies, but Simutrans-Extended is certainly more mature and stable now than it was 10 years ago.


If you were to start Simutrans Extended today, would you make anything different?

There is a lot that one can learn from hindsight. If I were to start afresh, I should have rewritten the railway signalling code rather than adapted the existing code for multiple types of signalling, as it has proved to be difficult to debug and maintain. I should not have used an arbitrary number for comfort, but instead had a field for the maximum comfortable journey time (and comfort is likely to change to this in the future). There are many things that started out being done one way that have long since changed to being done another way, and in many cases I cannot recall what the original way of doing things was, where, if I were starting afresh, I should just go straight to doing things the current way. When I started working on Simutrans-Experimental, as then it was, I was just learning C++ specifically in order to work on Simutrans. I have learnt much about coding since then and about modern C++, and if I were starting afresh now, I should like to think that the code that I wrote would be more modular and robust.

Video by James Petts demonstrating how signals work for Simutrans Extended


How is your relationship with Simutrans (Standard) developers?

I think that when what became Simutrans-Extended first started back in 2008, there was perhaps a degree of tension with the Standard developers: I may have given the impression by coding new features that I was expressing dissatisfaction with their work or with their game design choices. My own coding skills were not the best at the time, having learnt C++ specifically to add features to Simutrans and having no professional background in coding, so one of the reasons that some of the features that I wrote in the early days were not added was that the coding quality was not to the standard of Standard. Also, I think that, in my eagerness to promote the new features, I may inadvertently have given the impression that I was trying to take credit for things which were largely based on others' hard work. Also, I think that forking a codebase can be seen as a somewhat hostile thing to do in some ways.

However, I did not wish to cause any tensions, and I think that the other developers are reasonable people too. I did work to ensure that I gave proper credit to the existing developers for the excellent work that they had done, without which Simutrans-Extended would never have been possible, and to acknowledge that there is nothing inherently wrong with the play style and game design choices in Simutrans-Standard: it is just that different people's preferences differ, and my preference (and, as it turns out, the preference of a number of other people who play Simutrans-Extended avidly) is for a higher degree of realism and complexity than the preference of those who tend to prefer Simutrans-Standard, which has its own loyal following.

After the brief initial tensions and for most of Simutrans-Extended (and its predecessor's) 14 year lifespan, the relationship with the Standard developers has generally been good: they have often been very helpful in responding to my questions about how the code works, or even proposing solutions to problems specific to the Simutrans-Extended code (and in some cases have even written fixes for Simutrans-Extended, which is very much appreciated). In turn, Simutrans-Standard has over the years adopted a few features that started life in Simutrans-Extended and that are compatible with the somewhat different design philosophy of Standard, so there is a definite symbiosis. Perhaps most importantly, although there are two forks of the game and many players play only one or the other, there remains one single community: both the International Simutrans Forum and the more recent Simutrans Discord channels are common to both Standard and Extended and the same people interact freely and happily with each other in those channels. This has, I think, been very mutually beneficial for both variants of the game, and we are very lucky in the Simutrans community that we seem to be far less prone to the sort of aggressive and abusive behaviours that for reasons that remain obscure seem so common in online communities dedicated to many other forms of computer games.


Although you did neither start nor were involved in pak128.britain, you choose this pakset to be sort of the default pakset for Simutrans Extended, where new features are implemented first. Why did you choose pak128.britain?

Being from the UK, I had a particular interest in British vehicles and buildings; but, also, and probably more importantly, Pak128.Britain was a new pakset at just around the time that I was forking Simutrans-Extended, and it was being made open source, so there was the opportunity to adapt the sources for the Extended fork, as well as have the pakset be developed in part with Extended in mind (the original Standard maintainers actually added buffet cars and multiple liveries before these features were included in Extended). The only other open source pakset at the time was Pak.64, and I found the graphics too low resolution for my liking; Pak.128 had not been open sourced at this time.


How is the process of creating graphics for pak128.Britain-ex?

The system for creating graphics for Pak128.Britain-Ex was inherited from the original Pak128.Britain. It uses Blender to create simple 3d objects, which are then rendered automatically (with a pre-set lighting orb, intended to represent lighting on a typical British cloudy day) into the requisite 4 or 8 images as the case may be. This was all set up in circa 2006, I believe, by Kieron Green, the original progenitor of Pak128.Britain. It does actually make creating realistic looking graphics (within the confines of a 128x128 pixel set) much easier than they would be if one were pixel painting, not least because a single 3d model will automatically produce all the directional renders. This process has allowed us to create a very large number of graphics over the years to have a very large number of subtly different vehicles, which is one of the hallmarks of the pakset.


What is your favourite pakset? (Excluding pak128.Britain(-Ex))

A challenging question! I think probably the Japanese Pak.256. This is another pakset that has an Extended version: it has excellent high resolution graphics and is evidently curated with much meticulous attention to detail. Simutrans is more popular in Japan than anywhere else in the world so far as publicly available sources show (there is even an annual in-person Simutrans conference in Japan, or at least was before the pandemic), so I am always very interested in the Japanese Simutrans scene.


The Japanese Pak256-Ex is the highest definition pakset ever done


Thank you so much for the interview! Is there anything more you would like to say to Simutrans players?

Simutrans-Extended has been a long journey; there have been very many achievements along the way, but also some frustrations. My own development of Simutrans-Extended is not as intense as once it was as I have other hobbies to compete for my time, as well as a busy professional life, but I still enjoy working on Simutrans when I have the time, and we have some other very dedicated coders such as Ranran who have been doing some excellent work in the last few years. I very much hope that people will continue to enjoy playing Simutrans-Extended for years to come.

_____________________________________________

Schedule of the Simutrans 25th Anniversary Posts
I hope you have enjoyed this first interview to a non-Standard Simutrans developer. We will keep exploring the boundaries of Simutrans with the final interview next month. But before of that, the next event in two weeks will feature the most exciting creation made to commemorate the Simutrans anniversary so far. Stay tuned!

Matthew

As one of those "other people who play Simutrans-Extended avidly", this has been a fascinating look back in time. I wasn't around for the start of Sim-Ex and so the illustration of the fork thread was a good choice, since it gave me a chance to go back to the sources.

Quote from: jamespetts via Roboron on September 15, 2022, 06:15:32 PMwe are very lucky in the Simutrans community that we seem to be far less prone to the sort of aggressive and abusive behaviours that for reasons that remain obscure seem so common in online communities dedicated to many other forms of computer games.

Yes, this is by far the best thing about Simutrans.

Thank you for this great interview, Roboron.

And thank you for all your many efforts, James. Lots of people have hobbies; yours has brought a lot of happiness to a small (but select?!) number of other people.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

Isaac Eiland-Hall

Quoteintended to represent lighting on a typical British cloudy day)

So... a typical British day, then. ;-)

Excellent interview, as they all have been.

Ranran(Hibernating)

All the interviews are very interesting and I enjoy reading all the articles. Thanks to the developer and interviewer.
But regardless I have one complaint about the latest article.

Quote
RanRan's work has helped to improve greatly the UI for Simutrans Extended
There are many improved UIs, it doesn't matter which one you choose (I mean I'm not sure if the depot dialog is the best way to clarify the difference between the standard and extended UI), but posting old UI images that are still in the process of being improved gives a bad impression, so please change it.
Maybe you wrote the article over 2 months ago or didn't use the latest version of extended.



(1) The depot dialog was updated six weeks ago, so the current one is different. I think people may see that and feel that not much has changed. The old depot dialog lacked many features compared to standard.
Since the depot dialog was still an old-style UI code, it created a lot of bugs by merging the standard code. So we had to update the code. It was needed for 15.x. The layout was changed simply because it couldn't have been easier otherwise. Only minimal changes have been made and 15.x will have a major redesign.

(2) Icons are missing because the theme was not updated properly. However, this has been a bug for some time. However, posting an image that exposes the bug when you know it's a bug is problematic. That is we are showing off our brokenness. It can't make a good impression.
(´・ω・`)シミュトランスのアップデート履歴(日本語) (※更新停止中)
bit.ly/3AuKHHP

Roboron

#25
Quote from: Ranran on September 18, 2022, 08:57:09 AMMaybe you wrote the article over 2 months ago or didn't use the latest version of extended.

Both, indeed, as I don't update Extended frequently. I apologize for the mistake. I've updated the image, thank you very much for your corrections.

Roboron

The new trailer for Simutrans is here! Watch it now!


Schedule of the Simutrans 25th Anniversary Posts
We are getting close to the end of the events of the 25th Anniversary. But before the final event, we will having a last interview with a very special guest. In two weeks, it will be time for Simutrans OTRP developer, "himeshi", to answer some questions!

Roboron

Welcome to the last of interviews of the Simutrans Anniversary before the final event! Our special guest today has the honour of being the only other successful developer who has made a Simutrans fork: Simutrans OTRP. Let's explore the boundaries of Simutrans with the help of his creator, Himeshi!

______________________________________

First of all, introduce yourself. Who are you? Where do you live? What did you study? Where are you working or have worked on the past?

I am Himeshi. Himeshi is a handle which I use in the Japanese community. THLeaderH is my handle on the International Simutrans Forum and other international simutrans communities. I have lived in Tokyo for my whole life except for its very beginning.

I am a software engineer at a Japanese IT company, which provides a chat app for smartphones. My job is developing the company's chat app for iOS with Swift programming language, and the chat app is widely used in Japan and some east Asian countries. I am in the second year of my career since I graduated from the school in March of last year.

I studied computer science and electrical engineering in the University of Tokyo, and its graduate school. I have a master's degree, but do not have a doctor's degree. I enjoyed studying in the university, but was not so good at research. I studied electrical tactile display during my master's period, but it ended with submitting only a few papers to small conferences without paper review, and did not participate in any on-site academic meeting since the COVID era started during my master course.


When not programming in your daily job or in Simutrans, what do you like to do?

Aside from development, I love playing Simutrans. I usually play my local map with OTRP, and sometimes play a network game with my friends in the Japanese Simutrans community.
Chatting and voice calling on Discord is my daily habit. There are a bunch of discord servers which are derived from the Japanese Simutrans community, and I am in multiple of them. The relationship is a kind of friendship, rather than the simutrans community members, and we talk about so many kinds of topics there.

Although the frequency has decreased recently due to COVID, I often go to the home party in the house of one of the core community members. I don't remember how many times I went there. At least, so many times since a few years ago. We spend a precious time there with beers and Japanese Sake. The house owner (We call him "Kumi-cho") could not drink alcohol at first, but recently, he started enjoying the Sake we brought with us.

And recently I bought a new Toyota car with a manual gearbox, so I frequently go driving in my holidays. The driving is often with my family and the friends in the Simutrans community.


Indeed, the Japanese Simutrans community seems very united, and it is without doubt the largest and most active community. Which is surprising, since traditionally the largest community has been the German one (being the early developers from Germany). Why do you think the Japanese community has become the most active?

It is a tough question. Personally, I think the offline meeting culture and Japanese characteristics to prefer crafting are the factors of Japanese simutrans community prosperity. However, it is only one aspect of the community. To understand how the community became as today, I have to summarize the history of the Japanese simutrans community.

Fortunately, three years ago, Peruri summarized the community history in our meeting. The history described below is based on this video.


The Japanese Simutrans community is said that it started on the anonymous board, called "2ch". It started with the translation project to Japanese, then the members started to post addons, their saved map, and screenshots. Since 2ch is anonymous, most of the members did not have their handle at that time.

After that, the Japanese simutrans wiki was founded, and addons were posted there. Uploading simutrans videos to "niconico", a Japanese video sharing service, became popular at that time. With these activities, creators had handles in the community.

Simutrans 111.0 supported the network game. As soon as it was released, Japanese simutransers started to play the network game. Addon authors were also in the network game, which means players and addon authors play the game in the same place. At that time, twitter was becoming popular, and twitter became the main place for the Japanese community. On twitter, players also have their handles. Since the conversations on twitter are public, more and more people joined the Japanese simutrans community.

As the community prospers, some people started to meet face to face. They understood how great meeting face to face is, and the number of face to face meetings gradually increased. As a result, in the Japanese simutrans community, a bunch of smaller and closer communities which are based on face to face meetings were formed. Some members regularly held drinking parties in these communities. Moreover, meeting face to face encouraged starting the larger projects, such as SIS and pak256.

As the information exchanged in the communities increased in amount and became more private, twitter became not suitable for communities. So many communities moved to Discord, and they became closed communities. Since a few years ago, Discord has worked as comfortable and safe places for communities.

On the other hand, Japanese simutrans communities are not an exception for the recent world wide simutrans community shrink. As most communities work on Discord, fewer newcomers are coming to the communities. At the same time, some existing members reduce the time to spend in the community, and often disappear from the community. Also, we talk about things other than Simutrans more frequently.


One of those meetings is the Japanese Simutrans Conference. Could you tell us more about it? What kind of activities are done? When did it start and by who?

The Japanese Simutrans Conference started in 2017. At that time, the community members explored how to make addons and their play styles individually, and the knowledge was not shared enough. So, on twitter, I suggested holding a simutrans conference. The events themselves had been operated by other community members. The first one was held by JHSDF.

In the simutrans conferences, the attendees presented Simutrans related knowledge and experiences with slides. The simutrans conferences were held three times in 2017, and once a year since 2018. This year, I called for presentations for the simutrans conferences as we did last year, but no one applied for it. So I decided not to hold the conference this year. The Simutrans knowledge and experiences have been shared enough via the past simutrans conferences, and I think the Japanese Simutrans Conference served its purpose.


When did you join the community?

I joined the community ten years ago. At that time, the series "The story of Kumagaya peninsula development", which is still a monumental Simutrans video series for these days, was being uploaded. I was affected, and also uploaded my Simutrans video series.
Seven years ago, I joined a face to face meeting for the first time, which was in a chartered train. And five years ago, I started modifying the simutrans code, and my contribution for the International Simutrans Forum.

Video from the Kumagaya series by 128Na


The Simutrans version you started working on at that time is what we know today as Simutrans OTRP (One-Way Two-Lane Road Patch). What did motivate you to start working on this project?

At the end of 2016, I was developing Route map maker, which is a software for PCs to make a railway route map easily. It was a success to some extent, and I was looking for the next thing to develop.
Route map maker was written from scratch, and I wanted to develop a new feature for an already existing larger software as the next step. Simutrans was the best for that purpose. At that time I had already played simutrans for five years, and I had wanted to try to add new features to it. So I decided to try modifying simutrans and adding a new feature for it.

There were so many candidate features to be developed, but I thought that it was easy to improve the road vehicle overtaking logic for one-way highway, which was revealed to be completely false. I knew that some conditions which seem to be too strict were imposed on overtaking, and I thought the overtaking improvement can be completed just by removing these conditions. The result was, the collision of the two vehicles on the overtaking lane. Then, my long journey of OTRP started.


At what point of development did you announce that you were working on your own version of Simutrans?

As soon as I succeeded to relax the conditions of overtaking, I posted the demo video on YouTube . This video showed overtaking under slope, dense traffic, and intersections. At this point, there were so many side effects to be solved.
Two months later, I posted a message on the International Simutrans Forum. Like Simutrans-Extended, at first, OTRP was intended to be merged into Simutrans Standard, so I submitted the patch files. The overtaking logic of Simutrans Standard was already very complicated. And as a result of adding so much logic to deal with the side effects by the relaxed overtaking conditions, the code of overtaking logic got more and more complicated, and I knew that the patch was very hard to merge into the simutrans nightly. I wanted to discuss how to solve this situation, but unfortunately, the overtaking logic complexity has not been solved and it is still a large technical debt of OTRP.

At the same time of posting a patch to the forum, I posted the executable binaries to test with. For the Japanese community, I mainly announced about these executable binaries, and eventually, they started to test and play with the OTRP binaries.

Demo video of Simutrans OTRP


What are other features that differentiate OTRP from Simutrans Standard?

There are four features which largely differentiate OTRP from Simutrans Standard. The first one is the improved road vehicle overtaking and other road related configurations, which is the original feature of OTRP.

The second one is the area construction tools which are suitable for large scale development. With the removal tool, you can select the area where you want to remove the object by dragging the area. The city building construction tool of OTRP enables you to select multiple kinds of city buildings, and distribute the selected buildings randomly in the selected area. The slope making tool also supports area selection. These area construction tools are useful especially on a network game. I should note that now these area construction tools can be implemented as squirrel scripted tools, and modifying the C++ code is not necessary.

The third one is convoy coupling. Convoy coupling can be a powerful tool to accommodate so many routes on a single track. OTRP realizes the convoy coupling feature with the two simple options in the schedule, "try coupling" and "wait for coupling".

The last one is time scheduling.Before this feature was implemented, players had used the "maximum waiting time" feature to make trains depart at the regular interval. However, the waiting time was not so flexible (only 1/(2^n) month) and this approach was quite fragile because a single delay of arrival caused the delay of all successors. OTRP has the time scheduling feature which is similar to that of simutrans-Extended, but has some additional parameters like "no load" and "load immediately before the departure" options. These options are useful to control the passenger flow by optimizing the route costs.


Recently, Simutrans' Lead Developer prissi stated in a previous interview that he would like to see the overtaking code ported back to Standard "now that it does not desync any more and seems stable". Would you still like to see your code merged or are you afraid that this could make OTRP players lose interest in Simutrans OTRP after so many years of work?

Bringing the OTRP features to Standard is welcome. According to the survey conducted by Peruri, who talked about the Japanese simutrans community history in the conference, about 70% of Japanese players still use OTRP. Since OTRP stopped merging the nightly commits for some reasons, the fruits of simutrans standard development are not delivered to OTRP players. OTRP was derived from Simutrans Standard, and I hope Japanese players go back to the Standard version and enjoy the latest achievements of Simutrans Standard development.

There were some forks of Simutrans which implemented novel features. As far as I know, Experimental (now Extended), Iron Way, and Tiny Timetable Patch (ttt) are listed as larger ones. Especially, ttt, which was developed 10 years ago, had much more features than OTRP around time scheduling. However, except for Simutrans Extended which is actively maintained and developed by James, all these forks are not maintained and already obsolete, which means that the features of these forks were lost for most of the Simutrans players. Seeing the "loss" of the time scheduling feature of ttt, I wanted to avoid making OTRP one of these obsolete forks. But unfortunately, it is becoming one of them. I believe that most OTRP players will go back to Simutrans Standard in the future, although it may take a long time. Porting the overtaking code of OTRP to Simutrans Standard prevents the loss of overtaking feature, which should be a huge benefit for players.

I am for porting the overtaking logic to Simutrans Standard, but I think the code itself should not be ported. The overtaking code in OTRP contains so much ad-hoc logic to deal with the relaxed overtaking conditions. No one, including me, knows why the current OTRP overtaking code looks to work fine. The overtaking logic should be fully reimplemented when we port it to Simutrans Standard so that everyone can maintain it. At least, the complicated logic should be encapsulated. And, I regret to say that I have no plan to join this porting project for now. Compared to the time when I brought this to Simutrans Extended, I lost some of my motivations to contribute to the Simutrans codebase.


Screenshot showing Tiny Timetable Patch


What are the reasons behind your lack of motivation? Is this lack of motivation behind OTRP lack of development too?

To answer this question, I have to figure out what was my motivations for Simutrans development. I think there were four motivations for me.

The first one was simply realizing features I wanted. I wanted to make road vehicles overtake others more efficiently on a highway, and make convoys being coupled to simulate the railway operation in the real world. A smooth overtaking of trains was also what I wanted to play in my local and network games.

The second was realizing features everyone wanted. At the time when I started the OTRP development, road vehicle overtaking, railway convoy coupling, and time scheduling were the three largest features which so many Japanese Simutrans players had been dreamed. Also, keeping the base nightly revision up to date was an important thing, because OTRP players can enjoy the fruits of the latest Simutrans nightly development.

The third was learning how to modify an existing large software. Simutrans was the largest code base I had ever seen at that time, and the development of OTRP was a valuable opportunity to learn how to find the code I wanted to modify, how to modify while minimizing the bug, and how to deal with the players feedback. In this aspect, the OTRP development experience became the fundament of my carrier as a software engineer.

The last one was contributing to the Simutrans community. As a player who has been loved Simutrans for more than ten years, contributing to Simutrans is just fun.

Unfortunately, as OTRP matured, three of them seems to have been lost. Firstly, in the end of 2020, I almost completed the implementation of the time scheduling feature, and the three features which I and the Japanese community had been dreamed, road vehicle overtaking, railway convoy coupling, and time scheduling, were achieved. Now I have nothing new which I strongly want to realize. Other Japanese Simutrans players also seem to be basically satisfied with the current OTRP, although I still receive some minor requests.

Secondly, keeping the base nightly revision up to date became almost impossible. About two years ago, I remember that there was a big change on Simutrans nightly in the schedule settings UI. At that time, the schedule settings UI of OTRP was highly optimized for OTRP features. I made a prototype of the schedule settings UI based on the new one of the nightly, but it was very unpopular from the Japanese OTRP players at that time, and I had to give up following that change of the Simutrans nightly. I tried to merge other nightly commits at first, but it became soon very hard since there were so many dependencies to the schedule settings UI change.

Lastly, as I spent so much time in OTRP development, what I learn from OTRP development was decreasing. This is generally inevitable when you work in the same product for a long time. As I learned programming in other fields such as the research and my job, using modern languages such as Swift and Kotlin was much more fun. And, I gradually felt tired to work with the very old fashioned C++ code and deal with the bugs which are never seen with the modern languages.

For now, contributing to the community can be the only motivation of coding in Simutrans. To be honest, since I started my full time job, I am as busy as I was a graduate school student. However, my Simutrans development time was replaced with learning modern programming language features which I may use in my job, and other hobbies like driving a car.


Is there any feature you considered (or that was proposed to you) for OTRP but was discarded for technical or other reasons?

The road intersection feature. As in the real world of left sided driving, turning right causes the crossing over the opposite lane, and it may cause a traffic jam. The right turn lane feature and the right turn traffic light feature were considered, but both needed to handle multiple tiles as a single intersection object, and it was technically difficult. When I considered the intersection feature, I was playing Cities Skylines with the famous mod TM:PE, which gives so much control on road traffic. And I thought you could play Cities Skylines if you wanted much more control on the road traffic. Since simutrans is a tile based game, this level of road traffic control is too much for simutrans, I think.


Have you received any help from other contributors in Simutrans OTRP?

In code, the area construction tools were contributed by Shingoushori.

And, some people helped me to develop OTRP in other ways. Ahakuoku helped me a lot by doing so many tasks other than coding such as release announcement, response for inquiries, and bug investigation. 128Na opened the site "OTRP updates" which summarizes the OTRP releases. I often refer to this web site to check in which version a feature was implemented. And, so many Japanese community members helped me in the bug investigation in the early phase. Road vehicle overtaking, convoy coupling, and time scheduling are the features which received most bug reports.


The site OTRP updates is a living changelong of Simutrans OTRP.


We have discussed in previous interviews the apparent decline in Simutrans playerbase in the last decade. Simutrans OTRP collects statistics about usage, and that can help us understand this tendency. What does the OTRP data say about it?

The OTRP usage statistics says nothing about simutrans player base decline. The simutrans player base decline is a phenomenon over 10 years, and OTRP started collecting usage in 2020, only two years ago.

The OTRP usage statistics tells us about the number of active players, the share of OTRP versions, and the pak set share among the OTRP players. Although I have not analyzed the usage of this year, in 2021, the number of daily active players was constantly over 80, and over 100 on holidays. Older versions of OTRP are still used because sometimes a specific OTRP version has a problem with loading a player generated pakset. Some popular network games in the Japanese Simutrans community still use an older OTRP, such as v29_6.

According to the usage statistics, OTRP players prefer pak128 as much as pak128.japan. pak.nippon is slightly less popular than those two popular paksets, and the share of pak64 was about a half of that of pak.nippon in 2021.

The detailed analysis of 2021 is in this article, although it is in Japanese.
https://himeshi.hateblo.jp/entry/2021/12/24/001315


Where do you see Simutrans in the future?

I think Steam will be the main distribution route of Simutrans, due to the recent trend of relying on platforms and thanks to the effort of the simutrans nightly development. The Japanese community has contributed to Simutrans mainly with addons, but most Japanese addons are not in the Simutrans official distribution. Since Steam is becoming a popular distribution route, I think we should consider how to deliver Japanese addons to the players from Steam. It's kind of a political issue rather than a technical issue.


What is your preferred play-style?

I usually play simutrans as a transport simulator, rather than a diorama. Basically I let cities grow as the game engine does. The hand construction of city buildings is only for the extension of the city limit.
Since OTRP became stable, I also prefer "car only" play. Since the capacity of road vehicles is much smaller than that of trains, it is very challenging to transport all passengers with road vehicles. Roads are always crowded, and large bus terminals suffer from grid locks.

Three years ago, we built a very large scale highway network in the network game. The highway has 10-lanes width at the widest point, which cannot be seen in Japan. Also, junctions are highly complicated.

Video showing the large scale highway network


Is there someone from the Simutranc community you admire?

In the international community, I especially admire Leartin. He gave me deep insights and showed proper ways when I was stuck in difficult problems. The convoy coupling feature is one of the most difficult problems for me and I did the implementation of it three times. Leartin proposed to me an uncomplicated and effective solution for this and the current architecture is based on Leartin's proposal.

In the Japanese community, I admire 128Na. I cannot list all of his contributions, but he made the simutrans video series which are the most famous in Japan. He now builds and operates "Simutrans addon portal", a website where a lot of Japanese addons have been posted recently.


What is your favourite pakset?

I love pak128, with a bunch of Japanese addons. I like this pakset because it has a high resolution and so many published addons with realistic painting.


Thank you so much for the interview! Is there anything more you would like to say to Simutrans players?

I hope the international community and the Japanese community interact more. There used to be a language barrier between the international community and the Japanese community, but now we can overcome it with an effective translation service. One of the reasons why OTRP was born was that the Japanese community could rarely bring the ideas which were discussed in the Japanese community to the international forum at that time. I hope more feature requests from the Japanese community are discussed with the international development team, and a bunch of Japanese addons contribute to simutrans players all over the world, not only for Japanese. Fortunately, the international community and the Japanese community are interacting in some Discord servers these days.

And, I want to say thank you to Simutrans. Simutrans made me join this wonderful Japanese simutrans community, which is now one of my essential communities. Simutrans gave me a chance to make changes in the code. The OTRP development experience is now the foundation of my career as a software engineer. And above all, Simutrans gave me so much time of joy.

______________________________________

Schedule of the Simutrans 25th Anniversary Posts

That's all for the anniversary! Goodbye!






What? What do you say about a SUPER SECRET BIG FINAL EVENT? Ah yes, I nearly forget about the greatest Simutrans event ever made where everyone can participate! Do you want to know what it is...?

Sorry! It's a surprise. See you in two weeks :-)