Project Peppermint is a Survival-like game where you gather resources, craft new equipment, earn powerups, and defeat enemies. Each enemy that is faced gets more dangerous, and the gear you have must increase your combat ability to survive. Once you can beat all the bosses, you get to see your game statistics and can try to improve your time or try to complete the game using fewer resources.
We want those who play the game to understand that this game does not take itself seriously. You are meant to have fun, see some craziness, and enjoy your time.
My Focuses
Main Menu
The main menu went through several different iterations. We started with a blue background, the game’s logo was plastered on the screen, and just buttons in view. Minor changes were made as the artists game new assets to be implemented. Near the end, I decided we should add some background to the buttons. Everything else had a wooden panel it sat upon, so it was implemented here. Then, the background felt flat, so adding a rolling camera into the world helped with a couple of things.
The game world gets loaded, and the assets get populated from the procedural generation areas. When the player starts the game, there is no delay. The game is ready to go immediately.
The player now has the opportunity to see what the world is like. How things are set up gives a feel of when the world and its activities, ideally some minor goals for the player, are set for themself.
Health System
While trying to ensure things stayed modular. I made a singular health component that is shared amongst all of the actors that need health tracking. This cleared up the project from cluttering and having the same logic held inside each actor so that I could change from one space to another. Ideally, the next time I tackle this, I will use the same route for the health component, then divert to making child classes for each of the different actors that need it. Since it changed, I created functions specific to the enemies for their spawn health. This does not need to be on the Player or the resources.
Inventory System
The initial framework of the inventory was not my idea. I followed a tutorial as it was the first piece I made for the project. After finishing, I delved off on my own. Create a separate inventory system for the Powerups and create a hot bar. Adjustments were made to the original framework to incorporate searching for specific items, changing how many things are processed, and sorting objects into the inventory and Hotbar. I then found out that there was no error handling if the inventory became full. This caused items to be destroyed without the player knowing. So, I manufactured a way to notify the player to fill any space that could be filled and then leave the remaining amount where it was previously.
Enemy AI
Animations
The implementation of animations was rough. Small things keep getting in the way of making things work, from skeletons not having the typical naming convention to finding space to blend the animations. The end product came out reasonably well but still has room for improvement. The aim offset was also causing issues for the better part of the project. Now, the player can aim and attack in the direction they are facing, allowing them to strike enemies that are short or up high alike. After taking this task, I’m, going to learn about IK footing and root motion animations.
Artist Collaboration/Feedback
Day and Night Cycle
Enemy Spawner
Animal AI