I’m ready to take a little break from it. But I wasn’t satisfied until I had a semi-working implementation of transitioning from a horizontal passage to a vertical passage, something that, although rare, the camera system will need to handle. I’m reasonably happy with how things are working now, although I know I’ll end up screwing with it some more. Take a look:
I added a couple debugging indicators to help visualize what the camera direction was up to. The green cross-hair shows the target position for the camera center, which the camera is always moving towards. The red cross-hair shows where the camera system would prefer to place this target if not for constraints imposed by room boundaries. For single-screen-high or single-screen-wide rooms, the area of constraint is a line running down the center of the passage. For larger rectangular rooms, it’s a rectangle in the middle of the room. The camera director is always trying to get the character into the center of the screen when he’s standing still, and to get his future-projected image into the center when he’s in motion.
I have a lot more ideas about the camera, but I’m starting to feel like a crank with this laser-like focus, so it’s time to move on to the next item on my long list of serious issues to fix before the next batch of level design and artwork.