Bone Hunter is a 2D platformer action RPG game in a medieval fantasy-devastated world. In a world swallowed by despair, players embody a lone hunter courageously battling against malevolent forces, determined to vanquish the darkness and restore order.
Amidst an atmosphere of tension, players explore immersive maps, skillfully switching between weapons using a weapon wheel. They strategically assemble their favorite weapon combos to unleash powerful attacks, overcoming formidable enemies.
engineering
technical design
DOWNLOAD
ROLE
Lead Programmer
Game Designer
Technical Artist
DURATION
01/2024 - Present
TEAM
25
TOOL USED
Unity | P4v | C# | Confluence| Hansoft
Humans will never lose their hope, even if they fall into deep despair ✦
Humans will never lose their hope, even if they fall into deep despair ✦
overview
As the project's lead technical designer and programmer, my primary role involved taking over the codebase from the previous development team. I comprehensively understood the game's coding logic and framework, ensuring that every technical team member knew how to access the parts of the code they needed to work on. This enabled the integration of new combat mechanics and enemies into the game.
Through communication with the previous programming team and collaboration with animators and technical artists, I program these concepts into functional game systems with my technical group. I worked closely with the team to ensure a seamless integration of these mechanics, while perfectly capturing the artistic vision of the animators and VFX designers.
My responsibilities extended beyond coding. Leveraging my keen sense for action feedback design, I aimed to refine and enhance the overall gaming experience, focusing on a smooth, satisfying combat feel and exhilaration.
Responsibilities
Enemy AI
Fire Knight AI
UI Programming
Weapon Wheel
Player HUD
Combat System
Shotgun Weapon
Attack Combo
Attack Feedback
technical design
enemies ai
Shotgun weapon
Following the AI logic loop outlined by the game designer, I have successfully implemented its running logic within the animation state machine.
Skill 1: Strike
Trigger: when the player is close to the enemy
Strike downwards with a long spear to attack the target in front.
Skill 2: Dash Attack
Trigger: When the player enters the Dash Range
Sprint, charge forward rapidly. Dash attack: It features three phases of damage—at the start, during, and at the end of the dash.
Skill3: Sweep
Trigger: when a player is behind the enemy and in the Sweep Range
Sweep horizontally, turn around, and cause damage and knockback to the surroundings (left and right).
Defining States: For each state identified in the planning phase, create corresponding states in the unity.
Configuring Transitions: Set up the transitions between states, specifying the conditions under which these transitions happen.
Linking to AI Control: Ensure the animation state machine is responsive to the game's control system. For instance, when AI does the melee attack, the fire knight should transition to the "melee attack" state.
fire knight ai
Mini Boss with three different type of attack
Player combat & interaction controller
Shotgun weapon
To accommodate both controller types, the Unity Input System's action mapping feature is utilized, providing a flexible framework that translates player inputs into game actions.
This system not only simplifies the integration of diverse control schemes but also ensures that the game's interactive elements are accessible and responsive.
In the development of our game, which supports both keyboard and gamepad inputs, we've leveraged the Unity Input System to ensure seamless compatibility across both controller types.
This approach allows for an inclusive gaming experience, accommodating players' preferred control methods. Within the technical documentation for the player controller, actions are meticulously categorized into 3 primary groups to cover the game's full range of interactions:
Movement
Attack
Interaction
engineering
combat Feature
parry attack + metal fatigue
Record the number of attacks to unleash the corresponding combo attack animation.
Activate bullet time when opening the weapon wheel, and deactivate bullet time after successfully switching weapons.
combo system + weapon wheel
attack movement
When the player attacks while pressing the move key, the combo allows for player displacement.
Additionally, the displacement parameters are attached to the animation, ensuring a perfect match with the animation actions.
To enhance the combat experience, I've incorporated the following feedback mechanisms:
Special SFX: When players hit an enemy, a special sound effect is played.
The enemy gets hit VFX: Enemies flash with a white light effect upon being struck.
Camera shake: player attacks cause varying degrees of camera shake (lighter with light weapons, heavier with heavy weapons).
Successful parry effect: a successful parry of an enemy's attack triggers special VFX and sound effects.
Dead enemy’s particle effect: When players defeat an enemy, the enemy's body explodes into a large amount of blood plasma with a physics-based particle effect.
combat feedback
After attacking a certain number of times, the player's current weapon enters a state of metal fatigue, significantly reducing the attack speed.
At this point, players can parry enemy attacks by switching weapons at the right moment, thereby restoring the metal fatigue value of all weapons.