The Legend of the ULTRABIRD
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
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
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