Dev Log 3


Introduction

This is the third and final development log for the development of Ethereal Fortuna. This development log was started on the 11th July and ended on the 1st August.

Harry

July 15th: Created a new struct for the quest tracking info which, at this point contained integers for the number of weapons picked up, number of items picked up and number of enemies killed. This struct is then used inside the loading and saving system to save the progression of the player's quests as well as their status and name so that any progression the player makes towards a quest is also saved.

July 16th: Enemies now have a 50% chance to drop their weapon on death instead of a guaranteed chance. Fixed the player damage multiplier since there were various issues with it since I had forgotten to pass this is a parameter in various places so enemies were taking 0 damage since the damage they were supposed to take was being multiplied by 0. Fixed an issue with the weather changing collision boxes since they were not correctly changing the weather when overlapping with the player since they were only changing the weather when the overlapped component was also the crosshair widget. So this is now changed so it only changes the weather when the overlapped component isn't the crosshair widget and the other parameters are also met. Fixed the issue with the player render not having the correct unholstered position for their weapon which was changed by making the weapon that the player render has be equipped in the construction script of the player render which fixed the issue.

July 18th: Began the implementation of Charlie's enemy AI into the main project. Got the majority of this working and using the existing systems that were already implemented.

July 19th: Got the designation of melee or ranged attack for enemies fully implemented and working as intended so that the enemies don't glitch out when using the spear for example which is technically a ranged weapon since it can be thrown. Enemies can now aim vertically and adjust based on the player's position using the same blend space for aiming animations as the player. Altered the visuals of the enemy health bar to be smaller in height and then also attached to the enemy's head bone in the mesh. Also stopped the enemy health bars from rotating to the player's camera once the enemy is dead. Fixed an issue with enemy weapon durability by setting the dropped weapon on enemy death to have the max durability as this was causing issues when the player picked up the dropped enemy's weapon. Once again fixed the weather change collision boxes this time changing the collision preset of the collision box to only overlap the player pawn fixing collision issues for this. Changed the arrow mesh to be thinner. Commented various code in the enemy blueprint, player blueprint and some UI blueprints.

July 20th: Fixed an issue with ammo visibility when spawning into the game with a ranged weapon, so the correct ammo type and amount shows in the HUD if the player spawns with a ranged weapon. Starting a new game now deletes the previous save data. Organised a folder for maps. Weapon render can now be rotated vertically as well as horizontally when clicking on the rotatable render for a weapon and moving the mouse vertically.

July 21st: Organised levels into a singular folder for easier access and use.

July 22nd: Fixed a small issue with the outline material of interactables. Now when the player exits the overlap of a interactable the outline is updated automatically to be unselected so that removes a small issue with the outline not being set unselected after the player leaves the overlap.

July 24th: Fixed another small issue with the weather change collisions for ending the overlap. Added an option for the weather change to be permanent and not return back to the original. Fixed an "error" with deleting the previous save data by checking first to see if the previous save data is valid. Increased the mass of weapons and items. All play sound at locations now have the correct sound attenuations. Added a check on projectile traces to check if the out hits is empty before doing the other checks. Increased the size of all projectile traces by reducing the amount of division for the box extent for projectile traces. Added footstep notifies for all locomotion animations from the other locomotion animations that already had them and then also added the correct sound attenuation for the footstep sound.

July 26th: Added the level and all associated assets into the project for the most recent version of the level at this point in time and uploaded the level and all associated assets to Github across 15 different commits and pushes. Copied all required actors from the development level into the new level and organised the level into folders in editor including categories: level, enemies, items, weapons, and checkpoints.

July 28th: Properly setup the editor startup map and the execute startup map for the new landscape. Added the floor back to the development level since it got accidentally deleted when moving the level assets in. Greatly reduced the number of particles for the checkpoints. Implemented world partitioning and working. Set all required actors to not be spatially loaded so that there are no errors with required actors not being loaded in. Also set the big tree in the level to not be spatially loaded since it should be able to be seen no matter where you are on the map.

July 29th: Placed lots of weapons, items and enemies with their patrol routes into both of the main areas of the world partitioned level. Changed the different move speeds of the enemies to be slightly higher so that they move faster when in combat and also when patrolling their routes. The majority of enemies have patrol routes with only a couple being stationary in the map.

July 30th: Renamed all the maps and fixed up all the redirectors.

July 31st: All enemies in the level now have different types and different levels depending on where they are on the level, to help scale the difficulty of the level the further the player progresses in. Changed some of the NPC dialogue. Weapon durability for weapons in the world is now set to the max durability. Changed some of the locations of the patrol routes to be not as high above. Made the AI find the a random reachable point in radius of the patrol route so the height of the patrol route above the ground doesn't matter. Enemies no longer perceive the player when the player is on the camera spline. Added the L system trees to the development level.  Fixed the player "randomly" dropping their weapon which was the enemies "breaking" their weapons that was calling the method to drop the player weapon. Added a blocking volume for the water so not falling through the water now. Changed the visibility of various collisions and arrows to not be visible and also changed all traces to not be visible for the actual trace. Added an L system tree to the main level at the back of the dead tree area.

