SHIFT SPACE
A couple things happened at once
- I wanted to create a small scale adventure map
- I figured out how to detect crouching really well with commands
- I played some maps in a minecraft map community, one of them being a simple maze pack. It bored me.
- I remembered a series of series of flash games SHIFT by Tony on armorgames.
Getting the shift mechanic to work was pretty simple. A lot of maps or even full games do a trick where they have two similar versions of a space sitting next to each other, and teleport the player between the two. SHIFT SPACE uses this trick, but the y coordinate inverts.
new_position.y = 255 - old_position.y
(of course, this also includes Minecraft 1.16 command hassle for converting between entity coordinates and scoreboards, since you can only do math on scoreboards)
The tricky part is getting the two versions of the same room to line up. Every white block needs to turn into an air block, every air block needs to turn into a while block, and the whole thing needs to get flipped upside down. Most of the datapack ended up being functions used for building the map, aligning any edits I make.
I tried building different levels, puzzles, challenges, interesting parkour, etc.
The automatic copy-and-invert function would create a lot of geometry. I found that every wall I made became a room with 4 more walls. I decided to embrace it, and to aim for a good maze experience, if one exists.
Despite having a very limited pallet, I tried to make each room feel distinct. I added windows to tell the player “Hey you haven’t figured out how to get over here yet! Keep searching for a way”
If I wanted to make this a bigger, more polished map, I wouldn’t have used a maze structure, since I don’t find it exactly fun. I just added some colorful objectives and was done with this experiment. I do think the map does successfully give a feeling of crawling inside walls.
Trailer
Walkthrough
Spoilers, obviously