OpenTTD reprogramming from scratch

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

liquid
Engineer
Engineer
Posts: 100
Joined: 17 Aug 2010 21:22
Location: Poland

OpenTTD reprogramming from scratch

Post by liquid »

I decided to place this topic here because it's rather a serious proposal for discussion not ordinary suggestion. There are many ideas in the suggestion corner which are rejected by developers for the sake of preserving original coding and main data structures. I know - as a programmer - that it's pretty difficult to change crucial elements of the program.
What I mean is to preserve main conception of game mechanics and economy and enhance graphics and bring some new features. I don't want to choose here what would be worth to include in brand new release of OpenTTD and which would not. It should be the matter of further discussion. Of course, it would be rather new project inspired by this good old game.
If anybody had similar ideas I would be able to join the group and participate in both designing and some programming.
I prefer to dedicate my free time rather to free and open software and organizations than private corporations that are, if not evil, money eager.
Yexo
Tycoon
Tycoon
Posts: 3663
Joined: 20 Dec 2007 12:49

Re: OpenTTD reprogramming from scratch

Post by Yexo »

Please read this article. I'd like to hear (after you've read the article!) why you think this is a good idea.
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: OpenTTD reprogramming from scratch

Post by Terkhen »

liquid wrote:There are many ideas in the suggestion corner which are rejected by developers for the sake of preserving original coding and main data structures. I know - as a programmer - that it's pretty difficult to change crucial elements of the program.
With regard to "rejected features"; the code is used to implement features, not because of the sake of the code itself. If new features, improvements for existing features or fixes are suggested, changes in the code are not a big concern as long as they are correct, clear, documented correctly and splitted in small, functional parts that make reviewing and commit a less time-consuming task. Another one of the usual concerns with suggestions and new features is savegame compatibility. OpenTTD is intended to maintain savegame compatibility forever, which makes some changes complicated or impossible. Last but not least, OpenTTD attempts to stay true to the spirit of the original game. Suggestions that deviate wildly from it are not considered. Besides that also have to take into account the usual concerns for game balance, avoiding exploits and so on. There might be another "big concerns" that make a suggestion truly impossible, but I would like to make clear that "changes the code a lot" is not one of them. It just requires more work from the coder because of our code quality requirements.

You may encounter comments from developers that contain a long list of things to be changed that make the commented feature or patch seem impossible. But unless the list includes a problem with the feature itself like the ones I mentioned in my previous paragraph, the post is not saying that a certain feature is not going to be included. It is just pointing all of the problems that anyone that desires to implement the feature has to solve, and it should not be interpreted as a "no", but as a "you will need to work on it more than you think".

With regard to your suggestion of rewriting OpenTTD itself; if you want to do a game identical to OpenTTD but with a clear design from scratch I would like to point you (in addition to the article linked by Yexo) to a page that summarizes the effort already spent in OpenTTD. IMO it would be more productive to work in improving the existing code base than trying to rewrite years of work.

If you are not thinking on rewriting it but on creating a new game inspired on it, you may be interested in other existing projects trying to do a game similar to OpenTTD, but redesigned from scratch. Given the big task that creating a game supposes, it might be better to help with one of the existing projects than start another one. I'm not following any of them, but I know that there are some at these forums.
Kogut
Tycoon
Tycoon
Posts: 2493
Joined: 26 Aug 2009 06:33
Location: Poland

Re: OpenTTD reprogramming from scratch

Post by Kogut »

I wonder about quality of estimate from https://www.ohloh.net/p/openttd/estimated_cost (it is about 10 times more that what I expected)
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: OpenTTD reprogramming from scratch

Post by Alberth »

To give you an idea of the amount of work that's waiting:

smallfly did a count recently of how many code lines there are in OpenTTD, and he came up with 300,000 lines. I just did a rough count, and came up with 320,000 lines (counting every line), so that seems right.
In my single programmer FreeRCT project (there are more people involved, but not in programming) that started a year ago, I now have 20,000 lines of code (18,000 c++, 2,500 Python). Thus, to reach the current line count without mistakes and without vacation (with a normal 40 hours job next to it), you need about 15 years of coding, just to get where OpenTTD is now.
FreeRCT is still expanding mostly, there have not been big rewrites yet. In OpenTTD that did happen already, so 2 or 3 times that amount seems reasonable. (3 may seem a lot, but when I write a patch, I normally need 3 tries before I get every detail right).

Obviously, this all under the assumption that OpenTTD does not move in those 20-25+ years.

With more people it'll go faster, but it decreases slower then by just dividing by the number of developers.


