Infinite world size

User avatar
Kilarin
Member
Posts: 894
Joined: Mon Mar 10, 2014 00:36
GitHub: Kilarin

Re: Infinite world size

by Kilarin » Post

Hume2 wrote:It is possible to make it purely server-side.
I stand corrected!

User avatar
v-rob
Developer
Posts: 970
Joined: Thu Mar 24, 2016 03:19
GitHub: v-rob
IRC: v-rob
Location: Right behind you.

Re: Infinite world size

by v-rob » Post

Minix wrote:
Thu May 20, 2021 05:07
1)If one were to actually do all the work to rewrite the engine code so that worlds can be bigger, is it enough for only the server to run the modified Minetest engine or would the clients also need to run the modified version ? I am pretty sure something would break client-side but I want to know if that is true.
Theoretically, it might be possible, but in all practicality, both server and client should have to be the same version. There are a lot of things that "could" be possible, but the work and maintenance that would go in to them is not worth it. So, a big change such as this would essentially necessitate a major breaking change, such as the one from 0.4 -> 5.0.
Minix wrote:
Thu May 20, 2021 05:07
2)What about splicing the world into different servers ?
Has been discussed many times before. See, for instance, https://github.com/minetest/minetest/pull/11175, https://github.com/minetest/minetest/issues/10041, https://github.com/minetest/minetest/issues/5813, and viewtopic.php?f=5&t=17580.
Minix wrote:
Thu May 20, 2021 05:07
Or instead of sending the players to another server, what about having multiple databases ? where each database can hold a space up to 64000^3 nodes.
Very large discussion in https://github.com/minetest/minetest/issues/4428.
Core Developer | My Best Mods: Bridger - Slats - Stained Glass

User avatar
Minix
Member
Posts: 144
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Infinite world size

by Minix » Post

v-rob wrote:
Thu May 20, 2021 18:19

Theoretically, it might be possible, but in all practicality, both server and client should have to be the same version. There are a lot of things that "could" be possible, but the work and maintenance that would go in to them is not worth it. So, a big change such as this would essentially necessitate a major breaking change, such as the one from 0.4 -> 5.0.
I agree, that would break compatibility with prior versions, and then it would become a fork, so keeping up with changes from upstream would be too much work. Thanks for your responses guys, I will look into those github issues.

Chrysolite Azalea
Member
Posts: 79
Joined: Sun May 03, 2020 05:38
GitHub: ChrysoliteAzalea

Re: Infinite world size

by Chrysolite Azalea » Post

I think it's better to have several dimensions connected with portals than increase world size. MineClone 2 does it with Nether, I think it's possible to have several Overworld-like dimensions.
cdb_JQUaRqvA1Vho

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Infinite world size

by Linuxdirk » Post

Chrysolite Azalea wrote:
Sun May 23, 2021 18:12
I think it's better to have several dimensions connected with portals than increase world size. MineClone 2 does it with Nether, I think it's possible to have several Overworld-like dimensions.
Since Minetest was never planned with having multiple dimensions in mind it's pretty much impossible to add them now without basically rewrite the whole server and world generation and world coordinates system.

Enlarging the world by using Int32 or even Int64 would allow infinite large worlds* by only changing the world generation system. You could even use the current coordinates because every number in Int16 fits into anything lager than Int16 and is in the same place.

With this you can place any* amount of dimensions into the space of the currently loaded world. There will be a little more data to be stored, of course, but since only changed mapblocks and nodes are stored the amount of data will be waaaaaay smaller than "anti-larger-world activists" fear.

* Since it is not possible to save infinite data in a finite system the world of course is not infinitely large. The infinity aspect comes from the size of the world that makes it impossible to completely traverse it within the constraints of the vanilla game.

Chrysolite Azalea
Member
Posts: 79
Joined: Sun May 03, 2020 05:38
GitHub: ChrysoliteAzalea

Re: Infinite world size

by Chrysolite Azalea » Post

Linuxdirk wrote:
Tue May 25, 2021 10:26
Chrysolite Azalea wrote:
Sun May 23, 2021 18:12
I think it's better to have several dimensions connected with portals than increase world size. MineClone 2 does it with Nether, I think it's possible to have several Overworld-like dimensions.
Since Minetest was never planned with having multiple dimensions in mind it's pretty much impossible to add them now without basically rewrite the whole server and world generation and world coordinates system.
AFAIK, there are mods that add new dimensions. So I think it's possible.
cdb_JQUaRqvA1Vho

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Infinite world size

