minetest / minetest_game

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]
http://minetest.net/
Other
1.41k stars 567 forks source link

MTG was officially moved to a 'bugfixes, maintenance only' mode! #2710

Open paramat opened 4 years ago

paramat commented 4 years ago

Because we need to move on from MTG, which is holding MT back.

There is still too much focus on MTG, core dev and contributor time is better spent elsewhere on new games. Hopefully soon we will stop shipping MTG with the engine, the more i think about this the more i realise how obvious and important this is, to stop MT being judged by MTG and confused with MTG. I consider this the most important task in the engine. The more we add to MTG the more maintenance and time it requires, resulting in more focus on it and neglect of moving forward and creating new games (either modding bases or coherent playable games).

This does not have to be completely inflexible and rigid. Occasionally we could still add highly beneficial refinements or highly beneficial fundamental features.

If this seems controversial and extreme, it is not, as MTG deveopment has already been close to this state for many months. Few contributions to MTG are made, and these are mostly bugfixes.

Is MTG a modding base?

MTG is sometimes described as a 'modding base', but it is actually a bad one due to its mod structure. However, splitting default into many smaller mods is a nightmare task that involves many aliases and the complexity of compatibilty code. MTG is not worth the effort this requires.

A good modding base would not have random feature mods included, like beds etc. Stuff that a game customiser would prefer to choose themselves. A good modding base, to me, would be a world with biomes and resources, and mods to do fundamental environment stuff like altering clouds and providing environment sounds. Nothing else. Then you add mods to do what you desire with those resources.

Is MTG a game?

But also, MTG is not a coherent game, it has a random collection of mods, some of which are exact copies of MC features, that do not make much sense together. Survival aspects but no dangerous mobs. MTG can never be a coherent game, and we should give up trying, because it suffers from 'design by committee'. Celeron55 warned about this in the past, and it seems he tried to limit the number of MTG core devs due to this. But as engine core devs were added, most insisted on being MTG core devs also, resulting in a large number of MTG core devs.

The MTG core devs are large in number but not coherent, and have equal power, this is the worst situation for a game which, unlike the engine, is a work of art. A group creating a work of art only works well if either:

MTG is also developed in a MT repo and according to MT engine rules, this further harms creativity due to the bureaucracy which is actually fine for an engine.

So

MTG is stuck halfway between being a modding base and a cohesive and compelling game, unable to be good at either. We should give up trying to make it either of those.

The value of MTG is:

None of these require the addition of new features.

MTG contains a lot of nasty implementations that cannot be changed because of so much depending on MTG being the way it is. In this way, MTG is very restricted and stuck 8 years in the past. I am actuallly surprised that we are still so focussed on it, i feel we should have moved on many years ago.

Obviously, we have to maintain MTG to support what depends on it. But beyond that i do not think it deserves any more than a tiny amount of core dev or contributor attention.

To be clear, i am calm and am not ranting or insulting MTG. I feel good about what we have achieved. I just have a clear view of how things are and a need to move on.

EDIT: Some more things that need doing:

sfan5 commented 4 years ago

This is the structure of Hidden Worlds and why that game was so successful and progressed 10 times faster than MTG.

I have no idea what Hidden Worlds is and couldn't find it form a quick search.

But as engine core devs were added, most insisted on being MTG core devs also, resulting in a large number of MTG core devs.

The MTG core devs are large in number but not coherent, and have equal power, this is the worst situation for a game which, unlike the engine, is a work of art.

MTG had a team of 6 before and it was still somewhat productive. (roughly 2016-2018 on this graph) With the current team of 3 active devs, the issue seems to be that nobody has time (or willingness) to work on MTG.

I am actuallly surprised that we are still so focussed on it, i feel we should have moved on many years ago.

I don't get where you see any focus on MTG. Sure it's still shipped with the engine, but we couldn't even get the translation update done at the start of the feature freeze. Nobody even cares.


Despite the nitpicking above, I don't see any future for MTG this way either and moving it to a bugfix-only mode is a necessary step.

rubenwardy commented 4 years ago

I have no idea what Hidden Worlds is and couldn't find it form a quick search.

Hidden Worlds is @Ezhh's game. It's a private repo currently

ghost commented 4 years ago

The only problem I see is that 95% of mods depend on MTG. I mean if MTG is removed then all ContentDB mods will be useless and the mods will be dispersed. Then a batch of specific mods will appear just for unique games, and they will be incompatible with other games. 9 years of mod history will be compromised. It will be a clean slate.

Casual players will be upset if they can't install good mods: 3d armor, moreores, decor in their favorite game...

NathanSalapat commented 4 years ago

@runsy This isn't talking about deleting MTG. It will continue to exist, just won't see new features.

ghost commented 4 years ago

@runsy This isn't talking about deleting MTG. It will continue to exist, just won't see new features.

Ah, so i say: OK. No more features. Still. Pause. Freeze. Only bugfixes.

Wuzzy2 commented 4 years ago

