top of page
UI_MainTitle.png

DESCRIPTION:

  • First person survival-horror game.

  • Made in Unity.

  • 15 weeks project made by the students of Le Campus ADN in 2020-2021.

  • Team size of around 32 students from different programs (Level Design, 3D Modeling, Animation, Sound Design).

RESTRICTIONS:

  • Team project.

  • Follow the Level Designer's intentions.

  • Production time allowed: 6 weeks.

  • Responsible for scripting the boss fight, the loot system, interaction system and various small other elements.

CHALLENGES:

  • Rework after playtests feedback.

  • Participate in scrum meetings, have a global vision on the project and being able to collaborate with the other departments.

  • Document and develop a bug report platform/pipeline.

  • Dispatch tasks among the scripting team.

BOSS FIGHT

PHASE 2: DASH

  • New state added to the boss's state machine (Dash state).

  • At the start of phase 2, the boss AI will land in front of the player in a predetermined waypoint. That specific waypoint changes after the initial dash for each following cycles of the boss.

  • For each following dash, the boss registers the player's position right before landing and faces that direction. This assures that he will dash towards the player if he/she doesn't move out of the way.

  • The dash duration is fixed but can be shortened if the boss is close enough to the player, in which case he will stop dashing and attack the player using its slash attack.

PHASE 1: 

  • Use the already made boss AI (using a State Machine) and modify it for the boss fight.

  • Once a valve is activated: Update the boss's target to the breakable bench closest to the valve.

  • All breakable benches are stored in a script, each being assigned to a specific valve.

  • Once the boss is close enough to the bench, he will do its melee attack animation, the "bench breaking" VFX will start and the boss will go back to its previous state.

  • All breakable benches were made as NavMeshObstacle so that the boss wouldnt go around an invisible obstacle to reach the player once the bench is destroyed.

PHASE 2: DIVE/TREMOR

  • New states added to the boss's state machine (Perch state, Dive State).

  • Invulnerable while on its perch.

  • While standing on the perch, the boss will choose three random waypoints. Those waypoints are stored in a list and are shuffled around each time the boss goes back to its perch. He then chooses the first three waypoints on the list.

  • He finally chooses one waypoint among those three as its final dive location.

  • VFX integration to let the player know the possible landing locations. A different longer VFX is chosen for the final location.

  • The boss will then enter its dive state, dive to its chosen location and start its tremor attack.

  • The tremor attack will register the player's position on spawn and move in that direction for a fixed amount of time or until it hits the player, damaging him/her.

  • The same tremor GameObject is used during the whole boss fight and is enabled/disabled rather than destroyed and instantiated everytime, to help with optimization.

PHASE 2: BOSS DAMAGE

  • During the most part of the phase 2, the boss can be damaged by many tools used by the player (crossbow, bombs, etc.) for regular damage (fixed damage value). 

  • When the boss is finished with his tremor attack, he becomes vulnerable (shown by his weakpoint VFX that starts glowing) and can then be damaged for critical damage (higher fixed value).

  • If the boss is not damaged during is vulnerable state, he will restart his cycle by taking flight then landing again in its dash state.

  • If the boss is hit with critical damage during is vulnerable state, he will initiate its "falling rocks" attack.

PHASE 2: SCREAM/FALLING ROCKS

  • Once the boss is damaged in its vulnerable state, his vulnerability ends, starts screaming then flies away. This triggers the camera shake effect (in the avatar master state script, which keeps track of many things, including its health).

  • Implementation of the falling rocks VFX (by collaborating with the VFX department) for a fixed duration.

  • Implementation of player damage if the rocks fall on the player (fixed value).

  • Once the attack is over, a function in the boss's script is called, resetting the boss's cycle (landing then going to its dash state).

BOSS PHASE 2 FLOWCHART

YES

YES

YES

NO

NO

YES

NO

YES

NO

YES

NO

YES

YES

NO

boss flowchart-Page-1 (2).png

CODE EXAMPLES

LOOT SYSTEM

LOOT SYSTEM:

  • Weight-based loot system using scriptable objects.

  • Once the player interacts with a pouch, chest or any lootable item, it will then generate items randomly.

  • Exposed the weight values to help the game designers decide the ideal global weight for each items.

  • Option to turn off the randomized loot and let the designer pick which item would appear and how many.

  • In the game, the player unlocks new crafting recipes, so it was important to add the crafting ingredients of the newly unlocked recipes to the loot table so the player can start looting those items.

  • Working with the scripter tasked with the inventory system and the person in charge of the UI, we made sure that every part of those systems could communicate together and work correctly.

LOOT SYSTEM FLOWCHART

YES

NO

NO

YES

YES

NO

YES

NO

NO

CODE EXAMPLES

bottom of page