My Shooter Mega-Mega Challenge Progress

As a follow up to my first mega shooter showcase: Added "Enemies Left" to the HUD I’ve still been plugging away adding features trying to work at least 1 hour a day on the game.

As a companion to the Unreal C++ course, I’ve found Stephen Ulibarri’s course https://www.udemy.com/course/unreal-engine-the-ultimate-game-developer-course very helpful in providing me ideas for my game. I see now he is part of the GameDev.Tv team :slight_smile:

I also found using Trello and a Kanban template along with the Chrome/Brave extension Trello Plus insanely helpful in keeping my project organized and tracking my time so I get better at estimation which will be important for my future projects.

Once I get through my MVP features want to share a build.

Features Implemented

  • AI behavior improvements: Patrolling, react to fire, searching, taunts you after killing you
  • Camera shake when hit and slight when shooting (inspired by toon tanks)
  • Silly homemade sounds for hit and death of enemies
  • Adding crouch and animation - AI can crouch as well
  • Gun Recoil - adds random offsets to aim after shooting. Tweakable so guns with bigger kick can have bigger recoil
  • Main menu with New Game, Continue, Exit
  • Controller support in menus: HOW to CREATE a GAMEPAD Menu Unreal Engine 4 - YouTube
  • Location specific damage (i.e. headshots) - [Tutorial] Implement locational damage (headshots) - #2 by tryfinsigabrt
  • Pickups for health and ammo (tied to gun type) - originally inspired by Stephen’s course
  • Enemy and item spawn system (Inspired by Stephen’s SpawnVolume class) - Spawn N items of a type in M different possible locations
  • Ammo for gun and reload mechanics (sounds, animations) - Penalize player for early reloads by discarding the remaining ammo in magazine when swapping in a new one. Used Mixamo for the reload animation and had to hack it with animation tracks as the “weapon bone” was translated and rotated weird after import: Editing Animation Layers | Unreal Engine Documentation Used an animation montage described in Stephen’s course and then this insanely helpful tutorial to blend just the upper body reload animation with existing locomotion: How To Blend Animations In Unreal Engine 4 - YouTube
  • Save games with auto save. Inspired by Stephen’s Save Game section. I created a SaveGame abstraction triggered from game mode and then have an AutoSave actor I can drop into world that saves during non-combat sections in game after a cooldown period. This then integrates with the pause menu via (reload checkpoint) or from “Continue” in main menu

In Progress:

  • Adding pistol and assault rifle and weapon switching mechanic

Todo:

  • Scoring system and high scores and ability to post to a central server (Plan to stand up a NodeJS lambda, Dynamo DB, and then have an API Gateway endpoint to post. Use a checksum on saved games as well as encrypting the payload at rest to discourage cheating - not perfect but at least defeats proxy and relay attacks)
  • Announcer sound effects - Use Paragon announcer assets
  • Multiple levels (5) with 4 waves of increasing difficulty in each for a total of 20 total zones
  • Polishing and other bug fixes
2 Likes

Very in-depth. I love how you labeled all the features you added. This is actually giving me ideas on how to organize how I complete tasks for my project. Also I never thought about using trello to store my tasks. Thank you for this post.

1 Like