Wednesday, July 23, 2008

3D Control of 3D

Everyday I live the third dimension never ceases to amaze and boggle me. From a trash-ketball arcing into a waste bin to a nearly weightless piece of lint dancing in any direction it pleases, motion through volume is too advanced for most people to fully grasp. Sure, we live in 3D (let's ignore 4D for the time being), but that doesn't mean that we've all have a firm grasp of 3D space. Even in our favorite videogames, though the graphics are certainly rendered in full 3D, the gameplay and the controls may be something more deceptive and less dimensional. Could it be that promises of 3D gameplay is really snake oil? Is it possible that our control and understanding of 3D space is limited to how we interface with the game world?

Let's start at the beginning.

Wheel paddles. Arrow Keys. Joy sticks. D-pads. All of these input types are great for quantified movement and other such mechanics. Because these controllers can only send on or off (pressed or released) signals to the game, the range of input they can offer to a gaming experience is limited.

When the D-pad was all we had, developers created mechanics like "RUN," "DASH," and "SLIDE" to give players a bit more variety/control whiling giving the game designer a little breathing room. Even on a digital-pad Mario can walk along at a nice pace or use the RUN mechanic to speed things up. MegaMan eventually added the SLIDE and then DASH mechanics to increase a range and control of the character motion.

As the N64 jumped into the next dimension of games, the way we controlled games had to jump as well. Mario64 was the harbinger of solid 3D control design. Mario's Jump has always been analog since Super Mario Brothers: Hold the button down longer for a longer jump. You can read about the mechanic here. Now, it was time for Mario's standard movement to become analog as well.

In a 3D world, we can see everything from the inches before Mario's feet to far off into the distance. Instead of being able to move only left and right, players can move left, right, forward, backward, and everywhere inbetween. The D-pad at best can only cover 8 directions. If Mario64 controlled with a D-pad, movement would be quantified to those 8 directions which would instantly restrictthe freedom that the form of a 3D environment promises. The solution was in the analog stick, a controlling device that allows the player to point to any direction on a plane and have the game respond accordingly.

But the beauty of the analog stick comes from 360 degrees of control and the varying degrees of control at each direction. What I mean is, the analog stick can accurately tell if the player is pushing the stick slightly, all the way to the end, and everywhere in between. So, without any additional buttons or functions, Mario can now tip toe, quick toe, walk, power walk, and run. This is just one classic example of how the upgrade in visual technology and controller technology made the gameplay experience more intuitive and dynamic.

Since the launch of the N64, every console controller has launched with at least one analog stick (except the Wiimote... more on that later). Nowadays, it's rare to find a game with only 2D gameplay, and it's even more rare to find a game without any 3D rendered graphics. Such are are the times.

Shooters are popular. And on the console side of things, the vast majority of shooters are played with dual analog sticks. One for moving. One for aiming. With so many shooters flooding the market, dual analog controls have been refined as much possible. The problem is the first-person perspective and the nature of guns deconstruct 3D space into a space that is functionally more 2D. Aiming is essentailly moving a 2D reticle around on a 2D plane. Though the bullets travel in 3D space to hit their targets, because they travel so quickly and accurately the shooting mechanic functions like a light gun game: 2D gameplay. The button is either pressed or released. Hit or miss. On or off. Sound familiar?

Of course, throwing grenades and jumping in Halo are examples of 3D gameplay elements in a fps. Grenades in Halo realistically bounce off of the geometry of the environment. And jumping is similar to Mario64 in how it punctuates into the 3rd dimension from the movement on the 2D plane that is the ground.

Ultimately, the vast majority of cases 3D control design are merely an illusion of layered and largely independent 2D controls. As great as the analog stick is, it still only controls on a 2D plane. While we're on the subject of 2D controls, the touch screen is a much better 2D input device because of how the actual screen/input device can be dynamically adjusted according to the forms of the game and the changing game state. Instead of translating D-pad, analog stick, or even mouse inputs into the game world, interacting with a touch screen is interacting with the game world directly.

But what about 3D games? Once again Mario has taken 3D game design to the next level or should I say into space? You may recall the article I wrote about 2D vs. 3D where I paralleled the gameplay of a 2D Mario platfomer to Galaxy's planetoid platforming. Though it's true that the gameplay has this parallel, in Super Mario Galaxy Mario interacts in and with 3D space more than any other game.

Galaxy basically takes the 2D plane and wraps it around itself to create a planetoid. The analog stick still works great for moving around on this plane. But when Mario jumps, he not only enters the 3D space, but in Galaxy's case the 3D space is shared and made dynamic by the various gravities at work. Take a jump and you may be leaping into gravitational pulls beyond your control. The gravity's influence is clear because the pull is indicated by Mario's animations and the animations of free body objects in the game.

And if the gravity zones weren't clear enough, players can shoot off starbits that are pulled by the gravities they pass through. Because the starbits travel much more slowly than a speeding bullet, the player is able to understand the nature of the very space around Mario by the trajectory of the starbits. In this way, the 2D first-person aiming is transformed into a tool for testing the effects of the fully defined 3D world. The marriage of Mario's tight controls and 3rd person platforming with the 2D to 3D first-person starbits shooting is what sends Super Mario Galaxy leagues beyond the curve.

Perhaps unbelievably, Super Mario Galaxy isn't 3D enough. When I say 3D control of 3D, I not only require a fully defined 3D environment, but 3D controls as well. Even in Super Mario Galaxy's case, Mario's movement is controlled by a 2D analog stick and aiming with the Wiimote pointer is still very much in 2D.

Designing 3D games I've run up against the limitations of 2D control in a 3D space. In my sturdies, I've found few games/developers that have worked out solutions for these issues. To prove my point, do this quick test. Gather up 5-10 of the lasted 3D games you own (mentally or physically) and check for the presence of these shorcomings.
  • Bad Camera: The camera often gets caught behind objects or enemies. The camera can't keep up with the action. You constantly have to maneuver it to play effectively.
  • Poor representation of 3D space: Cases where the distance of elements moving through 3D space is difficult/impossible to discern. Generally due to poor camera position, the lack of shadows or other 3D tells, and/or the lack of effective camera controls.
  • first-person perspective: Though many claim first-person is more immersive (which isn't necessarily so) this perspective tends to confuse 3D space due to the lack of depth perception and peripheral vision. Melee attacks in first person are very confusing for this reason. This is why many games snap or lunge the character at their target when using a melee attack (Halo, CoD4). Also, because the gun models are rendered at a certain size, getting close to objects like walls or fallen players creates an awkward space where you realize that either your gun isn't in real space, or the space around your character isn't real. Scary huh?
  • Invisible Walls: Sections/areas that look like you can visit/explore, but you can't because there's an invisible wall keeping you out.
Getting around these issues was only a matter of designing a controller that moves in 3D. Keep in mind, a true 3D controller is far more that tilt controls. The tilting technology alone is simply another type of analog stick. (At least it worked wonders for Kirby Tilt n' Tumble.) Even adding a 3rd accelerometer to the mix doesn't change much. In the case of the Sixaxis, because the controller was designed to be held with two hands, the range of motion-control motions is severely truncated. It's no wonder nothing good has come out of the Sixaxis (MGS4 Easter egg included).

The genius of the Wiimote as a 3D controller is that it combines 2 (soon to be 3 with Motionplus) independent systems to give the player control in and over 3D space.

The first system is the pointer. If you haven't checked out my lasted invention, go ahead and do that now: The WiiR Cam and the games to go with it. By using the form of a camera, this unique controller communicates with the Wiimote on top of the TV to pinpoint and track the camera's position in 3D space. As you can see the pointer technology is highly versatile. However, it's limited in that it must be directed at the sensor bar/infrared light source.

Fortunately, the Wiimote comes packed with 3 accelerometers that can generate data to determine the angle the Wiimote is being held at and the forces that are exerted on the Wiimote in any direction. Now, players can swing their controllers, chop them, bat, box, block, steer, and even dance with them. By uniting the forms and actions in the game with the controls/player inputs, the Wiimote becomes the perfect controller for controlling 2D/3D space. Like how the touch screen is the perfect input device for creating a direct, intuitive, dynamic and independent link between the player and the forms of a game, the Wiimote does the same but in full 3D.

I can't design 3D games on traditional controllers anymore. They're just too limited and attract too many game design foibles that I feel we all should move beyond. With that said, I'll prove everything I've discuss in this article by sharing two games that I've been designing for the past week. Telling you the games now would be spoiling things, so you'll just have to wait.

No comments: