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:
- Project the 4th axis onto 3D space (there are several possible ways)
- Show only a certain 3D slice of 4D space (Miegakure's and your approach)
- Use stereo viewing (e.g. 3D glasses) to convey the extra 4D "hyperdepth"
- Simulate a 4D being's "3D retina" and how it would perceive the 4D world
- 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?