This is helping us finish up the game! Here’s the announcement.
Archive for the ‘Miegakure’ Category
IndieFund is backing Miegakure
Thursday, April 7th, 2016A look at the Technology behind the 4D Game Miegakure
Tuesday, March 8th, 2016Development 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
Saturday, January 9th, 2016I gave a talk at the PRACTICE game design conference at the NYU Game Center a couple months ago:
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?
Monday, December 21st, 2015A 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.