Archive for the ‘Game Design’ Category

4D Toys: a box of four-dimensional toys

Friday, June 2nd, 2017

So I have been working on Miegakure for a long time now, and I have created and accumulated many cool 4D things of all sorts. I think it's about time that I share some of them, so...

Surprise! Today I am releasing something!

The History of 4D Toys

Near the very beginning of Miegakure's development, someone joked I should do a “4D physics engine.” Then a year or so later I had gathered enough knowledge (especially in geometric algebra) that it was a possibility. So I made one for fun, and kept working on it on the side. It evolved into a 4D physics-based toy box that you can get right now, for iOS (Multitouch & Accelerometer) and Steam (both VR (Vive) and Mouse/Keyboard).

Basically it turns out the rules of how objects bounce, slide, fall, spin and roll around can be generalized to any number of dimensions, and this toy lets you experience what that would look like.

My initial goal in making this was to have a ton of fun inventing the math for it. At first I was skeptical it was going to be possible at all, but in the end the mathematics fit together so well.

I was only planning to use 4D physics a little bit for Miegakure as a purely aesthetic component, since dynamic physics is a bit too unpredictable to make good puzzles with. But then I started thinking about making a stand-alone iOS toy to play with 4D objects, to take full advantage of the physics. At first it was very simple and based around the idea that in 4D you can have interesting new dice shapes like a perfectly symmetrical 600-sided die, or a 4D hypercube die with 8 faces (each of them a cube). But I kept adding new shapes like hyperspheres, etc... and it got out of hand, so the dice theme didn't fit anymore, and I named it simply “4D Toys.”

