Infinite Maps

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

Infinite Maps

by Jordach » Sun Sep 02, 2012 13:02

To be precise.

VanessaE wrote:When you're near the center (even a couple thousand meters from it), the game renders fine within previously-documented limits. However, get really far from the center on both X and Z axes, say 30000m or so, and blocks start exhibiting severe rendering glitches. Edges dance around and/or disappear into neighboring edges, signs and other 2d objects flicker in and out of existence, etc. See this video for an example:

http://youtu.be/wBDPPJ6t0wA

Low framerate aside, this is typical of what I'm experiencing.


This is related to the map size, I once tested 62000 as the top limit, not 31000 - the entire textures and blocks vanished, thus meaning endless maps can't be done...

But they can. with that modification to the source, the map generate fine up until 32700/32600 (varies) then it will either crash or stop rendering the textures. (Actually, both can happen, it can also crash before this no render section pf the map.)

The crash I aforementioned is actually the co-ordinates, beyond their maxium variable number off 65535 or similar, thus meaning this variable; v3s16 must be changed into a long "signed" integer.
Last edited by Jordach on Sun Sep 02, 2012 13:06, edited 1 time in total.
viewtopic.php?f=10&t=19056 Solar Plains Dev Server
 

irksomeduck
Member
 
Posts: 224
Joined: Tue Aug 28, 2012 21:45
Location: Littleroot town, Hoenn region

by irksomeduck » Fri Sep 28, 2012 18:59

Aren't maps pretty much infinite anyway? I think they are big enough anyway.
I love exploring minetest worlds :D
If you have a good seed let me know
--------------------------------------------------
My world/house pack- http://minetest.net/forum/viewtopic.php?id=3066
 

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

by Jordach » Fri Sep 28, 2012 22:31

Na, what if a server has been running for almost 4 years, that map "must" be exhausted.
viewtopic.php?f=10&t=19056 Solar Plains Dev Server
 

irksomeduck
Member
 
Posts: 224
Joined: Tue Aug 28, 2012 21:45
Location: Littleroot town, Hoenn region

by irksomeduck » Sat Sep 29, 2012 09:20

My idea would be to build an underground civilisation or something. Encourage people to move underground. I mean if you mine a huge cavern out and but dirt on the bottom, that way people could farm, grow trees ect. I lived very deep underground at one point, and it is worth it if you can get enough saplings, food ecy. Of course you would need lots of buckets of water, but I would recommend trying it out.
Last edited by irksomeduck on Sat Sep 29, 2012 09:25, edited 1 time in total.
I love exploring minetest worlds :D
If you have a good seed let me know
--------------------------------------------------
My world/house pack- http://minetest.net/forum/viewtopic.php?id=3066
 

CTMN
Member
 
Posts: 113
Joined: Sat Aug 25, 2012 15:02

by CTMN » Thu Oct 04, 2012 06:32

Lots of buckets of water? Never played around with water?

U only need 2 buckets. Place them like this:

~ is water
[] is a hole that u have to dig after u placed the water

~[]
~

Then u have infinite water and can take it out of the hole. It will be refilled automatically.
 

srothe
Member
 
Posts: 41
Joined: Thu Sep 15, 2011 12:03

by srothe » Tue Oct 09, 2012 15:30

Doesn't work for me. Could you please explain the procedure a bit more for dummies?

~[]
~ <--Is this a profile view or a map view?

Cheers, Stefan
 

User avatar
PilzAdam
Member
 
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
Location: Germany
GitHub: PilzAdam
IRC: PilzAdam

by PilzAdam » Tue Oct 09, 2012 16:21

srothe wrote:Doesn't work for me. Could you please explain the procedure a bit more for dummies?

~[]
~ <--Is this a profile view or a map view?

Cheers, Stefan

Its from above.
 

User avatar
Topywo
Member
 
Posts: 1720
Joined: Fri May 18, 2012 20:27

by Topywo » Tue Oct 09, 2012 19:52

srothe wrote:Doesn't work for me. Could you please explain the procedure a bit more for dummies?

~[]
~ <--Is this a profile view or a map view?

Cheers, Stefan


There's a difference between water/lava_source and water/lava_flowing.

You can fill a bucket with a source, not with flowing. Right-click when you have a filled bucket in your hand to empty it (=placing the source-node)

