What is OpenTTD today?

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

Alberth wrote: [...] A final problem is that the pool of developers seems to have dried up. People capable of developing OpenTTD further prefer to do other things instead.

So this is what I make of todays state of OpenTTD. It's not you against us or so, development is just increasingly more complicated with a decreasing amount of man-power, and an increasing diversity of wishes and desires. [...]
The main reason for the current status is the inappropriate behaviour of "the developers" (not all of them) which have driven away lots of people once interested in further developing this game.

regards
Michael
Image
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: What is OpenTTD today?

Post by Alberth »

Thanks so much for your positive contribution to helping solve this problem.
Being a retired OpenTTD developer does not mean I know what I am doing.
ino
Traffic Manager
Traffic Manager
Posts: 152
Joined: 09 Apr 2017 14:58

Re: What is OpenTTD today?

Post by ino »

I have been playing OpenTTD for several years, but recently just joined the community. I have contribute a patch toward JGR patch pack. What I feel when I was writing that patch was that I could take some shortcut, because it was just a patch. If I were to write it to be included in trunk, I would have written it to far stricter standard. The thing is, I don't feel like spending that much time to polish it enough to be trunk-worthy (in my opinion, which may be more or less strict than the actual worthiness).

IMO, Day-length patch, even the one in JGR patch pack, is not even near ready to be include quality-wise. As Alberth said, these changes need to integrate deep into the OpenTTD, not just as slap-on hacky code. Day-length patch is definitely still a slap-on code. (Otherwise we would not have two different sub-day tick counters)

A proper solution might be to have a programmer who can dedicate time to OpenTTD. Unfortunately, I don't know how to find that programmer. And to be honest, I don't think I would enjoy OpenTTD any less even if does not have any further updates at all.
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

Alberth wrote: Thanks so much for your positive contribution to helping solve this problem.
Are you talking to me? Then qed. I´ve seen so much ignorant, arrogant, snappish, and derisive comments from "developers" towards contributors over the years, that I´ve been 100% sure about such an answer.

regards
Michael
Image
Toffo
Engineer
Engineer
Posts: 62
Joined: 04 Jun 2009 10:59
Location: NSW, Australia

Re: What is OpenTTD today?

Post by Toffo »

Alberth, thanks for taking the time to write your answer. As I said myself, I'm on the outside looking in, and I've always found your posts interesting and insightful. This discussion has been productive so far, so hopefully anything else can be taken elsewhere to keep this thread clean. OpenTTD is far from having seen its last commit!

Edit: Checking out the IRC logs and Flyspray tasklist was pretty illuminating in terms of what keeps OpenTTD ticking over.
User avatar
andythenorth
Tycoon
Tycoon
Posts: 5656
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: What is OpenTTD today?

Post by andythenorth »

michael blunck wrote:The main reason for the current status is the inappropriate behaviour of "the developers" (not all of them) which have driven away lots of people once interested in further developing this game.
What is wonderful here Michael is that you cloak yourself in virtue ("I am speaking on behalf of all the lovely people driven away from some bright future").

Simultaneously you pull an old linguistic trick which is used to divide communities, i.e. the labelling of a sinister group "the developers", who you can point to as being the root cause all the current apparent problems. It creates an "other" who can be blamed.

Moreover you have huge social capital in the community thanks to your outstanding contributions in newgrf. The way you leverage this intentionally or unintentionally makes it very unappealing for other people to want to join this group "the developers" who are castigated in public reasonably frequently in community discussion.

People have names. If you don't like their behaviour call them out on it by name. Shadowy groups are impossible to call to account in any way at all.
Toffo wrote:If someone reports an oversight, either deliberate or accidental, in a project I'm running, I thank them for their feedback, address their concerns and address the issue. A terse "do it yourself" or "what do you suggest?" is not how I'd play it, because it's my project and hence my responsibility, not theirs.
In my newgrf projects I do the same as you (more or less, depends on the day and how grumpy I am). Difference is with OpenTTD: nobody is responsible.

I am solely responsible for most of my newgrfs now. I have had boatloads of contributions and help along the way, but collaborating with me in the long run is hard, like collaborating with Michael or V or other people with distinct visions of what they want would be hard.