:+1: This would be not the first time MTG would be in a bugfix-only mode. Yes, let go of MTG, apart from bugfixes. MTG still needs to be supported in a strictly technical sense just for the servers alone. I agree that MTG can't and shouldn't be killed entirely simply because of all the dependencies that grew from it. Moving to maintenence mode is probably the best solution.

As for the modding base view of MTG, I might argue that allowing documentation improvements/fixes is acceptable as well. But I don't think it's pressing, I think the documentation is fine for now.

I mostly agree with this post, obviously, as I have argued to dethrone MTG for YEARS. I'm very glad to see that you finally agree. Going to pure-maintanence-only mode is a clear signal to set priorities.

The MTG core devs are large in number but not coherent, and have equal power, this is the worst situation for a game which, unlike the engine, is a work of art.

I think that's not really the problem. The problem is that MTG has a near complete lack of vision, for years. You don't neccessary need a “dictator”, but more like a shared vision. Since there was basically none, MTG was being pulled in many opposing directions, so it did not head anywhere. I have also nagged you years ago about MTG's core goals, but I never got a satisfying answer or just very vague ones at best. The fact that you still have not figured out whether MTG is even meant as a game, or a modding base, or something else, is very telling. It's no surprise that MTG was always in this misery, nobody knows what MTG is even about! I don't think the number of MTG core devs is high. The decision of reducing the number of core devs in MTG didn't really help anything, since the actual problem was (IMHO) the lack of vision.

I agree with most of the rest of the post, except:

(…) a gentle introduction game to get used to controls and basic aspects of many MT games.

Absolutely not. MTG is not a good gentle introduction. I have disputed your claim before, I don't understand why you still repeat this. The player is just thrown into the world without any hints whatsoever. No crafting guide (very very bad), punch trees with your hand, no helpful in-game description/help of complex items like the key, and other gotchas. Put that all together, and MTG is very beginner-unfriendly, especially those who a re new to the genre. You can't play unless you have at least some prior knowledge. Reading the wiki is a must, but not all players might know that it exists.

I think Repixture might become a candidate for an introduction game. First, it's deliberately very simple, and includes some of the missing help stuff. Bot it's not quite ready for prime time, however. First, it too lacks in content (IMHO), second, it has no tutorial-like elements (yet).

Wuzzy2 commented 4 years ago

It's probably a good idea to discuss which PRs are, and which PRs are not acceptable.

Acceptable PRs to me:

paramat commented 4 years ago

By 'focus on MTG' i mean it being shipped with the engine, being the basis for so many servers, and having contributions being made to it, it still seems 'the game to aspire to contribute to', probably because it is shipped with the engine. MTG is still the MT game with the most focus on it.

///////////////////////////////

Part of the reason i request this is to make clear to non-core dev contributors what PRs will be considered.

We still get PRs for new textures and random low-priority features (which should obviously be optional mods used with MTG), currently there is still pressure to attend to these, i feel obliged to. And it is then painful to try to argue these should not be added, and this disappoints the contributors. For example a recent PR for new (and bad) textures, which i spent hours reviewing (in order to point out the problems) and requesting changes, then regretted spending time on. It would be kinder to contributors to just say "we do not accept PRs for new textures unless the core devs have specifically asked for them", so that they do not waste their time in the first place and to avoid going through a review process of argument and disappointment.

This is actually what i meant by a large non-coherent team of equals.

MTG is not a good gentle introduction.

Well yeah, it is not great for that, i should not have included that =)

As this is a big decision, i ask for one more core dev to agree, that will then be a majority of active MTG core devs. If this goes ahead i offer to go through all issues and PRs to update/close etc, and to make a post in the news forum.

paramat commented 4 years ago

Also:

I mostly agree with this post, obviously, as I have argued to dethrone MTG for YEARS. I'm very glad to see that you finally agree.

Well ... the core devs, and celeron55, have actually also intended to dethrone MTG for many years, by shipping multiple games with the engine. But that never happened. Now that we have the Content Database, that is not necessary, a far better, simpler and easier approach is now possible, by shipping no games at all. This is necessary to dethrone MTG, the problems will persist if MTG is still shipped with the engine even if it is in maintenance-only mode.

paramat commented 3 years ago

Also:

rubenwardy commented 3 years ago

Minetest Game is stagnating because there's a lack of direction. We try to please everyone, but end up pleasing no one at all. I want to see MTG be more fully-featured as a light minecraft-like, with:

Whether it's a fork or an official project, I think it's useful for Minetest Game to continue.

paramat commented 3 years ago

I do not consider the 'stagnation' to be a bad thing, using that word implies a bad thing, i think it is necessary and we realise this. Considering how badly structured MTG is, how difficult it is to fix that, how much bad stuff it contains that cannot be changed because of how much depends on it being the way it is, i think MTG is too much of a history- and dependency- restricted mess to be worth adding more to or trying to base an impressive game around.

I consider the intent to create an 'impressive game' around MTG to be a mistake. It cannot be a good modding base either.

