OpenTTD (Unofficial Remake of 'Transport Tycoon Deluxe' Game) Turns 20 (openttd.org) 17
In 1995 Scottish video game designer Chris Sawyer created the business simulator game Transport Tycoon Deluxe — and within four years, Wikipedia notes, work began on the first version of an open source version that's still being actively developed. "According to a study of the 61,154 open-source projects on SourceForge in the period between 1999 and 2005, OpenTTD ranked as the 8th most active open-source project to receive patches and contributions. In 2004, development moved to their own server."
Long-time Slashdot reader orudge says he's been involved for almost 25 years. "Exactly 21 years ago, I received an ICQ message (look it up, kids) out of the blue from a guy named Ludvig Strigeus (nicknamed Ludde)." "Hello, you probably don't know me, but I've been working on a project to clone Transport Tycoon Deluxe for a while," he said, more or less... Ludde made more progress with the project [written in C] over the coming year, and it looks like we even attempted some multiplayer games (not too reliable, especially over my dial-up connection at the time). Eventually, when he was happy with what he had created, he agreed to allow me to release the game as open source. Coincidentally, this happened exactly a year after I'd first spoken to him, on the 6th March 2004...
Things really got going after this, and a community started to form with enthusiastic developers fixing bugs, adding in new features, and smoothing off the rough edges. Ludde was, I think, a bit taken aback by how popular it proved, and even rejoined the development effort for a while. A read through the old changelogs reveals just how many features were added over a very short period of time. Quick wins like higher vehicle limits came in very quickly, and support for TTDPatch's NewGRF format started to be functional just four months later. Large maps, improved multiplayer, better pathfinders, improved TTDPatch compatibility, and of course, ports to a great many different operating systems, such as Mac OS X, BeOS, MorphOS and OS/2. It was a very exciting time to be a TTD fan!
Within six years, ambitious projects to create free replacements for the original TTD graphics, sounds and music sets were complete, and OpenTTD finally had its 1.0 release. And while we may not have the same frantic addition of new features we had in 2004, there have still been massive improvements to the code, with plenty of exciting new features over the years, with major releases every year since 2008. he move to GitHub in 2018 and the release of OpenTTD on Steam in 2021 have also re-energised development efforts, with thousands of people now enjoying playing the game regularly. And development shows no signs of slowing down, with the upcoming OpenTTD 14.0 release including over 40 new features!
"Personally, I would like to say thank you to everyone who has supported OpenTTD development over the past two decades..." they write, adding "Finally, of course, I'd like to thank you, the players! None of us would be here if people weren't still playing the game.
"Seeing how the first twenty years have gone, I can't wait to see what the next twenty years have in store. :)"
Long-time Slashdot reader orudge says he's been involved for almost 25 years. "Exactly 21 years ago, I received an ICQ message (look it up, kids) out of the blue from a guy named Ludvig Strigeus (nicknamed Ludde)." "Hello, you probably don't know me, but I've been working on a project to clone Transport Tycoon Deluxe for a while," he said, more or less... Ludde made more progress with the project [written in C] over the coming year, and it looks like we even attempted some multiplayer games (not too reliable, especially over my dial-up connection at the time). Eventually, when he was happy with what he had created, he agreed to allow me to release the game as open source. Coincidentally, this happened exactly a year after I'd first spoken to him, on the 6th March 2004...
Things really got going after this, and a community started to form with enthusiastic developers fixing bugs, adding in new features, and smoothing off the rough edges. Ludde was, I think, a bit taken aback by how popular it proved, and even rejoined the development effort for a while. A read through the old changelogs reveals just how many features were added over a very short period of time. Quick wins like higher vehicle limits came in very quickly, and support for TTDPatch's NewGRF format started to be functional just four months later. Large maps, improved multiplayer, better pathfinders, improved TTDPatch compatibility, and of course, ports to a great many different operating systems, such as Mac OS X, BeOS, MorphOS and OS/2. It was a very exciting time to be a TTD fan!
Within six years, ambitious projects to create free replacements for the original TTD graphics, sounds and music sets were complete, and OpenTTD finally had its 1.0 release. And while we may not have the same frantic addition of new features we had in 2004, there have still been massive improvements to the code, with plenty of exciting new features over the years, with major releases every year since 2008. he move to GitHub in 2018 and the release of OpenTTD on Steam in 2021 have also re-energised development efforts, with thousands of people now enjoying playing the game regularly. And development shows no signs of slowing down, with the upcoming OpenTTD 14.0 release including over 40 new features!
"Personally, I would like to say thank you to everyone who has supported OpenTTD development over the past two decades..." they write, adding "Finally, of course, I'd like to thank you, the players! None of us would be here if people weren't still playing the game.
"Seeing how the first twenty years have gone, I can't wait to see what the next twenty years have in store. :)"
According to a Steam reviewer: (Score:4, Interesting)
It is a very good game for autism... lots of arranging and management, lots of fun
Re: (Score:3)
Indeed, it's the virtual version of building a model railroad in the attic.
There is an old patch to enable shunting as well to enable actual rail yard simulation for even more management, but unfortunately it was never further developed.
I do hope I can introduce it in my own OpenTTD fork later.
Re: (Score:2)
It has micromanagement, trains and computers.
The autism hattrick.
It's my first serious coding project (fork) (Score:5, Interesting)
Not satisfied with the day lengthening patch (integrated in the JGR fork), I downloaded the source code a couple of years ago and took up programming in C (++) to make my own patch to slow down the game enough to my own liking.
It was the first time I found an incentive for the bit of knowledge I had about programming I've had for a long time, and it felt good to actually see what I could accomplish with lines of code.
I refactored enough to be able to run the game down to real time speed and enjoyed building virtual model train tracks. It was not about the game elements in it.
After a hiatus of a year or so, I've picked it up again for a build from scratch for a different time approach to handling time, but not from code from the 13.x or upcoming 14.x release.
When I read about the developers finally picking up the speed issue, I took a look at the code and cringed. I had not expected such a convulated approach to handle time in the game.
Then again, more class and template code appeared in other parts, making it more obfuscated what it did. No KISS and clean code approach here.
I begun again from the 12.2 code a few weeks ago with the new way of handling time (and can slow down to even less than real time), and "de-classified" code on the way (with profiling help from Valgrind) to save 10-15% CPU time compared to the original 12.2 code base.
Comparing with the 12.2 title game running, the original uses around 55% CPU in my Dual Core laptop, while 13.x went from ~200MB RAM to ~450MB, and the 14-RC1 used 160% CPU and ~900MB (compiled with the same settings).
My fork hangs around 40% CPU with ~200MB RAM in use now.
The flow of handling vehicle and order processes is also rather messy coming from the original TTD code and also something to rebuild, but I'll have to pick that up one vehicle type at a time later. Doing it for all types at the same time before had me hitting a code wall.
Anyway, OpenTTD is fun, but it's not a good example of code that's easy to read, understand, and maintain, even with all the documentation in it. I'm looking forward to seeing the result without classes, templates, and operator overloading.
Re: (Score:3)
Sorry, I don't understand: did you submit your patches upstream?
Re: (Score:2)
Not upstream because it's clear enough it's not in line with how they code ( the C++ way while mine is the C way ).
I did post all code on the forum and updated regularly, but the current code base is not posted yet. I want to change the timetable window first with the new/replaced one ( and most of the underlying code).
Re: (Score:1)
Re: (Score:2)
I also liked TTD and OpenTTD.I also liked Factorio, but got a bit bored at that at some point.
If you have minecraft and wanted to play that, but with machines I recomment that you try modpacks like:
- Sky factory 2 (you start on an island in the sky that is just one dirt block with a tree, and you need to build multiple machines like nuclear reactor in the later events that do the work for you). I liked this so much that I have played it several times. At the start there is quite a lot of grinding, but that
Great. But... (Score:1)
have they re-written it in Rust yet? That's all that matters. Don't worry about features or bugs. We must haz our Rust!
Re: (Score:3)
Did you get the Rust beta for minesweeper yet?
It's both memory secure and safety compliant.
Re: (Score:3)
and safety compliant
You mean there won't be a bomb under any of the tiles?
Re: (Score:2)
Yes.
It is the ultimate in digital safe spaces. There are no bombs. Everyone wins every time. No hurt feelings ever.
Prolific software creator (Score:2, Insightful)
Of course, he's a while male (tm) and he should sit down (no pun intended) and let diverse people take the stage for once.
BeOS port (Score:2)