But that's an aside. The key thing is that with OpenTTD, nobody is responsible. It's not a single person's project, and where in previous times there was a sense of group responsibility ownership, the active development is now falling to a very small group of people, spread thin. There are an overwhelming number of bug tickets, patches and feature requests, and there are also a lot of web services to maintain and keep alive. So eh. :) . And maybe that's solvable.
ic111
Director
Director
Posts: 608
Joined: 17 Jul 2007 17:56

Re: What is OpenTTD today?

Post by ic111 »

Thank you for this detailed comment, I try to give an answer from my perspective.
What everybody wants from OpenTTD is to be a reliable, long-living, stable program. A second thing that we want is backwards compatibility, it can read files that are more than a decade old, all your old savegames still work today. To a developer, that means the program must be maintainable and robustly built. You want the fundamentally proper solution to a problem, since that is the best way to ensure stability and reliability.
This is a very senseful goal.
There is another thing that we want, namely we want the program to be extendible. If someone finds a proper solution to daylength eg, it should be added.
In my experience as a patch developer, such clear statements are very important. What you say here is basically, "it is senseful to spend time on this problem, because a proper solution would be accepted." (at least in your personal opinion, having your disclaimer above in mind). As a patch developer, such a statement gives a lot of motivation for spending the work needed to improve a 90-percent-solution to a 100-percent-solution.

And such a statement is not a matter of course - because the fact that a feature never goes to trunk can easily mean that the dev-opinion is that the very basic idea of the feature is not liked. If devs say "day-length does not fit into the game, regardless of the implementation", then spending time to make a patch ready for trunk in a technical sense would simply be wasted.
This also points to fundamentally correct solutions, since these capture the core mechanism well, and are most likely to be a stable foundation to build on in the future.
Given my experience as a software developer, I would say that the question, about which aspect of the implementation you talk is quite important here. For example: If you miss something important in a day-length-patch, then you are in danger of breaking important things. If you have some problem in the implementation of a new landscape generator, then this is an isolated problem because you always have the choice to use the old one.

So, I think the question "what could go wrong if we would miss something" is a quite important question about patches.
- The number of developers decreased from ~10 to ~1 (and I count for around 0.1 at most)
- For emphasis, there is ~1 developer, doing everything in his spare time only.
So, we really talk about exactly one human person?
No wonder things get slow, or announcements fall off the todo-list. I agree it looks sloppy, but with so many things to do, and so little man-power, what would you expect?
The topic here is the new features that seem to stick around in patches forever.
It is true we are not well organised in reviewing patches.
The thing is: How did the devs become devs? Probably, by implementing patches, that were eventually added to trunk, and at some time, they were asked wether they want to become devs.

But if no one has the time to review patches, people joining the community or starting to write patches don't have the chance to follow this path.
The biggest problem with almost all of them however, is that they're, frankly, duct-tape and ply-wood. Patches like signals on bridges extend on a barely existing foundation, to the point that it's about to collapse under its own weight. It's fine for prototyping, but not a robust solution that will be extendible into the next decade to whatever we invent in 10 years from now.
I understand what you mean. Maybe a clear communication about the state and perspective for patches would help? (maybe as a Wiki-page maintained by the devs?)

Getting back to the day-length example: The topic exists for years now. Probably, solutions were more or less inspected by devs or other persons. And given what I read here, these solutions always were considered to have severe problems that make an addition to trunk impossible.

If there would be a Wiki page with a table of currently existing patches, where a dev reviewing a patch enters a short comment, something like "coding style ok, but there is a severe conceptiual problem concerning ..., see forum post (... link here ...)" then this wouldn't be too much extra effort compared to the pure review, but would add a lot of transparency.
"solid foundation" means a year or more work before you get to the point of adding the feature.
As I wrote above, there is a difference between spending that time given a basic committment "this feature is liked", or spending this time in a situation were you don't know wether the feature is liked at all.
It may look like a bad policy, and we should accept less finished patches.
As you wrote above, there are no small problems left. So, I personally in my patches tried to solve some of the big ones.

