What is it?

This project is a recreation of the battle scene from deltarune, made for the Game Boy Colour.
For this project, I had recently finished playing through deltarune chapter 2, and I thought that I could recreate the background from the combat on the Game Boy Color. After doing this, I realised that the gbcompo 21 game jam ended in just over a week. So, I decided to try and recreate as much of the combat as I could in that time. With the time limit, I was not able to make it playable, however I was able to implement the backgrounds, music, full size sprites for Kris, Susie and Maus and animation for Kris.

Who did what?

RGBDS - Assembler, linker and graphics converter
GBT Player - The audio library used
Everything else in the project was done by myself

When was it worked on?

Work started on the project on the 19th of September 2021 and finished on the 1st of October 2021

What are the controls?

As the program is just a visual demo, there are no controls

What went right/wrong during development?

One of the things that went right in this project was the asset ripper. As I wanted the program to be open source, I couldn't just include the original sprites. To get around this, I made a C# program which would rip the graphics from the games data.win file, and then cut them up into sections. Initially I thought that this would be difficult, however after some research I found that graphics data is stored as pngs in the data file. So, to get all of the games graphics, I searched through the file for png headers and then directly output what was found. After I had this working, I wrote a few batch files to convert the cut up graphics into the 2bpp format used by the Game Boy.
Another thing that went right with this project was the sprites. Early on, I decided to try to use the full size sprites from the game instead of scaling them down or redrawing them. This presented a unique issue however, as the hardware only has the memory for 40 sprites. To solve this, I set up the memory to contain 2 rows of sprites and set an interrupt for the scanline after the first row. Then, I updated the memory for the first row to contain the third row of sprites. Using this technique, the only sprite limitation I had to worry about was the limit of 10 sprites per scanline.
Another thing that went right with this project was the music. As the project is recreating the combat, I wanted it to play a cover of rude buster. However, I was unable to find anything online that was compatible with gbt player. So, I decided to try and make it myself. While I have experience with the Game Boy and with this library, in the past I just used the examples the library provides to show that audio worked. So, this was my first time writing music for the system. While the cover isn't perfect, I am very happy with the results.
One of the things that went wrong with this project was the deadline. I only became aware of the game jam just over a week before the deadline, so I was very strapped for time. There were quite a few features that I wanted to add e.g. animations for all characters, some interactivity. However with such a short amount of time, I was unable to add these.

Where can I access the source code?

The source code can be found on my github account. Alternatively, you can click here to go straight to the github page. Additionally, the entry page can be found here.

Screenshots