Whenever you place 2 sources of the same kind (water or lava) with exactly 1 empty block between them, the empty block will fill itself. You might expect flowing water/lava, but in minetest the empty block will fill and turn into a source. This means you can take it with a bucket.

When you take the source that has been created like that, you create a new empty block. This will fill up again and turn into a source, thus becoming takeable again. Etc., etc.. therefore it's called infinite.

p.s. when you take away one of the two outer sources, thus creating an empty block, it will be filled with 'real' flowing water/lava, and not be takeable.
 

srothe
Member
 
Posts: 41
Joined: Thu Sep 15, 2011 12:03

by srothe » Thu Oct 11, 2012 11:40

Ok, now I see how it works. But the initial explanation was wrong or incomplete in two points.

1. You need to create a basin around your intended fountain:

X X X X
X X O X X: Sand, Gravel, Rock, Wood, etc
X O O X O: Empty
X X X X

Otherwise, placing the two bucketloads of water would cause a flooding :-)

2. Now You first need to dig the hole in the ground, then you empty your buckets next to it

X X X X X: Sand, Gravel, Rock, Wood, etc
X X W X W: Water
X W[] X []: Hole
X X X X

If you place the water first, digging the hole has no effect. If you first dig the hole, it indeed refills on taking out water.

3. You may want to cover the two sources by rock etc, to prevent them from being bucketed by accident. Some green and a lantern for decoration, and here I got my personal fountain of youth :-)

Image

Cheers, Stefan
Last edited by srothe on Thu Oct 11, 2012 11:42, edited 1 time in total.
 

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

by Jordach » Thu Oct 11, 2012 13:56

Back to on topic, as soon as I can find this among the code:

Code: Select all
short int v3s16


And change it to a long signed variable, this means we will have a truly endless map downwards!

Short signed: -32768 to 32767

Long signed: -2147483648 to 2147483647

Source: http://www.cplusplus.com/files/tutorial.pdf Page 12
Last edited by Jordach on Thu Oct 11, 2012 13:57, edited 1 time in total.
viewtopic.php?f=10&t=19056 Solar Plains Dev Server
 

CTMN
Member
 
Posts: 113
Joined: Sat Aug 25, 2012 15:02

by CTMN » Thu Oct 11, 2012 15:31

@srothe: 1. U can't make holes in the air. And beside, the "hole in the air" would still be filled. ;-)

2. It doesn't matter if u dig the hole in the middle first or if u dig the hole as last. U probably had a lag.

3. It works without that.

@Jordach: Celeron also could make an UNSIGNED long and a bool or short as the negative flag or a long double and do as if the blocks were 0.1 metre(or whatever) high. I'm not sure if he is using integers right now(if u press F5, it sometimes says there "X,0.5,Y" or so).
Last edited by CTMN on Thu Oct 11, 2012 15:35, edited 1 time in total.
 

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

by SegFault22 » Thu Oct 11, 2012 21:34

Jordach wrote:Back to on topic, as soon as I can find this among the code:

Code: Select all
short int v3s16


And change it to a long signed variable, this means we will have a truly endless map downwards!

Short signed: -32768 to 32767

Long signed: -2147483648 to 2147483647

Source: http://www.cplusplus.com/files/tutorial.pdf Page 12

+1
Can you try to test this and see what happens with it?
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
Jordach
Member
 
Posts: 4499
Joined: Mon Oct 03, 2011 17:58
Location: Blender Scene
GitHub: Jordach
IRC: Jordach
In-game: Jordach

by Jordach » Fri Oct 12, 2012 09:36

Do I look like I am going to search out one single damn line?

That's like Santa Claus NOT delivering presents.
viewtopic.php?f=10&t=19056 Solar Plains Dev Server
 

CTMN
Member
 
Posts: 113
Joined: Sat Aug 25, 2012 15:02

by CTMN » Fri Oct 12, 2012 14:51

SegFault, write to Celeron, not to Jordach
 

User avatar
MasterGollum
Member
 
Posts: 79
Joined: Thu Sep 27, 2012 14:48

by MasterGollum » Fri Nov 02, 2012 18:52

