Terrain smoothing (configurable)

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

Terrain smoothing (configurable)

by SegFault22 » Sun Jan 05, 2014 08:03

I have come here to discuss a change/configurable option, regarding how terrain nodes are rendered, and the possibility of making said terrain awesomely smooth.

First, you have to look at some of the greatest MMO/RPG games out there - they have smooth terrains, and the environment is so very awesome. The only drawback, is that the entire world is static. For the most part, the player can not change or modify the environment - they cannot build their own home, can not make realistic farms, can not start realistic mines, etc. - Creativity is not present anywhere except PvP/PvE tactics and player clothing/armour/etc. colours/styles, which gets boring quickly.

Second, take a look at Minecraft/Minetest. It's a world of blocks/nodes that can be modified/molded into whatever the player wants. But the blocky environment looks dull and uninteresting after a while, and players' thumbs become tired from hitting the spacebar every time they need to go up a slope. Nothing in the world is smooth, from the pixelated textures to the blockiness of the entire world.

If we combine the two in a special way, we can create a smooth world, with elegant slopes/terrain, but also let it still be dynamic, composed of nodes that can be broken and placed similar to the current method. The way that nodes would take on their shape, would be very similar to the flowing water system of now, yet a little different. Nodes would have a "mesh" that is a flat, 2-dimensional square, for their rendering. There would be points on the corners, on the edges, and in the center of this mesh, and lines would be drawn between those points to form triangles, that act as the collision plane/texture area of the block. It is too difficult to accurately explain, so here I made two cutaway example-images of what the terrain looks like, with the current system and the proposed system:

Current System:
Image
Current system is blocky, as we all know. Terrain looks rough and un-realistic.

Proposed system:
Image
Proposed system would bend the terrain to match the positions of the nodes in the terrain. Past a certain angle, the grass texture would not be rendered - instead, there would be the dirt texture, because grass usually doesn't grow well on the sides of cliffs or terraces. The stone would act the same as the grass/dirt when exposed.

The way the mesh is bent would depend on what side(s) of the block are next to Air blocks - this way, you would actually be able to see the ceilings of caves, and outcroppings of dirt/stone would appear rounded-off where they are not connected to other stone.

Nodes like Wood, Fences, etc. that are not elements of the terrain, would not be bent like this, or would be bent in different ways (diagonal wooden walls, fences, etc.), because it does not make sense for them to bend with the terrain. The terrain around Fences would bend to accommodate the bases of the fence, and would "extend" the mesh of the fence into the terrain node if it is lower than 50% block height.

This would be much more realistic, and make the game look much better. Although it would still be flat and un-smooth in some places, it would be a step closer to awesomeness - combining the smoothness of the amazing MMORPG worlds with the dynamic node-based environment of Minetest. It would allow players and server owners to "create their own MMORPG", or something like that, by modifying the environment to their liking.

Of course, some computers may not be able to handle this level of awesomeness - which is why it would be configurable, defaulting to Off. However, a servers' configuration would be dominant over clientside configuration, because the collision-planes would be different for the two options.

Thanks for taking your time reading this, and remember to tell us your oppinions on the proposed change via reply - that's what forums are for - but do not be unnecessarily negative.
Last edited by SegFault22 on Sun Jan 05, 2014 09:17, edited 1 time in total.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
webdesigner97
Member
 
Posts: 1325
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

by webdesigner97 » Sun Jan 05, 2014 08:56

No, because it would ruin the voxel athmosphere.
 

Nore
Developer
 
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Sun Jan 05, 2014 09:03

SegFault22 wrote:However, a servers' configuration would be dominant over clientside configuration, because the collision-planes would be different for the two options.


Perhaps it could be a good idea, however I reckon that if ever it is merged, client-side configuration would have to be dominant over server-side one. Moreover, how do you know which nodes are part of the terrain, and which aren't? (especially with nodes added my mods...) Finally, you would have to rewrite a lot of the engine to do so, including the lighting system.
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Sun Jan 05, 2014 09:16

webdesigner97 wrote:No, because it would ruin the voxel athmosphere.

It would be configurable. This would be for those who don't really like the world being rough like that, but still want a dynamic world with nodes. How would it ruin the voxel atmosphere, if it is both configurable AND defaulting to "OFF"? Those who like Voxel can keep it off, and those who like the world realistic and smooth could set it to On.

