Infinite Maps

Post Reply
Jordach
Member
Posts: 4534
Joined: Mon Oct 03, 2011 17:58
GitHub: Jordach
IRC: Jordach
In-game: Jordach
Location: Blender Scene

Infinite Maps

by Jordach » Post

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.

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

by irksomeduck » Post

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

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

by Jordach » Post

Na, what if a server has been running for almost 4 years, that map "must" be exhausted.

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

by irksomeduck » Post

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 » Post

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 » Post

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
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

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: 1721
Joined: Fri May 18, 2012 20:27

by Topywo » Post

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 » Post

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.

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

by Jordach » Post

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.

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

by CTMN » Post

@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: 872
Joined: Mon May 21, 2012 03:17
Location: NaN

by SegFault22 » Post

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?
"All we need it the right major crisis and the nations will accept the new world order."

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

by Jordach » Post

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

That's like Santa Claus NOT delivering presents.

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

by CTMN » Post

SegFault, write to Celeron, not to Jordach

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

by MasterGollum » Post

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
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

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: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

by Dragonop » Post

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

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

by rubenwardy » Post

You could use find to look for short ints
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

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

by Calinou » Post

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: 1923
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

by jordan4ibanez » Post

This would be a fucking problem. If maps were generated ∞ then there would be ∞ ores and no stone past 31500.
hello, am program. do language in rust. make computer do. okay i go now.

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

by rarkenin » Post

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.

Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests