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.
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...
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.
Don wrote: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.
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."
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.
Don wrote:People could scale their world according to their computer.
paramat wrote:... learn C++ and rewrite the code yourself and submit a pull request, see you in a few months time 0/ ...
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.
twoelk wrote:you might need this long to rewrite all the relevant parts in the code besides breaking most mods that calculate coordinates somewhere.
4aiman wrote:Man, why can't I "like" your post... :)
Kilarin wrote:4aiman wrote:Man, why can't I "like" your post... :)
Indeed! That would be a really awesome use of MT vertical space.
I was just discussing a totally different, and yet vaguely similar way to use vertical space in the Underground Realms topic:
https://forum.minetest.net/viewtopic.php?f=11&t=9522&p=164298#p164298
rubenwardy wrote:While vertical space is a limiting factor (255 is not enough space to dig down), horizontal space is more useful. Generally.
ArguablySane 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.
twoelk wrote:ArguablySane 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.
mind calculating how long transmitting that data might take? :-D
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?
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)
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!Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- 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)
Users browsing this forum: No registered users and 8 guests