Dynamic Camera System - AlexisBliesener/Bewitched GitHub Wiki
Status:
- Concept
- In development
- Playable
- Finalized
Description
What is the mechanic or system?
Defines how the camera moves, frames the action of the game. This helps the player navigate the game world, and hints towards what they should do
Design Intent
What purpose does it serve?
Allows the player to focus on the navigation or combat at hand. While playing on controller, the player should not need to think about the camera much at all
Controls & Input
How does the player interact with it?
- Works in several distinct "modes"
- can be manually moved with the mouse, resets to default y position when the character moves
Exploration Mode
- Default camera mode when no enemies are active
- Provides a clear view of what the player is looking at
- Over-The-shoulder view
- Rotates around to keep the character's back in view when moving left or right, allowing them to turn corners without manually moving the camera
Aim Mode
- Active while a player is aiming an attack, such as Possession
- Similar or same camera angle as Exploration mode - potentially more zoomed in
- does not rotate when player moves left/right
Combat Mode
- Active while enemies are able to attack the player
- Zoomed-out view of a battle
- Most dynamic camera mode Camera moves:
- When a player gets hit, center the enemy that hit them (highest priority)
- When there are no enemies next to the player, or when nothing else is affecting the camera, turn the camera towards the next important enemy
- What enemy is important? Try: Nearest, then priority que (if that doesn't feel good).
- Rotate when moving Left or Right, same as Exploration mode.
- When a player is attacking an enemy, nudge the camera to center the enemy getting hit (lowest priority)
- nudge more when the player is jumping towards an enemy from further away
- When the last enemy is defeated, zoom in and slow down before transitioning back to main camera.
System Interaction
What other mechanics or systems does this connect to?
- List all systems
3rd Person Character Controller: Used on the player controller
AI Enemies: Enemies may need to slightly tweak how the camera behaves
Success Criteria
How do we know itโs working?
List what a "good" implementation looks like:
- Feels responsive and fluid
- Intuitive for players to use
- Responds to player expectations
- Player should not need to touch the Right Stick during combat