pushing minetest further in the direction of being a game engine

For people working on the C++ code.
Post Reply
User avatar
MisterE
Member
Posts: 449
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

pushing minetest further in the direction of being a game engine

by MisterE » Post

This topic was discussed on irc and Matrix: here is the original suggestion:

To move minetest further in the direction of a game engine, stop distributing minetest-engine clients directly. Do continue to distribute them, but only as one of several options. Distribute the client with a template main menu, that games can easily convert. Make it easy to set up a custom server list for a specific game. Make it easy for games to send media and SSCSMs to the client for that game in a seperate "update" that does not involve joining the server, and make it easy to check if a client is uptodate, prevent joining servers until updated (singleplayer still works)

The idea is that each unique game will take the minetest client, define a serverlist (or serverlist subsection) for it, customise the main menu, and distribute its own client with optionally singleplayer only or server only.

On the main minetest page, instead of giving a download of the minetest-engine client, give a page of downloads for games made with the minetest engine, including minetest game. The majority of servers on the serverlist would fit into the category of minetestgame, therefore we convert the serverlist as it stands to the minetest-game serverlist. Nodecore gets its own serverlist, its own client, and its own download on minetest.net, or a link to its main webpage.

Ofc server owners can choose which server to broadcast their game on, or which serverlist section I guess, but they would do well to broadcast as the game that they are hosting.

Mineclone would get its own serverlist section and special client, Exile would also... etc etc...

benefits: 1)it makes minetest seem more like a game engine
2) it makes client load times much quicker and allows preloaded media
3) it makes it so unique games arent lost in the serverlist

Problems: It decentralizes minetest, might break up the community
Last edited by MisterE on Fri Oct 08, 2021 00:33, edited 1 time in total.
cdb_653d94e1614c

User avatar
MisterE
Member
Posts: 449
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: pushing minetest further in the direction of being a game engine

by MisterE » Post

discussion points brought up in the course of chat:

IRC/discord bridge:
erlehmann

Today at 6:55 PM
lol MisterE
why would you want to replace mix & match style of minetest with separate silos?
or is this about deprecating minetest_game more?
MisterE, Modder of Sortz

Today at 6:56 PM
to push it as a game engine, separate more completely with the idea of minetest as a game based on minecraft. I wasnt thinking about deprecating minetest_game more, if fact, if we do this, it should have its own silo
the idea is so that game devs can see that they can make publishable games with minetest
games that can go on itch.io or steam
erlehmann

Today at 6:58 PM
oof
yeah thanks i kinda hate it already
MisterE, Modder of Sortz

Today at 6:59 PM
the reason to replace the mix and match style is that "mix and match" is a good feature for an easily moddable game, not for a game engine
erlehmann

Today at 6:59 PM
optimizing for steam or itch.io stuff is has creepy capitalism vibes
-is
MisterE, Modder of Sortz

Today at 6:59 PM
nah tahts not the point
we should not optimise for steam or itch, but we should make it so games can be published standalone as a "game": thats what a game engine is for right?
erlehmann

Today at 7:01 PM
you can already do that though?
MisterE, Modder of Sortz

Today at 7:01 PM
I would not care to optimise for any specific platform, or cater to their demands particularly. Its up to game creators to do that
you can already do that
but its hard
the menu api is hard to get into, and seems made just for the current menu
and minetest distributes a minetest-engine client, its doesnt do much point to individual games as it could
*do > so
so as others have said its in limbo
stuck between a game and an engine
maybe thats a good thing, but many people seem not to think so
this idea would shove it in the "game engine" direction
erlehmann

Today at 7:04 PM
so what is the actionable thought you want to put in the ticket?
better menu API?
MisterE, Modder of Sortz

