Author Archive

Miegakure is coming to Steam.

Tuesday, April 21st, 2015

Pillars

Deep within the Ancient’s Grove one can find broken-down stone columns, erected to worship old gods.

I could have officially announced this much sooner, but I wanted to wait until the game was further along. Miegakure will release on Steam when it is done. It will be out for Windows/Mac/Linux.

I have been working on finishing up most of the puzzles for the game. There are about 130 right now, and not that many left to do! I am not shooting for a specific number, but rather exploring all the mechanics in the game.

I am also having fun making levels that are less puzzle-y and more about showing off cool 4D things, like the 120-cell level from the trailer, and the above Spherinder grove. My design philosophy has been that each puzzle in the game should be about a cool consequence of what you can do because you can move in 4D but I realized this extends naturally to more visual consequences as well.

Understanding Miegakure, and the 4D as Parallel Universes.

Wednesday, February 25th, 2015

When looking across worlds the windmill appeared strange, its swift blades moving in and out of sight. I could hear their faint echo ripple through the dry desert air.

There’s something very mysterious about a fourth spatial dimension. We can’t directly see or touch it. We don’t know if it exists, and if so in what form. It is difficult imagine, because our sensory system is built for three dimensions. Furthermore, most people have never tried imagining it at all.

And yet Miegakure can be understood and played by any random puzzle-game player, at PAX for example. How come?

[I messed] about with this strange toy until I quickly understood most of the problems that I faced. – Jim Rossignol (Rock Paper Shotgun)

When I did finally get it, I realized how fantastic Miegakure could be. –Tyler Wilde (PC Gamer)

It’s amazing how fluid the transitions between dimensions are, and how much sense it makes once you play. –Chloi Rad (IGN)

For me the main reason might be the fact that Miegakure starts by purposefully framing the fourth dimension from a particular point of view, one that we are very familiar with, that of parallel universes.

Think of a stack of paper, each piece of paper is a 2D square, but together they form a 3D cube. Each piece of paper is literally parallel to the other pieces of paper; they don’t intersect. The same thing happens in lower dimensions: we can build a 2D square out of parallel (1D) line segments, or a line out of (0D) dots. This pattern works in any number of dimensions: we can think of a 4D cube as being a stack of parallel 3D cubes. They are stacked along the fourth dimension.

So a 3D world can be seen as a stack of 2D spaces, as is shown in the trailer:


Similarly, the fourth dimension can be seen as literally parallel universes (A 4D world can be seen as a stack of 3D spaces). The fourth dimension is a way to mathematically define parallel universes in a rigorous way.

 

 

Zelda A Link to the Past overworld
 

As a culture, we have been thinking about parallel worlds for a long time. Here’s a long list of Parallel Universes in Fiction on Wikipedia, going back to Through the Looking-Glass and The Lion, the Witch and the Wardrobe.

Some parallel universes are completely separate from each other, but some are connected in some way. In games there’s the Dark World and the Light World from Zelda A Link to the Past and A Link between worlds. There are also parallel worlds that are the same world but at different times, like Back to the Future, and Chrono Trigger.

Miegakure happily leverages all this experience we have thinking about parallel universes, but extends the concept as contained in the concept of 4D space.

I find it a bit similar to skeuomorph interfaces used previously on the iPhone, where for example the calculator looked like an actual old calculator. “it makes it easier for those familiar with the original device to use the digital emulation by making certain affordances stronger.” [Wikipedia] We can recreate something that people are familiar with, but also extend it, freed from the physical limitations.

In Miegakure, especially at the beginning of the game, to help players understand the game we texture the ground differently at intervals, to group parallel worlds together and visually differentiate them. So the first main thing that needs to be figured out when playing Miegakure is how do the literally parallel worlds (that are a natural consequence of a 4D world) manifest themselves in the game. How do you move between them? How do they relate to each other? Which point in one world is closest to this other point in another?

