Cataclysm

Submitted for Bullet Hell Jam

April 22, 2021Ranked #29 / 355 Overall

Cataclysm was my first big introduction to working with a team, as I collaborated with two artists, a composer, and another programmer / designer. We had a week to create a game, where we decided to mesh the bullet hell genre with deck-building; a combination that seemed to be very rare. I primarily worked with the bullet hell half of the game, creating the level layout, bullet patterns, and some of the UI.

This project was a lot of fun, as I had previously prototyped some of the bullet-related things, such as object pooling, and a custom-made ScriptableObject system to create and save bullet patterns. This helped production speed a lot, allowing us to have more time to work on the levels and UX.


Key things I learned

YsSQuam3xso4Sp59.mp4

Prototyping

Before the jam, I knew that there were some critical things that I wanted to learn more about and test before the jam. Concepts such as object pooling, and bullet-hell mechanics/techniques were obviously going to come into play, one way or another, so I took about 2 weeks before the jam to learn more about them.

I developed my own bullet pattern system, utilizing Scriptable Objects to be able to design and save bullet patterns with many settings to fine-tune the pattern. This stream-lined the development process of them vastly, saving us many hours, compared to the time it would have taken me to learn mid-jam.

I also took this time to learn a bit about post-processing effects and shaders, things that were very intimidating to me for a while. I decided to try creating a glow shader that could be applied to the camera through a render texture. Although this didn't get to be used during the jam, it helped me break the ice with a new concept that I had previously avoided.

Collaboration

This was my first experience with a full-team collaboration, including two artists, a composer, and another programmer. I learned a lot from this experience, such as using version control, coordinating with others, and creating game design documents. We started our jam by doing a group call and discussing our ideas, writing small design documents with outlines of said ideas, and picking our favourite concept to work and iterate on.

Being in constant communication with the team really helped all of us stay focused and always know what to work on next. We created a Discord server, broke up our roles in separate channels, which allowed us to specifically contact each role to discuss assets, features, and design. We also did occasional check-in calls to discuss our overall progress in general, just to make sure we could get a full picture idea of where we were at, and what was still left to be done.

After the jam, most of our team went on to collaborate for several future jams, and it's been a privilege to work with such talented people.