Last but not least, expect that you are going to have to do this all by yourself. In my project, I have seen uncountable many people saying "great, I want this to succeed", 3 new people claiming to be willing to help with programming through email, but they all disappeared at the first try to compile the code. I have yet to receive the first actual patch. I don't expect new programmers until things become actually playable, in a few years.

Maybe you'll be more lucky though.
User avatar
Expresso
Tycoon
Tycoon
Posts: 1760
Joined: 09 Aug 2004 00:14
Location: Gouda, the Netherlands

Re: OpenTTD reprogramming from scratch

Post by Expresso »

Isn't helping with transport empire an option for you?

EDIT: This topic rises the question, though: what would the criteria be for openttd 2.0? Answering this question could help with giving some direction to development.
fabca2
Transport Coordinator
Transport Coordinator
Posts: 312
Joined: 14 Apr 2004 15:18
Location: Fr

Re: OpenTTD reprogramming from scratch

Post by fabca2 »

sorry the dev, it make long time I would like to tell you something...
Yexo wrote:Please read this article. I'd like to hear (after you've read the article!) why you think this is a good idea.
it is question about marketshare, it's out of purpose for OTTD, isn't it ?
Terkhen wrote:OpenTTD is intended to maintain savegame compatibility forever...
This is (one of) the main problem, why not breaking about savegame every two year for adding exciting feature ?
if you make a pool, I'm sure you will get 90% for approuval.

Terkhen wrote:changes in the code are not a big concern as long as they are correct, clear, documented correctly and splitted in small, functional parts that make reviewing and commit
ho.. you can keep the only the end : "splitted in small functional parts"...
Sorry to be rude, it's a good excuse to refuse wide features (infra share, distribution...)
result : developpers give up, some of them try to maintain their patch few month, few year with no hope to reach the trunk.

In the past, first OTTD developpers welcomed new ones : you. Then you were able to add great feature (yexo : noAI...)
but now, it looks closed. It would be great you get same opeminded spirit as them.

By review log weekly, you get :
5 days ago : Update from WebTranslator v3.0
4 days ago : Update from WebTranslator v3.0
3 days ago : Update from WebTranslator v3.0
3 days ago : gcc compilation fix
2 days ago : Update from WebTranslator v3.0
1 day ago : Update from WebTranslator v3.0

and this is like this for almost one year now...

we all know you have a life, a familly, other thing to do, we don't ask you to commit new feature every day.
just lets enter new dev, they are motivated,
and the few mistake they will do, it will fixed quickly.

Please, take that risk !
you know what : OTTD is dying...

I loved all what you made on OTTD, don't leave it die...
Regards
User avatar
YNM
Tycoon
Tycoon
Posts: 3574
Joined: 22 Mar 2012 11:10
Location: West Java

Re: OpenTTD reprogramming from scratch

Post by YNM »

fabca2 wrote:sorry the dev, it make long time I would like to tell you something...
Yexo wrote:Please read this article. I'd like to hear (after you've read the article!) why you think this is a good idea.
it is question about marketshare, it's out of purpose for OTTD, isn't it ?
[sarcasm]No, its about "how to beat yourself to death". [/sarcasm]
fabca2 wrote:
Terkhen wrote:OpenTTD is intended to maintain savegame compatibility forever...
This is (one of) the main problem, why not breaking about savegame every two year for adding exciting feature ?
if you make a pool, I'm sure you will get 90% for approuval.
****. This is more than hell.
No really, I don't really like that if after some version, theres an incompatibility. This breaks the long-run of people's games, as well as scenario, NewGRF, etc. (yes, im 100% sure that some would) compatibility. Thats it. Theres A LOT of people who download OpenTTD today or five years ago, then see it again 5 years later or today.

And I think you HAVE NOT played a succesful, nice game of OpenTTD that you very love (I think every dev should do it too...), and I think you don't really liking OpenTTD. You place yourself as a general coder, right ? Not as players, not as a developer of OpenTTD.

My suggestion : Play a nice game of OpenTTD for three weeks. You'll know how it feels to love the game.

--------
Expresso wrote:EDIT: This topic rises the question, though: what would the criteria be for openttd 2.0? Answering this question could help with giving some direction to development.
Full 32bpp sprites ! Yay ! :D :bow:
(waiting for Zbase....)
Last edited by YNM on 07 Oct 2012 15:20, edited 1 time in total.
YNM = yoursNotMine - Don't get it ?
「ヨーッスノットマイン」もと申します。
Kogut
Tycoon
Tycoon
Posts: 2493
Joined: 26 Aug 2009 06:33
Location: Poland