If you do it, we will not finish the map in our lifetime :) it will be more than 10 times the distance from the Earth to the Moon! If I calculated well, starting from the center of the map at 3 m/s speed as the AV moves in my screen, we will need about 23 years walking without stop to reach the end of the map :P Who will be the first to arrive? :) I support this change it is a great idea, the current 32Km size is limiting.

But I think it will require more changes than just "1 line of code", all the places were the coordinates are being used will requires to be changed to 4bytes (long), or it will crash. For example the variables of the lua scripts (if they are not already been stored in 4bytes).
Last edited by MasterGollum on Fri Nov 02, 2012 18:52, edited 1 time in total.
 

User avatar
PilzAdam
Member
 
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
Location: Germany
GitHub: PilzAdam
IRC: PilzAdam

by PilzAdam » Fri Nov 02, 2012 19:11

MasterGollum wrote:If you do it, we will not finish the map in our lifetime :) it will be more than 10 times the distance from the Earth to the Moon! If I calculated well, starting from the center of the map at 3 m/s speed as the AV moves in my screen, we will need about 23 years walking without stop to reach the end of the map :P Who will be the first to arrive? :) I support this change it is a great idea, the current 32Km size is limiting.

But I think it will require more changes than just "1 line of code", all the places were the coordinates are being used will requires to be changed to 4bytes (long), or it will crash. For example the variables of the lua scripts (if they are not already been stored in 4bytes).

Its 2.7777 days with the current map limits.
Last edited by PilzAdam on Fri Nov 02, 2012 19:12, edited 1 time in total.
 

Dragonop
Member
 
Posts: 1178
Joined: Tue Oct 23, 2012 12:59
Location: Argentina
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop

by Dragonop » Fri Nov 02, 2012 20:01

srothe wrote:
Doesn't work for me. Could you please explain the procedure a bit more for dummies?
~[]
~ <--Is this a profile view or a map view?
Cheers, Stefan


BECAUSE IT NEEDS TO BE LIKE THIS
~[]
[]~ and now you can take from everywere
It's "Drag" for the friends.

Sorry I haven't been online as much lately, I'm real busy.
https://forum.minetest.net/download/file.php?id=4472
 

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

by rubenwardy » Thu Jan 24, 2013 19:19

You could use find to look for short ints
Core Developer | Donate | My Twitter | Mods | Mods 4 Android | Node Box Editor | Minetest Modding Book

Hello profile reader

LgiOxMFYXOqtqVqMPhbw1Bn3oNRvEC7j
 

User avatar
Calinou
Moderator
 
Posts: 3145
Joined: Mon Aug 01, 2011 14:26
Location: Troyes, France
GitHub: Calinou
IRC: Calinou
In-game: Calinou

by Calinou » Thu Jan 24, 2013 20:18

MasterGollum wrote:If I calculated well, starting from the center of the map at 3 m/s speed as the AV moves in my screen.


Walking speed is 4 blocks/second (1 block is one cubic meter), sneaking speed is 1 + 1/3 blocks/second.
 

User avatar
jordan4ibanez
Member
 
Posts: 1893
Joined: Tue Sep 27, 2011 18:44
Location: Rhode Island, USA
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

by jordan4ibanez » Thu Jan 24, 2013 20:56

This would be a fucking problem. If maps were generated ∞ then there would be ∞ ores and no stone past 31500.
If you can think it, you can make it! My Patreon :D
 

rarkenin
Member
 
Posts: 668
Joined: Tue Nov 20, 2012 20:48

by rarkenin » Fri Jan 25, 2013 11:58

SegFault22 wrote:
Jordach wrote:Back to on topic, as soon as I can find this among the code:

Code: Select all
short int v3s16


And change it to a long signed variable, this means we will have a truly endless map downwards!

Short signed: -32768 to 32767

Long signed: -2147483648 to 2147483647

Source: http://www.cplusplus.com/files/tutorial.pdf Page 12

+1
Can you try to test this and see what happens with it?


This would involve changing the serialization formats of PointedThing and MapNode, as well as countless other data structures and communication packets.
Admin pro tempore on 0gb.us:30000. Ask me if you have a problem, or just want help.
This is a signature virus. Add me to your signature so that I can multiply.
Now working on my own clone, Mosstest.
I guess I'm back for some time.
 


Return to Feature Discussion



Who is online

Users browsing this forum: QwertyHi and 2 guests