by Linuxdirk » Post

Chrysolite Azalea wrote:
Thu May 27, 2021 21:08
there are mods that add new dimensions.
Those “dimensions“ are areas that are located within the world. For example, the Nether from the nether mod is placed from -5000,-30000,32767 to -11000,-32768,30000 according to the mod’s settingtypes.txt.

Chrysolite Azalea
Member
Posts: 79
Joined: Sun May 03, 2020 05:38
GitHub: ChrysoliteAzalea

Re: Infinite world size

by Chrysolite Azalea » Post

Linuxdirk wrote:
Thu May 27, 2021 21:50
Chrysolite Azalea wrote:
Thu May 27, 2021 21:08
there are mods that add new dimensions.
Those “dimensions“ are areas that are located within the world. For example, the Nether from the nether mod is placed from -5000,-30000,32767 to -11000,-32768,30000 according to the mod’s settingtypes.txt.
Yeah, checked, found it out. The Nether from both MineClone 2 and Nether mod is placed inside the Overworld. I wonder whether it's possible to make a wholly separate world. Or have something like regions grid in OpenSimulator.
cdb_JQUaRqvA1Vho

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Infinite world size

by Linuxdirk » Post

Chrysolite Azalea wrote:
Fri May 28, 2021 09:16
I wonder whether it's possible to make a wholly separate world.
No, it’s not and likely will never be without basically rewriting everything that is somehow relevant for creating and serving the world.

c56
Member
Posts: 307
Joined: Wed Apr 21, 2021 03:05
GitHub: tigercoding56
In-game: bm5 or bemo5 also sell_her_on55

Re: Infinite world size

by c56 » Post

Linuxdirk wrote:
Fri May 28, 2021 12:45
Chrysolite Azalea wrote:
Fri May 28, 2021 09:16
I wonder whether it's possible to make a wholly separate world.
No, it’s not and likely will never be without basically rewriting everything that is somehow relevant for creating and serving the world.
there are quite a lot of things that basically require that so 5.(whatever ) to 6.0 could be basically rewriting that and adding all those things
this is a signature not a place to post messages also if i could change my username i would change it to sell_her_on55

proller
Member
Posts: 222
Joined: Sat Jan 26, 2013 15:22

Re: Infinite world size

by proller » Post

For history:
first working attempt to break 62000 limit was here:
https://github.com/minetest/minetest/pull/11843

User avatar
Minix
Member
Posts: 144
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Infinite world size

by Minix » Post

proller wrote:
Sat Dec 18, 2021 12:08
For history:
first working attempt to break 62000 limit was here:
https://github.com/minetest/minetest/pull/11843
Very interesting, I will test this as soon as I have time available.

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Infinite world size

by ShadMOrdre » Post

Proller,

Is this truly considered as a working feature for future versions. This sounds "too" promising, but I likes the idea!

I'll test if yes!

Shad

User avatar
Minix
Member
Posts: 144
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Infinite world size

by Minix » Post

proller wrote:
Sat Dec 18, 2021 12:08
For history:
first working attempt to break 62000 limit was here:
https://github.com/minetest/minetest/pull/11843
I compiled your minetest32 fork and after some trial and error I finally got it to work, this is a big step forward towards achieving near "infinite" worlds in Minetest. I am hosting a public server running the latest version of this fork from Proller's repository for anyone interested in trying it out, you will need to compile the appropriate client to join of course. The server address is freedomtest-c2d.ddns.net:30032, you can also find it on the server list as Minetest32. You have fast, fly, noclip and teleport so you can explore the world.
minetest32.png
minetest32.png (479.68 KiB) Viewed 3953 times

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Infinite world size

by Linuxdirk » Post

proller wrote:
Sat Dec 18, 2021 12:08
For history:
first working attempt to break 62000 limit was here:
https://github.com/minetest/minetest/pull/11843
This sounds wonderful! So … a decent world size isn’t completely off the table! :)

User avatar
Minix
Member
Posts: 144
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Infinite world size

by Minix » Post

Update:

So far the most stable game is devtest, but it is boring so I decided to test other games; minetest game crashes instantly, however Loria and NodeCore work out of the box. Since there seem to be no public servers hosting Loria I decided to change my public testing server from devtest to Loria. Even though it works it is very unstable, going further than 300k nodes causes a segmentation fault, so a lot of work is still needed.
minetest32-loria.png
minetest32-loria.png (725.36 KiB) Viewed 3917 times