Nore wrote:
SegFault22 wrote:However, a servers' configuration would be dominant over clientside configuration, because the collision-planes would be different for the two options.


Perhaps it could be a good idea, however I reckon that if ever it is merged, client-side configuration would have to be dominant over server-side one. Moreover, how do you know which nodes are part of the terrain, and which aren't? (especially with nodes added my mods...) Finally, you would have to rewrite a lot of the engine to do so, including the lighting system.

Knowing which nodes are and aren't terrain, is one of the simplest things to this. It would be done by coding this into the engine as a "drawtype", and making any terrain-blocks have that draw-type.

Yes, this project would be a lot of work, but so was:
-Great Wall of China
-Empire State Building
-United States Constitution
-Silicon-based computers
-Designing the Gothic Cathedrals
-Construction of said Cathedrals
-Minecraft
-and even Minetest, in the beginning
-et cetera

Those who worked on said projects didn't trash the ideas because of difficulty. Even though it was difficult, the end result was beautiful. So will the end result of this project, if anyone decides to go through with it.
Last edited by SegFault22 on Sun Jan 05, 2014 09:22, edited 1 time in total.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
TenPlus1
Member
 
Posts: 2650
Joined: Mon Jul 29, 2013 13:38
GitHub: tenplus1

by TenPlus1 » Sun Jan 05, 2014 09:58

Having half-blocks available for dirt, grass and sand would help smooth the terrain slightly but still give minetest look and feel to the world...
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Sun Jan 05, 2014 10:08

TenPlus1 wrote:Having half-blocks available for dirt, grass and sand would help smooth the terrain slightly but still give minetest look and feel to the world...

That's mod stuff. The topic is about the possibility of a Configurable, off-by-default option for Terrain rendering/shaping, that would revolutionize the entire gaming Industry, and whats popularity would take off like the Saturn 5 rocket, if implemented, even as a Configurable option that defaults to off.
Last edited by SegFault22 on Sun Jan 05, 2014 10:09, edited 1 time in total.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
Pitriss
Member
 
Posts: 253
Joined: Mon Aug 05, 2013 17:09
Location: Czech republic, Bohumin
GitHub: Pitriss
IRC: pitriss
In-game: pitriss

by Pitriss » Sun Jan 05, 2014 10:50

you should pick another game to ruin it.. This game is intentionally based on cubic parts.. It is main thought of this game to have cubic world.. So.. no.. even with default off it is very bad idea.

If i want play non cubic sandbox game then i can play for example wurm online. But no, I'm playing minetest because i like it as is, with all the cubes around..
I reject your reality and substitute my own. (A. Savage, Mythbusters)
I'm not modding and/or playing minetest anymore. All my mods were released under WTFPL. You can fix/modify them yourself. Don't ask me for support. Thanks.
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Sun Jan 05, 2014 11:01

Pitriss wrote:you should pick another game to ruin it.. This game is intentionally based on cubic parts.. It is main thought of this game to have cubic world.. So.. no.. even with default off it is very bad idea.

If i want play non cubic sandbox game then i can play for example wurm online. But no, I'm playing minetest because i like it as is, with all the cubes around..

Dude, what part of "default off" do you not understand? This would be 100% configurable. Configurable. That means that the player can "choose" if it is on or off. Thus ruining Nothing. I'm not trying to ruin Voxel, I'm trying to bridge the gap between the amazing, awesome terrain scenes of the common MMORPGs, and the versatile dynamic envitonment provided by Minetest.

If this can't become a feature, atleast help us find someone who can fork Minetest and make this a reality. It helps nobody to shoot down revolutionary ideas like these, which take us a step closer to the best gaming experience possible.

Besides, Wurm doesn't even have a modding API, nor is it completely free to use and modify like Minetest. If I new how to code in C++, I would fork Minetest and make my own "game" including this. But sadly, I have not been blessed with the skills that others magically have, which allow them to grasp C++ just by reading a jargon dictionary some guy posted on the Internet.
Last edited by SegFault22 on Sun Jan 05, 2014 11:05, edited 1 time in total.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
VanessaE
Moderator
 
Posts: 4474
Joined: Sun Apr 01, 2012 12:38
Location: Waynesville, NC
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE

