Page 1 of 1

OpenTTD in Unity

Posted: 10 Aug 2019 17:39
by FlamesOfAPhoenix
Could Anyone port OpenTTD to Unity, it would be a great help for my current WIP-Game, since I didnot find any code/help

Re: OpenTTD in Unity

Posted: 10 Aug 2019 19:12
by kamnet
OpenTTD source code is here: https://www.openttd.org/downloads/opent ... atest.html

Download and follow the usual steps for compiling source code. If you have any particular issues, please feel free to post them here and somebody may be able to help.

Re: OpenTTD in Unity

Posted: 12 Aug 2019 07:00
by Alberth
A few challenges to do the port:
1. OpenTTD is written in C++, it's over 300,000 lines of code.
2. It doesn't use the GPU for rendering, drawing is all done by the CPU. You'll have to re-implement that from scratch. Be sure to keep all functionality of NewGRFs, so likely you need to implement some part of NewGRF at the GPU.
3. Once you did that, you'll likely run into performance problems. The current code is highly tuned to run a lot of vehicles smoothly. A JIT interpreter with automagic garbage collection like what's below C# is going to have a hard time keeping that performance.

So good luck porting, you'll need it.

Re: OpenTTD in Unity

Posted: 15 Jan 2022 16:23
by sdzanella
I've also wanted to port to unity, but the difficulties are many (and unpaid) to write it in C# while maintaining performance and all the richness in details.

If you have 5 other people willing to collaborate maybe I will someday :)

Re: OpenTTD in Unity

Posted: 15 Jan 2022 19:34
by Taschi
Honestly, if you want to make a OpenTTD-style game in Unity, given that OpenTTD already exists, is in active development and is also quite good, I'd personally prefer if you just made your own game with your own spins on the genre.

99.99% of people do not care what language OpenTTD is written in or which graphics framework it uses. There are many things in OpenTTD that I feel could be improved on in a game that was not beholden to the core design decisions of original Transport Tycoon, but the fact that OpenTTD is written in C++ and uses SDL has nothing to do with any of them.