Hi, I'm new to Luanti but I've been curious for a while. As I sit here compiling the code, I've started playing VoxeLibre, but I noticed I couldn't run it without also running minetest.exe. Is that the case for all content hosted on ContentDB? Is there a way to compile a standalone program with Luanti that others can install without having to also install a separate executable?
In regards to the title, I define an engine as a tool used to build standalone products, and a platform as a tool used to host dependent products. In VoxeLibre's case, it seems VoxeLibre is dependent on Luanti as its platform. I know programs built with Unity include a lot of Unity-specific utilities bundled into their executable, but users don't have to install the Unity engine separately to play games built with Unity, of course.
Is Luanti an engine or just a platform?
- mark-wiemer
- New member
- Posts: 9
- Joined: Sat Oct 19, 2024 05:08
- GitHub: mark-wiemer
- IRC: mark-wiemer
- Contact:
Is Luanti an engine or just a platform?
Contributor to docs.luanti.org, hoping to eventually make a Luanti game! 🤓 markwiemer.com
Re: Is Luanti an engine or just a platform?
@mark-weimer - Luanti (Minetest) is the client engine that you run any downloaded [games] with mods on, and while you could probably make a standalone folder with the executables and mods included it's best run installed on your system with any ContentDB downloadables.
Re: Is Luanti an engine or just a platform?
I would say Luanti (formally Minetest) an engine which can be used as a platform.
For the most part, the engine is written in C++ and games in Lua, so it is very easy to make games, and normally you don't need a separate executable for every game, since Lua is not a compiled language. Also, usually you can join every server without installing additional packages. There are some cases where the engine is shipped together with a game, e.g. the countless android Minecraft clones based on Luanti, but every game on ContentDB needs to be installed together with the engine, and every mod on ContentDB, needs a suitable game to be installed.
This has the benefit that you don't have to store the engine multiple times. It's like a library dependency.
For the most part, the engine is written in C++ and games in Lua, so it is very easy to make games, and normally you don't need a separate executable for every game, since Lua is not a compiled language. Also, usually you can join every server without installing additional packages. There are some cases where the engine is shipped together with a game, e.g. the countless android Minecraft clones based on Luanti, but every game on ContentDB needs to be installed together with the engine, and every mod on ContentDB, needs a suitable game to be installed.
This has the benefit that you don't have to store the engine multiple times. It's like a library dependency.
Can your read this?
- Desour
- Member
- Posts: 1570
- Joined: Thu Jun 19, 2014 19:49
- GitHub: Desour
- IRC: Desour
- In-game: DS
- Location: I'm scared that if this is too exact, I will be unable to use my keyboard.
Re: Is Luanti an engine or just a platform?
Luanti is like a web browser. You need the web browser (/luanti) to render an html file (/ to play a game (subgame)). The browser (/luanti) can also download content from the web (/ from a luanti server). There are also projects that bundle the browser (/the engine) with the website (/the game), like electron (/ unity3d, godot (I think this is what they do)). The web browser (/luanti) also has another advantage over arbitrary executables: It runs the content in a sandboxed manner, so you don't have to trust each website creator (/ modder) to not be malicious, but only the browser (/engine). (The equivalent of javascript (server-sent client-side modding (sscsm)) is not yet implemented.)
Bundling luanti with a game is possible (maybe complicated, idk), but I do not recommend it. You'd miss quality of life, performance, bugfix, and security updates if you don't re-bundle all the time. And I don't see any benefit anyways. You also don't ship, for example, a python interpreter with each python application.
Bundling luanti with a game is possible (maybe complicated, idk), but I do not recommend it. You'd miss quality of life, performance, bugfix, and security updates if you don't re-bundle all the time. And I don't see any benefit anyways. You also don't ship, for example, a python interpreter with each python application.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)
- Wuzzy
- Member
- Posts: 5033
- Joined: Mon Sep 24, 2012 15:01
- GitHub: Wuzzy2
- IRC: Wuzzy
- In-game: Wuzzy
- Contact:
Re: Is Luanti an engine or just a platform?
Luanti is an engine but I don’t know if it’s also a platform.
Luanti is definitely an engine. The definition of a game engine is that it's a software framework where one of the primary purposes is the development of computer games. This is absolutely the case for Luanti.
How exactly the player runs the finished games is not relevant for the definition of game engine.
I don't know if Luanti also counts as a platform because the definition of "platform" is vague.
Luanti is definitely an engine. The definition of a game engine is that it's a software framework where one of the primary purposes is the development of computer games. This is absolutely the case for Luanti.
How exactly the player runs the finished games is not relevant for the definition of game engine.
I don't know if Luanti also counts as a platform because the definition of "platform" is vague.
- mark-wiemer
- New member
- Posts: 9
- Joined: Sat Oct 19, 2024 05:08
- GitHub: mark-wiemer
- IRC: mark-wiemer
- Contact:
Re: Is Luanti an engine or just a platform?
Thanks for all the responses. I think I was looking primarily to answer "is it possible to publish a standalone game without requiring people to also download Luanti?" The answer is yes, but it doesn't seem to be the primary publication method, which makes sense when we look at getting mods to interact, servers to be compatible, and consistent global settings across games. Thanks again for all your input :)
Contributor to docs.luanti.org, hoping to eventually make a Luanti game! 🤓 markwiemer.com
- Zughy
- Member
- Posts: 308
- Joined: Thu Mar 26, 2020 18:23
- GitHub: belongs_to_microsoft
- In-game: Zughy
- Location: Italy
- Contact:
Re: Is Luanti an engine or just a platform?
When I bring Minetest to conventions I call it a game platform, explaining that a game platform contains both the tools to make games (the engine) and the possibility to play games (like a library). You might argue I'm wrong, and there is actually no official definition. Even Roblox is described on Wikipedia as "an online game platform and game creation system" (https://en.wikipedia.org/wiki/Roblox), but you do understand it's a very long description. Which is why I stick with the "game platform = engine + library" idea.
To answer your question, no, you can't distribute a stand-alone Luanti game, unless you modify the main menu so that it looks like an actual game being launched
To answer your question, no, you can't distribute a stand-alone Luanti game, unless you modify the main menu so that it looks like an actual game being launched
Who is online
Users browsing this forum: No registered users and 0 guests