by VanessaE » Sun Jan 05, 2014 11:15

It might look nice but one would have to see examples of this kind of rendering (not in some other game, but in a Minetest world). The 2d example images in your first post unfortunately show only a very small part of the picture.

I know Jordach is working on importing some parts of Minetest (or similar) maps into Blender for some of his fancy renders. Maybe he can apply your suggested algorithm to a few of those renders, texture them with our current set of defaults, do some fake lighting (not the nice lighting he usually uses), and show us more or less what it would look like?
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)
 

User avatar
Krock
Developer
 
Posts: 4469
Joined: Thu Oct 03, 2013 07:48
Location: Switzerland
GitHub: SmallJoker

by Krock » Sun Jan 05, 2014 11:36

That would spam the game with useless nodes.
No thanks, I love the current version.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Sun Jan 05, 2014 13:00

VanessaE wrote:It might look nice but one would have to see examples of this kind of rendering (not in some other game, but in a Minetest world). The 2d example images in your first post unfortunately show only a very small part of the picture.

I know Jordach is working on importing some parts of Minetest (or similar) maps into Blender for some of his fancy renders. Maybe he can apply your suggested algorithm to a few of those renders, texture them with our current set of defaults, do some fake lighting (not the nice lighting he usually uses), and show us more or less what it would look like?

Good idea. Then I would replace those crappy 2d images with screenshots of those fancy, advanced things he is capable of making.

Krock wrote:That would spam the game with useless nodes.
No thanks, I love the current version.

Either you haven't read the topic post/replies, or are deliberately trying to make the brutal murder of this great idea even worse. I'm not sure as to which, though.
It has been stated that nodes would take on a "mesh" with "points" that determine its shape/form relative to other nodes. This would not add any new nodes to the game at all.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
hoodedice
Member
 
Posts: 1372
Joined: Sat Jul 06, 2013 06:33
Location: world
GitHub: hoodedice
IRC: hoodedice
In-game: hoodedice

by hoodedice » Sun Jan 05, 2014 15:05

1. Minetest aims to be light and flexible. It currently runs playably on computers with crappy intel GMAs. With shaders and waving on. If you add this to the game, it would increase the poly-count which would hinder people like me from playing minetest any longer.

2. If the server decides to apply this, and say, I switched it off, there would be situations where my character would be walking through dirt-nodes and if the server decides not to put this, and VanessaE (with her awesome ATi cards) switched it on, then there would be situations where she would be walking above dirt nodes.

3. Minetest is a voxel-based game. Hate it or not, the engine was designed around the idea of keeping it voxely. You cannot change this engine's code to reflect a non-voxel world, because the game is not oriented towards smooth terraining.

In any case, this is not a bad idea. And in case you didn't know, attempts have already been made in this direction, however, they introduced new nodes, instead of just changing the collision box and rendering. It may be possible with shaders. If you are really serious about this, then I suggest that you:

1. Play around with the terrain configuration tool in Rollercoaster Tycoon 3 and see how the terrain handling works. It is surprising that such a complex game runs much faster than MT on my computer. However, this is understandable in some ways, including the small 'world' and from the fact that not all blocks are 'live' at a given time.

2. Learn C++. If you are dedicated enough to this idea, then this is very important.

3. Fork MT, or make your own separate game engine from scratch. I don't really think I fork would be beneficial here. I suggest you start from scratch and try to create a game entirely modeled around the idea of a world that is editable, but not voxely.

3.5. Get in touch with xyz from FreeMiner. If they like your idea, they'll let you do it, or maybe try and implement it themselves.
7:42 PM - Bauglio: I think if you go to staples you could steal firmware from a fax machine that would run better than win10 does on any platform
7:42 PM - Bauglio: so fudge the stable build
7:43 PM - Bauglio: get the staple build
 

User avatar
rubenwardy
Moderator
 
Posts: 5965
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

by rubenwardy » Sun Jan 05, 2014 16:41

Maybe as a fork.

This has been discussed before.
 

User avatar
Enke
Member
 
Posts: 469
Joined: Fri Nov 15, 2013 02:56
Location: The internet
GitHub: NANOsoldierEnke
IRC: Enke
In-game: Enke

by Enke » Mon Jan 06, 2014 03:01

