
Final environment and spider boss.
This project was developed during my second year of university and was my first introduction to Unreal Engine. It features a large spider boss within a cave environment. The fight consists of the spider shooting web projectiles at you, the player must return these projectiles by swinging a bat meaning they need to time their swings or risk taking damage themselves.
This project was my first experience with Unreal Engine which meant I lot of the development process involved learning and familiarising myself with Unreal Engine. I learnt how programmers can use blueprints as well as C++ to quickly develop new classes and mechanics. While my focus was primarily on C++ I used blueprints to create a few smaller features as well as an Inverse Kinematics system for the spider's feet.
Despite my lack of knowledge in Unreal the hardest part of this project for me was the Inverse Kinematics system. I had never created an IK system before and it took a lot of trial and error to get the spider's feet to move correctly as opposed to clipping through the floor or flying into the air. I ended up using a combination of IK bones and animation blueprints to get the desired effect. This also involved doing my own 3D modelling in blender both to create the spider and rig it. This was a new process to me however I enjoyed the creative process of modelling, less so the process of rigging.
The actual boss fight was a lot of fun to create, since the spider had IK the actual movement was incredibly simple, it was just a case of moving the spiders position around the player. The more difficult part was creating the web projectiles, I did this by creating a projectile class that would spawn at the spiders location, then through the use of unreals projectile movement component gave the web a homing effect that disables after a few seconds. This combination of components allows for a projectile that can not only be dodged but also returned to the spider through the use of a sphere cast from the player camera. After syncing up the enemy and players health with UI the final addition I made was to add different stages to the boss, to make the fight get harder as you progress. At each stage 4 things happen:
Final environment and spider boss.
Inverse Kinematics testing by manually repositioning the spider.
First attempt at making a projectile in the game.
First test of spider movement in game.