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.

One Response to “How do you even develop a 4D game?”

  1. Mario Carneiro says:

    After you are done with the game and become rich and famous, please please open-source your game engine. You definitely have something very new and unprecedented here, since rendering engines have 3D totally hardwired into them. I would love to work with a rendering engine that is comfortable with 4D, and there are tons of applications in science and education.

Leave a Reply