I don't think it's a good thing for Minetest, although a voxel game built around this concept, entirely different from Minetest, might work.
Lush8
ExtraVars for Red Eclipse

<Anarchid> my turn was still the most awesome, yielding all the cripples, two captured paranormals, and death rate of about 30%
<ORCACommander> Anarchid: you need to work harder
<ORCACommander> I am hereby putting you under review until you can increase the casualty rate
 

User avatar
paramat
Developer
 
Posts: 3555
Joined: Sun Oct 28, 2012 00:05
Location: UK
GitHub: paramat
IRC: paramat

by paramat » Mon Jan 06, 2014 05:35

Some screenshots of what 'slab resolution' terrain looks like https://forum.minetest.net/viewtopic.php?id=5686
Last edited by paramat on Mon Jan 06, 2014 05:35, edited 1 time in total.
 

mauvebic
Member
 
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Mon Jan 06, 2014 06:19

Like ruben said, it's been discussed before. If i were you i'd give up now, it will be less frustrating :P
 

User avatar
Dopium
Member
 
Posts: 233
Joined: Sat Jun 09, 2012 15:43
Location: Australia

by Dopium » Mon Jan 06, 2014 08:25

Last edited by Dopium on Mon Jan 06, 2014 08:25, edited 1 time in total.
Running @1.19 MHz, 128 bytes of RAM and interchangeable 4kb ROM carts!
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Mon Jan 06, 2014 11:03

mauvebic wrote:Like ruben said, it's been discussed before. If i were you i'd give up now, it will be less frustrating :P

Maybe I'll fork Minetest, and make this idea a reality. There's lots of hope for it, because it is the best of a dynamic node-based world and a carefully designed 3D MMORPG world, combined. Sure it will be frustrating, but the end result will be far more awesome, than just giving up as you suggest.

Dopium wrote:Have you seen this mod.
https://forum.minetest.net/viewtopic.php?id=4297

That requires more nodes, and is nothing like what I am suggesting.
In the suggestion, a terrain block, say, Dirt_with_grass, is the only variant of that block that appears. There are no slanted or upside-down dirt_with_grass blocks. Instead, its mesh (2d platform suspended at the corners and on the edges and in the middle by Points) would bend to fit the height of the points on nearby nodes. So you could have a dome-shaped hill, made of nothing but grass nodes.

And besides, that mod you told of lags really bad, due to the number of sub-nodes (nodeboxes) it renders. It is significantly worse than the suggestion I made here.
Last edited by SegFault22 on Mon Jan 06, 2014 11:09, edited 1 time in total.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

Sokomine
Member
 
Posts: 3956
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine

by Sokomine » Mon Jan 06, 2014 15:55

SegFault22 wrote:In the suggestion, a terrain block, say, Dirt_with_grass, is the only variant of that block that appears.

Hm, yes, that's the main problem of that approach. Especially the grass slopes are very popular with players and lead to a smoother, nicely looking terrain when placed manually. The non-cubic blocks created by the cnc machine might work with far less triangles and less collusion boxes provided we had an extra drawtype for them. Perhaps like the nodebox drawtype but with all triangles defined manually. That could indirectly help your approach as well.

The world with the grass-, sand- and other slabs is something I was looking forward to, but it did not turn out as useful as I hoped in everyday gameplay. The diffrent lighting is a disadvantage in this case, and you can't really place plants or anything else on the slabs. That's also a problem when building with them, but there at least it can be handled. The diffrent lighting can even be used as an advantage there (i.e. nodeboxes lighted from below or above).
A list of my mods can be found here.
 

User avatar
Jordach
Member
 
Posts: 4523
Joined: Mon Oct 03, 2011 17:58
Location: Blender Scene
GitHub: Jordach
IRC: Jordach
In-game: Jordach
 

Iqualfragile
Member
 
Posts: 160
Joined: Tue Sep 18, 2012 22:11

by Iqualfragile » Mon Jan 06, 2014 17:22

