Page 1 of 2

[0.4.11] Meshnodes, mapgen “v5”, other recent developments

PostPosted: Sun Nov 23, 2014 10:14
by Calinou
Hello! This issue covers the addition of meshnodes, as well as various other developments such as performance improvements.

These changes will of course be available in the next Minetest version (0.4.11), but you can already use them in some builds as well as a recent, self-compiled Git build.



Meshnodes



RealBadAngel has added support for meshnodes. Meshnodes look like entity meshes (.x, .b3d, .obj or .md2 format), but are placed as static “blocks”. He also made it so that nodeboxes are cached into memory, and are converted to meshes at load time, in order to greatly improve performance when there are many nodeboxes in view. Modders can also define node collision boxes indepentently of the node boxes.
Lastly, he also remade the wielded item rendering in order to support shaders.

Image
Yes, these are nodes, not entities. These slopes can be walked on. They can also be crafted, as part of More Blocks (“slopes” branch). Also see Mesh primitive objects.


Image
Curves from slope_test.


Image
Bump-mapping now works on the wielded item, dropped items and other entities.


Map generation “v5”



paramat worked on adding the good old “v5” map generation, which was the one used in Minetest 0.3. Like “v7”, it can use the Lua biome system, so it will only generate stone by default.

Image
Don't worry, it still has hanging cliffs and floating blobs of terrain.


Node highlighting



RealBadAngel added node highlighting, which changes the way nodes look when they are pointed at.

Image
You can edit halo.png to change the selection's color and style.


In-game key change menu



mushiden implemented an in-game key change menu. You can now change keys without leaving a game or a server.

Image
All keys can now be changed while playing.


Performance improvements



Zeno- authored a few performance optimizations (1), (2), (3), (4) which may increase client performance quite a bit.


Tooltips when hovering over subgame icons



Wuzzy implemented tooltips when your mouse hovers over a subgame icon.


New minetest_game textures



kilbith, BlockMen and RHRhino worked on textures; among other ones, chest, flower, ladder and furnace textures have been renewed:

Image
Image
Image


Modding / miscellaneous



kwolekr added eased 3D noise; it can be used in mods.

kwoelkr and ShadowNinja cleaned the code around a bit.

All commits

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 23, 2014 16:01
by Enke
Can't wait!

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 23, 2014 18:03
by Krock
In-dev builds already contain this stuff and it works fine :)

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 08:54
by Zeno
Cool Calinou :)

There are 2 other commits that increase performance more than a few frames per second (a lot more)

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 11:28
by leopinopalo
I look forward to download it now

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 12:42
by Evergreen
leopinopalo wrote:I look forward to download it now

Use this: viewtopic.php?f=42&t=1523

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 15:36
by Enke
Will the keybindings menu ever have a way to change the f-key bindings, or are we stuck with those?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 16:26
by Calinou
Enke wrote:Will the keybindings menu ever have a way to change the f-key bindings, or are we stuck with those?


minetest.conf currently lets you do that.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Nov 24, 2014 18:39
by paramat
Apologies to Zeno, i implied that Zeno made a mistake in merging #1835, it was actually a failure of communication.
Apparently lua eased noise has a bug according to hmmmm http://irc.minetest.ru/minetest-dev/2014-11-13#i_4018873 00:24 to 00:41

ShadowNinja hmmmm: Does #1835 look good to you?

ShadowBot https://github.com/minetest/minetest/issues/1835 -- Add option eased to NoiseParams by SmallJoker

hmmmm ShadowNinja, no it does not.
I have other plans for NoiseParams that I simply did not get the opportunity to get accomplished

hmmmm also that patch as-is has a fairly large bug in it that'd cause memory corruption

http://irc.minetest.ru/minetest-dev/2014-11-14 01:59 to 03:03

hmmmm well whatever, just don't tell people to use it i guess
for now
i would fix it right now but i'm working on like work work for my day job

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sat Nov 29, 2014 06:08
by Melkor
Calinou wrote:Image
Curves from slope_test.


nice. this mean that we can make (for example) toches more detailed, i mean, diagonal meshes?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sat Nov 29, 2014 08:43
by Krock
Melkor wrote:nice. this mean that we can make (for example) toches more detailed, i mean, diagonal meshes?

Yes, the mod slope_test already contains diagonal meshes.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sat Nov 29, 2014 15:57
by Melkor
Krock wrote:
Melkor wrote:nice. this mean that we can make (for example) toches more detailed, i mean, diagonal meshes?

Yes, the mod slope_test already contains diagonal meshes.

Good! i forgot to ask: it will support animated textures?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sat Nov 29, 2014 17:36
by Calinou
Melkor wrote:Good! i forgot to ask: it will support animated textures?


No, only static textures and static models are supported.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sat Nov 29, 2014 21:58
by Inocudom
Calinou wrote:
Melkor wrote:Good! i forgot to ask: it will support animated textures?


No, only static textures and static models are supported.

Will that ever change, or is that decision final?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 30, 2014 06:18
by Calinou
Inocudom wrote:Will that ever change, or is that decision final?


I believe RealBadAngel will add animated meshnodes (or at least animated textures on meshnodes) somewhen.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 30, 2014 08:29
by Melkor
While you guys are at it, maybe it can be possible re-enable the farmesh thing again?, it WAS an awesome feature which always added more to the game (not really but, oh well), even more, can enhance it? Like adapting itself in order to show modified terrain or buildings made by the player?
Image
For those who dont know what farmesh is, its something like a system LOD which allow to show more terrain without having to load chunks, it was removed because become incompatible with most recent mapgens
Image
Man! I Really want to have more free time to learn programming

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 30, 2014 08:53
by Calinou
I like the “horizon” on the 2nd screenshot. I think something as simple as this would do the job, while staying very fast (you just need one plane and the horizon never breaks, since it doesn't depend on the world seed).

I don't feel a need for farmesh, as it was slow and sometimes incorrect or misleading, even in 0.3.x.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Sun Nov 30, 2014 18:35
by Melkor
And that is what im talking about, i need an horizon in the game, something can draw more terrain without killing FPS, i want a sense of vastness...
ok i give up in farmesh

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Mon Dec 01, 2014 18:30
by Evergreen
Calinou: You should probably add a note about being able to right click and drag with a stack of items.

EDIT:
I'm not actually sure when this was introduced, only include it if it was commited after 0.4.10

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Wed Dec 03, 2014 02:45
by Sokomine
Thanks for the thread! It's good to see how many fine features where recently added.

Some additional config changes which I'm glad where added:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
enable_local_map_saving = true

This is sfan5's savetolocalmap branch now included in the normal game. Just set that config variable to true, and whenever you visit a server, your client will store the data it received in worlds/server_servername_port/. One world per server will be created. To access it offline, you may need to change the world.mt file to something like this:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
gameid = minetest
backend = leveldb

or not - depending on how your games are called and which databases you have installed.
Your map_meta.txt for that particular world ought to include the line
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
mg_name = singlenode

to prevent mapgen from creating new terrain and thus overwriting existing parts.

With this map saving option enabled, you do no longer have to worry about servers which disappear with your creations. If a server goes down, you still have a copy on your disk. Just don't forget to check from time to time if it's a truely working copy.

Another new config variable is
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
enable_build_where_you_stand = true

If you add that to your minetest.conf, then you may again place nodes at your feet and eye position. This is very helpful when dealing with nodeboxes and i.e. placing handrails on a narrow staircase or working in other thight corners of a house. It also allows to pillar up more easily. It goes without saying that anyone who pillars up also cleans up again after him/hershelf and does not leave ugly pillars in the landscape. They're only a tool for reaching upper parts of your building. Btw, if you place a node at your eye level, your screen will go black. You can't see anything around you until that block's removed again or you move elsewhere.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Wed Dec 03, 2014 15:12
by ExeterDad
Sokomine wrote:Some additional config changes which I'm glad where added:
CODE: SELECT ALL
enable_local_map_saving = true

This is sfan5's savetolocalmap branch now included in the normal game. Just set that config variable to true, and whenever you visit a server, your client will store the data it received in worlds/server_servername_port/. One world per server will be created. To access it offline, you may need to change the world.mt file to something like this:
CODE: SELECT ALL
gameid = minetest
backend = leveldb

Does this save the entire world, or in some kind of radius around the player?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Wed Dec 03, 2014 19:37
by Calinou
ExeterDad wrote:Does this save the entire world, or in some kind of radius around the player?


It saves only what your client knows – that is, what it receives. So, it does not save the entire world.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 04, 2014 01:06
by Dragonop
@Paramat Thanks for adding mapgen v5 again to the game.

Does the textures that Esteban made for the doors are goin to be added?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 04, 2014 07:11
by paramat
Image


Now you can choose the stone node for a mgv5 or mgv7 biome, it will extend down to y = -32, here's an example.

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_biome({
    name = "desert",
    node_top = "default:desert_sand",
    depth_top = 1,
    node_filler = "default:desert_sand",
    depth_filler = 1,
    node_stone = "default:desert_stone",
    height_min = 1,
    height_max = 31000,
    heat_point = 100,
    humidity_point = 0,
})



Mgv7 biomes are now slightly thinner, the depth of filler is now 'depth_filler' + 'noise_filler_depth' (roughly +-2 nodes), as it should be. Filler depth now averages to chosen 'filler_depth'.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 04, 2014 08:25
by OmniStudent
Melkor wrote:While you guys are at it, maybe it can be possible re-enable the farmesh thing again?


Wow, I didn't even know that had been done. That was beautiful!

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Wed Dec 10, 2014 03:55
by paramat
Two new features for the mgv5, mgv7 biome API (not mgv6):

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.clear_registered_biomes()
minetest.clear_registered_decorations()
minetest.clear_registered_ores()

^ These lines can be used in a mod to clear any previously registered biomes, decorations and ores. Once i create the default set of biomes for mgv5, mgv7 these lines can be used in a mod to clear those just before you register your own, or if you don't register new biomes, decorations and ores this will reduce mgv5, mgv7 to base terrain (stone, air and water only) so you can continue to use paragenv7 or whatever mod requires base terrain.
Of course you can choose which of these lines to use to clear what you choose to clear, for example many players will be happy with the default ores so can leave those as default.



Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
mg_biome_np_heat = {
    offset = 50
    scale = 50
    spread = (500.0, 500.0, 500.0)
    seed = 5349
    octaves = 3
    persistence = 0.5
}

mg_biome_np_humidity = {
    offset = 50
    scale = 50
    spread = (500.0, 500.0, 500.0)
    seed = 842
    octaves = 3
    persistence = 0.5
}

^ These lines can now be added to minetest.conf to set the heat and humidity noise parameters. These are examples of the new superior 'group format' for noise parameters, however the single line format will be supported for a while.
The 3 numbers in brackets are the 'spread' of heat and humidity in nodes (the largest scale structure in the noise variation), these need to be increased if you have a lot of biomes, to avoid tiny biomes and narrow biome stripes.

***** Please note the default heat and humidity noise parameters have now changed, the persistences have been reduced to 0.5. If you are using the biome API and have a set of registered biomes, for biome continuity in your mgv5 or mgv7 world you will need to set the old defaults through minetest.conf:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
mg_biome_np_heat = {
    offset = 50
    scale = 50
    spread = (500.0, 500.0, 500.0)
    seed = 5349
    octaves = 3
    persistence = 0.7
}

mg_biome_np_humidity = {
    offset = 50
    scale = 50
    spread = (500.0, 500.0, 500.0)
    seed = 842
    octaves = 3
    persistence = 0.55
}

However the new parameters should create a better pattern of biomes so i recommend using the new defaults if you can, and if starting a new world.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 11, 2014 08:09
by 4aiman
Could you explain why did you pre-register any biomes in the first place, please?
What I mean is, why not leave empty stones by default like in mgv7?

I haven't use v5 yet and haven't follow it's development up until now, so you can safely assume I know nothing about mgv5.

Could you explain the ideas behind mgv5 development, please?

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 11, 2014 17:43
by Krock
4aiman wrote:What I mean is, why not leave empty stones by default like in mgv7?

It's something great to have default biomes in mgv5/7.
Many newbies ask why there is no dirt and are not happy to have install a mod for that first.

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Thu Dec 11, 2014 23:35
by 4aiman
Krock wrote:
4aiman wrote:What I mean is, why not leave empty stones by default like in mgv7?

It's something great to have default biomes in mgv5/7.
Many newbies ask why there is no dirt and are not happy to have install a mod for that first.

Ah, I can see that point of yours, Krock.
While they truly are asking and not happy to install some mods, there's an explanation, why it was so.

But I can't make up some nice answer to "Why do I have to unregister smth to use mgv5?"
I mean, it's like deliberately downloading Ubuntu Ultimate Edition and then stripping it down to a normal version in order to install the soft you really need. Or like getting SteamOS and then removing Steam to use Desura.

But the thing is, with Ubuntu one can easily switch to some "simpler" variation of it, while here I can't see any choice left.

Don't get me wrong, I'm not against predefined biomes, it's just that I'm struggling to make Magichet as slim as possible and additional code doesn't help me to do it.
Moreover, what if there're 2 or more places where biomes are registered? Which one should unregister all predefined biomes in the case when I just can't soft-depend? (Say, I got some really neat mods on terms I won't change those. May seem unreal, but can happen.)

Re: [0.4.11] Meshnodes, mapgen “v5”, other recent developmen

PostPosted: Fri Dec 12, 2014 01:32
by paramat
It was always intended for mgv7 to have default biomes, but hmmmm never got around to it because he's unhappy with mgv7 and has not finished it. Now biomes are my job as the mapgen tea-boy.
Many new players try mgv7 before understanding mods and don't realise it's missing biomes, then say something like 'it seems bleak', some make video reviews of a stone world, it makes a bad impression.
In future most players will use mgv7/v5 with the default biomes instead of defining their own, so it makes sense to require experienced modders to disable default biomes instead of requiring inexperienced new players and the majority to enable them.
When there are 2 or more mods that define sets of biomes, as long as both have 'clear registered biomes' before their biome definitions the order they run in will decide which biome system is used, the order is controlled with dependancies.