Dev Log #003 Echo's of Salvation
- Oliver Creese
- Mar 5
- 2 min read
Weapons, Animation and optimization. Lots of background work to make the development easier.
Weapons System
I have been working on all aspects of the weapon system from inherited trees for weapon pickup and firing logic to animating the weapon on the player and adding particle effects to the weapon. The weapons inherit from a pickup/interaction base class that will be used for all pickup items in the game. After this they inherit from a weapon base class which predefines a lot of important variables and components that will exist across all weapon instances. Using this system will make it much easier to add new weapons to the game as well as other pickup items. The weapons use interfaces to send messages from the player controller to the weapon blueprint to initiate the firing logic on the weapon and for the interaction logic. The system currently allows the player to equip one weapon at a time dropping the currently equipped weapon when picking up another.
Animation
I am learning about creating my own animations in the editor using control rig and the third person character template as a base for creating the animations. I started off small with some simple idle pose and shooting animation and eventually had a go at a weapon inspection animation. I messed with the sequencer curves to make the animation seem less robotic and I think it turned out quite good. I will be using this current methodology to create all the player animations for each weapon as I implement them.
Particles
I delved deep into the Niagara particle system to create a muzzle flash and laser particle for the projectiles. I learned that the best way to model effects is to create meshes that would render the materials on the effect. I hopped into blender following a tutorial and made some simple meshes that with the correct UV mapping and textures made a very good looking effect. I will be using this newfound knowledge to create further particle effects in the game.
Object Pooooooling
I have implemented the object pooling technique using a modular base class and actor component for the projectiles. Undoubtedly there will be a lot of projectiles in this game so instead of doing the normal spawn actor and delete I wanted to save the CPU of my future players and pool all the projectiles and give them logic to move them into position when needed and be out of sight and out of mind when they have been used or expired. This class is modular so I will use it for other things that will be in abundance in the scene such as enemies and ammo drops.
Current State of The Game
In the current state of the game I would say we are on track as now all the weapon system logic is in place I simply need to design the weapons themselves. My partner has developed some AI for the game which I am excited to start playing with and have some combat in the game to really pull things together. Here is a short video of the games current progress
Комментарии