Better to make MTG maintenance/bugfix-only to support what depends on it, and start a new unrestricted game, even if the new game copy-pastes many of the better parts of MTG (to not waste that work) but uses a good mod structure, removes unnecessary mods and fixes the bad stuff like the horrific plant-spreading implementation.

So i suggest a fork (or multiple forks) that is free to alter and fix all that is wrong with MTG, not restricted by what depends on MTG remaining the way it is. Good chance to use a new name.

If a fork is made it needs to be developed under a new system, one of the 3 i list in the first post, not 'a large number of non-coherent core devs with equal power' as that is what MTG does and that does not work for a game and results in a dull unfocussed game as well as lots of subjective-taste arguing.

I will not be a part of any gameplay-focussed popular MTG-fork as i am not gameplay-orientated, or rather, my concept of 'gameplay' is radically different to most users of MT. I intend to work on new games alone, or be part of other projects that have a dictator (like HW).

Wuzzy2 commented 3 years ago

I fully agree with paramat. The dependency argument cannot be dismissed easily, there is a ton of mods and servers that depend on MTG so that some major changes would actually make things worse.

If you want to “rescue” MTG, the only reasonable way forwards would be an independent fork. A fork which can ignore all these restrictions safely. But I like to note the fork would have to have a radically different development method. It also needs an actual plan and vision, some goals to work towards, rather than just a vague and useless notion of “voxel game”. The bureaucracy of MTG has prevented MTG from getting a crafting guide, for crying out loud! The discussion about the crafting guide is >100 comments long, while almost all other games just did it.

Some advice for a potential fork:

This list only applies if you actually want to do a fork, obviously. I don't know if we even need a MTG fork, or if it is better to just start something from scratch. Also, we already do have games which already have most of the features that rubenwardy lists, games with much greater potential. So check out those, too.

Fixer-007 commented 3 years ago

There is still too much focus on MTG, core dev and contributor time is better spent elsewhere on new games.

What new games you people have in mind and will you even contribute to them in any way... Will it end up as even more "dead MTG" game? Will it be different this time with red tape on contributing, will PRs stall for years?

paramat commented 3 years ago

It also needs an actual plan and vision, some goals to work towards

MTG had all that except 'vision', see the many issues discussing the many planned features.

The bureaucracy of MTG has prevented MTG from getting a crafting guide

Nah, the delay is due to us still working through the necessary changes and refinements, and of course the usual lack of core dev time.

The next MTG release has only about 10 changes.

That is fine and expected for a game that has mostly unofficially gone into maintenance mode, just a few bugfix and maintenance commits.

nobody really cares about MTG anymore.

Well, i see what you are trying to say, but we very much care about MTG because it has to be very carefully maintained. We are just not much interested in further feature development, and are busy elsewhere.

Create an actual design document, a vision, a project goal to work towards. Everyone who wants to become a core dev for this project needs to agree on this.

Only needed if the development is 'small group of coherent devs with equal power', which is unlikely to happen with any more than 2 core devs, and i warn is one of the less good development methods likely to end up with similar problems to MTG. 'Agreeing' to an initial plan is not necessarily the same as having the same vision. A group with a dictator can develop much faster with much less arguing.

What new games you people have in mind and will you even contribute to them in any way

Strange and negative question, there is plenty of ideas and enthusiasm for new MT games. I referred to 'core devs and contributors', which means everyone, so i assume this is what you mean by 'you people'.

Will it end up as even more "dead MTG" game? Will it be different this time with red tape on contributing, will PRs stall for years?

Another strange and negative question. Some games will go well, some will not, obviously, just as currently. What i refer to is no different to current general MT game development. I have made it very clear i am suggesting developing games in a different way to MTG.

paramat commented 3 years ago

Maybe i did not make it clear enough ... My vision for the future of MT development is:

After the necessay main menu changes, ship MT with no games. There will be no 'default' or 'official' game. MTG becomes just another game that just happens to have a lot that is based on it.

Move MTG officially to maintenance-only mode.

There will then be:

Wuzzy2 commented 3 years ago

I can get 100% behind this particular plan. Making MT more “neutral” as a whole and moving the spotlight to the particular game projects. Also, we need more of these “independent game projects”. =) It is good to see this issue as part of the Bigger Picture. Whether MTG is ever forked or not is actually besides the question, sorry for the distraction …

sofar commented 3 years ago

I support @paramat on this.

paramat commented 3 years ago

@rubenwardy @SmallJoker shall we do this? On the understanding that compatibility-breaking forks of MTG could be started as unofficial game projects (i might make one myself), so the good work in MTG can be extracted and built upon and ideas for MTG already discussed could go ahead in these.

SmallJoker commented 3 years ago

Generally I agree to your proposition. MTG is going nowhere and I see the potential in focused mod collections overall (games, modpacks). However, the core of it must stay unified to avoid major compatibility issues arising from forks and mods that rely on a specific "default" version.

