Sunday, March 12, 2017

Game Prototyping 5005 - Third person character work

For this last prototype I wanted to do try something a little more simple which involve less design and more focus on diving deeper technically into the engine to and achieving something more polished. For this prototype I wanted to focus on creating a third person controller that feels very nice to play as, allowing me to experiment with animation, camera work and weapons/damage systems. This idea came from the fact that it seemed a majority of mine and Amber's game ideas revolve around the idea of creating a third person game, so making the actual movement and game feel of walking and looking around in third person seemed like a logical step in order to make our final game really interesting. This was also partially driven by the fact that I wish to create an RPG system at some point in the future so creating a flexible character system seemed like a good way to develop a base for it, by implementing a damage system and also by beginning to understand more complicated areas like Animation blueprints.

To keep the process as a simple as possible I followed a tutorial series on creating a third person shooter, which I then customised with my own alterations. Focusing on a more simple design allowed me to refine the game feel, which is incredibly important for making a game feel engaging.

I am going to cover the entirety of my process on this project in this post, summarising each of the things I have worked on. Below though is list of the key parts though in regard to creating a proper third person character controller.

  • Work on developing a switching camera that zooms in to player shoulder when pressing the Aim button, with smoothly transitioning FOV and Post Process.
  • A Player controller that record information on camera direction as well as including a system for switching the states of the player HUD.
  • A shooting mechanic that uses the camera forward vector to get the hit point, a new aim direction is calculated from the Muzzle point on the players weapon.
  • A weapon base class that spawns onto the player at the start of the game based on a array of default weapons, this can be later expanded on with an inventory system.
  • Used default particles, sounds, camera shake and basic UI overlays to add to the 'Game Feel' to make it feel a lot more fun to shoot the gun and blast enemies. Without this the game prototype would feel a little stale.
  • Used physical animation for the first time, which allows actual interaction of skeletal meshes with the environment
  • Added basic enemies with set health, AI following and death states when enough health is lost.
  • Created an actor spawner with a forcefield effect on the blueprint, this is set to spawn enemies every so often unless a limit is reached on the amount of enemies in the scene.
  • Added variable walk speeds to the AI monsters, with a 5% chance of the spawner creating an extremely fast enemy that will sprint at you and make you jump!
  • Added player health and a HP bar in the bottom corner, that reacts to hits.
  • Created a post process 'player getting hit' effect which flashes a red vignette when the player is taking repeated damage.
  • Added a player score card that increases by one every time the player wipes out an enemy. 
  • Added in '+1' UI elements that display over the top of the enemies when they are killed, which include a subtle fading animation.












No comments:

Post a Comment