Wednesday, August 8, 2012

How to create a *good* automated camera in a third-person game

KH3D has bugged the shit out of me. I enjoy it a lot, but the gameplay can be extremely broken at times. And it's not for bad mechanics--it's for a bad camera, which often leaves you unaware of what's going on around you in intense, large-scale battles.(which is every battle in this game)

I have devised this list of behavior in the hope that it will help people create better third-person cameras. And perhaps Nomura will wander across this and take some notes.

1. FOUNDATION: The camera should show what the player wants to look at, you must predict what they want to look at accurately in order to create a positive intuitive experience. The camera is one of the most important aspect of the entire system, for it is the monocle by which you receive all visual information at any given time.

2. Adjust to the curvature of the ground.
Facing upwards on a hill? Look up. Facing downwards? Look down. Facing off the edge of a cliff? Adjust the camera down so you can see what's on the other side of that cliff face.

3. Zoom out during high velocity sequences.
When you're moving faster, you have less time to perceive what is going on the camera before you move past it. Therefore, pull the camera back to mitigate this blind-siding.

4. (SPECIFIC TO KH3D, THEORY APPLIES ELSE WHERE THOUGH) Drop targeting mechanic, focus the camera on the action.
There are so many enemies in KH3D, and most of your attacks are area-of-effect attacks, so there's very little use in targeting a single enemy to focus your attacks and your camera. The system was shoddy to begin with, often failing to accurately predict your targeting intentions, and it's even worse in this game, where distances are greater and enemies are often more numerous and resilient. Furthermore, in this game it's rare you'll want to focus your attention on any one enemy for more than a hit or two at a time. The camera should automatically adjust by rotating and zooming to display as much of the action on-screen at once, rather than constantly shoving the player's face into the wall while legions of enemies are prepping their devastating one-hit KO attacks behind them, which you have no way to be aware of while you painstakingly take the time to rotate the camera back again. Half the "skill" in this game comes down to planning your movements to properly manipulate the camera just so you can avoid being blind-sided.(total crap)

5. Manual override
Manual camera override should be snappy and responsive. Sometimes the camera system can't predict the player's viewing needs, so the player should be able to adjust it themselves. Obvious, right? Well KH3D seems to even fail on this front, offering only sluggish left/right rotations, and for some reason, not even an option to increase the rotation speed.

Specific to this game, it feels like it holds a horrid grudge against zooming out the camera. It wants to stay right there, practically centered on your ass so you can soak in all the pretty details baked into the character's texture, so you can see the keyblade front-and-center at all times in all its glory. Bollocks. I hope that wasn't part of their reasoning, because it's not like your eyes would even care for those details when you're busy fighting for your life. Plus, if the camera isn't zoomed out we can't see all the pretty battle particle effects, and that's a crying shame.

Make good cameras.