More height levels went to trunk after about 6 years of development (with some misunderstandings shortly afterwards, because devs expected me to address some problems, which I didn't realized).

The timetable improvement patch [1] (lives as a patch since December 2012) changes timetable handling in a quite fundamental way.
The river generation patch [2][3] (lives as a patch since December 2014) does a little bit refactoring of map generation window to support the concept of different river generators, and then adds a new river generator.

I really tried to stick to the coding style, and comment things, but in the end these patches are from my perspective in a state like
- most of the work is done, they do what I expect for my games
- there may of course be tasks left, e.g. I never play multiplayer, and I currently don't remember exactly wether I addressed the conversion of savegames with old timetable information properly (to mention just two aspects that may be relevant concerning the timetable patch)
- they both have quite a lot of code

Now, I as a patch developer have the situation
- probably, no one has the time to review 4000+ lines of code (in the case of the river generator) line-by-line
- in the case of the timetable improvement patch, it is not even clear wether the idea itself would be liked at all
- concerning the river generator, at least I assume that people wouldn't object against the idea of having a new river generator
- I don't exactly have too much time in real life either

So, what should or can I do with these patches?

Given there are many other tasks as well in real life, my answer so far is simply, I let them live as patches, maybe once or twice a year I have a look wether they still apply to trunk, but I don't spend more time for them.
So yes, you can add todays gimmicks in duct-tape and ply-wood,
Actually, in my opinion the improvements for OpenTTD that would make sense (at least for me) are not gimmicks, but improvements for game mechanics itself. That's the reason why I never started with small patches, but tried to address big tasks.
The 1,000,000 dollar question is, how do we turn around the tide??
Unfortunately, I don't have the answer.
IMHO, you as devs should ask yourself the question, who can actually be considered active, and who actually already retired from the project. Depending on the answer to this question, maybe to some extent you should pass things to the next generation.

I mean it is nice to have a game with such a stable codebase, and such a sense for code quality. But if development stops because the devs that are considered to be able to produce high-quality code retired, then actually the question arises why other people shouldn't have their chance to improve the project either?

In an association I am a member in, it is often said that whoever invests time and work for setting up something (e.g. some event) decides *how* it is done.

And sometimes I think, that a little bit more of this spirit would be quite a benefit for OpenTTD.


[1] viewtopic.php?f=33&t=63721
[2] viewtopic.php?f=33&t=71970
[3] download/file.php?id=182200
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

andythenorth wrote: What is wonderful here Michael is that you cloak yourself in virtue ("I am speaking on behalf of all the lovely people driven away from some bright future").
Far from that. The OP was expressively referencing that "old conversation" linking it with questions about the current status of the project ("OpenTTD is dying, and has been since at least 2008." [AP]).

Following were a lot of diverse comments, with Albert going into details of more difficult project management in times of increasing code complexity.

Instead, my comment aims at a very different basic reason why progress could have been detiorated or people have turned away. Which has nothing to do with any sort of "cloaking in virtue". It is a fact, it can be checked, but it might be displeasing (and useless) to discuss.
andythenorth wrote: Simultaneously you pull an old linguistic trick which is used to divide communities, i.e. the labelling of a sinister group "the developers", who you can point to as being the root cause all the current apparent problems. It creates an "other" who can be blamed. [...]
People have names. If you don't like their behaviour call them out on it by name. Shadowy groups are impossible to call to account in any way at all.
I could have given names and spreading details. But what for? No reason to insinuate a "linguistic trick" from my side. For those interested in digging details (might be a Pandora´s box), just back read the forums, flyspray, or IRC logs. It´s not technical problems, it´s the (leadership) stance which counts.

regards
Michael
Image
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

andythenorth wrote: Who is responsible for the leadership?
Those who have committing rights. Who else?

regards
Michael
Image
User avatar
Simons Mith
Transport Coordinator
Transport Coordinator
Posts: 326
Joined: 14 Jan 2010 23:45

Re: What is OpenTTD today?

Post by Simons Mith »

OpenTTD operates extraordinarily well considering the 'headless' state of the project. It's a very complex project, easily the equal of Battle for Wesnoth, but it doesn't have a head developer to provide direction and leadership. Now that would be a hard and thankless job if ever there was one, and I don't blame anyone for not wanting to step into that firing line. Also I think it would be enough of a time sink that it would easily be a part time job. So, an unpaid part time job and extra stress and hassle on top of that. We already have a lot of people going far beyond the call of duty, just for their love of the game.

So while I agree with many of the grumbles on this thread, I make allowances for these points and conclude that I have nothing really to complain about.

[Edits] PS, what's wrong with being part of a sinister cabal anyway? I always assumed that was one of the job's perks... In fact I think I shall refer to them as the Sinister OTTD Developer Cabal henceforth. :-)
ino
Traffic Manager
Traffic Manager
Posts: 152
Joined: 09 Apr 2017 14:58

