Pacman effect for Minetest's maps ("torus maps")

Post Reply
User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Pacman effect for Minetest's maps ("torus maps")

by Hamlet » Post

I was reading Truly infinite worlds (poll) and I had this idea.

Actually Minetest's maps are like a square desktop, when a character reaches its borders it can't go further. Introducing the Pacman effect could make them better.

For those who don't know what I am talking about, briefly:

#: map's center
o: a node (I would have used dots, but without monospaced characters it doesn't works)
+Z: map's north
+X: map's east
-Z: map's south
-X: map's west

oooo+Zoooo
ooooo|ooooo
ooooo|ooooo
-Xooo#ooo+X
ooooo|ooooo
ooooo|ooooo
oooo-Zooooo

Imagine moving your character eastward (+X), when it reaches the map's limit (e.g. "X = 10") instead of stopping it gets teleported to the other side, i.e. "X = -10".
The same if it reaches the northern border, it gets teleported to the corresponding southern border.

A possible issue, very likely to happen, might be:
I'm swimming at (X = 10), while at (X = -10) there's a mountain; i.e. it isn't sure if on the other map's end the character can be placed at the same height of its former position.

Workaround: if character's height at (X = 10) is (Y = 1) check if at (X = -10) at height (Y = 1) there is free space, if true then move character, else check if there's space above that height until air is found.
Example, character swimming at (X = 10) height (Y = 1) gets placed at (X = -10) height (Y = 30) on top of an hill.

How to implement this?
* `minetest.register_globalstep(func(dtime))`
(Minetest 0.4.17.1 lua_api.txt at line 2359)
In other words, checking every X seconds if the character is near a map border (e.g. X = 31000 - 10); if this isn't the case then do nothing, otherwise start loading map chunks at the other end, etc.

It could be achieved with a mod, but I think that it would be a nice feature for the engine itself.
What do you think?
Last edited by Hamlet on Sat Jul 21, 2018 12:34, edited 2 times in total.
My repositories: Codeberg.org | My ContentDB's page

User avatar
ChimneySwift
Member
Posts: 320
Joined: Fri Sep 22, 2017 06:46
GitHub: ChimneySwift
IRC: ChimneySwift
In-game: ChimneySwift
Location: 127.0.0.1

Re: Pacman effect for Minetest's maps

by ChimneySwift » Post

That sounds pretty cool
A spoon is basically a tiny bowl with a stick on it

User avatar
Hume2
Member
Posts: 709
Joined: Tue Jun 19, 2018 08:24
GitHub: Hume2
In-game: Hume2
Location: Czech Republic

Re: Pacman effect for Minetest's maps

by Hume2 » Post

This is a torus map. I think that the perlin noise can be made tileable so the players might not notice any change. It would be good if something like that was possible.

I think that this doesn't completely solve the problem. The world edge no longer appear but the world is, in my opinion, still too small for mapgens like mg_tectonic and terrainbrot.
If you lack the reality, go on a trip or find a job.

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: Pacman effect for Minetest's maps

by Krock » Post

Do you mean worldedge?
Jeija's experiment which makes voxel worlds appear to be spherical uses the same mechanism to create the effect of a round map at the world borders. However, the other side of the map is sometimes not loaded or displayed correctly, which results in a flicker effect sometimes.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Pacman effect for Minetest's maps

by Hamlet » Post

Krock wrote:Do you mean worldedge?
Jeija's experiment which makes voxel worlds appear to be spherical uses the same mechanism to create the effect of a round map at the world borders. However, the other side of the map is sometimes not loaded or displayed correctly, which results in a flicker effect sometimes.
I didn't know of that mod, thanks for telling me; I've tried it and it works perfectly when you are on surface, but if you are underground it will teleport you on surface when you cross the border.

Since it places the limit at 30000 then maybe it could copy the next (or the current?) chunk (let's call it "east 30K+1") and paste it on the other end ("west -30K+1") thus achieving a continuous environment at any height.
Normal map generation should restart when the character isn't in the "mirror-zone" (30K+1 N. E. S. W.).

Would be this feasible or is it just daydreaming?
My repositories: Codeberg.org | My ContentDB's page

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Pacman effect for Minetest's maps

by Hamlet » Post

Hume2 wrote:This is a torus map. I think that the perlin noise can be made tileable so the players might not notice any change. It would be good if something like that was possible.

I think that this doesn't completely solve the problem. The world edge no longer appear but the world is, in my opinion, still too small for mapgens like mg_tectonic and terrainbrot.
Indeed it doesn't solve the size problem, if that is too small for a particular mapgen.
Honestly I think that normally one will hardly reach the map's border, even thinking about a server's map where many users can scatter around I think that they will not move more than 10000 nodes from the spawn point; save /teleport 31000, 0, 0 - or using teleporting networks, of course.

But if one reaches the map's border then the Pacman effect would be better than being stopped by an invisible wall, in my opinion.
My repositories: Codeberg.org | My ContentDB's page

User avatar
Hume2
Member
Posts: 709
Joined: Tue Jun 19, 2018 08:24
GitHub: Hume2
In-game: Hume2
Location: Czech Republic

Re: Pacman effect for Minetest's maps

by Hume2 » Post

Hamlet wrote: But if one reaches the map's border then the Pacman effect would be better than being stopped by an invisible wall, in my opinion.
That's true. I think it's still better than nothing.
If you lack the reality, go on a trip or find a job.

User avatar
texmex
Member
Posts: 1753
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: tacotexmex

Re: Pacman effect for Minetest's maps

by texmex » Post

At first I thought that there will be a visual glitch when joining map blocks from ”the other side” together with the edge map blocks, but given the right engine changes I’ve seen perlin noise types that produces seamless, repeatable patterns which would make the transition completely unnoticeable.

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Pacman effect for Minetest's maps

by voxelproof » Post

Hume2 wrote:
Hamlet wrote: But if one reaches the map's border then the Pacman effect would be better than being stopped by an invisible wall, in my opinion.
That's true. I think it's still better than nothing.
Indeed it is. As it is now the world's edge looks as if the world was cut out of nothingness. However on the other hand...
To miss the joy is to miss all. Robert Louis Stevenson

Astrobe
Member
Posts: 571
Joined: Sun Apr 01, 2018 10:46

Re: Pacman effect for Minetest's maps

by Astrobe » Post

Hume2 wrote:This is a torus map. I think that the perlin noise can be made tileable so the players might not notice any change. It would be good if something like that was possible.

I think that this doesn't completely solve the problem. The world edge no longer appear but the world is, in my opinion, still too small for mapgens like mg_tectonic and terrainbrot.
Finally a justification for these feature requests. I read a bit the other thread and found at no point an elaboration of why we need this.

I don't believe the world is too small. There are several mods that make use of the room above and below the surface. Despite the fact that people say "finally we make use of the vertical space", it's not about the lack of space, clearly not.

In creative games, it might be about variety. The various "Dimension mods" solve that issue already and so does just adding biomes on the surface. I don't know creative game players well. I believe they don't care much about the environment and are just interested in building freely what they want to build.

Survival games are, in a way, creative games with a lot of friction. In survival games, it's about progression. You can add caves, you can add asteroids, but if that doesn't also adds room for progression for the players, it is mostly pointless.

It's also about consistency. Increasing the size of the world (whatever the mean) is cancelled out by adding faster ways to travel. And conversely, you can make the world appear bigger if you slow down your players (of course, you have to be a little bit subtle and make it difficult/dangerous/expensive to travel far rather than just decreasing the walk speed). More powerful mobs are cancelled out by more powerful weapons, but they make it easier to vanquish weaker mobs in lower-level worlds which in turn become less interesting to the better-equipped players - in fact the world effectively shrinks as they progress if you're not careful with your design.

A torus map would be nice, perhaps more affordable than an infinite map ("just apply a modulus 2^16 on X/Z coordinates and use self-tilling Perlin and Voronoi noises") and would make the world even more "infinite in practice"

But thinking that an infinite world magically gives infinite play is an illusion. It might be part of the solution, but it is not the solution.

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Pacman effect for Minetest's maps

by voxelproof » Post

Astrobe wrote: I don't believe the world is too small. There are several mods that make use of the room above and below the surface. Despite the fact that people say "finally we make use of the vertical space", it's not about the lack of space, clearly not.
(...)
But thinking that an infinite world magically gives infinite play is an illusion. It might be part of the solution, but it is not the solution.
You're right. My proposal of the much larger worlds comes from a very specific kind of playing open world games, where I mostly look for general features facilitating the feeling of immersion, and generally also some aesthetic values. It's a fun, I've spent probably hundreds of hours playing this way (not only Minetest) but of course I am aware that a few percent of players who would find it as engaging as I do is too little to expect that the developers will design anything of this kind in the foreseeable future. What's more this idea isn't meant to replace the present relatively small worlds -- rather it is intended as an interesting deviation, experimental addition giving some ground for those who would like to push the game's development further beyond the limits imposed by the sandbox paradigm.

And the truth is that with the same or very similar content games with considerable larger open worlds feel "emptier" than those where the worlds' sizes are better adjusted to their specific gameplay.
Astrobe wrote: In creative games, it might be about variety. The various "Dimension mods" solve that issue already and so does just adding biomes on the surface. I don't know creative game players well. I believe they don't care much about the environment and are just interested in building freely what they want to build.
Here I must disagree :) When you want to build e.g. really impressive castle the choice of its surroundings is as important as the architectural design itself. I'm a great fan of Frank Lloyd Wright, perhaps the greatest American architect -- and his philosophy was to make a building composed into landscape so as to look like the both created organic unity.
Last edited by voxelproof on Sun Jul 22, 2018 10:27, edited 2 times in total.
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Pacman effect for Minetest's maps

by Hamlet » Post

Astrobe wrote: [...]In creative games, it might be about variety.[...]
[...]In survival games, it's about progression.[...]
[...]It's also about consistency. Increasing the size of the world (whatever the mean) is cancelled out by adding faster ways to travel.[...]
[...]More powerful mobs are cancelled out by more powerful weapons, but they make it easier to vanquish weaker mobs in lower-level worlds which in turn become less interesting to the better-equipped players - in fact the world effectively shrinks as they progress if you're not careful with your design.[...]
I totally agree; those are the principles to which I try to stick to when developing my game and some of my mobs.
Briefly we could sum up them in the "rock-paper-scissors principle".

About the proposal of torus maps; recently I've been reading some of the Discworld books, that made me think "well, it's Minetest, save you don't fall off the world when you reach the rim".

So, my idea evolved to:
- Squareworlds (non-torus maps) are fine, but you should fall off the world - and eventually die for some reason (suffocation, no pressure, hitting -31000, whatever you like).
It just came to my mind the image of a city carved in the side of the cubeworld - like an ants' terrarium - I should stop daydreaming.

- Roundworlds (torus maps) would be a "nice to have" feature, maybe to be turned on using a tickbox or a mapgen setting - e.g. torus, caves, dungeons, nofloatlands
My repositories: Codeberg.org | My ContentDB's page

User avatar
Insurrection
New member
Posts: 6
Joined: Sun Mar 05, 2017 02:13
In-game: Insurrection

Re: Pacman effect for Minetest's maps ("torus maps")

by Insurrection » Post

In a similar vein, I feel like a nice feature might be to have the possibility to create seamless visual "portals" to other coordinates on the map. Thus, you could have -31000 and 31000 appear to be right next to one another, even if they're in totally different parts of the map. This could also be used to great effect, of course, for things like a "Totally Not The Nether", or even a straight up Portals mod. Tons of modding/game potential with that, as well as aiding in something like a proper, seamless torus map.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests