First CS Project · Processing PDE
NYU Freshman Survival Maze Game
A small educational maze game I built in Processing after taking my first computer science course.
Overview
This game was designed as a playful way to help incoming NYU students learn about campus resources. The player navigates through a library maze while avoiding monsters that represent common freshman-year challenges like homesickness, academic stress, mental health struggles, and time management.
It was written in Processing (PDE), and it was my first real experience building something interactive from scratch.
Gameplay
The player uses arrow keys to navigate the floor, avoid enemies, and find the exit. If the player gets too close to a monster, the monster begins chasing them. If the player is caught, a message appears with information about a relevant NYU support resource.
Gameplay demo from my first computer science project.
Design Choices
Flashlight Effect
One of the main mechanics was a flashlight effect where the player could only see a small area around them. It made the maze feel more unpredictable, but it also reflected the idea that challenges during freshman year can feel like they appear out of nowhere.
Randomized Layouts
Instead of manually designing one fixed maze, I randomized the positions of blocks and enemies after each restart. That way, the player would face a slightly different floor each time they played.
Educational Monsters
Each monster represented a different challenge students might face during their transition to college. The monsters were implemented as subclasses of a parent Enemy class, making it possible to add new types of challenges later.
UML Diagrams
The project introduced me to object-oriented design. I used inheritance to structure the different monsters, with each challenge extending a shared Enemy class.


Looking Back
Fun fact: this was the first substantial project I built after taking my first computer science course.
Looking back, the code is far from perfect, but this was the project that convinced me I wanted to keep studying computer science. It introduced me to object-oriented programming, inheritance, game loops, collision detection, and event-driven design.
More importantly, it was the first time I experienced the satisfaction of turning an idea into something interactive. In many ways, this project was the starting point for everything else on this website.
Original Course Materials
If you're interested, I included the original write-up I submitted with the project.
View Original Game Report →