top of page

The Legend of the ULTRABIRD

Ultrabird 2

In this 2D action roguelike, upgrade yourself and become stronger in order to defeat hordes of hungry birds as you try to reach past level ten.

​

This project was my team's submission for the final assignment of my university's Game Development Experience class. It marks my third time collaborating within a small team to develop a game, following Roofer and To The Bone.

​

This game was built using the Phaser JavaScript library, with all development done in Visual Studio Code, rather than the Phaser Editor.

Role​

Programming Language
Game Engine
Team Size

Platform(s)

Development Period

Gameplay and AI Programmer

JavaScript
Phaser
3

Browser

May 2024 - June 2024

Roguelike Gameplay

Implemented core gameplay systems, including enemy spawning, procedural upgrades, and level progression

Ultrabird 3

Aspects:

  • Level one starts with a single enemy and for each level after two enemies are added

  • The type of enemy spawned and where they spawn are random

  • Upgrades are represented in the game's code as JavaScript objects, making them easy to create and modify

  • Upgrades have a chance (weight) attribute, which the designer can set to whatever they want and let the code handle the math

Ultrabird 4

Enemies & AI

Programmed various enemies and their AIs using state machines, object pooling, and object-oriented programming

Features:

  • Enemies randomly wander around the map until they spot the player

  • Upon spotting the player, an enemy will become surprised for one second

  • When an enemy gets over being surprised, they will aggro the player

  • If the player moves away and the enemy loses sight of them, they'll go back to wandering

  • All enemies share the same base class
     

Duck:

  • Chases the player for a duration of time

  • If they player stays out of attack range for the duration, then takes a short rest before chasing again

  • If the player enters attack range during the duration, then winds up and attacks before chasing again
     

Pigeon:

  • If player is too far, moves closer for a better shot

  • If player is too close, moves away for safety

  • After moving three times, fires three projectiles
     

Roadrunner:

  • Prepares a charging attack

  • Charges in the direction of the player, damaging them and knocking them back upon hit

  • When the charge ends, initiates a 360 degree attack around itself

  • Has the ability to combo its charge into its 360 degree attack by knocking the player back into the place where the charge ends, which then makes them get hit by the 360 degree attack that follows

bottom of page