Generally, MTG would be a repository to provide the official version of "default", "dyes", "wool", ... but happens to be a game which could be installed and used on its own. I'll ignore the "what to ship with Minetest by default" discussion. Should be discussed in minetest/minetest.

Wuzzy2 commented 3 years ago
  • "default" must have a standardized feature-check and version format

Just add some variable names to the default table like default.version. That should do the trick.

I disagree with turning MTG to a mere modpack. This is too disruptive, and actually goes against the goal of keeping compability. OK, even if it is compatible, it would be super annoying for everyone. It might cause a lot of stress for server operators. Please note that a ton of servers use MTG in some way or other. Usually heavily modded, but still. No need to provoke them. ;-)

Just stop “tweaking” MTG already. MTG could be locked down right now. Just do it. What's stopping you?

I think the idea like “compability helpers” qualifies as “maintenence work”, so those won't be blocked if MTG is in “maintenenace/bugfix mode”. This can safely be added, even after the lockdown.

paramat commented 3 years ago

Features are added only to new mods in forks

MTG will not have new features added (after the larger ones already in progress), and a feature added to a 'new game derived from MTG' has nothing to do with MTG.

Mod API changes must be forwarded to MTG to preserve compatibility among forks

I think i might be misleading by my use of the word 'fork'. I mean completely unrestricted new games that are derived from MTG and use some of the work done in MTG, with no intention of being concerned about compatibility. I probably should not have used the word 'fork' as it seems to have an assumed technical definition related to development and compatibility. Besides, forwarding API changes to MTG means doing non-bugfix feature work on MTG, so should not happen.

"default" must have a standardized feature-check and version format Eases mod integrity Reduces compatibility issues when forks extend their "default" mods

New games derived from MTG should not have a "default" mod at all, it would be insane to do that, they should use a well designed mod structure.

I get the impression you are writing about the MTG project actually growing to include closely-related 'forks' with compatibility concerns. This seems a very bad idea as this is not 'moving on' at all. I am not proposing this and discourage it.

I propose that everyone makes a clean break from MTG and moves on (in terms of game and mod development). The only compatibility concerns will be MTG being maintained as it is to support what depends on it. The mods of MTG could be developed into new mods, with new names, that progress with no restrictions and become independent mods like any other.

I discourage anyone making a 'fork of MTG that has compatibility concerns'. If someone does want to do this, they are of course free to do that, but the maintainers of MTG should not feel obligation or do any work. I think we should officially advise against any 'forks of MTG that have compatibilty concerns', and state we will not do any compatibility work on MTG related to such forks. Otherwise we would be letting others force us to do what we know is wrong.

We seem to have some kind of consensus now so i will start work on re-assessing issues and PRs, and will make a forum post.

ghost commented 3 years ago

MTG Game is officially dead for me. I started to fork it, for my game purposes, but keeping 100% compatibility. I want my game being compatible with all the mods.

MTG is dead, long life for the new MTG :-D

VanessaE commented 3 years ago

Can't say I agree with this, but it is what it is. My servers all run MTG with some collection of mods on top, as needed for each. Other than the occasional request for a vehicles mod (which I always turn down), my players have never been disappointed with my servers' content, as far as I know.

*Sigh* guess I'm gonna have to rework Dreambuilder to be an actual [sub]game again (with MTG as its base).

Wuzzy2 commented 3 years ago

I highly recommend to put the decision, recommendations and the clear current project scope down into the README file so that outsiders have a chance to know what's going on here.

Also, VanessaE, why do you think you need a standalone fork? MTG will go into Bugifx Mode, in other words, it will (hopefully) be more stable than ever. What's the problem?

VanessaE commented 3 years ago

Putting MTG into permanent "maintenance mode" is the first logical step to eliminating it altogether.

First it's merely no new features. Ever. Eventually less and less work is done on it until commits stop altogether; it's obsolete, let's just kill it completely (as in delete the repo). Maybe that's a year away, or a decade. Or it could be next month. I can't read the devs' minds, nor can they see into the future.

The only solution I see is to fork, and I actually do NOT want to do that, as I'm just not that good anymore (nevermind that I'm only one person, versus 3 or more MTG devs who each have a lot more skill than I have). But, at one time, DB was its own game, forked from MTG. It worked quite well, but MTG was still somewhat active, and backporting changes was difficult for me at the time, until it got to the point where it was easier to just maintain it as a modpack.

Adapting my mods to run on whatever game comes next is not something I see myself doing until long after something has risen to the top.

In the meantime, we'll have a dead "standard game" with nothing to supersede it.

sfan5 commented 3 years ago

First it's merely no new features. Ever.

This has already been the case with MTG in the last 6 months. It's been hard to get small features merged into it and there have been ZERO significant features.

it's obsolete, let's just kill it completely (as in delete the repo). Maybe that's a year away, or a decade. Or it could be next month. I can't read the devs' minds, nor can they see into the future.

Deletion of the repository will never happen. But even putting it into an archived mode where no new commits can be made will not happen while most servers still use MTG and/or MTG is still shipped as default game.

In the meantime, we'll have a dead "standard game" with nothing to supersede it.

I expect there to be at least one MTG fork that wants to continue the original vision at an accelerated pace.

Regardless of whether such a fork appears soon, you can keep using MTG on your server or depend on it for your mods just fine. There just won't be any new features (not like there were many before).

orbea commented 3 years ago

I have to say its incredibly disappointing how mismanaged this project is. The reason that there is no work done is not because no one is willing, its because any effort that will be made will be ultimately be wasted by the apathy from the core devs....

Fixer-007 commented 3 years ago

I have to say its incredibly disappointing how mismanaged this project is. The reason that there is no work done is not because no one is willing, its because any effort that will be made will be ultimately be wasted by the apathy from the core devs....

My feel was the quality/expectations bar for contributions was too high and so much red tape bureaucracy left no chance. Maybe this is ok for engine, but not for actual gameplay. Yes, it may become more buggy, but you can always revert, you can introduce features step-by-step, etc. I think people realized it is very hard to contribute and just left. Perfectionism vibe killed it and in the end it was not perfect at all, but at least we have carts (thanks Sofar for merging it in!) :D

paramat commented 3 years ago

Core devs, i am wondering how we re-assess the existing PRS? I think we should make some effort towards processing these and closing some.

So i propose this:

What do you think?

paramat commented 3 years ago

orbea, no, MTG has been well managed. I just looked through your contributions to MTG to try and see why you might be upset. In April you rage-quitted on many with a negative attitude, and even closed a PR that had support, because we decided that 1 or 2 out of your 10 contributions were unsuitable for MTG.

You made your first contribution on 7 April and then 8 others by 12 April, then rage-quitted on 17 April, only 10 days later. Then you wrote above "any effort that will be made will be ultimately be wasted by the apathy from the core devs....". This seems rather impatient to me =D You are claiming 'mismanagement', i think the actual problem is your attitude.

Fixer-007, High standards are necessary when so much relies on MTG. High standards are a good thing, if quality was lower and MTG more buggy you and others would certainly be complaining about that. MTG does not have impossibly high standards, any talented modder can reach them, inevitably, some others cannot, that is not our fault, it is simply natural. MTG has always had high standards, nothing changed there. The actual reason there are few contributors now is because there are fewer core devs, with less time, and less interest in MTG, so development is slow and PRs are neglected.

orbea commented 3 years ago

@paramat You are completely off mark. I did not rage quit, I closed all of clean up PRs because I realized you guys were wasting my time. I left the PRs that include a bug fix and enhancement because they might be more useful to other people despite still being ignored by the core devs.

This project is badly managed because the core devs routinely waste developer time and incessantly rant over each other while never arriving to any meaningful result other than throwing the baby out with the bathwater as shown here.

sfan5 commented 3 years ago

orbea, no, MTG has been well managed.

It has absolutely not been or it wouldn't be so dead now.

At the end of August, only PRs with 'concept support' from at least 2 core devs will remain open.

This will surely help with cleaning out the PRs, but do the remaining ones even have a chance to get merged at some point afterwards? If developer attention to MTG continues to be so little the remaining PRs will also just lie around.

rubenwardy commented 3 years ago

MTG certainly does have management problems. I've been burned out with Minetest Game for a while, because it takes so much effort to do so little that it's not rewarding.

The skills for writing games and mods for Minetest are different. The bar is also much lower in terms of programming, and art/design is more important. This means that it doesn't make sense to have such an overlap between engine devs and game devs.

The way I see it, the problem we're trying to solve here is the stale development of MTG. Freezing development and encouraging forks is one way to do that, but I'm not sure if it's the best way.

I think one cause of the stale development is that no one agrees on what MTG should be. The way to solve this would be to split the project into two games - one a stable base for servers and modding, the other a decent game. The new "decent game" project should have lower requirements in terms of compatibility and code quality, such that it's easier to iterate and improve on the gameplay. It should also have someone in charge of it, to not end up with design-by-committee. I don't know whether freezing MTG and encouraging forks is the best way to do that, but it's one way I guess.

Ultimately, we need someone to step up on Minetest Game-related development, whether that's to make a fork or lead a (semi-)official version. Bagsy not me

orbea commented 3 years ago

I suggest that if a modding base is made, it should be in a new repo or alternatively alongside minimal in the main minetest repo. That would leave this repo to refocus itself on a more complete game experience which could even depend upon the modding base.

Freezing this repo and forcing everyone to fork will just make it harder to maintain with more technical debt for the community. Just look at mupen64plus with its various half working plugins that all copied from each other.

rubenwardy commented 3 years ago

"is made" implies that it doesn't already exist - Minetest Game is already intended to be a modding base

Wuzzy2 commented 3 years ago

It made the News: https://forum.minetest.net/viewtopic.php?f=18&t=25152

orbea commented 3 years ago

