Devlog 7: Finishing Touches


This week's development was all about addressing the feedback we received after the testing session last week, and finalising the prototype for a final pitch next week. Yippee!

As mentioned in the previous devlog, we only had so many time to appease all the wonderful feedback we received, so we decided to focus on the elements that are vital to the game's playability and atmosphere. This includes re-adding enemies alongside their mechanics (i.e., attacking, taking damage, and dying), which will greatly elevate the prototype's gameplay.

Modelling

With not much time to spare, Athen was able to supply a model that they created previously. The main job was adjusting the model's armature, as it was not suitable for animation in its current form; it required inverse kinematics (IK), which help to create realistic joint logic. It would allow the model to move smoothly and naturally. By implementing IK, we could ensure that the character's limbs and joints would behave realistically - or as realistically as we could make it; we are still beginners, after all!

But, a problem occurred. Initially, once the IK was added to the model, the foot would remain stuck on the floor, at Z = 0. Some online forums suggested that the weights needed to painted onto the model. Painted weights control how much influence a bone has over different parts of the mesh, ensuring smooth and natural movement. But, alas, we tried to paint, and it did not work in our case. 


The problem of the foot's edge or vertex being stuck to the floor. Created by Athen and Georgie.

Our modeller decided to redo the armature from scratch, which ended up fixing the problem. Though there may have been other underlying problems, one of the key bone constraints, "Copy Rotation", was missing. "Copy Rotation" makes a bone mimic the rotation of another bone, ensuring coordinated movement. It is possible that the ankle, where the IK was applied, did not have the right settings. When in doubt, start from scratch - there may have been steps that you missed!


The fixed foot, remedied by redoing the model's armature. Created by Athen and Georgie.


The enemy's death animation. Created by Athen and Georgie.


Enemy punch!!! Created by Athen and Georgie.

Enemy Mechanics

With the enemy animations completed, it was time to finalise the enemy mechanics. Our technical team reviewed the animations, and once approved, they were add to the Unity project to be used for different enemy actions - walking, idling, dying, and attacking.

Firstly, we adjusted the enemy's sighting distance. Too wide, and the enemy would detect the player from across the whole map, breaking immersion; too narrow, and players would be overwhelmed by an enemy. We fine-tuned this, taking into consideration things like the lighting and the size of the rooms. At this stage, we could also implement the planned enemy locations. As a horror game, it was ideal to place the enemies in blind spots, intended to startle players and make them spring into action. These blind spots would include corners, narrow hallways, or places behind walls.

We also programmed scripts for enemy encounters. Once within sight range, the enemy would begin walking up to the player (with the "walk" animation), switch to the "attack" animation, and take away the player's health if the punch connected.

Leave a comment

Log in with itch.io to leave a comment.