Today at 7:06 PM
a few:
yes, better menu api, different approach to distribution, add game_id checking to make sure that the client is the correct client, and also check that the client is up-to-date with the server, Have an "update" function that fetches all media and SSCSM and caches them (then make the client as "updated"

anyhow its a rough idea that should be discussed and a better actionable ideas worked out from it
erlehmann

Today at 7:07 PM
game_id checking to make sure that the client is the correct client??
MisterE, Modder of Sortz

Today at 7:08 PM
if the server chooses to enable that
an idea
doesnt mean its a good one
😛
erlehmann

Today at 7:08 PM
wdym correct client
MisterE, Modder of Sortz

Today at 7:08 PM
the clinet for that game
so, say I want to make a game that uses lots of media, and much of that media is client side
also a whole bunch of client side mods
also some extra libraries that I as the game dev decide to include in the client, such as voice chat for example.
I would want to distribute a client that can only connect to my game
because... otherwise a bunch of stuff wouldnt work
also I can then enforce certian client settings (or at least set their defaluts
to set the right style (such as font), or max_view_distance
it actually solves a bunch of problems with the server being able to control client settings: it make it so the game creator can set all the defaults for their game
it makes it so the client no longer is a minetest client, but now a "legends of voxels" client
or wahtever
with minetest as the engine
Last edited by MisterE on Fri Oct 08, 2021 00:04, edited 2 times in total.
cdb_653d94e1614c

User avatar
MisterE
Member
Posts: 449
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: pushing minetest further in the direction of being a game engine

by MisterE » Post

Element/Matrix chat:

deltanedas
i like this idea
rn there needs to be a better distinction between mtg and minetest


clementine_cruiser
I dislike it for :

the mentioned drawbacks of splitting the already-sparse community into even further separated communities, as it will be basically impossible to get people interested in a new game if it involves using a different client.
server owners are forced into an artificially restricted choice of popular gamemodes to broadcast as, when their games might not fit well into either of the categories
existing content will likely split even more due to the client splits/serverlist splits, further reducing the overall reuse value in the community for the little great content there is. While in an ideal world there is support for any game independently of the others, the reality is that minetest-game served as necessary unification platform for a long time to focus the few available manhours into widespread shared benefit
I perceive the low hurdle between various different gamemodes and porting content mods between them as a strength that currently exists, and I don't like gimping one of minetest's few 'selling points' for a nebulous-to-be-proven advantage. These actions should be done very carefully in how they impact the existing communities and the 'walls' between them, as it may well do more harm even if well-intentioned, simply due to existing circumstances - a neat design decision won't guarantee that the community jumps on board, and it is already very-slowly-growing as it is. If the entire playerbase ends up congregating in the usual chaotic dynamics, there may be much less 'flexibility' than before - because now, instead of MTG, an arbitrary other gamemode sets the de facto default, and barely anyone would try out things that would require being put into their own mod/game/client.
Regardless of my opinion, it is a very good discussion point, but I'd like cautious action, and not to jump on a decision railroad after a few weeks and five or six answers on github
mister-e
heh, im hardly in the position to make decisions, but yeah a change like this, caution would be well advised
some ideas in response: the current, mostly minetest-game community would consolidate around minetest game and its mods
other game communities would develop and gain a greater following, with that game as the focus
the minetest engine community would split off and be forced to pay attention to game developers more than players
the enigne community would basically only involve engine devs
and game devs
the forums would likely split into minetest game and minetest engine
clementine_cruiser
It reminds me of a comment on a recent change in blender's intended workflow:
"These directions sound great, but if gone through, drawbacks in practice can potentially very well kill the project." While the particular topic was perhaps not warranting such caution, it immediately came to my mind when reading your proposal.
mister-e
very true, it could kill or it could save minetest

if minetest becomes only a game engine, would people just use godot instead?
If minetest cannot be just a game engine, should not be just a game engine, perhaps we should define better what it should be
clementine_cruiser
if minetest becomes only a game engine, would people just use godot instead?

depends on who 'people' are:
players, game developers and engine developers can be the same people, and there are reasons other than convenience-of-use that may affect their decision.
Godot may look like a great option now, but it may very well go into certain directions by necessity (financial support for the project) which do not meet minetest's ideals or those of the people working on it, especially if it continues to grow and has more companies with financial interest in steering godot somewhere particular (e.g. mobile games with hard modding protections and steeper minimum requirements than minetest, or dropping linux support, etc)

mister-e
there is a middle ground: make it easier to do these things, while not officially changing direction. THen also link to unique clients/games made with minetest on the main site, while still promoting the classic model
clementine_cruiser
what minetest has now is the benevolent-dictatorship of a lead maintainer and independence of content-focused dependencies (not counting irrlicht as a generic dependency, but even that is now in-branch). That's completely different than relying on godot as an impossible-to-fork-and-maintain dependency that also has ideas (or can develop them) on how content should be supported by it.
mister-e
yeah. Minetest-as-an-engine has many unique benefits
but certianly godot is more flashy right now
and many players become devs for minetest because of the freedom they have to develop whaht they want. THis idea could change that
clementine_cruiser
yet it has no default support for lua, and may very well restrict usage of it to be allowed on certain platforms: e.g. android, apple, very much dislike giving the useraccount control over executed scripts in their applications. That's just one thing that may OR MAY NOT ever completely break minetest's core tenets of easy moddability: But when you are unable to fork and maintain the engine due to the size of the source code, you have no way of correcting the course, you're just a guest on their ship.
cdb_653d94e1614c

User avatar
MisterE
Member
Posts: 449
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: pushing minetest further in the direction of being a game engine

by MisterE » Post

another possibility would be to just have separate serverlist sections for each game. You install a game, and then you can access the serverlist for each game you download separately. Mods or differences in server code are pulled as an "update" and cached, and updating is done separately from joining so when you join you have almost instant join time, or maybe an official git repo is designated as the base game, and then mod differences are sent to the client at join time only. Then the minetest client becomes more of a browser for the different games available... Just food for thought
cdb_653d94e1614c

User avatar
Mantar
Member
Posts: 261
Joined: Thu Oct 05, 2017 18:46
GitHub: jeremyshannon

Re: pushing minetest further in the direction of being a game engine

by Mantar » Post

MisterE wrote:
Fri Oct 08, 2021 00:12
another possibility would be to just have separate serverlist sections for each game.
I think the ability to filter by game would be nice, though the ability to show all servers as one big list shouldn't be lost.

User avatar
runs
Member
Posts: 2493
Joined: Sat Oct 27, 2018 08:32
GitHub: runsy

Re: pushing minetest further in the direction of being a game engine

by runs » Post

Yes. My Juanchi Game is very limited right now. I would like a really COOL menu for Juanchi.

When my server released will be a crazy situation, hundreds will want to play it, but no possibility to filter and highlight it.
👕 ShopZ | ☕ Ko-fi | 💬 Juanchi Chat | ⛏️ Juanchi Game | 🐱 Petz

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests