Page 1 of 2

List of important system features to ready Minetest

PostPosted: Fri Feb 17, 2012 13:57
by MirceaKitsune
I decided to make another Minetest list today, this time about the features and mechanics that haven't been implemented yet, and which I consider to be important. I already checked the TODO wiki and many of those points aren't there, nor did I see them discussed a lot in the past, so I'm posting them here.

Basically, these are the features I believe Minetest will need in order to be considered ready, and will eventually be required. I listed them in order of importance, top being most important. If the developers wish, feel free to use this for official reference, if it matches what most users agree with. Note that I'm not trying to say what must be done and what not, and I made this to help keep focus on what's important in terms of system features. I know they can't be done overnight, though I'd love to see the top ones being implemented soon at least.

- Sound: Already discussed a lot and on the TODO list, so no need to say more. I believe this is the most important feature that Minetest needs to have next. (implemented)


- 3D players, mobs and animals: Also heavily discussed, so I won't go into more detail. I believe this is the next important feature in order to give Minetest the realism and quality it needs. One detail I wish to highlight: I know some people are worried that models would affect performance, or they simply prefer sprites. Which is why I suggest making meshes a setting, and giving each item both a 3D model and 6-way sprite set. That way, people can choose and everyone is happy. (implemented)

- Smooth daytime cycle with sun and moon: This was almost done a while ago, but IIRC the implementation was bad so it never made it in. Cycling between 3 fixed times of day (with no visible sun and moon) looks very bad, and this is the next thing I consider an emergency. (implemented)

- Menu: I believe Minetest really needs a real menu, with a skinned GUI and all important settings. The only way to configure Minetest is to edit the configuration file before starting it up. The first menus I think we need are a "Controls" menu for changing keybinds, and a "Video" menu for changing things like draw distance, smooth lightning, renderer, brightness, view bobbing, etc. I also believe inventories need to be better. The inventory / chest / furnace windows need a skin to look nicer, and the furnace also needs a bar to indicate fuel and progress (rather than a "Furnace is active: **%" text floating when you look at it).

- Realistic physics for players and items: The next change I consider important is giving dropped items, players and mobs correct physics. Right now, items barely fall to the ground if placed on walls, while players maintain no inertia, have no acceleration, and just move when pressing a movement key. Players should only accelerate when they are touching the ground, and maintain velocity in the air, rather than walking on air and stopping instantly when you let go of the button. Swimming is also basic, and the player stops in place when touching water rather than sinking in. Lastly, when dropping an item from your inventory, I'd prefer to see it thrown in front of the player like Minecraft, rather than dropped under him. (implemented)

- Mined blocks dropping to the ground: When mining a block in Minetest, that block appears in your inventory. I believe that's too simple and unrealistic, and will also be a limitation later on (eg: When TNT mining will become possible). I suggest doing this like in Minecraft, though a different idea is welcome if it's good. This means that when you break a block, a smaller version falls to the ground, which the player has to walk over in order to pick up. (mod exists but is not upstream)

- Weather: Someone already attempted this, as seen here. It looks nice, and I'd love to see some rain and snow by default. My suggestion would be to make default weather in LUA, so people creating custom worlds can make their own weather.

- Texture animation: Flowing water is already on the TODO list. But apart from that, I believe support for animating textures in general is needed. This can already be done in LUA by changing the texture on a surface every few ticks, which is good for making the furnace entrance red while active, but bad for constant animations. My suggested implementation is a LUA hook for items, in which you define a group of textures to loop between, the duration of each texture, but also a transition rate. Being able to fade smoothly will likely be important in order to achieve things like ripples on still water (same as MC). (implemented)

- Particles: Particles will eventually be needed for good quality. In Minecraft, they appear above torches, when mining blocks (based on the type of block broken), and in other circumstances, which I'd also like to see in Minetest. (implemented)

- Post-processing: This goes toward the bottom of the list. Although the normal Minecraft doesn't have this, many clones implemented post processing effects, which greatly extend the beauty of the world. I believe Minetest could nicely use some too... such as bloom / HDR, depth of field, reflective water, gloss and bump mapping, motion blur, and anything else that works. Obviously as optional settings. Irrlicht should have common shaders for this, so I imagine it would be easy to add some post-processes later on. If anyone wants a feel of how they'd look like, here are some videos from another project called Terasology: video 1, video 2. (shader support now exist but can't handle post-processing yet)

I'll keep the list updated in case there are any changes. I'm not including mods and mobs here, since they're related to gameplay and something people will make in time, thanks to Minetest being possible to mod. Let me know what you think, and if you have other suggestions or disagree with some I posted.

PostPosted: Fri Feb 17, 2012 14:37
by Calinou
Yeah, would love to see all of these features.
Now we need someone to make them. :P

PostPosted: Fri Feb 17, 2012 15:33
by bwog
Why is everything here in Minecraft?

PostPosted: Fri Feb 17, 2012 20:10
by MirceaKitsune
Calinou wrote:Yeah, would love to see all of these features.
Now we need someone to make them. :P


Actually, many of them are already in progress. There's already a GIT branch which implements audio. A correct day cycle was almost ready and working, but the implementation was bad, and I don't know what its current status is. Then another user got weather to work, although I don't know if it uses an acceptable implementation (I just seen the video). Same for 3D players, a patch available around the forums. The rest are things that should be easy to add for someone who knows the code, such as texture animations. So in practice, it might not take so long and be too hard to do most things.

bwog wrote:Why is everything here in Minecraft?


Minecraft has been around for longer, and got around to adding all essential features. I'm not necessarily suggesting them in Minetest because Minecraft has them, but I believe any project with an environment and purpose like MC's should have these. I added another idea at the bottom of the list, which doesn't exist in Minecraft (post-processing effects).

PostPosted: Sat Feb 18, 2012 01:12
by Roflo
This is just my opinion/vote/commment..

- Sound: Yeah, it'd be nice. I do tend to turn it off from 90% of the games I play though.
- 3D players, mobs and animals: I'd settle with them being visible from all angles, like the DM.
- Smooth daytime cycle with sun and moon: I find it useful to determine the time of day; not much more.
- Menu: I don't really care about this one.
- Realistic physics for players and items: I'm not sure if I'd like this one. Plus, "flying" shouldn't be in the same parragraph as "realistic".
- Mined blocks dropping to the ground: Nah. I like it the way it is.
- Weather: Now that's a good idea.
- Texture animation: As long as it can be disabled..
- Particles: Haven't played MC, but I assume it's used for stuff like smoke et all... Again, as long as it can be disabled.
- Post-processing: Again, I'd probably disable all of these. They're nice eye-candy features, but I don't even use texture packs. I like the (linux) default one.

Just my $0.02

PostPosted: Sat Feb 18, 2012 10:42
by MirceaKitsune
Yes, my suggestion includes being able to turn all non-essential features off. Blocks and physics... well I believe they need to be changed, but I also think it would be nice if some server rules were made part of a config. So everyone who owns a server can tweak their own balance and specify movement speed, jump height, block behavior, difficulty (damage multiplier), and anything else that isn't LUA and makes sense to configure.

PostPosted: Thu Jun 21, 2012 15:11
by MirceaKitsune
Just updated MineTest after a while. Some things have changed, so I edited the first post to update on the situation.

We have sound support at last, currently just for footsteps on grass and sand (uses OpenAL with ogg vorbis support). I also looked up and saw a beautiful sun and moon on the sky, similar to those in MC. Their transition as well as the lighting are smooth. So from the top importance features, sound and a daytime cycle are complete.

I hope the rest of the list is still being checked and used as reference, and other features will be added soon. Glad to see development is going well and things are advancing so fast :)

PostPosted: Thu Jun 21, 2012 15:16
by Jordach
The furnace now has the fire icon much like Minecraft now. No more Furnace is Active anymore.

PostPosted: Thu Jun 21, 2012 15:17
by MirceaKitsune
Jordach wrote:The furnace now has the fire icon much like Minecraft now. No more Furnace is Active anymore.


Awesome, that's even more good news :D

PostPosted: Thu Jun 21, 2012 15:18
by Jordach
I though I might bring that up.

PostPosted: Thu Jun 21, 2012 16:03
by Calinou
Consider "Menu", "Texture Animation" and "Realistic Player/Item Physics" done. :P

PostPosted: Sun Jul 22, 2012 21:46
by Nubelite
For the TNT pickup, the blocks blown up they can be placed in a chest or so where the TNT was, or maybe, made into the items a player can already drop and pick up. Another idea is make the blocks into one hit destroy.

I think the best thing minetest can do is learn from minecrafts mistakes and make a better game. At least for the shared features.

PostPosted: Mon Jul 23, 2012 07:27
by sfan5
+1 for the Ideas

PostPosted: Sat Oct 06, 2012 07:48
by richardmv
MirceaKitsune wrote:a "Video" menu for changing things like draw distance, smooth lightning, renderer, brightness, view bobbing, etc.


An option to change the brightness would be amazing. Right now when I play, I have to place a torch every couple steps in order to actually see anything two blocks in front of me.

PostPosted: Sat Oct 06, 2012 13:28
by rubenwardy
- 3D players, mobs and animals: This is already made in mobs, but inbuilt AI, Pathfinding and the ability to use animated nobeboxes would be good.
- Menu: Yeah, More Settings is a definite. The other day i was thinking about how the main menu should be set up in lua.
- Realistic physics for players and items: Acceleration does exist, when you "fast" it does this noticeably. It is unnoticeable in normal walking. Too much physics will destroy the main aim of minetest: plays on older computers
- Mined blocks dropping to the ground: See PilzAdam's Mod
- Weather: +1 Would have to be a mod, to fit with MT's aims
- Texture animation: Lava is animated, and PilzAdam's version of minetest_game game pack contains animated water and fire
- Particles: This is a mod by someone, Sfan iirc
- Post-processing: Maybe, Too much will destroy the main aim of minetest: plays on older computers

PostPosted: Sat Oct 06, 2012 14:14
by PilzAdam
rubenwardy wrote:- Particles: This is a mod by someone, Sfan iirc

There is a better particles mod by me and cornernote.

PostPosted: Sat Oct 06, 2012 14:32
by Mito551
rubenwardy wrote:the main aim of minetest: plays on older computers


really? i want a developer to judge us here. i thought it always aimed at being a better game(than mc, e.g.). providing best gaming expirience it can!

PostPosted: Sat Oct 06, 2012 15:14
by rubenwardy
Mito551 wrote:
rubenwardy wrote:the main aim of minetest: plays on older computers


really? i want a developer to judge us here. i thought it always aimed at being a better game(than mc, e.g.). providing best gaming expirience it can!


the reason that c55 made minetest is for it to be able to play on older computers: something that mc can not.

PostPosted: Sat Oct 06, 2012 18:03
by MirceaKitsune
rubenwardy wrote:the main aim of minetest: plays on older computers


I agree with having this aim, but not with it blocking us from adding any modern features. If we limit ourselves from adding new stuff just so it works on old computers, I don't believe we'll get very far at this day. Instead, create settings for all those features, and allow the user to toggle them. So that those with old computers can disable anything fancy, while those with modern hardware can enable everything that looks good. Another FOSS game I'm a developer of does this, and with minimal settings it can run on pretty old hardware while with maximum ones it looks very modern and good (reflections / refractions, bloom, offset / parallax mapping, motion blur, and more).

PostPosted: Sat Oct 06, 2012 18:29
by rubenwardy
MirceaKitsune wrote:
rubenwardy wrote:the main aim of minetest: plays on older computers


I agree with having this aim, but not with it blocking us from adding any modern features. If we limit ourselves from adding new stuff just so it works on old computers, I don't believe we'll get very far at this day. Instead, create settings for all those features, and allow the user to toggle them. So that those with old computers can disable anything fancy, while those with modern hardware can enable everything that looks good. Another FOSS game I'm a developer of does this, and with minimal settings it can run on pretty old hardware while with maximum ones it looks very modern and good (reflections / refractions, bloom, offset / parallax mapping, motion blur, and more).


