dimensions

Post Reply
User avatar
PolySaken
Member
Posts: 817
Joined: Thu Nov 09, 2017 05:18
GitHub: PolySaken-I-Am
In-game: PolySaken
Location: Wānaka, Aotearoa
Contact:

dimensions

by PolySaken » Post

would it be possible at all for minetest to support other "sub-worlds" or "dimensions"
that can be defined in mods?
that would be very useful.
Guidebook Lib, for in-game docs | Poly Decor, some cool blocks | Vision Lib, an all-purpose library.

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

Re: dimensions

by Krock » Post

1.5 year old issue about this idea: https://github.com/minetest/minetest/issues/4428
Possible: yes, but it requires much work to keep compatibility with existing mods if an additional axis should be used for alternative worlds.
Different realms already exist in the same world, as the 62km vertical space is never used entirely in a vanilla setup. If you are interested in some of these mods:
Nether viewtopic.php?t=10265
CaveRealms viewtopic.php?t=9522
CaveRealms lite viewtopic.php?t=18413
Moon realm viewtopic.php?t=6329
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
PolySaken
Member
Posts: 817
Joined: Thu Nov 09, 2017 05:18
GitHub: PolySaken-I-Am
In-game: PolySaken
Location: Wānaka, Aotearoa
Contact:

Re: dimensions

by PolySaken » Post

k thanks.
i just wanted to know if it could be done.
Guidebook Lib, for in-game docs | Poly Decor, some cool blocks | Vision Lib, an all-purpose library.

User avatar
Wuzzy
Member
Posts: 4802
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: dimensions

by Wuzzy » Post

Long story short, there are no “dimensions” like in Minecraft, but it's common to imitate dimensions by simply stacking vertical realms.

If you add unbreakable separators like bedrock between the realms, you can also make it impossible to just walk from one realm to another. This way you force the players to always use portals.
I also recommend to keep enough distance between the realms so that sounds and explosions from the bottom of one realm can't be heard in the top of another realm.

The downsides of this approach are the more realms you add, the thinner they have to be and they are not truly independent of each other, since they technically are all in the same world. Also, you have to handle the coordinates yourself and need to select the realm boundaries carefully. If you do realms, it's important to plan ahead early on and choose proper realm boundaries. Later on, it won't be possible to change the realm boundaries without breaking existing worlds. You also need to handle weather, sky, etc. in each realm seperately.

The upsides are that there's no long loading time for teleporting to another “dimension”, because it's just the same world, and, if done right, the player won't notice the difference from “real” “dimensions” like in Minecraft anyway.

The realms approach is exactly hat I did in MineClone 2, and many other games follow this approach as well.

User avatar
PolySaken
Member
Posts: 817
Joined: Thu Nov 09, 2017 05:18
GitHub: PolySaken-I-Am
In-game: PolySaken
Location: Wānaka, Aotearoa
Contact:

Re: dimensions

by PolySaken » Post

Wuzzy wrote:Long story short, there are no “dimensions” like in Minecraft, but it's common to imitate dimensions by simply stacking vertical realms.

If you add unbreakable separators like bedrock between the realms, you can also make it impossible to just walk from one realm to another. This way you force the players to always use portals.
I also recommend to keep enough distance between the realms so that sounds and explosions from the bottom of one realm can't be heard in the top of another realm.

The downsides of this approach are the more realms you add, the thinner they have to be and they are not truly independent of each other, since they technically are all in the same world. Also, you have to handle the coordinates yourself and need to select the realm boundaries carefully. If you do realms, it's important to plan ahead early on and choose proper realm boundaries. Later on, it won't be possible to change the realm boundaries without breaking existing worlds. You also need to handle weather, sky, etc. in each realm seperately.

The upsides are that there's no long loading time for teleporting to another “dimension”, because it's just the same world, and, if done right, the player won't notice the difference from “real” “dimensions” like in Minecraft anyway.

The realms approach is exactly hat I did in MineClone 2, and many other games follow this approach as well.
Thanks
Guidebook Lib, for in-game docs | Poly Decor, some cool blocks | Vision Lib, an all-purpose library.

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

Re: dimensions

by Linuxdirk » Post

Wuzzy wrote:If you add unbreakable separators like bedrock between the realms, you can also make it impossible to just walk from one realm to another. This way you force the players to always use portals.
But isn’t it much cooler if you could simply walk between them?

Nether on the bottom, above the Nether are some deep caves, then some kind of a giant caves underworld, then the regular caves, then at water level the normal world with mountains 8km high then a cloud world with floating islands and stuff and above that the space …

That would be super awesome!

lightseer
Member
Posts: 132
Joined: Mon Jan 23, 2017 16:18

Re: dimensions

by lightseer » Post

PolySaken wrote:would it be possible at all for minetest to support other "sub-worlds" or "dimensions"
that can be defined in mods?
that would be very useful.
Suppose you could walk between between and have all the mods change as you passed over. Ores not in one dimension would turn into other things. You could establish exchange rates, too. If you got it all working smoothly you might be able to also start connecting servers, though not in realtime. I mean you could potentially use it to allow players to cross over by logging off one server and logging into the other bringing their stuff with them. Is that too fanciful to consider?

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

Re: dimensions

by texmex » Post

For server-to-server interlinkage, someone is already doing it here by means of a reverse proxy: https://github.com/andrewvy/knot

User avatar
ThomasMonroe
Member
Posts: 286
Joined: Tue Apr 04, 2017 16:21
GitHub: ThomasMonroe314
IRC: ThomasMonroe TMcSquared
In-game: ThomasMonroe TMcSquared
Location: Wherever I am at

Re: dimensions

by ThomasMonroe » Post

Woah, I would have never thought about doing it like that!
That's awesome!
I don't make messes, I just, er...disturb the local entropy!

User avatar
sorcerykid
Member
Posts: 1847
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: dimensions

by sorcerykid » Post

There was some discussion last year about dividing the y-axis into planes to simulate different dimensions.
sorcerykid wrote:There is a benefit to the seemingly useless vertical expanse -- multiple independent "worlds" within a single map each of which can have a common origin of 0,0. This is done on just test server, which has an underworld (or "cursed world") at -6000m iirc and the overworld at sea level. Other subgames even introduce what is known as a netherworld.

It's theoretically possible that one could place an unbreakable plane of bedrock between each strata to prevent people from digging through.
viewtopic.php?f=3&t=18763&p=300759

User avatar
kay27
Member
Posts: 230
Joined: Thu May 14, 2020 19:26
GitHub: kay27
Location: Cyprus
Contact:

Re: dimensions

by kay27 » Post

Wuzzy wrote:
Tue Mar 27, 2018 12:00
...imitate dimensions by ... stacking vertical realms.

(1) ... add unbreakable separators ... between the realms
(2) ...keep enough distance between the realms so that sounds and explosions from the bottom of one realm can't be heard in the top of another realm.
(3) ...handle the coordinates yourself and need to select the realm boundaries carefully.
(4) ...plan ahead early on and choose proper realm boundaries. Later on, it won't be possible to change the realm boundaries without breaking existing worlds.
(5) ...handle weather, sky, etc. in each realm seperately.
Seems, that can't be done flawlessly for now. We put an effort - design flowcharts, build layers, calculate lights, then players hack the layers and keep holes, e.g. by growing trees (the more features we add, the less chance is there to keep layers unbroken), also it's extremely hard to calculate lights and skies properly on all the layers if they differ.

Doesn't it look as a task for the engine?
Wuzzy wrote:
Tue Mar 27, 2018 12:00
The upsides are that there's no long loading time for teleporting to another “dimension”, because it's just the same world
Please fix me if I wrong but inactive areas are mostly offloaded anyway, so it is only partially true. It might be faster than running transactions on an adjacent databases, or might have similar speed. If it is a blocker, can we discuss having multiple world-size cubes in a single storage?

User avatar
56independent_actual
Member
Posts: 452
Joined: Sun May 23, 2021 16:10
IRC: independent56
In-game: 56independent
Location: Girona Province
Contact:

Re: dimensions

by 56independent_actual » Post

Krock wrote:
Sun Mar 04, 2018 12:25
if an additional axis should be used for alternative worlds.
Does this mean that Minetest will become a 4-dimensional game?

Wow! This is such a cool idea! Imagine being stuck in-between the dimensions, like w=0.1 (where w is from x, y, z, w)! This would be amazing, like some blocks from w=1 existing but a lot from w=0.
Warnig: Al my laguage ekscept English is bad, includig Hungarian (magyàränoлиски), Spanish (esпagnyoл), and Russian (рÿсскïанöл).

User avatar
kay27
Member
Posts: 230
Joined: Thu May 14, 2020 19:26
GitHub: kay27
Location: Cyprus
Contact:

Re: dimensions

by kay27 » Post

Let me try to list possible implementations?

1. Introduce optional 4th 'w' coordinate :) Consider it when rendering, etc. There will be nothing for first time on layers except default 0. But objects and blocks those learned how support 'w' coordinate properly - will be able to appear and act there. (This way is the most abstract, promising and in a theory extendable up to Miegakure game.)

2. Introduce 'dimension' (or 'world') object/context, objects and map chunks are attached to. It might be identifiable by a unique name and probably might have different seed and other mapgen options. (This is the most conciliatory way maybe.)

3. Introduce server sets with shared player credentials and meta with possibility to entirely move player from one server to another and remembering last played server for proper reconnecting. It makes possible to implement several per-server dimensions for a single game. (The simplest way, but a bit complicated.)

Am I missing something? Please let me know and I update the post.

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests