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:

ghost commented 3 years ago

I think it is a good step, so devs can focus more on the engine.

But I would recommend to do one last thing for mtg: split the mods from default into several ones and make default a modpack, please. I tried that once (sadly deleted, in a time where I dropped minetest) and funny I've just found this work from Burli here who had the same idea nearly at the same time in the past (wish I had found that post when I was doing this...). Of course it must keep the support for mods based on default.

phseiff commented 3 years ago

I think doing that at this point would not really add anything, but break a lot of mods.... And breaking a lot (if not a majority) of mods that depend on default (which lots of mods for MTG do) just for the sake of having some files ordered for something that won't receive new features anyway seems a little too extreme to me.

Of course it must keep the support for mods based on default.

Would this work, considering that splitting a mod into several mods changes the names of the items they register? I don't know much about modpacks in minetest, though.

BuckarooBanzay commented 3 years ago

split the mods from default into several ones and make default a modpack, please.

@voxel-minetest if you need (like me) a stable base for your game or just use the mods as submodules you can do that already here: https://github.com/minetest-game (those are just mirrored from the minetest_game)

ghost commented 3 years ago

@BuckarooBanzay I don't understand, default isn't splitted at your repo... And I guess I am not the only one who want to have default polished before it gets abandoned.

BuckarooBanzay commented 3 years ago

@BuckarooBanzay I don't understand, default isn't splitted at your repo... And I guess I am not the only one who want to have default polished before it gets abandoned.

Sorry, i didn't read your comment properly: no, default isn't split, only the other mods in the game

ghost commented 3 years ago

Sorry, i didn't read your comment properly: no, default isn't split, only the other mods in the game

NP. ;) But the other mods in minetest_game are already single mods that can be picked as anyone like, so I do not get the sense of your repo.

BuckarooBanzay commented 3 years ago

But the other mods in minetest_game are already single mods that can be picked as anyone like, so I do not get the sense of your repo.

(this is getting offtopic, sorry)

My usecase was that i can use some of the mods from the minetest_game (default, doors or flowers for example) and re-use it in another game, while also keeping it up-to-date with the latest upstream repo. I'm using the standalone mod-repos as a submodule in another git-repository.

Example (wip): https://github.com/BuckarooBanzay/eco/tree/master/mods

codeandfix commented 3 years ago

also there should be a simple legacy detector inside the core which helps to debug mods without changing debug out. like: show me all items/nodes/ which are not defined anymore and tell me which name they have. then admin can map a replacement or reinstall the mod. if the admin confirms this remap it should be changed by a global // abm which changes all database items/nodes/* to the new mapping (inreversible). so we can clean up "moreores", "streets" etc. also users/devs can provide "legacy" mods who convert old to new or other mods. this could be improved much. goal is, that for e.g. streets 1.0 can be converted to streets 2.0 without loss.. i think a mapping GUI ingame for the admin would be cool too. this can be a mod thing but i think its a main core thing as it works on db. yes i know, i can do it already (and yes i do), but its not comfortable for normal people (admins).

AntumDeluge commented 3 years ago

Is MTG going to be broken up into individual mods so they can be added to ContentDB?

sfan5 commented 3 years ago

No, why would it? Large parts of MTG are interdependent and only work with the exact same version of the other mods. Neither would they work inside other games.

AntumDeluge commented 3 years ago

No, why would it?

Because 85% of mods depend on default. So many of the mods on ContentDB won't work unless MTG is installed.

Edit: I'm just ballparking "85%". I don't know what the actual percentage is. Would be interesting to find out.

sfan5 commented 3 years ago

MTG isn't going anywhere and if no longer shipped with the engine it will be added as a game in CDB.

rubenwardy commented 3 years ago

https://content.minetest.net/packages/Minetest/minetest_game/

It doesn't really make sense to distribute default externally, as it's essentially MTG itself.

Work should be done to add APIs and encourage not depending on default. Cross game support is hard though, so most mods only support one game and can then be ported to other games

AntumDeluge commented 3 years ago

Something that might be helpful (if not already implemented), would be an ‘or’ option in dependencies. So we can write mods as alternatives to default.

Though this can already be done using soft dependencies with global or mod path checks, I don’t think it is used very often. Mods just add default as a hard dependency. Many mods only depend on default for its sounds.

Oblomov commented 2 years ago

Or maybe allow mods declare a “provides” specification?

triplehx3 commented 2 years ago

This page https://github.com/minetest still states Building an open source voxel game engine and game, However if MTG is maintainance only and not actively developed is this statement entirely true?

appgurueu commented 2 years ago

This page https://github.com/minetest still states Building an open source voxel game engine and game, However if MTG is maintainance only and not actively developed is this statement entirely true?

Maintenance qualifies as building IMO, although perhaps less emphasis should be put on the game.