Project Overview

Warp is a 2D top-down game developed in the second semester of my academic program, inspired by classics like The Legend of Zelda and Enter the Gungeon.

This project was a significant milestone for our team, marking the first fully playable game we built using a custom game engine developed from scratch with SDL (Simple DirectMedia Layer).

My Role

As the lead programmer on the project, I was responsible for several core gameplay systems. My key contributions included:

  • Collision Detection – Implemented systems for detecting and resolving collisions between players, enemies, and environment objects.

  • Player Combat – Developed player attack mechanics, hit detection, and combat feedback.

  • Enemy AI – Designed and implemented behavior trees for regular enemies and bosses.

  • Health System – Created the health and damage system for players and enemies.

  • Level Design Assistance – Contributed to level layout planning and enemy placement.

Enemy AI

One of the core systems I designed was the Enemy AI, with a focus on providing dynamic and responsive combat encounters. Key features included:

  • Pathfinding & Following – Enemies track and follow the player across the level.

  • Combat Behavior – Enemies execute attack patterns and respond based on player actions.

  • Adaptive Strategy – Enemies retreat or change tactics when taking damage to create engaging gameplay loops.

Project Goals

Our goal was to recreate the feel of classic 2D action games, focusing on:

  • Tight, responsive combat

  • Challenging but fair enemy design

  • A sense of progression and accomplishment for the player

  • We emphasized difficulty balance and satisfying combat loops to ensure players felt rewarded for mastering encounters.

What I Learned

This project taught me valuable technical and collaborative skills, including:

  • Building a Custom Game Engine – Gained hands-on experience with low-level engine components using SDL.

  • SDL Functional Libraries – Leveraged SDL for input handling, rendering, and audio.

  • Math & Game Logic – Applied mathematical concepts for collision detection and AI (e.g., pursuit and evasion algorithms).

  • Version Control with GitHub – Used GitHub to manage our codebase and collaborate efficiently.

  • Team Collaboration – Learned how to present and communicate ideas effectively and resolve conflicts within the team.