this is almost impossible to archive while keeping the current unweighted node system
in the linked video weighted voxels are used, in that case its possible.
http://www.youtube.com/watch?v=mnbm6u37WtE
(that game actually has two voxel draw modes, the one activated in the video is the "hard corners" mode)
http://www.youtube.com/watch?v=7o3UV1xjTOI
this video uses the other, "smooth" mode
Gr8 b8, m8. I rel8, str8 appreci8, and congratul8. I r8 this b8 an 8/8. Plz no h8, I'm str8 ir8. Cr8 more, can't w8. We should convers8, I won't ber8, my number is 8888888, ask for N8. No calls l8 or out of st8. If on a d8, ask K8 to loc8. Even with a full pl8, I always have time to communic8 so don't hesit8.
 

User avatar
Dopium
Member
 
Posts: 233
Joined: Sat Jun 09, 2012 15:43
Location: Australia

by Dopium » Tue Jan 07, 2014 00:04

SegFault22 wrote:That requires more nodes, and is nothing like what I am suggesting.
In the suggestion, a terrain block, say, Dirt_with_grass, is the only variant of that block that appears. There are no slanted or upside-down dirt_with_grass blocks. Instead, its mesh (2d platform suspended at the corners and on the edges and in the middle by Points) would bend to fit the height of the points on nearby nodes. So you could have a dome-shaped hill, made of nothing but grass nodes.

And besides, that mod you told of lags really bad, due to the number of sub-nodes (nodeboxes) it renders. It is significantly worse than the suggestion I made here.


Ah i see what you're saying now, just thought some of the code maybe use full. Great idea but will you be able to climb up smoothed node blocks such as the ones shown by Jordach?
Running @1.19 MHz, 128 bytes of RAM and interchangeable 4kb ROM carts!
 

User avatar
SegFault22
Member
 
Posts: 870
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Tue Jan 07, 2014 02:12

Dopium wrote:
SegFault22 wrote:That requires more nodes, and is nothing like what I am suggesting.
In the suggestion, a terrain block, say, Dirt_with_grass, is the only variant of that block that appears. There are no slanted or upside-down dirt_with_grass blocks. Instead, its mesh (2d platform suspended at the corners and on the edges and in the middle by Points) would bend to fit the height of the points on nearby nodes. So you could have a dome-shaped hill, made of nothing but grass nodes.

And besides, that mod you told of lags really bad, due to the number of sub-nodes (nodeboxes) it renders. It is significantly worse than the suggestion I made here.


Ah i see what you're saying now, just thought some of the code maybe use full. Great idea but will you be able to climb up smoothed node blocks such as the ones shown by Jordach?

Why of course - but there would be a limit of about 50 degrees, so that you can't, say, walk up the side of a cliff.
Resources are abundant; only money is scarce. People should not have to work hard and remain poor just to pay for the needs of survival.
Society can thrive without money - but only if productive members of society are rewarded for being productive.
 

User avatar
Novacain
Member
 
Posts: 285
Joined: Sat Aug 31, 2013 01:03
Location: Skaaro

by Novacain » Wed Jan 08, 2014 01:23

I understand your concept, but I personally like the blocky look. if someone wanted to create a separate mod or texture pack (although I have the feeling this would be a combination of both) then great! but a lot of us like the blocky texture. it certainly shouldn't be the default as minetest. my opinion has been offered.

edit: an idea: if it was fomulated is to incorperate it into ranged view. it would be nice to look at a smooth mountain with out being able to see all the details. up close though, it should still be blocks IMO.

double edit: an idea for a game that has higher graphics and a manipulatable landscape is Zero-K. its an RTS and is free. the downside is it's based around windows, and I'm not entirely sure their website is virus free (had a general cluttered feel that something might be making it's way onto my computer). I, unfortunately have been unable to play it, as my computer has a low graphics capability.
Last edited by Novacain on Wed Jan 08, 2014 06:10, edited 1 time in total.
EXTERMINATE!!!
My Tronrealm modpack
My tronblocks mod
 

prestidigitator
Member
 
Posts: 640
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Fri Jan 10, 2014 08:27

OpenSim with a SecondLife/OpenSim-compitable viewer. It's physics engine and scripting system are also far more detailed than Minetest's physics and mod API. The downside is that it uses far more computing resources on both the server and client and probably doesn't give you the whole extensive world you want for a full "game" (instead you'll be running a few 256m by 256m by 4096m regions, or something on that order of magnitude).
Last edited by prestidigitator on Fri Jan 10, 2014 08:28, edited 1 time in total.
 


Return to Feature Discussion



Who is online

Users browsing this forum: Google [Bot] and 1 guest