New camera system!


So it's been a few days since my last somewhat significant update. The last one was a quick experimental push to allow someone to test the game, so I don't really count that. I've been hard at work revamping the camera system in order to respond to player feedback, which has also left me on a slight detour into adding a settings and pause menu into the game.  Lets top it off with a brand new, fully animated and textured player model! I've added an afro and glasses to the player model to help give you a better sense of which way is forwards.

The new camera system has been a lot harder to implement than I originally thought it would be. I think this iteration is perhaps my fifth or sixth rewrite of it but it's slowly coming together. I'll add or remove parts of it as the need arises, although one feature I want to add into it is increasing the pitch slightly when you're coming close to an edge. This'll help you see how close you are to the edge, along with giving a better perspective of the obstacles that lay ahead of you.

CHANGELOG

Features added:

The player model has been updated to accompany the new camera system. There was a dire need for a better sense of which direction is forward. This change is both fun and functional and has honestly made me giggle more times than I'd like to admit.

New Camera Control System:

Completely reworked how the camera controls operate. The position of the camera is now derived from three values. Distance, pitch (up/down) and yaw (left/right). Some simple trigonometry allows the game to calculate the position of the camera from these. Fun for you, but not for me.

A first iteration for camera obstruction detection has also been implemented. If an obstruction lies between the derived camera position and the player, then the camera will attempt to steer its way around this. It's not quite perfect yet, and sometimes decides to just clip through walls but hey, it's a start.

Currently, there's two types of obstruction detection which have been implemented. 

  • If an obstruction lies directly between the camera and the player; the camera will reduce its distance from the player to lie on the other side of the obstacle. While mostly working, there seems to be a few scenarios where it decides to not pull in.
  • If an obstruction lies slightly to the left/right of the camera, the camera will pivot around the player, away from the obstruction. This is to prevent some situations where you walk around a corner and there ends up being a huge wall in the way.

Obstruction detection is halted for 3 seconds if you decide to move the camera. This is to prevent the automated system from attempting to fight control away from the player. YOU HAVE PRIORITY!

Pause Menu:

Press P or Escape to pause the game. This is mainly to allow you to adjust settings during gameplay. Not quite a "true pause" as things still move in the background, but currently that isn't really an issue and is quite a simple fix.

Settings Menu:

  • Added a settings menu, which allows you to currently control 3 settings which are stored across play sessions. It's a little buggy at the moment (the title and back button seem to not be scaled correctly, this'll be fixed in the next update). These settings are as follows:
    • Invert Camera X/Y. A QoL feature really, some people prefer having these axes flipped and why would I exclude you from the game because of this.
    • Camera sensitivity. Allows you to adjust how fast the camera will rotate around the player character.

Files

burst.zip 31 MB
Jul 13, 2021

Get BURST

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.