proller
Member
Posts: 222
Joined: Sat Jan 26, 2013 15:22

Re: Infinite world size

by proller » Post

Second PR with float->double convert.
https://github.com/minetest/minetest/pull/11910
crashes on object serialize with big positions fixed

0siribix
Member
Posts: 123
Joined: Tue Nov 17, 2020 20:54
GitHub: 0siribix
In-game: 0siribix

Re: Infinite world size

by 0siribix » Post

I'm not sure if this has been brought up already but, has anyone considered scaling the sizes of everything instead of trying to increase the area? I mean I know it's going to break compatibility as well but it may be easier to implement?

So scaling at 0.5 would increase the world by 8x. It would also mean that node bounds would every 0.5 instead of every whole number.

User avatar
j0j0n4th4n
Member
Posts: 249
Joined: Tue Jan 26, 2021 06:45

Re: Infinite world size

by j0j0n4th4n » Post

Unless scaling down allow you to place more than 1 node into the same node space I don't see much difference
cdb_894a100ddd76

0siribix
Member
Posts: 123
Joined: Tue Nov 17, 2020 20:54
GitHub: 0siribix
In-game: 0siribix

Re: Infinite world size

by 0siribix » Post

j0j0n4th4n wrote:
Sat Jan 01, 2022 21:24
Unless scaling down allow you to place more than 1 node into the same node space I don't see much difference
Well, yeah, that's exactly what I mean. Scale everything: nodes, entities, particles. If you make everything half size in each direction then node borders would be at every half step instead of every step. This means 2x2x2 for every 1x1x1 coordinate. If you scale by 0.1 then you get 1000 nodes inside 1x1x1.

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Infinite world size

by Linuxdirk » Post

0siribix wrote:
Sat Jan 01, 2022 06:43
I'm not sure if this has been brought up already but, has anyone considered scaling the sizes of everything instead of trying to increase the area?
No, because that’s nonsense.

User avatar
v-rob
Developer
Posts: 970
Joined: Thu Mar 24, 2016 03:19
GitHub: v-rob
IRC: v-rob
Location: Right behind you.

Re: Infinite world size

by v-rob » Post

0siribix wrote:
Sat Jan 01, 2022 06:43
I'm not sure if this has been brought up already but, has anyone considered scaling the sizes of everything instead of trying to increase the area? I mean I know it's going to break compatibility as well but it may be easier to implement?
Not really, you'd have to use floating point, so you'd still have to convert every 16-bit integer to another type, plus the extra complexity of stuffing multiple nodes every whole number. It would be quite a bit harder.
Core Developer | My Best Mods: Bridger - Slats - Stained Glass

0siribix
Member
Posts: 123
Joined: Tue Nov 17, 2020 20:54
GitHub: 0siribix
In-game: 0siribix

Re: Infinite world size

by 0siribix » Post

v-rob wrote:
Sun Jan 02, 2022 19:50
0siribix wrote:
Sat Jan 01, 2022 06:43
I'm not sure if this has been brought up already but, has anyone considered scaling the sizes of everything instead of trying to increase the area? I mean I know it's going to break compatibility as well but it may be easier to implement?
Not really, you'd have to use floating point, so you'd still have to convert every 16-bit integer to another type, plus the extra complexity of stuffing multiple nodes every whole number. It would be quite a bit harder.
Thank you for at least taking the suggestion seriously. It occurred to me after I posted that we still have the same limitation due to the 16-bit Int. When I first suggested this, I was thinking about how coordinates show as floats in-game but I'm guessing this is a combination of the Int and a float. I'm not a fan of floats anyway since you lose precision with higher numbers. I learned a valuable lesson with that when I was working on a Skyrim mod years ago. Papyrus stores all numbers internally as float. So if you save a large number and then try to use it later, it may change without warning or error

Tim790
Member
Posts: 124
Joined: Mon May 31, 2021 23:32
GitHub: Tim79000
In-game: Tim7
Location: Land of the Midnight Sun

Re: Infinite world size

by Tim790 » Post

proller wrote:
Sat Dec 18, 2021 12:08
For history:
first working attempt to break 62000 limit was here:
https://github.com/minetest/minetest/pull/11843
Could you add it to Freeminer? smile
Yeet.

proller
Member
Posts: 222
Joined: Sat Jan 26, 2013 15:22

Re: Infinite world size

by proller » Post

Tim790 wrote:
Sat Jan 08, 2022 04:30
Could you add it to Freeminer? smile
Its possible but makes all further merges of minetest features much harder.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests