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 Roaming 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.

Combat Camera - Getting Hit

Combat Camera - new enemy


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