1st August: Fixed the enemy ranged weapons to actually attack properly since the behaviour tree task was resetting the bool parameter that determined if the attack was ranged. Removed the delay on charging the ranged attack for enemy ai. Slightly decreased the player walk speed and drastically decreased the player sprinting speed. Backup delay on the attack task that will finish the execute incase the attack fails and glitches for some reason. Fixed the fists hitbox since they were incredibly small for attacking. Added in a gem item and used one of the gem models. Created a game complete popup widget and a game complete widget so the player can now complete the game if they want after they pickup the gem in the world and then go to the fountain and interact with the fountain. Item static mesh (what handles the physics of the items) is now hidden in game so it cannot be seen in any cases. Changed the starting position for the aiming trace so that it isn't as easy for it to be blocked by foilage.

Ben

July 16th: I implemented the scythe abilities functionality. The player starts the combo finisher animation and when the "Hit Begin" notifier activates, VFX spawn in that simulate thousands of slashed appearing around the player, Inspired by Jujutsu Kaisen's "Malevolent Shrine".  Rapidly slashes the enemy dealing huge AOE damage. Has sound effects in a while loop that repeats until the attack ends to simulate the sounds of thousands of slashes. Still need to look at Stamina loss and durability. 

July 17th: After implementing the Scythe Special ability, I decided it would be useful to use varying invincibility frames depending on what attack was used. For example, when using the scythe, I wanted the player to feel like they were rapidly tearing through the enemies around them, however since the I Frames were so long previously, it did not have that effect. 

The weapon Data table now has 3 extra pins, Inv Frame, Inv Frame Special, and Durability loss. Durability loss needs work still, but allows I frames to be adjusted really easily. Can now modularly adjust the I Frames granted by each weapons attacks. I scaled the dmg down significantly on the Scythe special in exchange for the I frames granted being dramatically shorter. Feels good to use now. 

I added a cooldown to the scythe now of 15 seconds, and I also created a Blood FX that spawns in whenever the Player or Enemy are hit. 

I then implemented walking sound notifies to the player and enemies animations. 

July 24th: I added a heavy attack to the scythe. All of the weapons and combat systems are now complete. 

Charlie

July12th: I wanted to set up a ranged enemy type so I took the time to set up one for testing purposes to i got the asset of the gun and attached it to the player to align it and set it up ready for working on and testing. I made made more blueprint that i can update the original enemy to be more basic and have stuff that both type will require, i made a ranged and melee one behavior tree and blue prints that will have stuff that only that specific character will require and made the original ones more generic so that it can be linked back too.

July 16th: I had to make sure the enemy would equip the weapon and so I therefore got the animations to draw the weapon and the likes of reloading and inserting the sound and attached them to a blend space to work. I had to go and make sure the melee class had everything in it that they would need and make sure when needed it linked back to the basic AI blueprint and behavior tree.

July 17th: I shared the behavior tree functionally between the enemy types and took what was needed out of there and put them in the appropriate subtree that would influence the action of that specific enemy type.

July 18th: I worked on updating the ranged enemy behavior tree by adding an evade and attack branch, this included focus target, set movement speed, run EQS query, a move to, wait and default attack, i don't this so it would strafe around the player then get a shot and go back to strafing.

July 19th: I set up a new EQS that was a grid and made it so the closer parts to the player are unavailable so the ranged enemy would therefore keep its range when attacking and shoot from a distance, i then attacked the EQS to the behavior tree i ran yesterday and tested whether it worked and it did. Now within my Attack target EQS i have a path exist that blocks out unreachable areas, a trace on visibility that fins areas that aren't visible for healing and a distance to that makes the AI keep his distance while attacking and a distance to, that makes it so that the AI will choose the closest possible options that aren't too close to get ideal range.

July 22nd: Today i set up a shooting for the function so that when the enemy attacks they actually shoot and play the shooting montage with the affects and a line trace to make it hit the player if there's nothing blocking the shots.

July 23rd: I worked on maintaining the line of sight between the player and enemy so that when its moving in between points it will also get to a viable place where they can shoot the player and the only time the shot wont his is if you get out of sight as they take the shot, i set up a decorator on the evade and attack to make sure the enemy can see the player and this worked. I also set up a move to line of sight branch that will be active if the other fails.

July 24th: I had to go back and make sure the heal while hiding worked so i had to fix the blueprints and find out what was causing it not to work and i found out i needed to make a custom event for it and then add it to the main set of nodes and after doing this it worked and i found out that when hiding and healing the enemy would go to about 65 health.

Art and Animators

Get Ethereal Fortuna

Leave a comment

Log in with itch.io to leave a comment.