Re: OpenTTD reprogramming from scratch

Post by Kogut »

fabca2 wrote:
Yexo wrote:Please read this article. I'd like to hear (after you've read the article!) why you think this is a good idea.
it is question about marketshare
No, it is that "rewrite everything" offers less benefits than many think.
fabca2 wrote: just lets enter new dev, they are motivated,
and the few mistake they will do, it will fixed quickly.
Sorry, but the problem is rather lack of interested people.

fabca2 wrote: you know what : OTTD is dying...

I loved all what you made on OTTD, don't leave it die...
And killing it by starting gigantic and pointless project is a poor idea.
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
Rubidium
OpenTTD Developer
OpenTTD Developer
Posts: 3815
Joined: 09 Feb 2006 19:15

Re: OpenTTD reprogramming from scratch

Post by Rubidium »

fabca2 wrote:This is (one of) the main problem, why not breaking about savegame every two year for adding exciting feature ?
if you make a pool, I'm sure you will get 90% for approuval.
Then you have to rephrase it: would you like it when OpenTTD would not support any custom content (AIs, NewGRFs, game scripts) and any scenarios/savegames at a two year interval? In other words, every two years OpenTTD removes ALL AIs, NewGRFs, game scripts and your savegames and scenarios.

Given the average age of content on bananas, and the most famous content not even using the newest versions of the NewGRF format, I would assume it would take several years to regain all custom content again.

Also, the reason that cargodist, infrastructure sharing and many of these features are yet accepted has little to nothing to do with savegame compatability.

The main reasons those features are not accepted is due to some (serious) gameplay issues.

The reason there aren't more active OpenTTD developers is because there don't seem to be people interested in going through the hassle to become one.

Finally... these kinds of attacks on the developers do not necessarily make them prioritize OpenTTD higher.
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: OpenTTD reprogramming from scratch

Post by Eddi »

fabca2 wrote:just lets enter new dev
fyi, we welcomed a new dev just over a month ago.
fabca2
Transport Coordinator
Transport Coordinator
Posts: 312
Joined: 14 Apr 2004 15:18
Location: Fr

Re: OpenTTD reprogramming from scratch

Post by fabca2 »

Rubidium wrote:
fabca2 wrote:This is (one of) the main problem, why not breaking about savegame every two year for adding exciting feature ?
if you make a pool, I'm sure you will get 90% for approuval.
Then you have to rephrase it: would you like it when OpenTTD would not support any custom content (AIs, NewGRFs, game scripts) and any scenarios/savegames at a two year interval? In other words, every two years OpenTTD removes ALL AIs, NewGRFs, game scripts and your savegames and scenarios.
I didn't meant to break everything.
but I fill unnecessary to keep savegame compatibility to ottd 0.3 for example ?
it there so many people that have 0.3 savegame to play in 1.1 ?

NewGRF is the "basic" extension and should not be removed, of course. I never that that.
Rubidium wrote:Finally... these kinds of attacks on the developers do not necessarily make them prioritize OpenTTD higher.
Sorry Rubidium you felt like an attack, yes I was rude, but look at figures, commit count are decreasing.
in a past, I looked on svn log every day to see interresting changes or adds.
my hope is to let enter more dev (and after, yes, it depends on the level you require to hire them)
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: OpenTTD reprogramming from scratch

Post by Supercheese »

fabca2 wrote:I didn't meant to break everything.
but I fill unnecessary to keep savegame compatibility to ottd 0.3 for example ?
it there so many people that have 0.3 savegame to play in 1.1 ?
Yes. Yes it is and yes there are.

Also, I don't know which commit log you're reading, but the one I have here shows dozens of new features over the past couple months... (if you like I can go into detail).
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
Michi_cc
OpenTTD Developer
OpenTTD Developer
Posts: 619
Joined: 14 Jun 2004 23:27
Location: Berlin, Germany
Contact:

Re: OpenTTD reprogramming from scratch

Post by Michi_cc »

fabca2 wrote: ho.. you can keep the only the end : "splitted in small functional parts"...
Sorry to be rude, it's a good excuse to refuse wide features (infra share, distribution...)
It's not an excuse in any way, and if you look at e.g. the YACD repository you'll see that this splitting is no problem at all. It takes more effort than just producing a pile of unorganized code though, which is probably why most people can't be bothered with it.
-- Michael Lutz
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: OpenTTD reprogramming from scratch

Post by planetmaker »