Yes +1

PostPosted: Sat Oct 06, 2012 18:38
by Mito551
MirceaKitsune wrote:
rubenwardy wrote:the main aim of minetest: plays on older computers


I agree with having this aim, but not with it blocking us from adding any modern features. If we limit ourselves from adding new stuff just so it works on old computers, I don't believe we'll get very far at this day. Instead, create settings for all those features, and allow the user to toggle them. So that those with old computers can disable anything fancy, while those with modern hardware can enable everything that looks good. Another FOSS game I'm a developer of does this, and with minimal settings it can run on pretty old hardware while with maximum ones it looks very modern and good (reflections / refractions, bloom, offset / parallax mapping, motion blur, and more).


i shall agree with that as well. well said :)

PostPosted: Sun Oct 07, 2012 02:21
by VanessaE
I've been telling c55 for months now that we need to allow for high-end machines as well, since not everyone's stuck with 1995-era computers. ;-)

PostPosted: Sun Oct 07, 2012 09:07
by Jordach
VanessaE wrote:I've been telling c55 for months now that we need to allow for high-end machines as well, since not everyone's stuck with 1995-era computers. ;-)

I think Finnish computing such as Nokia make things that last forever, that probably explains why. ;)

PostPosted: Mon Oct 08, 2012 00:34
by Liandri
VanessaE wrote:I've been telling c55 for months now that we need to allow for high-end machines as well, since not everyone's stuck with 1995-era computers. ;-)


And what was his answer, if any?

PostPosted: Mon Oct 08, 2012 01:57
by madarexxx
VanessaE wrote:I've been telling c55 for months now that we need to allow for high-end machines as well, since not everyone's stuck with 1995-era computers. ;-)


Not everyone, but many people have netbooks, which doesn't have powerful hardware. Minetest is my primary game on my netbook, and I don't want to see it more lagging!

PostPosted: Mon Oct 08, 2012 05:09
by VanessaE
I will leave it to celeron55 to repeat his answer here. :-)

PostPosted: Mon Oct 08, 2012 09:42
by MirceaKitsune
madarexxx wrote:Not everyone, but many people have netbooks, which doesn't have powerful hardware. Minetest is my primary game on my netbook, and I don't want to see it more lagging!


Which is why I suggested making all advanced features optional settings, which people can enable only if they need to.

PostPosted: Mon Oct 08, 2012 11:42
by madarexxx
MirceaKitsune wrote:
madarexxx wrote:Not everyone, but many people have netbooks, which doesn't have powerful hardware. Minetest is my primary game on my netbook, and I don't want to see it more lagging!


Which is why I suggested making all advanced features optional settings, which people can enable only if they need to.



Nice idea, but it shall not affect on performance, in minimal effect mode.

PostPosted: Mon Oct 08, 2012 14:00
by MirceaKitsune
madarexxx wrote:Nice idea, but it shall not affect on performance, in minimal effect mode.


Sure. In the case of rendering effects for instance... like bloom or reflections or bump mapping (given we'll ever have that). Not enabling them doesn't have how to decrease performance or cause incompatibilities on older machines. I did have some ideas regarding the physics however, which might be a bit trickier (and probably won't happen so...)

PostPosted: Sun Nov 25, 2012 21:19
by MirceaKitsune
Time to clean the dust off this topic a bit. I updated the first post, marking two more essential features as implemented. First is animated lava / water... latest MineTest has that implemented properly now. Second is 3D players. As everyone likely knows from the other thread, I've been working on implementing animated mesh support during the last month. Today the last bugs got fixed, and the feature was merged upstream with a default mesh and texture (details here).

Particles are one thing that will probably be marked as implemented soon. I seem them working as a mod on another server, but they're not in c55 master yet so I can't say much yet. Same for mined items dropping to the ground, they're working very nicely on OldCoder's server (europe.minetest.org) but aren't part of minetest_game yet.