TIP: trailer will start muted—unmute it for the full experience!

  • single-player, 2D underwater combat & exploration game
  • Runs on PC Desktops (tested on Windows XP+ and Ubuntu 10.04)
  • Built in an entirely custom engine w/ a full-featured editor

Production Details

  • Team Size = 11
    • 5 programmers
    • 4 artists
    • 2 designers
  • Production Duration = ~7 months
    • (first ~4 months dedicated entirely to the engine)
  • Levi’s Roles:
    • Co-Producer
    • Engine Architect (C++)
    • Editor & Tools Engineer (C++ and Python)
    • Gameplay Programmer (Python)
  • Levi’s Top 3 Contributions:
    • Designed and implemented a fast, feature-complete, and designer-friendly engine/editor.
    • Embedded a custom Python interpreter in our C++ engine that could match the runtime performance of Lua.
    • Contributed 67% of the codebase and 77% of all documentation.
  • Final Grade = A

Made with PyroEngine

For various reasons, I split this team project into two pages:

  1. the game (this page)
  2. the engine and editor (see: PyroEngine)

I am most proud of my contributions to the engine and editor, but that’s not all I did.

Read on to hear about my contributions to the game Abyssal itself.

I implemented the following using our Python scripting frontend:

  • the player controller
  • enemy controllers & AI behaviours
  • global game state (similar to a “Director” pattern)

Additionally, to ensure that our designers could do their part in using the editor and scripts, I made sure they had excellent documentation for… well, everything.

  • It was over 100 pages, and included thorough examples, errata, and references.
  • The designers confirm that without these docs, they couldn’t have made Abyssal.
  • If it interests you, you can view the primary PDF here.


In my experience, most game projects have a non-empty cutting room floor for their initial launch. It’s sort of a mark of good game developers, in my opinion.

We sacrificed many cool things in order to meet Abyssal’s rather tight deadlines, but the one I feel deserves a spotlight most of all is our beloved Scythefish~

Partial combat:

Scythefish Artist: Hannah Dunlap

And then of course we have Skin Chicken

… Need I explain?

The Polite Pyro Team

NOTICE: This section is not part of the portfolio. Just taking a moment to acknowledge my old friends/teammates.

most of the Polite Pyro team at the end of semester 1

From left-to-right:

  • Megan Davis (programmer)
  • Kai Oliver (artist)
  • Dimitar Dinkov (programmer)
  • Hannah Dunlap (artist)
  • Hannes Van Wassenhove (artist)
  • Andrey Ponomarev (programmer)
  • Levi Perez (programmer)
  • Marshall Hefernan (designer)
  • Hsiang-Hsuan “Bread” Tung (programmer)
  • Damon Cooper (designer)

And unfortunately not present for picture day:

  • Chris Shell (artist)

Abyssal and its underlying technologies are Copyright ©️ 2019 DigiPen Institute of Technology.