0
\$\begingroup\$

I put together a quick demo of a 4d first person environment last night in XNA. It uses 3d cross-sectioning instead of projection. (Use A and O to move in and out from 0 to 1 in the W axis.)

In my demo I made a tunnel where it's blocked off at first, but the path appears as you travel in W. I immediately noticed while trying it that it doesn't feel very interesting. It looks the same as if you were just pushing the block out of the way. Of course the block could change shape too but it doesn't help the feel much.

There are some other approaches I could try to make it more interesting:

Miegakure, from the demo videos, uses cross sectioning, but it also seems to allow you to swap one of your spatial axes for W, so you can see the movement in that direction.

I could try to do 3d projection instead of cross sectioning. For this to have any noticeable effect, I would have to also allow rotation that lets you look "around" objects in 4D, giving you something like this. I feel like this could be insanely confusing to a player, and also would make it really tough to design workable puzzles.

The last thing I could try that seems reasonable would be to keep my cross-section approach, but allow the objects to rotate in W, and implement the truncated solid calculations.

I'm looking for feedback on whether these would be usable as mechanics or if it's just way too confusing to a player, or even a level designer. What has been tried successfully, beyond simple demos? So far it looks like Miegakure is the only game that has been taken seriously.

\$\endgroup\$
10
  • 3
    \$\begingroup\$ Where's the question? \$\endgroup\$
    – user744
    May 11, 2012 at 16:14
  • 4
    \$\begingroup\$ A demo video would be nice for those not into downloading & installing, running, etc. I certainly can tell you're trying something interesting, but precisely how it manifests itself is more in my imagination than your implementation. \$\endgroup\$
    – Tim Holt
    May 11, 2012 at 18:31
  • 2
    \$\begingroup\$ 4D is extremely hard for us to grasp because it's not something we deal with every day.. in addition you lose 2 dimensions of information by reducing 4D to a 2D display, which makes it even harder to understand. Why somebody would want to play a game he can't even perceive properly is beyond me. \$\endgroup\$
    – bummzack
    May 11, 2012 at 18:44
  • 5
    \$\begingroup\$ @TimHolt I don't consider these to be 4D games at all. Most of the gameplay is 2D with some dimensional twist that plays with our usual perception. When I read 4D I think about the attempts to display a fourth dimension by projecting it to a 2D or 3D space, something as describe here or watch the excellent movies on dimensions-math. \$\endgroup\$
    – bummzack
    May 11, 2012 at 23:47
  • 3
    \$\begingroup\$ I agree with bummzack; I think games like Portal or Fez are better described as having non-Euclidean gameplay, in that points are connected in fashions that would be impossible in traditional Euclidean space - but that doesn't imply that they're 4-dimensional in any meaningful fashion. \$\endgroup\$ May 13, 2012 at 5:10

3 Answers 3

5
\$\begingroup\$

I've been obsessed with all things 4D since childhood, so I am pretty thrilled to see dimension-transcending games like Miegakure and Fez (and to some extent echochrome and Hazard/Antichamber, Portal, etc.) getting attention. I think, as a community, we should definitely be "pushing the dimensional boundaries" so to speak, and for being part of that forefront I applaud you sir!

But on to your question:

I've given a lot of thought to all the various perspectives/POVs used in games (both 2D and 3D) and how they might be realized analogously in 4D. For example, what would a 4D Metroidvania look like? A 4D "DooM" (1st person POV, with gravity) or "Descent" (1st-person, but no gravity, and all degrees of freedom) or "Mario Galaxy" (3rd person, with gravity)? Similarly, a side-view platformer like the original "Super Mario Bros." which has gravity, vs. a top-down view like the original "Pac-Man" where gravity is only implied and motion in all directions is free?

