Presenting: Seven Dimensions

Seven DimensionsThe seven day FPS challenge is over, and my game is finished! It could be more polished, but I’m really happy with it considering the time constraints.

Seven Dimensions is a puzzle FPS where you play in seven dimensions simultaneously. Is your spatial reasoning capable of understanding these strange worlds?

Go to the page of Seven Dimensions.


I’ve joined the 7DFPS game development challenge. The goal is to make a non-traditional FPS in seven days. This post also appeared here at the 7DFPS website.

A 7 dimensional FPS has been suggested by several people on the twitternets, but no one seemed to be serious about it. As if it couldn’t be done… That touched my Barney-Stinson-button so I immediately said: Challenge Accepted. (With the really serious face.)

After investigating seven dimensional space for countless hours (30 minutes), I found that it is quite an exceptional space. Several calculations defined on 3D spaces are also possible in 7D, but not in the dimensions in between them. The 7D cross product is defined, and octonians can be used for rotation (similar to the quaternions for 3D). Then I watched this video on youtube, which shows a rotating cube in 7D. It struck me that the seventh dimension is really ludicrously insanely difficult for a human to understand (Yes, that difficult). Let’s first see if Miegakure will succeed in explaining the fourth dimension before starting with a higher dimension…

Because failing the quest for a 7 dimensional FPS is not an option, I decided to look at it differently. If I could lower the complexity by decoupling some of the dimensions, it might be possible to make something that’s actually understandable! I decided to decouple the space to 4 separate worlds, three 2 dimensional worlds and one 1 dimensional world (2+2+2+1 = 7). Is this cheating? Well, a little bit… My game doesn’t offer the full complexity of the seventh dimension. But on the other hand, 7DFPS is about making fun games and the seventh dimension wouldn’t be fun to play in.

Now I just have to make one 1D world and three 2D worlds. Easy right? But wait, it can’t be a normal game with 2D graphics, it has to be 2D in first person. How does that work? A 3D FPS has three axes: width, height and depth. For a 2D first person perspective, one of them has to be ditched. The depth cannot be removed because that’s necessary for the first person perspective, so it’s either width or height. Removing the height seemed like a sensible decision so I went with that. Now there’s still the 1D first person perspective left. There’s not really a choice but to remove the width as well. So the 1D first person perspective has only depth. Okay WTF?? Time for a screen shot.

7 Dimensional FPS Concept

That’s how it looks like at the moment. The 2D worlds have no height, so they are just a line (scaled a bit to make it more visible). The 1D world doesn’t even have width, so it’s just a dot (also scaled for visibility). It’s very hard to get a sense of depth from these images, but it gets much better when you start moving.

There still has to be some sort of shooting game in these weird worlds… Let’s keep it simple, because we don’t want the player’s brain to explode. What about hitting green targets, and not hitting red targets? You move simultaneously in all four worlds, so you’d have to be careful not to hit a wrong target in a world you’re not focusing on. It would be more of a puzzle game than an action game this way.

This puzzle concept is also a great opportunity to make the 1D world useful. Because you can’t rotate in the 1D world, your shots will always hit the closest target. If there are five green targets and one red target at the back, you can only shoot five times (simultaneously in all worlds) because your sixth shot would hit the red target in the 1D world. This can be used as a sort of natural ammo system. If each 2D world has one green target (3 in total) and if you would have only 1 green target in the 1D world, you’d have to hit all 3 green targets in the three 2D worlds with one shot.

Curious how this will turn out? Follow my progress here, on my twitter, or on my blog.
Have any questions/feedback? Please let me know!