Infinite world size
- philipbenr
- Member
- Posts: 1897
- Joined: Fri Jun 14, 2013 01:56
- GitHub: philipbenr
- IRC: philipbenr
- In-game: robinspi
- Location: United States
Re: Infinite world size
@ArguablySane: +1 I do agree on this. And the fact is, there already is a tunnel boring machine that digs down in the factories mod by LemonLake. Also, as for the way to solve it reasonably, there are very few ways. But, there is one way: Making it so that whenever you walk past 32000, the map generator keeps on generating, like normal, but only calculates for the map chunks you are exploring. That way it is more of a limit for the lag time. It will get more laggy after 32000 blocks, but it will generate more. Now, I know much more about changing the map generator, not making it do different things (Writing my own magpens for v5, v6, or v7) so what I am saying here might be totally stupid and ignorant of how Minetest actually works...
Re: Infinite world size
If the map generates past the edge then server would have a hard time keeping up. As it stands now servers with lots of players have maps that are several gigs. That is without the full world being explored. If you can continue then maps would become so big that backups would take longer and servers would need more storage. That would mean that servers would be limited to expensive computers. I like how it is now .
If it was to change I think it would need to be an option. I would love to see the ability to set the size yourself. That way it would work for everyone.
If it was to change I think it would need to be an option. I would love to see the ability to set the size yourself. That way it would work for everyone.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
- indriApollo
- Member
- Posts: 146
- Joined: Fri Sep 26, 2014 11:34
- GitHub: indriApollo
- IRC: indriApollo
- In-game: SudoAptGetPlay
- Location: Belgium
- Contact:
Re: Infinite world size
Why can't we make a world without edges where the coords goes from max 32000 to -32000 side by side. You could travel 64000 in one step :D or make a house where your entrance door is 31995 and your backyard in -31998. Something like a 8bit-register overflow in assembly where you go from 255 back to 0.
My mods : The Cube minigame, Spleef minigame, Unbreakable screwdriver, Warp,Notifying doorbell
Serveur francophone : game.minetest-france.fr:30000 <3
Serveur francophone : game.minetest-france.fr:30000 <3
Re: Infinite world size
As I stated on a previous post " I wish that when a player reaches the edge the get teleported to the other side. That way if you walk in a straight line it would be like you walked around the world."indriApollo wrote:Why can't we make a world without edges where the coords goes from max 32000 to -32000 side by side. You could travel 64000 in one step :D or make a house where your entrance door is 31995 and your backyard in -31998. Something like a 8bit-register overflow in assembly where you go from 255 back to 0.
If you think of the real world we do not have infinite size. It simply wraps around. I think that removing edges in this manor would make a lot of people happy.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
- ArguablySane
- Member
- Posts: 116
- Joined: Sun Oct 12, 2014 21:29
Re: Infinite world size
EDIT: Disregard that, I misunderstood your suggestion.philipbenr wrote:@ArguablySane: +1 I do agree on this. And the fact is, there already is a tunnel boring machine that digs down in the factories mod by LemonLake. Also, as for the way to solve it reasonably, there are very few ways. But, there is one way: Making it so that whenever you walk past 32000, the map generator keeps on generating, like normal, but only calculates for the map chunks you are exploring. That way it is more of a limit for the lag time. It will get more laggy after 32000 blocks, but it will generate more. Now, I know much more about changing the map generator, not making it do different things (Writing my own magpens for v5, v6, or v7) so what I am saying here might be totally stupid and ignorant of how Minetest actually works...
Only generating a single chunk where the player is could be made to work, although it would look very ugly near the edge of the current chunk. I just don't think it would be particularly useful since it would be just as hard, if not harder to implement than the current system. HDD space is not a good justification for the map size limits.
The maximum map file size already has a huge upper bound because 64000^3 is an extremely large number. That space is only used if people actually visit places on the map. I don't think people would load a significantly greater number of chunks if they had a larger map ; They'd just be able to load them in a straight line rather than having to take a meandering path around the limited map space. Also, storage space is by far the least troublesome of the system requirements for running a server. You'll need to upgrade CPU and memory long before you need to buy a new HDD, unless you plan to run a small server for decades. New computers today routinely come with 1TB hard drives.Don wrote:If the map generates past the edge then server would have a hard time keeping up. As it stands now servers with lots of players have maps that are several gigs. That is without the full world being explored. If you can continue then maps would become so big that backups would take longer and servers would need more storage. That would mean that servers would be limited to expensive computers. I like how it is now .
If it was to change I think it would need to be an option. I would love to see the ability to set the size yourself. That way it would work for everyone.
That doesn't really solve the gameplay problem. It's just an aesthetic fix which makes the most obvious symptom go away. Even if you made the game world into a hyper-toroid by welding the boundaries together, my hypothetical tunnel bore would still run out of material to mine after 64000 blocks. It would just be conveniently back where it started rather than on the opposite side of the map.Don wrote:As I stated on a previous post " I wish that when a player reaches the edge the get teleported to the other side. That way if you walk in a straight line it would be like you walked around the world."indriApollo wrote:Why can't we make a world without edges where the coords goes from max 32000 to -32000 side by side. You could travel 64000 in one step :D or make a house where your entrance door is 31995 and your backyard in -31998. Something like a 8bit-register overflow in assembly where you go from 255 back to 0.
If you think of the real world we do not have infinite size. It simply wraps around. I think that removing edges in this manor would make a lot of people happy.
The above post and any ideas expressed therein are released to the public domain under a Creative Commons CC0 license.
Re: Infinite world size
If the edge loops around then it would be like going around the world weather it is on the surface or underground. Going staight down can be fixed by having lava at the bottom to represent the core. Going straight up could make you die as you would run out of air.
Like someone else said, without infinite resources you can not have an infinite world. Instead of trying to get infinite why not try to get scale. People could scale their world according to their computer.
Like someone else said, without infinite resources you can not have an infinite world. Instead of trying to get infinite why not try to get scale. People could scale their world according to their computer.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
- ArguablySane
- Member
- Posts: 116
- Joined: Sun Oct 12, 2014 21:29
Re: Infinite world size
Now that sounds fine. I like the idea of a config option which lets you keep the current settings.Don wrote:People could scale their world according to their computer.
That said, the world size has almost zero effect on performance. The CPU and memory load is directly proportional to the number of players and almost independent of the number of unloaded chunks in the world.
I could play in a world with a theoretical size limit of 10^40 x 10^40 x 10^40 blocks on a raspberry pi without using external storage, as long as I didn't explore too many chunks.
The above post and any ideas expressed therein are released to the public domain under a Creative Commons CC0 license.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: Infinite world size
Although i'm only a pseudo-dev i will speak for the devs as i know their opinions. We have nothing against a larger world, as long as it remains cubic, the only issue is the huge amount of code rewriting needed for this, we don't have much time (many devs work full time) and there are many other far more important problems and features to be working on. Much of this discussion is pointless, learn C++ and rewrite the code yourself and submit a pull request, see you in a few months time 0/
I'm considering writing a very simple lua mapgen that adds more space by slicing the world into levels and teleporting the player. With slices just over 1km thick the world area would be 49 time larger, edge lengths 7 times larger. People will still complain though if used to MC.
I'm considering writing a very simple lua mapgen that adds more space by slicing the world into levels and teleporting the player. With slices just over 1km thick the world area would be 49 time larger, edge lengths 7 times larger. People will still complain though if used to MC.
- ArguablySane
- Member
- Posts: 116
- Joined: Sun Oct 12, 2014 21:29
Re: Infinite world size
Thanks for the info paramat. As long as the devs aren't opposed to the idea, I'm happy. I agree that there are much more important things for them to work on, and as you say I can code it myself if I ever get desperate for more space.
The above post and any ideas expressed therein are released to the public domain under a Creative Commons CC0 license.
Re: Infinite world size
I can't code but if I could making the world larger would be low priority. I appreciate everything the devs do. Keep up the great work.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
-
- Member
- Posts: 1482
- Joined: Fri Apr 19, 2013 16:19
- GitHub: twoelk
- IRC: twoelk
- In-game: twoelk
- Location: northern Germany
Re: Infinite world size
and as far as I understood the problem this does not mean you need this long to learn C++ but rather you might need this long to rewrite all the relevant parts in the code besides breaking most mods that calculate coordinates somewhere.paramat wrote:... learn C++ and rewrite the code yourself and submit a pull request, see you in a few months time 0/ ...
The size as it is now is simply the largest coordinates that can be expressed the way coordinates are stored at the momment. You would have to rewrite that and define a new way to describe coordinates within the game engine. Not that difficult in theory but really lot of work in reallity. The math isn't difficult but the amount of work is discouraging and in the end, a little further out, you would have borders again that people will bump into.
While it might be possible to regenerate unchanged parts of the map from some seed, so that a map of thousands of kilometres might be thinkable the idea to store some model of reallity the size of say the US in a 3D map with a resolution of one voxel to a meter is most probably beyond the capabilities of most computers on this planet as of 2014.
- ArguablySane
- Member
- Posts: 116
- Joined: Sun Oct 12, 2014 21:29
Re: Infinite world size
A 1:1 scale map of the US would only be on the order of 10^17 blocks including lots of air, which is 10^5 TB if 1 block takes up 1 byte. Just transmit it unencrypted over the internet and let the NSA store it for you. They definitely have enough capacity in their data-centres.twoelk wrote:While it might be possible to regenerate unchanged parts of the map from some seed, so that a map of thousands of kilometres might be thinkable the idea to store some model of reallity the size of say the US in a 3D map with a resolution of one voxel to a meter is most probably beyond the capabilities of most computers on this planet as of 2014.
The above post and any ideas expressed therein are released to the public domain under a Creative Commons CC0 license.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: Infinite world size
Yes that's what i meant, i'm guessing the time but it would be a huge amount of work.twoelk wrote:you might need this long to rewrite all the relevant parts in the code besides breaking most mods that calculate coordinates somewhere.
We're not intimidated by MC's horizontal space because we know MT worlds are superior because of the cubic chunks and the vertical space, despite being much smaller horizontally. Vertical space is more interesting and richer in possibilities than horizontal space, because horizontal expansion tends to be more of the same realm, instead of a vertical stack of hell realms, underworlds, floatlands, alien planets, space etc. So MT's vertical space more than makes up for the moderate amount of horizontal space.
I and some other devs consider MC's vertical space pathetic even at 256 nodes, all dimensions and realms have to be separate worlds, in MT the other realms are actually there and you have to travel vertically for a few kilonodes to reach them, that journey itself becomes inspiring and enjoyable.
Now i want to work on new mapgens which make use of the vertical space, and will be encouraging hmmmm to do the same. The idea of a flat realm stacked between underworlds and 'heavens' is an ancient worldwide cosmology.
I called my super-tower mod 'Meru' because that is an ancient eastern cosmology where Mount Meru is a tower to the heavens between stacked flat realms. Many cultures have similar mythologies such as the tower of Bab(b)le.
From http://huntingtonarchive.osu.edu/resour ... raphy.html
Re: Infinite world size
Man, why can't I "like" your post... :)
To impress everyone this world-structure should be default.
To impress everyone this world-structure should be default.
Re: Infinite world size
Indeed! That would be a really awesome use of MT vertical space.4aiman wrote:Man, why can't I "like" your post... :)
I was just discussing a totally different, and yet vaguely similar way to use vertical space in the Underground Realms topic:
viewtopic.php?f=11&t=9522&p=164298#p164298
Re: Infinite world size
I prefer horizontal. That is why the couch and I get along so well.Kilarin wrote:Indeed! That would be a really awesome use of MT vertical space.4aiman wrote:Man, why can't I "like" your post... :)
I was just discussing a totally different, and yet vaguely similar way to use vertical space in the Underground Realms topic:
viewtopic.php?f=11&t=9522&p=164298#p164298
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
- rubenwardy
- Moderator
- Posts: 6978
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: Bristol, United Kingdom
- Contact:
Re: Infinite world size
While vertical space is a limiting factor (255 is not enough space to dig down), horizontal space is more useful. Generally.
Re: Infinite world size
My comment was a joke. Should have added a lot. I am more than happy with the way minetest isrubenwardy wrote:While vertical space is a limiting factor (255 is not enough space to dig down), horizontal space is more useful. Generally.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
-
- Member
- Posts: 1482
- Joined: Fri Apr 19, 2013 16:19
- GitHub: twoelk
- IRC: twoelk
- In-game: twoelk
- Location: northern Germany
Re: Infinite world size
mind calculating how long transmitting that data might take? :-DArguablySane wrote:...
A 1:1 scale map of the US would only be on the order of 10^17 blocks including lots of air, which is 10^5 TB if 1 block takes up 1 byte. Just transmit it unencrypted over the internet and let the NSA store it for you. They definitely have enough capacity in their data-centres.
I wonder - maybe they might be even interested. The NSA provides the infrastructure and as a return can log all the chat and all the building blueprints and even get to know what people hide in their secret chests - oh - wait - they are doing that allready aren't they? They just call it facebook or google or dropbox or any other service based in the US. As they seem to admit it anyway maybe we could plug into the NSA archives for public server rollbacks?
Re: Infinite world size
I think you miss understand the NSA. They collect the information so they can use it against you, not to help you.twoelk wrote:mind calculating how long transmitting that data might take? :-DArguablySane wrote:...
A 1:1 scale map of the US would only be on the order of 10^17 blocks including lots of air, which is 10^5 TB if 1 block takes up 1 byte. Just transmit it unencrypted over the internet and let the NSA store it for you. They definitely have enough capacity in their data-centres.
I wonder - maybe they might be even interested. The NSA provides the infrastructure and as a return can log all the chat and all the building blueprints and even get to know what people hide in their secret chests - oh - wait - they are doing that allready aren't they? They just call it facebook or google or dropbox or any other service based in the US. As they seem to admit it anyway maybe we could plug into the NSA archives for public server rollbacks?
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
Re: Infinite world size
This is a very simple mod that in effect removes the edges from the map. The commented out code does the same, just vertically. So, if you reach 30850/-30850 on x/z, it will teleport you to the opposite end of the world, facing the same way, at the same z/x position you were at, so if you walk in a straight line, you'll end up where you started. Not entirely smooth, especially with the fact you can end up either buried in stone, or find yourself falling! Also, I'm not sure how efficient the code itself is... Hope this may help some people think that the world is bigger!
Code: Select all
local count = 0
minetest.register_globalstep(function(dtime)
count = count + dtime
if count > 5 then
count = 0
local players = minetest.get_connected_players()
for _,player in pairs(players) do
local pos = player:getpos()
if pos.x >= 30850 then
player:moveto({x = -30800, y = pos.y, z = pos.z})
end
if pos.x <= -30850 then
player:moveto({x = 30800, y = pos.y, z = pos.z})
end
--[[if pos.y >= 30850 then
player:moveto({x = pos.x, y = -30800, z = pos.z})
end
if pos.y <= -30850 then
player:moveto({x = pos.x, y = 30800, z = pos.z})
end--]]
if pos.z >= 30850 then
player:moveto({x = pos.x, y = pos.y, z = -30800})
end
if pos.z <= -30850 then
player:moveto({x = pos.x, y = pos.y, z = 30800})
end
end
end
end)
Re: Infinite world size
WOW!!!Amaz wrote:This is a very simple mod that in effect removes the edges from the map. The commented out code does the same, just vertically. So, if you reach 30850/-30850 on x/z, it will teleport you to the opposite end of the world, facing the same way, at the same z/x position you were at, so if you walk in a straight line, you'll end up where you started. Not entirely smooth, especially with the fact you can end up either buried in stone, or find yourself falling! Also, I'm not sure how efficient the code itself is... Hope this may help some people think that the world is bigger!
Code: Select all
local count = 0 minetest.register_globalstep(function(dtime) count = count + dtime if count > 5 then count = 0 local players = minetest.get_connected_players() for _,player in pairs(players) do local pos = player:getpos() if pos.x >= 30850 then player:moveto({x = -30800, y = pos.y, z = pos.z}) end if pos.x <= -30850 then player:moveto({x = 30800, y = pos.y, z = pos.z}) end --[[if pos.y >= 30850 then player:moveto({x = pos.x, y = -30800, z = pos.z}) end if pos.y <= -30850 then player:moveto({x = pos.x, y = 30800, z = pos.z}) end--]] if pos.z >= 30850 then player:moveto({x = pos.x, y = pos.y, z = -30800}) end if pos.z <= -30850 then player:moveto({x = pos.x, y = pos.y, z = 30800}) end end end end)
Thanks for that. I will try it out and see how it goes.
This will also be good for people who want small maps such as pvp maps. They can just change the cords.
EDIT - Works good. I really like this. Thanks again.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!
A list of my mods can be found here
A list of my mods can be found here
Re: Infinite world size
Reviving this thread. It has been almost 7 years since the last post, I know Minetest has improved a lot.
I have two questions, which are entirely theoretical, I hope a core developer reads this and answers.
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.
2)What about splicing the world into different servers ? In a similar way as Amaz' code teleports you to the opposite boundary, what about sending a player to another server running in the same computer that holds the next portion of the world ? Is there an engine limitation that prevents moving clients to a different port ? Minecraft servers can do this, and it would be useful for many other things, not just big worlds.
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.
This is just purely theoretical, I just want to know if there are major roadblocks preventing this.
I have two questions, which are entirely theoretical, I hope a core developer reads this and answers.
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.
2)What about splicing the world into different servers ? In a similar way as Amaz' code teleports you to the opposite boundary, what about sending a player to another server running in the same computer that holds the next portion of the world ? Is there an engine limitation that prevents moving clients to a different port ? Minecraft servers can do this, and it would be useful for many other things, not just big worlds.
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.
This is just purely theoretical, I just want to know if there are major roadblocks preventing this.
Re: Infinite world size
NOT a core developer. But just from a programmers point of view: This would involve increasing the size of the position variable. I don't think there would be any way to do that on the server side without also making the same change on the client size. You can't send a 32bit number from the server to a client using a 16bit number without... problems.Minix wrote: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
- Hume2
- Member
- Posts: 710
- Joined: Tue Jun 19, 2018 08:24
- GitHub: Hume2
- In-game: Hume2
- Location: Czech Republic
Re: Infinite world size
It is possible to make it purely server-side. The server can hold the true coordinates while the client will be told some other coordinates which will be in the bounds <-32768, 32767>³. The coordinates could be for example relative to the point the player logged in. And when the player goes too far without logging out, then his coordinate system could be adjusted, which would be handled as teleportation client-side.Minix wrote: ↑Thu May 20, 2021 05:071)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.
If you lack the reality, go on a trip or find a job.
Who is online
Users browsing this forum: No registered users and 8 guests