The website ( has more info on it!

More details about the design of 4D Toys

Undirected 4D Play

4D Toys doesn't take you through carefully-constructed successively harder challenges the way Miegakure does. It's just 4D shapes, as if you were a very young kid again and given a box of wooden toys. Since the toys are 4D, that's sort of true: you have no experience playing with 4D shapes.

Play is undirected and we don't expect a child to come up with verbal realizations of what they are doing. They can learn about making stacks, and gravity, and fitting shapes into holes, and that could form the foundation for future, verbal, learning. Alternatively, one can just look at how pretty it is, like the waves rolling down the ocean, or the intricate swirling patterns in a fire.

It's so exciting to me to see a pile of hypercubes or a rolling 120-cell. Most representations of a fourth dimension are so abstract (a spinning bundle of lines) and my work has been to get away from that. It's the first time anyone has seen these objects as physical objects that bounce and roll and can be grabbed!

Side project

4D Toys was a very fun side project. It uses the same engine as Miegakure, and many improvements I made to it have hugely benefited Miegakure. For example, I built a lot of the complex 4D collision detection code used in Miegakure for 4D Toys. I also came up with many ideas for Miegakure levels and scenes while playing with 4D Toys.

Designing how to present 4D Toys

After I made it, I had to come up with a metaphor for what it was. Miegakure players know it is a puzzle-platforming game, so if they've played one before it sets a frame for the interaction, and the game can spend less time explaining everything and focus on the new stuff. They know how the game teaches things.

But 4D toys cannot rely on this well-known format. My goal was to strongly imply that it is not supposed to teach you in the way a puzzle-platformer like Miegakure does, but instead that it may only teach in an intuitive way. I came up with the idea of a box of toys, so the “menu” could be toys laid out on the floor, and you pick one and play with it, then come back to the menu.

However unlike a real toy box I have to first teach players how to manipulate the shapes a little bit. So I made a short tutorial that you have to play initially. The only thing that players really need to know besides the basic interactions is how to get back to the 4D shapes if they loose them into the fourth dimension. It's fascinating to me that the tutorial teaches exactly that, even if a player has no idea what they are doing. Once the tutorial is complete almost all the shapes are available to play with.

I also wanted to explain, non-verbally, this idea of a 4D toy box, so we also put a small comic strip that shows how someone might end up with such a toy box. I like how subtly this idea is communicated. By the way, Kellan Jett (who is doing concept art for Miegakure) did the amazing art for it.

(By the way, for the VR version it is recommended to be on floor when playing!)

Adding an optional verbal explanation

I wanted to stop there and just give out a mysterious box of toys with barely any instructions, but playtesting revealed that some people really wanted to know more about how the shapes and how the fourth dimension worked and what they were seeing.

I think that while kids are fine playing with toys without fully understanding them, as we get old enough we start to ask “why?” when we discover something new... and as much as I like non-verbal learning, I didn't want to leave these “why?” questions hanging in the air. If I manage to make you interested, why wouldn't I try to answer these questions if I can? So I decided to add an optional interactive “Interactive Explanation” that takes you step by step through what the fourth dimension is, how a 2D being would experience the third dimension, and by analogy how a 3D being would experience the fourth dimension. This provides the beginning of an answer, and the toys become even more beautiful if you understand just a tiny bit more. There are also optional questions marks in certain scenes you can click on to get more info.

The interactive explanation could stand and be interesting on its own. It is very verbal, as opposed to the toy itself, which is totally non-verbal and freeform. While I wanted to get away from verbal learning because it is so often done poorly and takes you away from the experience, it is interesting to think about when verbal communication is appropriate and when it isn't. In this case I think it is good that the explanation stands next to the experience itself and can be ignored. Interestingly, Miegakure sits sort of in-between these two extremes: it is goal-oriented and directed and has words, but it very intentionally never verbally teaches you about the fourth dimension or how to solve its puzzles.

Interaction method

Like I mentioned before, a problem that comes up when you are a 3D being playing with 4D toys is that they tend to disappear into the fourth dimension. A friend intuitively suggested a scrollbar to move along the 4D, and that seemed like the simplest way to solve the problem. Also this way we can display the extent of each shape in the fourth dimension and that allows players to very quickly find shapes when they lose them. Note that this is different from Miegakure's mechanic of rotating the player's slice. Miegakure's rotation mechanic is necessary since the avatar would hit invisible walls if they could move in a direction they can't see: 4D Toys does not have this problem since there is no physical avatar. Aside from the fact that both Miegakure and 4D Toys are 4D, the experience of playing each is completely different and complementary!

Final words

Anyway! It's a thing. You can get more info about it at

It is out now for iOS and Steam (both VR (Vive) and Mouse/Keyboard).

I am excited to release something, anything (!) and see how it goes and learn from the process. While I plan to add things to it when I feel like it, my focus is on Miegakure's development. Please enjoy!

The World of Miegakure (+Concept Art!)

Wednesday, April 26th, 2017

When I first started making Miegakure, my goal was for each puzzle to be about a cool consequence of being able to move in 4D. For example, entering a temple that is closed from all sides but not from the fourth dimension, going around a wall in 4D, appearing on top of hill too steep to normally climb, etc...

But it was also clear to me that there should be regular characters that also live in the same world. These characters provide a normal human's perspective on the 4D miracles the player is accomplishing. For example they might be astonished at how the main character managed to appear on top of the hill. They also make the game much more alive because it's not just about the pure puzzles themselves.

If characters live in each level, there should be a consistent world they live in. So the temple might be located in the outskirts of a village the player explored previously. The player might meet a few characters from that village multiple times, etc.. A bit like an RPG, except without fighting but deeper puzzles, and split into levels.

It's possible to think of a 4D world as a bunch of parallel 3D worlds (just like it's possible to think of the 3D world as a bunch of parallel 2D worlds, see the trailer for more). I use this fact to make the levels easier to understand, so a level might have a “desert world” and a “grass world.” (Actually there are infinitely many worlds, but they are grouped together so worlds next to each other in the fourth dimension look very similar)

So if I use this fact in the levels, I should use it in the world building as well. And hence the world of Miegakure contains a bunch of parallel universes, some of which containing their own civilization. The world the main character is from is a bit like our own, with a Japanese/European medieval theme. But there are others. For example here is some concept art of a windmill from a civilization that is wealthy, extravagant, but also a bit dark, with strange beliefs and customs...

