OnTheGoose | CameraSystem & EnemySystem
Table of Contents
Details
- Genre: First person Platformer/Parkour
- Timeframe: 15 weeks (20h/week)
- Team: 6 Programmers, 5 Graphics & 3 Level designers
- Engine: "Friendship Engine" 2.0 (custom Engine built with DirectX 11 and uses ESC)
Contributions
- Camera System
- SmoothCamera
- Enemy System
- ProjectilePool
- PhysX
Intro
For this project, I focused on developing the enemy and camera systems. The enemy, designed as a static turret, utilizes raycasting to detect and target the player. Meanwhile, the camera system enhances the gameplay experience with features including a wall-run camera, headbob, and a dynamic leaning mechanism.
Enemy
in this project, the enemies are turrets that fire arrows designed to function as hitscan projectiles. To achieve this, we implemented an invisible orb that relentlessly pursues the player. When the orb catches up to the player, damage is inflicted, and the orb resets to its original position in the list/path. The system effectively acts as a timer that penalizes lack of movement, as the orb's speed and distance from the player are dynamically adjusted based on the player's velocity.
In this design, the accuracy of enemy aim is inversely related to player speed: as the player's speed increases, the enemy's aiming accuracy decreases.
CameraSystem
he CameraSystem is structured around a central function that manages various "camera states." Depending on the player's actions, such as wall running, the function seamlessly transitions the camera settings by interpolating to the appropriate wallrun camera data.
Lean Camera
Wallrun camera
Headbob standing still