Yu Jiang

Beat of Isaac
March - May 2018
A remake of the game Binding of Isaac, a roguelike role-playing shooting game. In this remake, game content is determined by user-uploaded songs and the game board can be customized.
Background
The Binding of Isaac was designed by Edmund McMillen and Florian Himsl. The player controls the biblical character Isaac who has to fight bosses and collect treasures in a multi-level dungeon. In the game Isaac might be attacked by the monsters and it can also pick up items from the ground to recharge its health, to increase the damage of its shots, etc. The Binding of Isaac was my favorite game in high school so I decided to add some interesting twists to it for a term project in a course (CMU 15112). One thing I noticed after was that it doesn’t allow much customization by players - the appearances of monsters and rewards in the original game were determined in a randomized order and it’s almost impossible to make the game harder when all the stages are cleared.
Customizing the Game
Music
Inspired by the popularity of music games (such as Dancing Line) at the time I wanted to incorporate music into the game. Given a background music, the beat (or energy amplitude) can be used to determine the level of the monsters or the rewards that appear on the board. Bigger beats where the energy amplitude is at the peak means monsters that are harder to defeat or better rewards will be placed randomly on the board; smaller beats where the energy amplitude is low means smaller monsters or minor rewards. The goal of the game is to keep Isaac alive when the music ends. Players will be able to upload their own songs in wav formats as background musics.
Game Board
I started with a rectangular plain board and found that without obstacles it was too easy for Isaac to move around and thus winning the game. Thus I made the game board flexible so that the player can place different obstacles on the board which either blocks or hurts Isaac.
Storyboard
The Binding of Isaac was designed by Edmund McMillen and Florian Himsl. The player controls the biblical character Isaac who has to fight bosses and collect treasures in a multi-level dungeon. In the game Isaac might be attacked by the monsters and it can also pick up items from the ground to recharge its health, to increase the damage of its shots, etc. The Binding of Isaac was my favorite game in high school so I decided to add some interesting twists to it for a term project in a course (CMU 15112). One thing I noticed after was that it doesn’t allow much customization by players - the appearances of monsters and rewards in the original game were determined in a randomized order and it’s almost impossible to make the game harder when all the stages are cleared.

I. Before the game starts the player can upload the background music and design their own game board.

II. Isaac starts with the basic blood, damage, and range properties. There will be a store where Isaac can buy items from.

III. Isaac can move around and shoot in different directions to pick up rewards and kill monsters. It can also upgrade properties by buying items.

IV. When there's a small beat, easy-to-kill monsters (such as flies and spiders) or small rewards (such as blood or coins) appear.

V. When there's a big beat, monsters that are harder to kill or bigger treasures appear on the game board.

VI. Player wins the game if Isaac is still alive when the music ends. Then the player can start over with the next game.
Beat Detection
To guarantee that there will be monsters and rewards appearing on the board continuously throughout the song, the beat detection is set up detect local energy surges instead of absolute ones. The algorithm keeps track of 43 energy histories and if the local energy if greater than the average energy calculated from the history, it's recognized as a beat. The determination of level of the beat, however, is based on the absolute value of the beat's energy surge.
Video Demo