The strategies I've seen out there for conveying 4D objects/spaces are usually one of the following:

  1. Project the 4th axis onto 3D space (there are several possible ways)
  2. Show only a certain 3D slice of 4D space (Miegakure's and your approach)
  3. Use stereo viewing (e.g. 3D glasses) to convey the extra 4D "hyperdepth"
  4. Simulate a 4D being's "3D retina" and how it would perceive the 4D world
  5. Allow us to only explore the 3D surface of a 4D geometric figure

How can we meaningfully compare these approaches, which all seem reasonable enough at first glance? One way is to appeal to lower-dimensional analogy -- hey, it's been done ever since "Flatland"! Namely, you ask yourself instead:

In what ways could you convey a 3D interactive world/experience to a 2D being?

And remember, the 2D being is "embedded" in the plane, and therefore sees everything "edge-on" -- i.e. it has merely a 1D linear camera/screen/retina that is the field of view, just as we 3D beings project our 3D world onto our 2D retinas/monitors.

(Note: let's assume the 2D being still has two eyes though, and uses stereo vision to perceive "depth" and distance in 2D, just as we do for distances in 3D.)

Now let's go again through those options listed above, as if we're talking 2D beings trying to understand 3D. In reverse order, just for the fun of it:

#5.  Allow a 2D player to explore the surface of a cube/cylinder/torus/whatever.

If you've ever played a game with "wrap-around" where you can go off one side of the screen and you end up instantly on the other side, you've already done this. Does it really convey a sense of 3D shape though? Do you get a sense of the 3D volume that is enclosed by the cube/cylinder/torus/whatever topology you are exploring? Not really...

If you were a little 2D ant exploring the surface of a cube, you'd just find that the individual "rooms" (say each face of the cube is a room) connect to each other a little bit unorthodoxly. You'd have a hard time wrapping your little ant-brain around the fact that there are "folds" between each room, if you are embedded in the surface of the cube and cannot actually see the folding from "above".

Here is a demo by Jason Hise that implements this idea in 4D though:

http://www.jasonhise.com/index.php?option=com_content&view=article&id=46:tesseract-explorer&catid=34:projects&Itemid=53

And if you've seen the movie "Cube" and its sequels, you probably get the gist of it. On to the next!

#4.  Show a 3D being's "retina" and show how it would perceive its 3D world.

This is to say: take "DooM" or "Call of Duty" or some FPS and instead of a monitor, use a projector to project the screen onto the plane of this poor confused 2D being. What would they make of this bizzare image? Remember, they are embedded in the plane of the screen, they are not looking at it "from above" as we do. (In fact, they don't even know what a simple square really looks like, since all they've ever seen is its edges -- line segments.)

Suppose their eye is located at {x=0,y=0} and they are looking forwards in +x, just as Mario would be standing upright and looking towards the right. The screen is hanging in front of them, crazy things are happening on the screen, explosions, rotations and whatnot, but the basic shape of the screen is fixed -- a 1920x1200 rectangle or whatever.

First of all, since they're looking at it edge-on, you'd have to make everything semi-transparent so they could see all the content on the screen, otherwise (to them) objects at the left side of the screen will obscure objects at the right side of the screen, even though (to us) that's not what really happens.

Second of all, I don't like that the 2D person's innate sense of depth perception is not being used to its fullest capacity here. To wit, there is option #3:

#3.  Use stereo viewing to convey the extra 3D "depth"

I like this slightly better, because we can convey to the 2D being that certain things in the scene are very far away (in the 3D z-axis sense) even though they might be shown projected smack in the middle of this 1920x1200 screenshot. But it would still take some training for the 2D eye to really treat the "stereo depth" and the normal "distance along its view direction" as different types of depth.

Here is an applet that utilizes strategy #3 for 4D space:

http://www.urticator.net/maze/

Next we have:

#2.  Show only a certain 3D slice of 4D space (Miegakure's and your approach)

My least favourite option, I'm sorry! Think about lifting "Paper Mario" out of his plane of existence and sweeping him around in 3D space -- but really think about what he would see, not what you (the player) are seeing. It's gotta be super confusing for the poor little guy, as he observes only cross-sections of the world, like an MRI scan, and is supposed to make sense of these slices of objects suddenly appearing/disappearing in and out of view in various arbitrarily-angled profiles?

Also, it's a very "lossy" perspective to use, compared to the other three options, since you are completely discarding everything except one infinitesimal plane (space?) slice of the 4D world. At least with the projection-based strategies, you still get to see what's out there beyond your local 3D volume!

Which brings us finally to:

#1:  Project the 3rd (z) axis onto the 2D (xy) plane.

Like I said above, there are several ways to do this -- isometric, non-isometric, orthographic, perspective-projection, etc. etc., covered nicely here:

http://en.wikipedia.org/wiki/Graphical_projection

What's more interesting to me is: how can you best make use of your 2D character's innate sense of depth perception?

Let's go back again to Mario standing upright and looking towards the right (+x axis). Mario has depth perception: things that recede into the distance will appear smaller and farther away to his beady little 2D eyes. It'd be nice if the 3rd axis (what we think of as "depth") were projected at least somewhat to recede into the +x distance. Not necessarily to coincide with the +x axis, but maybe lean towards it.

On the other hand, if we think of Pac-Man, the 3rd axis for him is not a new kind of "depth" but it would be a new concept called "height". How do make sense of this in 3D -to-4D?

Imagine running "DooM" on your brand new iPad 4. Now lay it down flat on the table, and behold, all the 3D space in the world of the game appears somewhat flattened and distorted from a bird's eye view. Now extrude a 4th axis out of the plane of the iPad, coming up off the table, and behold: it is perpendicular to all three "3D" axes that are embedded in the screen of the iPad. Your character in the game might even try to move towards/away from the camera in that world, but no matter what axis he moves in, he can never leave his "plane of existence" whereas your 4th axis does.

So what I'm trying to say is, instead of the 4th axis being a different kind of "depth" you could also flatten 3D space down onto the floor, and let the 4th axis be a new kind of "height". In this way, you could have a "3D floorplan" for a room, rather than merely a 2D floorplan. See the UC neuro lab link below for some drawings of this.

As this is already a ridiculous wall of text, I'm not going to get into rotations and whatnot -- do you want absolute "freelook" (e.g. mouselook) or maybe a hotkey to switch to a separate "mode" for 4D vs. 3D rotations? Do you restrict the rotations involving the 4th axis to some limited set? Gradually introduce them in a tutorial? (Some modes of rotation are very confusing!! The "inside-out" kind, where the 4th axis rotates into/out of the screen.) I will just refer you to:

Resources:

Have you looked at mushware.com's technical articles & demos? (freely available and really nicely detailed!) They were working on a space shooter, Adanaxis, which is an "FPS" in the sense of Descent/StarFox I guess, no gravity or platforming. But what's interesting is their 4D rotation mechanic which you can see in their video demo:

http://www.mushware.com/portal.php?page=4

where they switch momentarily (and smoothly!) to a fish-eye lens perspective, and "flatten" 3D space isometrically, to [try to] make it clearer when you rotate the 4th axis around any of the usual 3. Otherwise, as I said above, 4D rotation can be quite mindboggling when the 4D and 3D axes that comprise the plane of rotation are projected too co-linearly.

There is also the handy wikipedia list of 4D game projects, which I hope you've come across by now:

http://en.wikipedia.org/wiki/List_of_four-dimensional_games

and there is the aforementioned cognitive research study done by the UC Irvine neuro lab, with their 3D-slice-of-4D-space (sigh) simulator:

http://cnslab.ss.uci.edu/fourdim/index.html

but one of those guys wrote a whole 4D level editor! Can we hire that guy or what?

\$\endgroup\$
1
1
\$\begingroup\$

While I agree with DeadMG that this is likely to simply overload most people's cognitive abilities, I think for the game to be particularly interesting you're going to have to allow arbitrary rotations and do the calculations there - the shapes are just that much more interesting than those that you'll get by simply extruding in the W direction.

That said, if you don't allow players to move off-axis (and to rotate their environment arbitrarily), then you'll almost certainly run into the same issue; people will simply parse it as something akin to space+time, and your W axis will be forever mentally separated from the others. It's not clear whether this is avoidable or not, but for the 4d to really be meaningful it seems like the one mental structure you're going to have to try and break.

\$\endgroup\$
3
  • \$\begingroup\$ Should I stick to using cross sections instead of projections? And by rotating off axis, do you mean that normal XYZ movement can also move in W because you aren't orthogonal to the W axis? \$\endgroup\$
    – Tesserex
    May 11, 2012 at 18:44
  • \$\begingroup\$ Exactly so - in other words, the player's 'aim vector' might be non-zero in all four components. As far as cross sections vs. projections, I think that's a design choice more than a development one; I think both can work, but it's so dependent on your aims and the rest of your game design that I can't really gauge which would be better for you. \$\endgroup\$ May 11, 2012 at 18:47
  • \$\begingroup\$ I could imagine running down a hallway at a 45 degree angle in the X-W plane, so as you move the walls go with you. Sounds interesting. \$\endgroup\$
    – Tesserex
    May 11, 2012 at 19:36
0
\$\begingroup\$

There are no known feasible approaches, and none have been done successfully before. It's worth mentioning that it's the rare game which even takes place in free 3D space- most ultimately take place in 2 dimensions. The human brain simply isn't designed to process four dimensions, and a 2D screen can barely handle displaying 3D data.

\$\endgroup\$
3
  • \$\begingroup\$ Interestingly enough, I've made demos of "free 3D space" spaceship games where you aren't confined by a notion of "up". It is indeed disorienting. \$\endgroup\$
    – Tesserex
    May 11, 2012 at 17:37
  • 1
    \$\begingroup\$ Descent did a pretty fine job of free 3D space - it was very disorienting, but also worked excellently for gameplay overall. \$\endgroup\$ May 11, 2012 at 17:50
  • \$\begingroup\$ Descent was 'disorienting' just because it was rare to see a game where you could move literally as you wished to. But in this case, both the Tesseract example and Miegakure are something that the the average human/player isn't even familiar with. To answer the question: anyone who posted here would be interested in such a game, but I doubt that it could attract someone that lacks such knowledge/interest to begin with.[hint]Unless the OP is going to add some sort of bait to it[/hint] \$\endgroup\$
    – Darkwings
    May 12, 2012 at 0:12

Not the answer you're looking for? Browse other questions tagged .