Postmortem


I received an e-mail from itch about popular jams about a week before the jam started, and the Bullet Hell Jam was at the top of the list.
As a fan of shmups, I thought it was a good opportunity to make one, so I decided to participate.
I had no idea what kind of game I wanted to make other than a traditional vertical scroller, but I did know I had no idea about what workflow you needed for spawning complex bullet patterns efficiently and not making a mess of your code, so on Monday, 3 days before the jam, I started doing some research

I didn't find any premade solution for Godot (that was good enough) but I had looked a bit more deeply into BulletML, whose existence I knew of before but had never really looked at how it worked.
In short, BulletML is an XML derivative language (like HTML, but you don't use it for making webpages) for describing bullet patterns in a more or less intuitive syntax. The problem is, BulletML is just a language, not a program or anything. Unity has one or two plugins that allow you to use BulletML on it, but Godot didn't have something like that, so I decided to implement it myself (something I'll possibly talk about in a separate, more technical post). That day I toyed around with BulletML in some very rough sandbox app I found online to figure out the basics.
On Tuesday, I started working on implementing this, and finished around the time the jam started (though I did add extra stuff as the game progressed).

Once it started I had to figure out what to make. At the time I was planning to work alone, and I'm just a programmer so there was no way I could make proper art and music, so I decided I would base myself off of the original Red Bumblebee so I could reuse the majority of assets and not have it look terrible. Luckily, soon enough some of my fellow Cool Beans Productions teammates decided to hop in on the project so it ended up having the amazing art and music that it has now.
Unlike the original game, I wanted to make a plain traditional shmup, no weird mechanics or controls, and it would be an opportunity to redeem myself since I don't consider that game very good, lots of things went wrong with it. That's why it's called "gaiden", because it's nothing like the original game at all, yet loosely shares the same setting and style.
I did throw some ideas around for the 10 Seconds theme, and the one I decided on was that you had a timer that gave you 10 seconds, and if it ran out you'd die, but you could kill specific enemies that would refill your timer; however, the less time left you had on your timer the higher the score multiplier would be, encouraging playing in a risky manner for higher scores.
By the end of the jam I had implemented the timer itself, the score multiplier, and even the UI for the timer bar, but I still needed to make the actual timer refilling system itself, which would end up consisting of time filling pickups dropping from the top of the screen or from enemies, but I had little time left to implement that so I ended up dropping it. Not sure if it will be in the updated version either, because I'm not very fond of that mechanic myself, and I'd rather freely make a pure and simple shmup.

I don't remember very well at this point in what order I developed what. I think I was mostly working on the "backend" so to speak, non-visible stuff, changing around all the BulletML stuff and adapting it to the game's requirements, fixing bugs that it had from before, figuring out how to spawn enemies with BulletML (everything but the boss's movement and phases are scripted on BulletML), and slowly adding visible stuff like lives, continues and score.
Looking back at the chat where this all happened, it seems I had kept working on the backend on Thursday and Friday. On Saturday I started working on the game itself, making the scrolling water background and working on player movement, shot, and a basic enemy pattern (bonus).
On Sunday I started getting lots of graphical assets and a draft of the stage song, so I created some more enemy patterns while implementing these assets. This was also when I created the intro sequence and due to that I ended up going to sleep at like 4 or 5. Once I got the idea I just had to see it through.
On Monday and Tuesday I worked on just about everything across the board, receiving a ton of assets, many of which went unused.  During this period I also created a small amount of enemy/bullet patterns.

It was only by Wednesday, the day before the jam ended, that I actually started building the stage. The night before (and by night I mean like 4 or 5 AM), before going to sleep, I frantically wrote down a list of ideas for patterns of enemies and bullets that I could use on the stage, plus the patterns I could use for the boss. So by the next day I started putting all of that together. I also made the frog miniboss, which I hadn't originally planned, but the artist got inspired and suddenly posted it, so I put together a simple to make pattern using stuff from previous ones and called it a day.
Last day I made the boss, the credits screen, and whatever else was left. I was supposed to finish implementing the timer mechanic here, by making timer pickups drop, but I was physically unable to due to stress.

During this jam (or should I say, since before the jam when I started programming the BulletML thing) I was sleeping an average of 4 or 5 hours a day. Only day I actually properly slept was the night between Saturday and Sunday. The other days I would get so fixated on my work, either because I was fixing bugs, because I was excited to see a certain thing implemented, or because I knew I had to implement this thing at that time or else I wouldn't make it, that I would end up going to sleep at 3-5 AM then having to wake up at 9 for work (home office, luckily). By Wednesday evening my subconscious took over my mind and all the stress and expectations for the release of the game gave me an anxiety that lasted all the way until the end of the jam (slept like 1 hour in fact, tried to go to sleep at 12 or so, "fell asleep" at 1, and  "woke up" at 2 or 3 AM on Thursday), with slight chest pains and all, but through deep breathing, iyashikei anime, and dropping lots of features and planned fixes I somehow made it to the boss implementation and the eventual release.
Something I wouldn't like to do again, but if I really followed the jam tips about having a healthy life, this game wouldn't exist in this shape and form right now. Even though it was a bit tiring (didn't actually feel the sleep deprivation, even if my body did), this is the most I've enjoyed making a game by far, and the best one I've worked on in my opinion, the one I do genuinely like (probably thanks in no small part to the fact I did the game design 99.9% all by myself with no one else's interference unless I asked for help).

There's a lot of things that went unimplemented that are planned for an updated version, included but not limited to:
-Fixing all the bugs
-Timer mechanic (though as I said, might drop it for real, or add an option to disable it)
-Power up(s)
-Actual seagulls in the intro sequence
-Polish
-Optimization (as best as I can, not my own engine and not very well versed on low level stuff)
-Rearranged stage and reworked boss fight, better difficulty
-Screen that shows controls at the beginning
-Bullet clearing for big enemies (deleting their bullets after their die) and between boss phases
-Shadows on all enemies and bullets
-More little animations and effects
-More SFX
-A secret
...and more?!

That's it for now. Thank you for reading, and thanks to everyone that made this game possible to this level of quality. Might be really exaggerated for a 7 day jam game but this is a first for me.

Files

RedBumblebeeGaiden_windows.zip 16 MB
Apr 22, 2021
RedBumblebeeGaiden_linux.zip 17 MB
Apr 22, 2021
RedBumblebeeGaiden_osx.zip 18 MB
Apr 22, 2021

Get RED BUMBLEBEE GAIDEN

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.