"is made" implies that it doesn't already exist - Minetest Game is already intended to be a modding base

True enough, but there seems to be various views on what a modding base should look like as explained in the op. I stand by my view that fracturing this community by making everyone maintain their own games will just further kill minetest development. There are already a lot of issues that can't be handled because of engine bugs which are often ignored. Do you really want an even greater disconnect between engine and game devs?

BruceMustache commented 3 years ago

What's the real problem with adding more features to MTG? I would like a Minetest Game with a lot of features in which a user can say: Oh nice that awesome! And MTG would become a nice example of what the entire engine is capable of For this I think the best way is to make a fork or clone of MTG and make it become a game of proud for everyone

paramat commented 3 years ago

I closed all of clean up PRs because I realized you guys were wasting my time.

After only 10 days, after flooding us with 9 PRs, and at the peak of the stress and disruption of a pandemic, the one time you should not have any expectations of anyone. We appreciate the PR you have left open, it is not being 'ignored', we have seen it and are just wishing for time to attend to it. It will probably be supported and merged. Please do not accuse us of maliciously or intentionally 'wasting contributor time', we are just busy. It is fine and understandable if you decide that 'you' are wasting your time, but 'we' are not.

The way to solve this would be to split the project into two games - one a stable base for servers and modding, the other a decent game.

Only if these 2 games are new games derived from MTG, with new names, and developed completely freely with no intenion of keeping compatibility, because keeping compatibility is exactly what makes MTG so restricted, poorly designed, structurally bad, and out of date. In which case, there is not really any point in considering this a 'continuation', 'splitting' or 'forking' of MTG.

Freezing this repo and forcing everyone to fork will just make it harder to maintain with more technical debt for the community.

That is absolutely not what i am proposing. I am discouraging MTG forks that continue the MTG mess and create more compatibility headache. I am proposing we move on and focus on creating new games, while MTG is frozen to support what depends on it. MTG will not become harder to maintain because it will be frozen. Any modification to MTG that users want they can add themselves by writing mods.

Minetest Game is already intended to be a modding base

That has been stated before, by me too, but it is not a modding base, see the first comment. MTG is stuck halfway between a modding base and a complete game. MTG is a very poor modding base, partly due to its mod structure.

I stand by my view that fracturing this community by making everyone maintain their own games will just further kill minetest development.

Nonsense. There is no forcing everyone to make their own games, MTG will be maintained for those who continue to use it. People making new games is not 'fracturing this community', it is game choice, it is exactly what we want and have been asking for for years. One of the most harmful things in MT dev is the focus on and perpetuation of MTG.

What's the real problem with adding more features to MTG?

I have answered that in my comments above.

And MTG would become a nice example of what the entire engine is capable of

It cannot do that if it maintains compatibility, as explained earlier.

rubenwardy commented 3 years ago

completely freely with no intenion of keeping compatibility, because keeping compatibility is exactly what makes MTG so restricted, poorly designed, structurally bad, and out of date.

I disagree. You can fix the structural and gameplay problems without breaking compatibility - aliases exist. Compatibility should be less of a concern, but it isn't hard to keep it in most cases

IFRFSX commented 3 years ago

I do not recommend this to developers.

is the game package that comes with minetest. Minetest itself requires a game package to run. If after downloading minetest every time, cannot satisfy the player because of its relatively backward function, then the player needs to download an additional game package. Then it will bring extra time cost to the player, it is best to design minetest as a game that can be played out of the box (if the player does not like MTG, you can download and install other game packages, but the original game package is "default" And "incidental"). In addition, the minetest game engine comes with an advanced and universal game package, which can ensure that most of the maps downloaded by the player are based on this game package-you don’t want to download several maps, every map needs A game package, right? That's not good. Of course, the development of game packs outside of will not be affected, but the maps based on them are exclusively for players who play these game packs. Finally, let me talk about the new features-which new features should be brought by MTG and which shouldn't? 1. All existing items should continue to be preserved. After all, their existence forms a relatively complete natural environment and provides the necessary materials for players' survival and construction. 2. Hunger value should not be added to MTG, because some players may need to make some PVP-type maps (or other maps that do not require hunger value). If food is only used for blood, it is very suitable. And if there is a hunger value system, then replenishing blood will be very slow. 3. Add a mod in minetest_game, add some peaceful creatures (such as villagers), any natural environment should have, and set tenplus's mobs_redo as an "optional dependency" (to maintain compatibility with the content in mobs) , To provide players with more food and more materials. 4. Some new buildings can be generated, and players can go in to explore and obtain some items (such as simple villages) 5. During the sneaking process, the player's name is not displayed (similar to Minecraft), so that the enemy will not be spotted all at once during PVP.
BuckarooBanzay commented 3 years ago

@paramat Can this issue be pinned? It is quite important...

Oblomov commented 3 years ago

