Game Development

Through Their Eyes

A dark atmospheric 2D platformer where a young girl named Ava navigates haunted cave levels, fights enemies, and survives — built in Godot as a first-year university project.

GodotGDScriptGame DesignYear 1Team of 5

At a glance

Godot

Engine

GDScript

Language

5

Team size

3

Levels

Gameplay footage

Gameplay — Ava navigating cave levels

Overview

Through Their Eyes was developed at Brock University as a first-year group project by a team of five. Built entirely in Godot using GDScript, the game is a dark atmospheric 2D platformer with a hand-crafted horror aesthetic — bare branch motifs, cascading fog, dim cave environments lit by fireflies, and a graveyard-inspired tileset.

The player controls Ava, a young girl who must fight through three increasingly difficult cave levels armed with a water gun. Enemies patrol the platforms and spikes punish mistimed jumps. The game ends with a You Win or You Died screen depending on how the player fares.

Player — Ava

Ava player character
Ava
MovementLeft/right movement with Shift to sprint at double speed. Single jump with Space or Up arrow.
CombatFires water gun projectiles with Left Click or E. Ava locks into a pull-gun animation before shooting.
Health100 HP — loses 1 per enemy or enemy bullet contact. Reaching 0 triggers the death animation and You Died screen.
AnimationsFull animation set: idle, run, jump, fall, pull gun, and death — all handled via AnimatedSprite in Godot.

Enemies

Caterpillar enemy

Caterpillar

The primary enemy type — a ground-crawling creature with a spiked body and unsettling grin. Patrols platforms at a fixed speed and reverses direction upon hitting a wall. Damages Ava on contact.

Boss

Teddy bear boss
Teddy

Teddy is a corrupted stuffed bear and the final threat of the game. Fully animated with idle, walk, attack, jump, and death states, he was designed as the culmination of everything Ava faces across the three levels.

His behaviour follows the same wall-reversing patrol logic as standard enemies but with a larger health pool and projectile attacks, making each encounter significantly more demanding than anything encountered before.

UI & HUD

Through Their Eyes UI sheet
Full UI asset sheet — health bars, weapon icons, level badges, settings, and pause screen
Health bar5 heart-icon health bars that drain as Ava takes damage — broken heart icons indicate lost HP.
Weapon equipTwo equip slots showing current weapon: Water Gun or Melee, displayed as icon badges.
Level badgesLevel 1, 2, and 3 Complete badges displayed on progression screens.
Pause screenIn-game pause overlay with Continue, Settings, and Exit to Menu options.
SettingsMusic and sound toggles accessible from both pause and the main menu.

You Died

You Died screen
Death screen — "The traps helped you reach the end of your demise." Try Again or Exit to Menu.

My contributions

Implemented the Player controller in GDScript — movement, sprint, single jump, and collision handling via KinematicBody2D

Built the shooting system — directional bullet instantiation tied to Ava's facing direction and Position2D node

Implemented the enemy patrol AI — wall-reversal direction logic and move_and_slide physics

Wired up the health system — damage on collision with enemies and enemy bullets, death trigger at 0 HP

Contributed to scene management — stage transitions, You Died and You Win scene routing via change_scene()

Integrated audio — walking, jumping, shooting, damage, and death sound effects via AudioStreamPlayer nodes