The World of Miegakure (+Concept Art!)

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).

Progress Report, and Miegakure Videos viewed over 1.5 million times.

Hi!

Miegakure is coming along great. All the puzzles have been done for almost a year now. I have polished many parts of the game, in areas such as graphics and sound, but a few more remain.

As an example of polish, I recently improved the lighting, which was difficult because the game is so dynamic it is not possible to precompute in advance where the light bounces, as most games do. I came up with with a novel way to do it and looks amazing and I can't wait to show it soon.

The largest task for me personally now is to go through the remaining levels and place objects and generally make them look as pretty as the levels we have shown so far. I get to make more cool 4D objects too, which I also can't wait to show. I have a few videos planned on them and other things.

By the way, I recently noticed the Miegakure videos have been viewed over a million and a half times! This makes me happy because even though the game is not out yet it has already done a lot of good for the world, with hundreds of people saying the above video is "the best explanation of 4D they have ever seen." Not many games have trailers that stand on their own as useful things. It's also good because a lot of what I say in the videos cannot be said via the game, because games should mostly teach non-verbally, so they are complementary.

To the people who have been waiting for a long time, thank you for your patience. I am making sure the game that comes out will be accessible and beautiful so that more people can experience how amazing the concept of 4D is.

I will do a bunch of blog posts in the next few weeks, talking about the lighting, the world building we have been doing, etc...

New Video: A Grove scattered with 4D Spherinders

We are working on making every level in the game beautiful right now! Here is quick nice-looking video to make you happy!

Old tales say that deep within the Ancient's Grove one can sometimes find scattered stone pillars, remnants of the old gods and those who worshiped them. Some people even claim they have seen stones levitate above the ground, held in place by a strange power.

But as you may start to know by now, it is not quite as it seems.

First, if you haven't seen the game yet, this video is a good introduction:

This is way to much detail and nothing explained here is required to play the game, but I still think it's really cool.

Spherinder Columns

The columns are in fact spherinders, which are one way to generalize the concept of a cylinder to four dimensions.

Extruded Circle

A cylinder can be thought of as a circle that has been extruded upwards (perpendicular to the plane of the circle).

Extruded Sphere

In a similar way, a spherinder is a sphere that has been extruded in the fourth dimension (perpendicular to all 3 directions of the sphere).

Depending on how you slice a cylinder with a plane you might get a circle, an ellipse (if slicing at an angle), or a rectangle (if slicing straight down the main axis). (One may also get a truncated ellipse if the slice goes through the top end of the cylinder)

Cylinder Slices

Rotating a cylinder while stuck in a 2D plane

Similarly, if you slice a spherinder with a 3D plane you might get a sphere, an ellipsoid (if slicing at an angle), or a cylinder (if slicing straight down the main axis). (One may also get a truncated ellipsoid if the slice goes through the top end of the spherinder)

Rotating 3D Cross Section of a 4D Spherinder (source)

Many of the spherindrical pillars found in this grove have tilted over the ages, and so one may look at many different slices of them. The ones still standing straight will look like cylinders, but the tilted ones may look like floating ellipsoids. Look for the one that has completely fallen to the ground and hence sometimes appears as a sphere.

Concentric Spheres Carved into the Ground

Concentric Spheres Carved into the Ground

While dirt and moss have mostly reclaimed the area, one can still see that around each spherinder the stone surface was carved in a series of concentric spheres. Yes, an entire 3D sphere can lay flat on the ground in 4D!

In a 3D game the ground is 2D, and so in a 4D game the ground is 3D. That means that if you are standing on the ground there are six possible directions you may go: forward/backward, left/right, and ana/kata. However, in the game, because you are only seeing a 3D slice of the 4D world, you only see a 2D slice of the 3D ground at any given time (only two pairs of directions out of three).

Slicing ConcentricS pheres

And therefore the concentric spheres look like concentric circles to a regular 3D person. Depending on which slice a person sees, the circles might look larger or smaller (if one takes a slice near the side of the sphere the circles will be smaller than if the slice is taken near the middle of the sphere).

Because the spherinder lies in the center of the sphere pattern, during the transition (when the character changes which way they are facing i.e. the orientation of their slice), one can see each spherical pattern “anticipate” or “follow” the spherinder that stands at its center: the circles grow larger before the spherinder is about to become visible, and after the spherider disappears the circles shrink. I think this effect looks so freaking great!

4D Grass

4D grass