Michi_cc wrote:
fabca2 wrote: ho.. you can keep the only the end : "splitted in small functional parts"...
Sorry to be rude, it's a good excuse to refuse wide features (infra share, distribution...)
It's not an excuse in any way, and if you look at e.g. the YACD repository you'll see that this splitting is no problem at all. It takes more effort than just producing a pile of unorganized code though, which is probably why most people can't be bothered with it.
And for what it's worth: Infrastructure sharing was and is not refused; it actually had a sound code base. It was not merged into trunk on grounds of unresolved gameplay questions around the topic of how it should work in the various border cases. Which was stated by its author himself.
fabca2
Transport Coordinator
Transport Coordinator
Posts: 312
Joined: 14 Apr 2004 15:18
Location: Fr

Re: OpenTTD reprogramming from scratch

Post by fabca2 »

Supercheese wrote:
fabca2 wrote:I didn't meant to break everything.
but I feel unnecessary to keep savegame compatibility to ottd 0.3 for example ?
it there so many people that have 0.3 savegame to play in 1.1 ?
Yes. Yes it is and yes there are.
Well, you played a 0.3 savegame but never saved afterward?
because if you open a 0.3 in ottd 1.1 , play with it and then save, it becomes a 1.1 savegame.
I may be wrong, but I think it's works like this.

if it's the case, is it harfull to say : "ottd 1.5 can't open savegame before 0.5" ?
Before ottd 1.5 is released, it's possible to open old savegame by any version of ottd and save it again to makes them compatible.

I don't know if savegame compatibility is blocking so much for new features, but if it is, it could be worth ?
Regards
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: OpenTTD reprogramming from scratch

Post by Transportman »

fabca2 wrote:
Supercheese wrote:
fabca2 wrote:I didn't meant to break everything.
but I feel unnecessary to keep savegame compatibility to ottd 0.3 for example ?
it there so many people that have 0.3 savegame to play in 1.1 ?
Yes. Yes it is and yes there are.
Well, you played a 0.3 savegame but never saved afterward?
because if you open a 0.3 in ottd 1.1 , play with it and then save, it becomes a 1.1 savegame.
I may be wrong, but I think it's works like this.

if it's the case, is it harfull to say : "ottd 1.5 can't open savegame before 0.5" ?
Before ottd 1.5 is released, it's possible to open old savegame by any version of ottd and save it again to makes them compatible.

I don't know if savegame compatibility is blocking so much for new features, but if it is, it could be worth ?
Regards
I have always understood that it is because there is code in place to convert the savegame from 0.3 to 1.1... So why remove that code? To add new features, while the 1.1 savegame can be converted to that new version? I'm not a dev, but I think it's highly unlikely that that will happen
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: OpenTTD reprogramming from scratch

Post by Eddi »

fabca2 wrote: I don't know if savegame compatibility is blocking so much for new features, but if it is, it could be worth ?
Regards
so how many people have to tell you "it is not", before you believe it?


besides, savegame compatibility is not really about whether 0.3 savegames can be loaded in 1.3. it is about whether 1.2 savegames can be loaded in 1.3. the rest is rather trivial to achieve.
User avatar
Expresso
Tycoon
Tycoon
Posts: 1760
Joined: 09 Aug 2004 00:14
Location: Gouda, the Netherlands

Re: OpenTTD reprogramming from scratch

Post by Expresso »

If I remember correctly, there was something with the extra large maps patch and savegame issues.

But then again, maps the size of 16384*16384 would consume quite a bit of hard drive space (over 2GB per save (some filesystems can't handle files that large), if not compressed)... and who wants to play with maps that size?
fabca2
Transport Coordinator
Transport Coordinator
Posts: 312
Joined: 14 Apr 2004 15:18
Location: Fr

Re: OpenTTD reprogramming from scratch

Post by fabca2 »

Eddi wrote:
fabca2 wrote: I don't know if savegame compatibility is blocking so much for new features, but if it is, it could be worth ?
Regards
so how many people have to tell you "it is not", before you believe it?
Sorry but I was replying to Terkhen, he's a dev, then I think he knows better than you and I.
He said :
Terkhen wrote:Another one of the usual concerns with suggestions and new features is savegame compatibility. OpenTTD is intended to maintain savegame compatibility forever, which makes some changes complicated or impossible.
Then check with him if "savegame compatibility is blocking or not some changes"...
On my side, I said that I didn't know, but if it is, it could be worth thinking about it. (it's an "idea")
You, you looks to know better, ok, great.

But, ok, if thinking about that hurt you so much, I won't spoke about that anymore.
Bye.
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 43 guests