Survive waves of enemies in a test of endurance and skill.
In Brave Little One, players take control of a lone warrior fighting for survival against relentless waves of enemies. The game tests players’ reaction speed, decision-making, and endurance as they level up, acquire upgrades, and fight to stay alive until the final boss battle.
In Project Asylum, you play as an employee sent to verify the demolition of an abandoned mental institution. But things quickly spiral into chaos as the building itself shifts, traps, and terrifies you. Equipped with only a UV flashlight, players must navigate eerie hallways, solve environmental puzzles, and uncover the institution's dark secrets while avoiding unseen dangers lurking in the shadows.
This project refined my skills in GDScript programming, event-driven design, and AI behavior scripting. I gained valuable experience in implementing scalable upgrade systems, designing enemy wave mechanics, and structuring game flow to maintain engaging pacing. Additionally, working on UI elements, game-state management, and level progression deepened my understanding of organizing game logic efficiently.
View key scripts used in Brave Little One.
// HealthComponent.gd - Handles player and enemy health
extends Node
class_name HealthComponent
signal died
signal health_changed
signal health_decreased
@export var max_health: float = 10
var current_health
func _ready():
current_health = max_health
func damage(damage_amount: float):
current_health = clamp(current_health - damage_amount, 0, max_health)
health_changed.emit()
if damage_amount > 0:
health_decreased.emit()
check_death()
func heal(heal_amount: int):
damage(-heal_amount)
func get_health_percent():
return max(current_health / max_health, 0)
func check_death():
if current_health == 0:
died.emit()
Check out the game and my contributions!