Other curious things one may find in the Ancient's Grove are blades of grass that appear to float in mid-air. This is because the point at which they grow out of the ground is out of sight in the fourth dimension. (The same effect makes certain slices of spherinders look like floating ellipsoids) Some grass bunches are more prone to this effect, based on which direction their blades tend to grow.

Seeing Inside Trees

Seeing Inside Birch Trees

While the character is facing the fourth dimension, they may also examine the inside of the Birch trees. This is just like how for a 2D being a house only needs four walls but us 3D beings can see inside the house by just looking at it from the third dimension.

2D Temple

I love how art and mathematics blend in this game!

IndieFund is backing Miegakure

This is helping us finish up the game! Here's the announcement.

A look at the Technology behind the 4D Game Miegakure

Development is going well... so that means it is time for another video!

This time about the crazy tech we built for this game. Tetrahedral Meshes instead of Triangle Meshes! Also 4D Crystals.

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

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.

How do you even develop a 4D game?

A question I get a lot is: How do you even develop this game? This is related to the question: how can you think in 4D?

Personally when I approach a problem in 4D the key is to find which dimension is the least important and mostly ignore it, so I can think in 3D instead. For example to understand something about the main mechanics, I might think about the 2D/3D levels which I have shown in the trailer. In these levels, the up axis is obviously important, and the rotation is happening in the other two (horizontal) axes, switching from one to the other. In the 4D there is an additional axis, but it is not affected by the rotation of the character, so it can often be ignored.

Later, when I need to write down the 4D math for the model I was thinking about in 3D, it is often the exact same math as in the 3D case. This is because in linear (and geometric) algebra we strive to work in a “coordinate-free” manner, which means we don't write down the x,y,z, and w components of a position but rather work with all the coordinates at the same time, without needing to write them down. Any operation we do works on all the components, one by one, implicitly. For example adding two 2D vectors means adding their x and y components, and adding two 3D vectors means also adding their z components. Having an additional component does not fundamentally change anything about the operation. We are working in a way that does not depend on the number of dimensions. This also works for rotations, which are fundamentally two dimensional in the sense that they rotate one vector into another, regardless of the number of dimensions. I sometimes use 4D Rotors, which have the same interface as Quaternions but for 4D.

That's it! I got better at finding which dimensions to ignore over time.

This approach kind of breaks down a little bit when thinking of objects that change in all dimensions at once (such as duocylinders for example), but the general idea is the same: you can work with math without needing to see all of what it represents at once. Imagining different parts of it one at a time is often enough. The math, and the computer that works with it to display it, can do the rest.

By the way, someone asked a similar question about Intuitive crutches for higher dimensional thinking on mathoverflow and a few outstanding mathematicians even provided answers. I certainly used many of the other things mentioned as well.

Abstraction Design

The Introduction to a talk I gave recently...

Abstractions

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.

Instantiation

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...

Generalization

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.

Almost done with puzzles! Counting Levels of each type/main mechanic

I am nearly done with making puzzles for the game! I might still add a couple puzzles here and there but the bulk of the work is done.

I was curious about how many levels of each type (i.e. main mechanic) there were so I made this (approximate) chart:

The colors indicate main mechanics and the subcolors indicate relative difficulty within a mechanic. (Some levels use more than one mechanic, however...). The surprising thing for me is the large "blue" section, which is one fourth of the game, and which I added almost as an afterthought and didn't anticipate would be so rich, while some other sections didn't end up as relatively interesting as I thought they would be.

I am very happy with the result as every single one of these levels contains a unique idea. Luckily the 4D mechanic is extremely rich so I didn't have to look much higher than the low-hanging fruits.

It seems like I almost doubled the number of puzzles in the game these past seven months? The initial prototype had about 30 puzzles, which defined the basic rules and most of the mechanics. Then I fleshed out the tutorial section and added two main mechanics: two years later I had about twice that amount. Then I mostly stopped making puzzles (even though all the mechanics were set) to focus on improving the graphics (which in turn improved the gameplay), but I added a few puzzles here and there, and I had about 80. This final push increased that to around 140: I added puzzles to all the mechanics to fill-in blind spots and make the difficulty ramps smoother, then made most of the puzzles for two main mechanics and replaced a small mechanic that had been bothering me for a long time with one that is much cooler.

Now I will do a last pass improving various graphical things, while we work on making each of these puzzles and the rest of the game look and sound as good as possible.

Finally, here's a recent screenshot I didn't post on the blog yet:

Miegakure is coming to Steam.

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.