Re: What is OpenTTD today?

Post by ino »

ic111 wrote: IMHO, you as devs should ask yourself the question, who can actually be considered active, and who actually already retired from the project. Depending on the answer to this question, maybe to some extent you should pass things to the next generation.

I mean it is nice to have a game with such a stable codebase, and such a sense for code quality. But if development stops because the devs that are considered to be able to produce high-quality code retired, then actually the question arises why other people shouldn't have their chance to improve the project either?

In an association I am a member in, it is often said that whoever invests time and work for setting up something (e.g. some event) decides *how* it is done.

And sometimes I think, that a little bit more of this spirit would be quite a benefit for OpenTTD.
I disagree entirely with this statement. This is an open source project. You are free to fork the project, and called yourself OpenTTDNext, or something. (If OpenTTD is not trademarked, and I don't think it is). I myself already consider many patch packs a fork of OpenTTD already. It is the beauty of being open-source. Such fork may be considered "hostile" fork, but it does occurs when people disagree on how project should be run.

If you are dedicate enough in maintaining the fork, people will start to recognise your project. You will of course have to build or try to convert community, but if core OpenTTD is really dying people will definitely flock. It could also spark new fire in core OpenTTD, and the fork might end up merging, or not, etc.
User avatar
Wolf01
Tycoon
Tycoon
Posts: 2016
Joined: 24 Apr 2004 10:43
Location: Venezia - Italia
Contact:

Re: What is OpenTTD today?

Post by Wolf01 »

I once saw "the developers" behaviour like SAC does, but now, reading that old discussion again with a matured sense of things I really feel that SAC and other "exiles" are acting like children, you can't have everything you want and if you don't then you only blame "the developers".

I agree that developers are a bit grumpy, but that's because they have already seen the same requests on the same things many and many times, and they got tired, and if you want to get along them then you should prove yourself to behave like a collaborative person.

Michael says they are selfish and just commit what they want, yes, it might be, but also they have *A LOT* of patches which never show us (at least the majority of us) and which never will be included in trunk because of different reasons.

Also now the lacking of developers, there are maybe 6 people doing the work of 1 developer (that's what Alberth was meaning), is making unlikely that big new features will hit trunk in days, or even months... maybe we'll see a nice feature once a year.

Imagine now if they will commit a feature of 4000 lines and the guy which created it is not willing to help with the maintenance, developers will get another part of code which they might not understand to maintain. And this happen a lot, like with pathfinders and other parts of the code.

I agree with ic111 point of view, mainly.
I agree especially with the "give space to the new generation", provided the new generation will follow the guidelines and the spirit of the past devs. I don't want a new generation of "accept any patch which comes under the eyes" or which don't consider code review.
We, as a community, we should find good people which could be proposed to devs to become the new generation, and they should be trained too.
Maybe the new generation will be more soft when talking to users, when rejecting patches or feature requests and explain why they do it, maybe trying even to make the user which advanced the request understand why it was rejected without starting a war.
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

Wolf01 wrote: Michael says they are selfish and just commit what they want
I didn´t say that. (Just for the record.)

regards
Michael
Image
User avatar
Wolf01
Tycoon
Tycoon
Posts: 2016
Joined: 24 Apr 2004 10:43
Location: Venezia - Italia
Contact:

Re: What is OpenTTD today?

Post by Wolf01 »

michael blunck wrote:
Wolf01 wrote: Michael says they are selfish and just commit what they want
I didn´t say that. (Just for the record.)

regards
Michael
You said even worse things.
My 2 cents.
ic111
Director
Director
Posts: 608
Joined: 17 Jul 2007 17:56

Re: What is OpenTTD today?

Post by ic111 »

I disagree entirely with this statement. This is an open source project. You are free to fork the project,
Of course one could do this - but where is the point in forking a project where hardly any development happens, due to lack of manpower?

If the problem would be about fundamentally different opinions, into which direction the project should move in terms of code or features, then I would agree to some extent. If I want some features that other people reject, then a fork might be the thing to do.

But what I read here sounds more like more and more devs being retiring for reasons out of the scope of this project. And at this point IMHO the question is rather, is this project able to fill the gap with new people?

And if this happens, of course these new people, who in the optimal case invest time into OpenTTD, will want to make things their way to some extent, or will want to improve features they particular like. Which does not mean ignoring all experience and coding styles etc. that exist so far; I agree with Wolf01 in this point.
It is the beauty of being open-source. Such fork may be considered "hostile" fork, but it does occurs when people disagree on how project should be run.
IMHO, it is the beauty of open-source that you *can* do things like that, but this does not mean that it is always senseful.
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: What is OpenTTD today?

Post by michael blunck »

OT
Wolf01 wrote:
mb wrote:
Wolf01 wrote: Michael says they are selfish and just commit what they want
I didn´t say that. (Just for the record.)
You said even worse things.
You´re mixing things up.

I didn´t write that "they are selfish", simply because I don´t know whether "they" are.

And yes, I wrote that discussing further along these lines "might be displeasing (and useless)", so I wonder why do you insist?

Or are you just trying a new linguistic trick on me? :p

regards
Michael
Image
User avatar
Redirect Left
Tycoon
Tycoon
Posts: 7238
Joined: 22 Jan 2005 19:31
Location: Wakefield, West Yorkshire

Re: What is OpenTTD today?

Post by Redirect Left »

Alberth wrote:A second thing that we want is backwards compatibility, it can read files that are more than a decade old, all your old savegames still work today.
I personally feel this now needs to be dropped, and only support backward compatibility with a few versions ago of OTTD, instead of backwards compatibility going back years.
It has got to the point where this is holding things back far more than it gives to people.
Image
Need some good tested AI? - Unofficial AI Tester, list of good stuff & thread is here.
User avatar
Wolf01
Tycoon
Tycoon
Posts: 2016
Joined: 24 Apr 2004 10:43
Location: Venezia - Italia
Contact:

Re: What is OpenTTD today?

Post by Wolf01 »

michael blunck wrote:OT
Or are you just trying a new linguistic trick on me? :p
mb wrote:And for sure, there´s a closed "leading group", mostly occupied with themselves, and to a much lesser degree caring about the broader audience.
If this doesn't mean "selfish", I don't know what other definition to give it.
/OT

And please stop behaving like a child, adding nothing to this discussion but only picking up on words.
Redirect Left wrote:
Alberth wrote:A second thing that we want is backwards compatibility, it can read files that are more than a decade old, all your old savegames still work today.
I personally feel this now needs to be dropped, and only support backward compatibility with a few versions ago of OTTD, instead of backwards compatibility going back years.
It has got to the point where this is holding things back far more than it gives to people.
When Microsoft tried to do this they were submerged by insults. Strange it doesn't work the same with Apple or Android, but better safe than sorry, I prefer to be able to load a savegame from 2004, or even one from TTDX.
User avatar
Redirect Left
Tycoon
Tycoon
Posts: 7238
Joined: 22 Jan 2005 19:31
Location: Wakefield, West Yorkshire

Re: What is OpenTTD today?

Post by Redirect Left »

In that case, just download a recentish version, save the game again, would work with a new one. Or just figure out what the changes are and make a seperate savegame patcher.

The current backwards compatibility stuff is just so limiting what people can do with trunk now.
Image
Need some good tested AI? - Unofficial AI Tester, list of good stuff & thread is here.
Locked

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 15 guests