Art by the amazing Kellan Jett (He may post concepts that are in-progress ideas and not representative of things that will actually be in the game).

Talk: Exploring and Presenting a Game's Consequence-Space

Saturday, January 9th, 2016

I gave a talk at the PRACTICE game design conference at the NYU Game Center a couple months ago:

Slides are here

I had meant to update the talk I gave at Indiecade in 2011, and talk more in depth about how I used these ideas for Miegakure, but in the end because of the half hour format I do not cover the first half (designing mechanics to generate an interesting possibility space) and only cover the second half (how to explore the space the mechanics create). I also talk about a bunch of game design problems that are especially interesting in the case of Miegakure. I also cut the intro a bit, but posted it Here.

Abstraction Design

Sunday, December 6th, 2015

The Introduction to a talk I gave recently...


Creating an abstraction means to take a phenomenon or concept and reduce it to a simpler version by ignoring certain factors. We can then use an abstraction to predict things about the more complex phenomenon or concept.
For example, we can predict the motions of entire planets just using a few simple equations, despite the fact that planets are extremely complicated, by reducing planets to points with mass.

When building abstraction with the goal of predicting something the goal is to simplify as much as possible, but not too much so that we don't lose the ability to predict what we want to predict. An abstractions that is more detailed (ignores less effects) can potentially predict more about the world, but at the cost of being more complicated.
In some sense that is what we have evolved to do as humans, is to learn to ignore the parts of the chaos of our universe that are not necessary for our survival.


If we take a model/abstraction and look at a particular case, we get a prediction.
If we are doing a thought experiment we can imagine what the future state might be.
Or if we have an equation that models some part of the world we can plug in some numbers into it and it will output predictions of what the state of the object will be in the future, for example.
But it recently got very interesting because computers have made this step much easier to do.

For example to produce images of a 3D scene a computer uses abstractions of how light bounces around in the world before it reaches our eyes to produce the images we see, and computes this 30 or 60 times per second.
In some way, by instancing abstractions computers turn them back into “realities” because they can feel surprising, interactive, etc...


There is another thing we can do an abstraction. We can take any abstraction and generalize it without concern for whether it has a physical representation in our universe. You could say this is what pure mathematics is about.
For example, we can add a fourth number to space (x,y,z,w) and see what that would be like.

Any game does this and in a sense games are a natural part of a process to understand the universe, a universe in a more general sense including its generalizations.
For example, Sim City is based on a model (i.e. is an instance of an abstraction) of a city created by Jay Wright Forrester. Adding Godzilla to Sim City is a generalization.

Designing Abstractions

When you look at the world to design an abstraction, ideally if you are a physicists the abstraction might contain surprising results because it might encode more about the world than what you based in on when you designed it.

For example one of the things that made Einstein famous is that his theory of relativity predicted that light’s path would get bent by heavy objects, and in 1919 during a solar eclipse, it was confirmed by looking at starlight as stars passed behind the sun.

When you are making a Video Game, you have to decide what the abstraction level for each component is going to be.

The highest abstraction (i.e. the less detailed) might be “if statements,” for example: if (main character does this) then { react like this } else { react like that }.

For more detail we could use an equation for example to compute the path of a projectile. The equation might become more detailed: we could consider air friction, etc...

An equation might return something that the designer of the equation didn't expect. That's interesting because it means that systems that are at a more detailed level of abstraction are more interesting to explore since the designers themselves more often do not know everything that could happen with them. This effect is what I care about a lot as a designer.

If statements are essentially step functions, which also create discontinuities that are often a source of problems in models. It is possible to combine lots of step functions to make a smooth-looking curve, but it takes a lot more effort.

By the way, I am not saying that all if statements are bad, just that as a designer we chose to focus on a region to explore, and where we explore it is better to use more detailed abstractions. For example, in Miegakure there are characters that walk around using simple state machines. I choose to not explore their internal state very much, as just their change in position is interesting enough with respect to the core of the game.

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.

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 10x10 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]

Consistency Boundary: What makes a logically and mathematically consistent system?

Sunday, July 27th, 2014

"The laws of the model's nature have to be logically and mathematically consistent with one another, but not with physics." -J.C.R. Licklider (see previous post)

What makes a logically and mathematically consistent system? It seems to me that every system has a boundary within which it is consistent, and outside the boundary it starts to break down. How do we define this boundary?

The process of describing reality using mathematics is not perfect. First, an abstraction layer needs to be selected. That means we have to decide how detailed a model will be. If the model is too detailed, it will take too much "computation" to predict anything. If the model is too coarse, it might not predict enough effects.

For example, we can simulate the motion of an object by simulating every atom inside of it, but that may be unnecessary, and if the object does not deform very much at the scale we care about we can approximate it by a rigid body, which gives a simpler model that could work very well for our case. But if too much force is applied the object would start to deform or fracture, and then the model breaks down, and might give nonsense results.

In physics, we may know if the assumptions we make are reasonable or not. If we know for sure that in the situation we want to model not enough force will be applied to the object and thus it will never break, then it does not matter that the model does not handle this case.

In games, we create a set or rules for the game that often approximates reality to some level. So already we have chosen an abstraction layer. But we may not know what the consistency boundary of that model is, i.e. find out the places where the approximations we made result in nonsense situations. We may need to discover the shape of this boundary by playing the game itself. Like in physics, we can adjust the rules of the system to increase or decrease the consistent area, but unlike physics we are not bound by having to approximate reality.

For example, imagine a game where a character moves in a 2D grid and the player can place an arrow on a square to redirect it. This model assumes that the character can only move horizontally of vertically within the grid, and so far this is consistent. But what happens if you let players place two arrows on top of each other? If the effects are additive, suddenly diagonal movement needs to be considered, but the model so far has not taken this case into account. This is the edge of the consistency boundary. At this point we need to either disallow the case of diagonal movement and potentially make the game less rich and interesting, or allow the case and grow the consistency boundary, but this may be hard to design as new rules need to be created, and problematic areas may still exist, just further away.

Sometimes, problematic cases can be avoided by level design instead of system design. You can design the levels of the game such that this situation can never occur (ex: what if no more that one arrow is ever given to the player?).

This process of stripping away problematic cases is a lot of what game design is, at least in my experience. There are ways in which it can be done elegantly and inelegantly. Inelegant ways often leave the problematic cases apparent. The player can see the parts that have been cut of, or worse, they are forced to understand details about it. Presumably the system is the interesting part, not its boundary (though games that explicitly explore this idea could be designed and may be interesting).

In the aesthetics of game design, I feel like a game that is very consistent is more beautiful than one that is not.

The thing I talked about before is that in games the goal is not to simulate reality, so we have an extra tool in our hands: generalization. For example if SimCity is a model of a city, then adding Godzilla to it is a generalization. Or taking an FPS (which is a simulation of a person walking in an environment) and adding portals.

This creates additional problems because while we are fairly certain that reality is consistent, we do not know about other, generalized, realities. (If the first part is like physics, this part is a bit like inventing new mathematics).

So for example, it appears to me that Portals are not very consistent. A lot of issues appear pretty quickly, as seen in these drawings I found online:

It might be interesting to try to design Portal in a way that would allow for more consistency, and gets closer to handling cases such as these. I am not sure this is possible.
Sometimes consistency can be improved by fixing things near the boundary, and sometimes the whole system needs to be rethought from first principles.

Another example: What happens in Fez when you get projected behind an object? This is an inconsistent situation that needs to be resolved with additional rules from the designers of the game. It comes from the many-to-one nature of projection.

Miegakure was surprisingly consistent. You can take almost any concept and generalize it to 4D. There are very few consistency problems in gameplay, mainly related to the rules of pushing blocks, which would happen in any number of dimensions. So because there is so much consistency in terms of the 4D generalization, the problem has been finding a good level of abstraction, especially graphically. In some way there are two types of consistency boundaries. The consistency problems that come from abstracting, and the consistency problems that come from exploring. The abstraction consistency boundary seems contained within the generalization consistency boundary.

