Etheri Dev Log#1: New Game!!!
- camjhill737
- Feb 7
- 2 min read
After working on my multiplayer shooter game for a while and having that in a really good place. I thought that my portfolio would benefit more from having a different project on there. This new game is a top down fantasy rpg. It'll have magic, enemies and much more.
At the moment I've just done basic initial set up stuff like creating the player controller creating the character classes etc. I've still learnt a bunch of new stuff because I'm using 5.4 for this project.
Since I'm going to have a player character and enemy characters I created a base character class because all characters will have a weapon so there's a good chance that there will be basic functionality such as a firing cooldown that could be handled in this parent class to avoid repeating code in different places. Polymorphism at its finest.
The setting for my game the player is called Etheri and the enemies belong to a race called Ulgar. In my code Etheri is swapped in for the place of Player, likewise with Ulgar and Enemy. When referring to the player and enemy directly. PlayerController will still have player in it for example prefaced with Etheri.
I learnt about the new enhanced input system it now requires an InputAction and InputMappingContext.

This segment of the documentation helped me understand the benefits of this system whilst you can still do everything that you could with the old system. This enhanced input provides more flexibility and versatility in your players actions and movement.
I created an Enemy Interface class to create my first feature which was to highlight enemies in red when hovering over them. This involved creating two pure virtual functions one for highlighting the enemy and one for unhighlighting. All that's happening in these functions is I'm calling the setrendercustomdepth function and setting the stencil value. To enable and disable the enemy outline when appropriate. You also need to make sure you have a post process volume in your world for this to work as well.
Comments