I understand that ultimately this is entirely up to what the core devs decide to do, but please allow me to share my thoughts on this. I actually used to contribute to MT about a decade ago (the minetest-delta days) and some of my changes have made it to core. I dropped out because of a combination of personal reason and the pending threat that MTG would get frozen. Coming back after several years, and finding the immense progress made by both the engine and MTG itself has been wonderful —reading this issue, much less so, as you can probably imagine ;-)

I understand that there are at least two reasons behind this issue, that could be summarized this way:

  1. it's unclear what MTG is, and/or what it should be;
  2. development of MTG vs MT (engine), as a matter of style, shared resources (dev time), etc

I'll try to address both points, so sorry in advance for the length of the comment.

What is MTG?

@paramat was very clear, if a bit synthetic, in their analysis of what MTG fails to be and the reasons why, but I think there's a couple of points that were missed, and that I believe shine a different (possibly more positive) light on MTG.

First of all, I would say that MTG is a game, even with all the points raised by @paramat and others: it's a playable game in itself that, despite all the limitations of its contents and the “inappropriate” development process, works relatively well out of the box. It's an excellent introduction to the game mechanics, and it's quite satisfactory for casual gaming, despite the pending threat of “death by a thousand cuts” due to the vast number of missed opportunities (and features!) that can end up killing the joy of playing it (faster travel, anyone?).

In fact, MTG shipping with the engine and thus being “somewhat” official is also something that should be leveraged more, not less: I would argue that MTG should be a showcase for the engine: every single feature of the engine should reflect in MTG (possibly in a good light! ;-)). And yes, this might mean adding somewhat “random” features without a far-fetching “vision”, but I don't see that as a problem per se.

It is a problem in the "mod base” sense, but that's solved by @rubenwardy and @Wuzzy2 proposal to split MTG: we could have an “MTG Base”, which acts as the modding base, and might as well just be the current MTG, frozen (minus bugfixes, and possibly a rework of the mods structure, PLUS a compatibility layer, which would also be good for showing how to preserve compatibility), i.e. the proposed outcome of this issue, and “MTG Showcase”. And I would argue that MT (the engine) should ship by default with both: MTG Base as several other games depend on it, and MTG Showcase, where “the fun” happens. The presence of multiple games would also be a stronger indicator to users, right off the bat, that there are multiple games based on the MT engine, and may encourage them to look around.

Development

Here I must say I'm actually a bit confused: on the one hand, it is said that MTG has the problems it does because of the “design by committee” that stems from it using the same procedures as the engine, and due to the abundance of core devs, each with their own vision; on the other hand, it would seem that the number of core devs actually interested in MTG is too low, which makes maintaining it a more challenging task (fewer people to review PRs, make decisions etc). But isn't that a bit contradictory?

Is the lack of vision or direction really that big of an issue? I understand that it may affect the (lack of) cleanliness in the design (and implementation), but in the perspective of the “MTG Showcase”, it being a “jack of all trades, master of none” (at least from the user perspective) is not a downside, but on the contrary it can be a stimulus to look into other MT games where a particular mechanic is explored more in depth.

While I feel @Wuzzy2's proposal for the fork may be a bit too “aggressive”, some of their points are quite valuable, starting from a simple consideration: how many of the core devs really care about MTG as a game? My understanding from the discussion here is that even just splitting the dev team between those that view it as a mod base (that could focus on maintaining “MTG Base”) and those that see it as an actual game (that could focus on maintaining “MTG Showcase” or whatever that becomes) would already help focus the vision of the latter —and relieve them from the need to maintain backwards compatibility for the sake of other games or servers that would be based on it.

And while yes, there are benefits on making it an independent fork, there are also downsides to it. First of all, it wouldn't be any different from any other fork or MTG-based game: why even discuss it here then? Secondly, having an actual “official” “MTG Showcase” would be useful not only to showcase (eh) the features of the engine (and possibly attract both users and developers), which would be its primary function, but it would also act as a practical sieve for issues: while not a direct testing environment (MT already has that, after all), it would help check/tune engine features in a more realistic environment —and one controlled by (some of) the core devs.