Sometimes I want to make things clearer or more beautiful at the expense of correctness. Or rendering 4D properly is sometimes too slow (just like 3D graphics are just an approximation of reality!). For example I spent a long time on the extruded 3D trees and it was well worth it. The goal was to get a more detailed level of abstraction of what a four-dimensional universe would look like. But I will talk about it in a later post.

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

Looking back (Do you think your conception of reality has changed from making this game?)

Tuesday, July 1st, 2014
(Here's another expanded transcript of part of the talk I gave at NYU)
A question that people ask me once in while is: Do you think your conception of reality has changed from making this game?

I find that one of the things that excite me the most about Miegakure is that because it takes concepts familiar in three dimensions and generalizes them to four dimensions (or even n dimensions) it distills these concepts to a more fundamental core. There is something more truthful about a concept that has been distilled to a simpler form, but it also helps us understand the concept better.

A good example is rotation. A rotation is fundamentally a 2D thing; you need two dimensions to define a plane of rotation. We are so used to thinking about rotations in 3D that we think about the axis of rotation, but this doesn't generalize to nD: the 2D plane that is perpendicular to that axis is what is important. The focus on 3D space actually hides part of the truth. Transforming the plane of rotation into an axis loses some information about its semantics, which causes problems for example when you want to transform the rotation itself (ex: the idea of an axial vector in 3D is a hack). But you can't even transform the plane into an axis in any dimensions but three, so considering the general case helps us avoid making this mistake.

When trying to generalize a concept we often find that some parts of the representation do not generalize at all. Then, we search for a new way to think about things, a new viewpoint that allows us to throw away the parts that don’t generalize. What we are left with is often much more beautiful than what we started with originally, because it describes the same concept, but in a much more concise and precise way.

We can use n-dimensional space as a way to discard viewpoints that are not as fundamental as others because they do not generalize.

Rotating the view

In Miegakure, the player's main action is a rotation (when the space appears to deform, the player is actually just turning their head 90 degrees into the fourth dimension) and there are rotating objects in the game. So the player is learning about rotation in a more general context and it enlightens their concept of rotation in 3D.

I think this idea of distilling and generalizing concepts happens in other games, in some form.

Go board

We celebrate Go because of how rich its situations are compared to how small its rule set is. Go distills the rules of territory and life and death to a form that allows us to explore it, to a form where we can get glimpses of fundamental truths about our universe. Go is so simple that we feel that it has be fundamental.

Frank Lantz talked about similar ideas in this great talk.

This is a slightly different idea:
Portal takes the usual laws of physics and adds portals to them. There's some exploration of what having portals might mean by themselves, but what is especially interesting to me is the way that Portals affect things like momentum.

The idea of using gravity to increase momentum then rotating that momentum to cross a pit makes the player think about momentum in a different way and that reveals things about it. Momentum is seen through the more general lens of portals. There are actually problems with this because it is difficult to cleanly generalize, but I will talk about it more next time.

[Part 1][Part 2][Part 3] [Part 4] <Part 5> [Part 6]

The Moon

Friday, January 10th, 2014


A friend of mine recently sent me this quote from J.C.R. Licklider (an important figure in computer science) from around 1969, talking about one of the first display of 3D on a screen:

Sutherland's demonstration [...], is a step that takes us into a new world. It does so [...] because the laws of this new world are the laws the modeler programs into it. The effects that can be created are thus constrained by limitations of the programmer's imagination rather than by the way things actually are on this mainly Euclidian-Newtonian earth.

The laws of the model's nature have to be logically and mathematically consistent with one another, but not with physics.

I like how clear it was to him even at the time. I especially like the following, because it is something I realized myself:

It will be intellectually at least as exciting to perceive and explore a synthetic 4-D world as to perceive and explore a merely actual, merely 3-D moon.

The concept of space is so fundamental to us. We built the concept of a dimension in order to explain the physical world, but the concept is strangely naturally not bound by it, in the sense that dimensions are not simply limited to 3. Width, depth, height; just add one more number! Even more surprisingly, we can take everything we know about our 3D world and extend it to 4D. This new world has something deeply interesting about it. It is very similar to ours in many ways, but all its differences stem from changing one single number in the mathematical representation we have of physical space itself.

So in a sense we can think about logically and mathematically consistent worlds as the new frontier for human exploration, which we have discovered a new way to extend. It's fun to think of games and interactive simulations as sort of spaceships that allow people to explore a different part of our universe.

When I started working on Miegakure I only had vague ideas of how it would play or even look like on screen! I just set up the rules, and followed where they lead me...

More next time.

[Part 1] [Part 2] <Part 3> [Part 4] [Part 5] [Part 6]

Unified Rules and Intrinsic Secrets

Thursday, December 5th, 2013

Apple on Tree

I am fascinated by the parallel between the player's experience and the scientific process. By playing with a system we get a feel for the rules that govern it. We build up this data on what is possible in this system, and our brains look for patterns in that data to summarize it. By throwing balls, dropping apples, and looking at the moon for a while, humankind was able to formulate the theory of gravity. Formulating a mathematical theory is just another step in a process of finding patterns.

In the above except from the No Ordinary Genius documentary Richard Feynman talks about how research in physics is similar to watching some gods play a chess game without knowing the rules and only being able to see parts of the board. You may learn from careful observation about how the bishop doesn’t change color, or how it may only move along a diagonal. Or you may witness castling and you didn’t expect it.

In old games a lot of gameplay elements where left to be discovered by playing, and not explained verbally using tutorial text. And nowadays there is a resurgence of games that do this, the most extreme example that comes to mind being Starseed Pilgrim which gives almost no hints about many of its mechanics.

Feynman talks about how sometimes in physics there are these unifications and the theories become simpler. They can seem more complicated (possibly because they explain more) but they are actually simpler. Then he says that it doesn’t happen in Chess and that the rules seem to get more complicated. I think this is not true for all rules.

If you only ever saw a queen moving diagonally and suddenly it moved a square horizontally to the left, and maybe later on you saw it moving three squares horizontally to the right, you may think that queens move diagonally, except horizontally three square to the right, and one square to the left, but over time you might realize that they can move any number of squares horizontally and everything becomes simpler again.

However, I assume Feynman is referring to rules like castling or promotion of a pawn to a queen that feel like rules added on top of the previous rules, and can never be unified. Aesthetically these types of rules often feel less beautiful to me. I consider a game that can be "unified" a sign of a beautiful game. It is beautiful from a pure game-design aesthetic sense but in addition the moments when the brain connects these distinct elements into a single whole are magical.


Miegakure brings these concepts from science and games together very tightly because it is as much a game as it is a realization of a mathematical concept. Miegakure is built such that it is simple at first but if you look deeper you can build a better model of what is happening. For example you can play almost the entire game just using the large cubes (actually Tesseracts), but you may gradually learn that your position within each cube does matter. And so your model might expand from thinking you see these thick slices of objects, to knowing you see along an infinitely thin slice and that suddenly explains why things change based on your position (etc...) and your model becomes simpler again.

And there is a beautiful example involving certain blocks being longer along the fourth dimension but because of spoilers I can’t really talk about it in details. But basically, players can build a working ruleset of what is happening, and that allows them to solve puzzles, but that ruleset is very simple. Even people that understand the math well seem to sometimes still use the approximate ruleset because it works so well. I know I do. I love the idea that you could explain the simple rules to someone and they would be able to play, or you could make a game that would be just about these rules, but they are in fact part of a larger, more mysterious whole.

Bombing a wall in Zelda

I am reminded of the gameplay layering that happens in good Zelda games: a crack on the wall might not mean much to the player at first, but once the bombs are acquired the whole game world is seen from a new light. In Miegakure the secrets are more intrinsic, and when someone comes to truly understand the unifying rule it is a beautiful thing to see.

[Part 1]<Part 2>[Part 3] [Part 4] [Part 5] [Part 6]