The Binding of Isaac: Datumites Edition

Date
April 2026

Tools
C++, Custom Engine, Godot, P4V


This was an exciting project in which myself and a team of 5 programmers recreated a portion of gameplay from The Binding of Isaac: Rebirth over the course of one month.

This game was made in a teammate’s custom, content-driven game engine in C++ using JSON and Godot tooling. I also developed a content-driven game engine that utilized JSON to populate data structures of my own for this class.


My role on the team was collaboratively creating a custom game object hierarchy for shared behaviors between players, enemies, and projectiles. I implemented the projectile system and accurately calculated bullet trajectories. I also added all UI and audio present in in the game.


Gameplay Walkthrough


Code Samples – C++

The first sample shown is a snippet of the work done for the projectile system. A direction to aim the projectile is inputted, either from keyboard input for players or hardcoded for enemies, and the bullet is cloned from an existing projectile prefab. Tears were made to be as game-accurate as possible, following the same speed and frequency rules. Shooting a tear will take into account player velocity, slightly aiming tears in the direction of movement.

The second sample is a portion of the work done for the Character game object class. The Binding of Isaac has a very particular game-feel when it comes to player and enemy movement, and we attempted to get the player’s friction and velocity just right. The character entity encompasses the player and enemy, so a movement vector can be inputted for either character type and they will move in that direction.

In-Game Examples

Player Movement – notice the player slightly shift to a stop near the end of their walk input.
Projectiles, Player and Enemy – Player projectiles take into account player velocity, enemies shoot in set directions

Discover more from Joanna's Portfolio

Subscribe now to keep reading and get access to the full archive.

Continue reading