(Note that this would be true in some sense for both MTG Base and the MTG Showcase, so it remains true even if the core devs go the “just freeze it and let somebody else fork it for development”: just ironing out all the kinks of MTG Base (signs/torches vs walls anyone?) would help highlight (and possibly drive the fixing of) any lower-level issues they depend on. And even if the progress in this is slow, glacial even, I think there's a difference (if not else at a psychological level) between declaring it frozen (and thus, in the mind of many, essentially dead) versus just acknowledging that at this time its development is at a “tock” (bug-fixing) stage.)

From my part, I was actually getting geared up to get back into MT(G) development, even just to work on the paper cuts. But I'd like to get into it with some more reassurance that I'm not getting into a dead end.

0-afflatus commented 3 years ago

I can't disagree with Paramat 's OP and premise. I haven't engaged with MTG for several years now and taken a break from game design.

For several reasons I think Minetest should continue shipping MTG - legacy is important, but I'm not going to fight anyone on this, but rejoice! MTG is stable. I think it would be better to talk in terms of moving into LTS mode; in that context a feature freeze makes more sense. The idea of 'dropping' it is bad for business. I agree with much of what Oblomov just said on this.

MTG isn't properly a game, no, but that doesn't matter; it's a lot more than just a game - the codable building block environment is as important as are the social aspects.

However, splitting default into many smaller mods is a nightmare task that involves many aliases and the complexity of compatibility code.

The splitting up of default isn't difficult, done it (several times over). Backwards compatibility is messy, sure, and the old adage "If I were you I wouldn't start from here" applies. I think it's probably better to maintain MTG in this stable state while mods in ContentDB still rely on it and start from scratch with a new modding base.

Default should not create any nodes; certainly not world-specific ones, which is pretty much everything; just provide the player and genuine default settings. Mod structure should be more or less phylogenetic, so the top tier of world-building mods will be something like "animal", "vegetable" and "mineral" - it should be organised like an encyclopedia. All code should be properly generalised from the (Brighton) rock up. A "provides / replaces" field in depends.txt would be useful.

I mean completely unrestricted new games that are derived from MTG and use some of the work done in MTG, with no intention of being concerned about compatibility.

This is definitely the way forward. I have started looking at my game code again. Neither of the games I'm working on are much more than re-workings of MTG the way I think it should work. My original 'game' - Grailtest - was relocated in medieval Europe. This shouldn't have been a big deal, but it involved removing potatoes, pumpkins, rails and tnt amongst other things. My new "game" is much the same thing albeit in a non-earth-based fantasy world with more co-operative storytelling possibilities. I'm at a point where, having already thrown out MTG core, I'm looking at how I might want to do other aspects differently. I was considering trying to maintain some degree of compatibility, but reading this thread maybe I won't bother.

I'm currently cleaning up my code and I'll push out my idea of what a modding base should look like at some point.

--aff

tenplus1 commented 3 years ago

+1 for putting into maintenance / bugfix mode +1 for keeping as a base for mods, so many people have created mods that rely on this game, compatibility is key +1 for focussing on minetest engine (hopefully no more deprecations) +1 for everyone who worked on this project, it's been fun at times

0-afflatus commented 3 years ago

+1 for everyone who worked on this project

The moment does require some celebration and a large virtual pat on the back to all concerned. I know it may not feel like it right now, but MTG is a massive achievement despite everyone's reservations and collective exhaustion. Thank you all!

Wuzzy2 commented 3 years ago

I think the transition is already done. Can it be closed?

phseiff commented 3 years ago

I suggest creating an "accepted"-label, ideally with a green background color, and tagging this issue with it, so people who enter the issue-section and see the pinned issue "Officially move MTG to a 'bugfixes, maintenance only' mode" don't need to read through 48 comments to learn about the state of the project and whether this suggestion was approved or not.

If you think this decision is important enough that it should receive additional attention by being pinned, then it should also be important enough to allow people to determine whether this suggestion was approved just by looking at the pinned issue.

Since most labels won't be necessary anymore once new features are no longer approved, adding one new label solely for the purpose of tagging this one issue should not clutter the label-page too much.

If this issue, on the other hand, is closed, like @Wuzzy2 suggested, I'd suggest adding some information to the README so the state of the project is still communicated somewhere (I assume closing the issue would unpin it?)

That being said, I am very happy to see that this decision is finally being made, and couldn't agree more with 0-afflatus.

EDIT: When I wrote this, I didn't realize that labels aren't visible on pinned issues, and that there was already a fitting label to indicate that a suggestion is accepted, but now I know better :)

codeandfix commented 3 years ago

first let me clarifiy that this comment is not against core developers or all the hard-working coders here. these lines are just some thoughts about what should never be forgotten while working on the core.

focus on minetest core development/engine is an important task. mods can be developed by users much easier. anyway for most players (i think and would bet) most people tend to say minetest = minetest_game. yes, there are other mods, but minetest-game is the product which makes the people like and love this "game". dont get me wrong, it is nice, that there is much progress on core code, but if the user experience is beein on hold, the game tends to be dead. i dont like much eye candy, but this is a game where the only reason is to have fun with.

so if developing is focused on the core, never break backwards compatibility. it is very important, that old mods (lets say on actual basis 2021 mt build) can be used in 5-10 years later without having to change one line of code. if i talk for mt-game users: we want to build for the eternity and keep worlds we spend many manyears in for our "life" and not just for a game session of days, month or some years.

but last but not least let me honor, that iam very happy to see, that minetest is still under active development after c55 dropped it years ago. especially having core developers who are able and willing to spend very much time in coding the mt core! so dont feel accused by my critic, i just fear, that the progress of the game part will stop or in the worst case will be deprecated.

one idea for the core api: if big api changes appear, you should provide apis of different version which are all maintained for many many years. after near to ten years with an old world i managed to upgrade most mods, so the world still works as nearly a decade before. so if core development is focused and compatiblity wont break its ok.

just my 2 cents about core vs. game dev