While any interaction with a video-game is very instinctive (especially at first, and since I chose to make the game teach non-verbally), at a basic level these questions do have relatively simple answers that can be expressed in words, in part because of the vocabulary we have built for parallel universes.

 

2D/3D version of the game
 

Of course, A 4D world is more than an stack of independent 3D worlds, just like a 3D world is more than an stack of independent 2D worlds.. Something deeper is going on, something that takes longer to grasp. Something that players tend to feel but can’t express in words.

For example, while these worlds are parallel, they are not necessarily independent. So while each piece of paper in our stack can contain its own 2D world, independent of all the other worlds, this stack is different from a cube, which is a single continuous object. If we still insist on seeing the 3D object from a multiple-2D-worlds perspective, we can say that the worlds can somehow be connected/attached to each other. They can also rotate together by rotating the whole thing, etc…

Furthermore, a true 3D object might look very complicated and confusing if we only saw it through 2D slices. And so similarly if you look at the shape at the beginning of the 2nd trailer or the end of the first, you can see that it is not made out of layers (parallel worlds). It is a 4D shape called the 120-cell.

My design goal in creating Miegakure is to use the very familiar concept of parallel worlds as a strong foundation for understanding, acknowledging it as a part of the concept of a fourth dimension, but to not limit the game to it. Since the game is properly programmed in 4D if players wish to dig deeper there are plenty of things to discover and try to understand, things that I sometimes don’t even fully understand myself.

Miegakure on PS4. New Screenshot. Interviews. Collision Detection.

Thursday, December 4th, 2014

Windmill Rotated

The windmill appeared strange from this perspective, its swift blades moving in and out of sight.

A few things.

  1. Miegakure is coming to PS4. I wrote a blog post introducing the game over at the Playstation Blog. Interestingly I had never written an introductory post like that. We are showing the game at the Playstation Experience in Las Vegas on December 6th and 7th, 2014. Of course, it will also be on PC/Mac/Linux.
  2. A couple interviews I had not posted on the blog: Chris Suellentrop wrote a piece about me for Wired’s December 2014 Issue, which was guest directed by Christopher Nolan. In the same issue there is also a great “XKCD guide to higher dimensions.” I also did this interview with Cathlin Sentz on N4G a while ago and this interview on Kill Screen turned out well: Videogame architecture allows us to visualize the impossible:

    To a fourth dimensional person, it’s like, ‘you forgot two walls to your house,’”

  3. Now that the tech has solidified a bit we have been working on lots of new art, which I am exited to show soon. On the code side I have been finishing up smaller things like collision detection with objects that are not the tesseract tiles. It used to be possible to walk inside trees and lanterns, etc…
    You know the game is strange when you can finally add collision detection many years in! For the longest time it was not clear how to embed 3D objects in the 4D space and how to display them, or what a 4D mesh even is, etc… So collision detection came as an afterthought. Note that you can almost never stand stand on these objects, so them having no collision never affected gameplay. Anyway I literally just added that and I am excited to test how it feels at the show, ahah.

Nature as Designer (There was only one way to design Miegakure)

Wednesday, October 15th, 2014

Go board

There are some games that are so simple, so pure, so fundamental that they feel like they were discovered, not invented. Go is a perfect example. Probably Tetris.

If I were to get really good at a game, I feel like such games would be more worthy of my time. It’s part of my game design philosophy to try and make games that are discovered, not invented.

When I started working on Miegakure, I had experimented a little bit with making higher-dimensional games and so I knew that the player would be looking along three vectors out of four (these vectors could be oriented any which way in 4D). Why did I chose to let the players see only along three dimensions (taking a 3D slice), and not project the entire four dimensions down to three, then to two for the screen?

First of all, I wanted the 4D world to feel like an extension of the 3D world we live in. What if our world actually had four dimension, but we didn’t know it? I love this idea of a mysterious fourth dimension, rumored, but never seen (that’s true in the real world too!). And as a player you are the only person you know that is capable of reaching it.

Second, if you use a projection a lot of objects are going to overlap on the screen, objects that you can’t actually touch because they are too far away. You could try to solve this problem by coloring objects differently based on where they are along the fourth dimension, but this is unnecessarily difficult to visually parse.

In retrospect, one thing that makes Miegakure special as compared to the few other 4D visualizations that exist is that it lets you touch the 4D objects as if they were real objects, and create entire 4D generalization of our world. This is something that is much harder to do using projections, which is the usual way of representing 4D objects, such as this more commonly seen, confusing-looking, projection of a Tesseract (the 4D equivalent of a cube).


Then there was the question, how should the player be allowed to move along the fourth, perpendicular vector? The obvious way would be to have the player press another couple of buttons to move up or down the 4D.

It quickly became clear that you don’t want the player to move blindly along the fourth direction; you want vision and movement to be coupled: if you could move without being able to see where you are going, you would bump into invisible objects, and the whole world would change at each step (In the 2D/3D version of the game shown on the right and in this trailer, if you could side-step the world you see would change at each step).

So the idea of swapping a dimension for the fourth one came about. Inspired by Ikaruga (which is a beautiful shooter where all the complexity is derived only from the ability to switch colors by pressing one button), the simplest thing you can do is to have one button that swaps a dimension for the fourth one back and forth.

I loved the idea that the game plays like a regular platformer, except for this one special button that you press once in a while. Braid is also this way.

If you are only allowed to move along three dimensions, but you can pick which ones they are, then you can move anywhere in 4D. The following question remains: which direction will be swapped for the fourth one? If you name the three dimensions X,Y,Z,W, and decide that gravity will point down Z, then you don’t want to swap Z out, because it would look very confusing, and pressing the jump button should probably always move you in Z. So you’re left with swapping either X or Y. If doesn’t really matter which one we pick, in my case it’s Y. For simplicity X is left untouched. It would not be interesting enough to let players swap in the X direction to justify adding that ability. It also means that levels can be made harder or easier by simply rotating them 90 degrees in the XY plane (i.e. swapping X and Y)!
It turns out that a swap can be implemented as a 90 degree rotation, which can be interpolated smoothly (this is what is happening when the world looks like it is deforming).

As you can see, from first principles there was only one way to design Miegakure, and even though I was especially lucky in this case, that was very much something that I was trying to do. The rest was just exploration of this rule set.


But the next problem was: how do you make it so that the interactions are meaningful? 4D space is exponentially harder to fill with meaningful stuff. It takes 102=100 data points to fill a 10×10 grid, 103=1000 data points to fill a 10x10x10 grid, and 104=10000 data points to fill a 10x10x10x10 grid! This means that even if we take a small region of 4D space (10 units in each direction), we need a huge number of things to fill it with.

We want the number of objects to keep track of to be small to help the player hold them in their head. This essentially means that we want our “base” (the number that is raised to the power 4) to be small. This is how building the game out of 4D tiles, some of them pushable, with small levels (4x4x7x4 for example) came about. (Note that other, more detailed objects can always be placed on the tiles).

I think I may have been partly inspired by this puzzle from Braid (probably my favorite in the game!). The entire puzzle can fit on the screen; it’s just two doors and a key. It is extremely compressed. Everything extraneous to the puzzle itself has been removed. But it is still interesting and difficult to solve. All the difficulty is in the understanding of the systems at play, such that when you understand them properly the puzzle becomes trivial. (A video of it, spoilers!).

Because the number of objects to keep track of is small, it’s possible for the player to hold an entire level in their head. This is very important to me, because that means they are truly thinking in 4D, as opposed to looking at a bunch of 3D spaces one at a time.

At this point I could vaguely picture how to walk through walls using the fourth dimension in my head. I knew that since two dimensions are always visible an entire plane would stay the same after rotating, and therefore objects on this plane would be reference points, and that they would help the players orient themselves.


So I didn’t really know what the game would look like! I especially could not picture how the transition between the two states would look like. But I programmed it and found out and I was the first person to discover how to play the game.

[Part 1] [Part 2] [Part 3] (Part 4) [Part 5] [Part 6]