Hi, I am River! I am a game programmer studying in Belgium, especially insterested in gameplay and AI programming. I love implementing fun game mechanics and systems and enjoy learning new things in the process.
<aside>
I created a basic 2D game engine and implemented some Galaga levels in it. This project gave me a much deeper understanding of how game engines work. In the project I had to make some design choices for my engine, such as:
SDLSoundSystem:
GitHub - RiverHillbug/FluffyEngine: My custom 2D game engine for Programming 4.
<aside>
I was given a starting code that had the basic layout for a survival game, consisting of different types of enemies, consumables, buildings, and a player character agent. My task was to implement the behaviour of the agent so that it survives as long as possible. I implemented GOAP for my agent because I was very interested in learning an alternative for state machines.
EnemyInfo data, we had an EnemyHash variable, which looked perfect for my use. However, after implementing the memory system using it, I realized that the hash value was generated based on the enemy’s current data (including position), rather than only once per enemy.
Time being short, I had to prioritize other areas and did not have time to implement a better solution, but I was able to make good use of the memory to keep track of enemies no longer in sight, so the agent could keep running away from an enemy it could not see anymore.GitHub - RiverHillbug/SurvivalGOAP: My GOAP implementation for survival game agents.