Setting the Stage

This September, there was an itch.io game jam called A Game by its Cover, participation in which involved creating games based on Famicase designs (a Famicase is an artist-submitted Famicom cartridge design). I was intrigued by the idea and thought it would be a good opportunity to do something that wasn’t just skill acquisition. Game jams foster creativity through spontaneity and adaptation, but they generally aren’t considered ideal for experimentation because of their tight deadlines. In other words, it’s often best to stick to what one knows in order to work and progress efficiently. Because this particular game jam had more leeway compared to the 48-hour ones I was used to, however, I threw caution to the wind.

Making Decisions and Preparations

Once I decided I was going to participate, the obvious next step was to pick a Famicase to use as a basis for my game. Cake Quest immediately intrigued me. Designed by pixelhans, its premise involves a cake-obsessed Satan turning objects into cake (with a trident that fires lightning) and eating that cake in order to gain new abilities. I knew from the outset that I didn’t want to use Unity to make the game. I am more familiar with it than with anything else, but because my experience with non-tutorial projects was and is limited, I didn’t have a mental estimate for how long the project would take and therefore no reliable idea of how to most effectively manage my time and workflow.

Not using Unity also meant not using the C# programming language. The only application of it I had done outside the engine was directly in Visual Studio when I was first learning how to program, but that was almost six years ago. That left JavaScript as my only viable alternative. The only problem was I wasn’t sure how to actually make a game with it. Fortunately, the solution was simple. I went on Udemy and found two courses focused on using JavaScript to make games inside an HTML5 canvas, both taught by Gamkedo‘s Chris DeLeon. I knew that devoting the necessary time and effort to these would drastically reduce the amount of time I had to actually work on Cake Quest, but I also knew the game had little chance of being made otherwise. What complicated things further was that I didn’t make this decision during the initial week of the jam. I was too engrossed in learning how to make what I had only been taught how to find.

Keeping Busy with Bosca Ceoil (Days 1-6)

Discovery

Music has never been the starting point for any project of mine. It’s usually one of the last additions I make to an already existing game because it’s easier than planning a game around it (kudos to the people who can do and have done it). I can’t remember exactly why I decided to make an exception, but I do remember how. A few days before the jam started, I stumbled upon a blog post by Ruoyu Sun titled “Developer’s Music Making Guide.” In addition to general tips for music composition, it mentions a tool created by Terry Cavanagh (developer of games like VVVVVV and Super Hexagon) called Bosca Ceoil, which I downloaded out of curiosity. Its built-in tutorial helped me understand its interface, and with Ruoyu’s post as a guide, I started making music within minutes.

Composing Songs

Before doing anything else, I went to Autochords, another resource mentioned in the blog post. It generates a chord progression and provides three alternatives based on criteria you enter. I experimented a little and decided I wanted to use the C minor scale. Once I had a progression I liked, I then transferred it to Bosca Ceoil note by note.  There are certain notes that aren’t represented, but because Autochords lists the notes in each chord, there are multiple options for getting the desired progression. I don’t have much to say about the actual creation process other than that it involved a lot of experimentation and even more listening. I opted for the pentatonic C minor scale and made two songs. My approach to both was to repeat a chord progression 4-8 times and then alter it or one of its alternatives while adding or changing instruments, stopping when I thought the result was long enough (i.e. when I got sick of listening to it).

The first song I composed was intended to be the Cake Quest level theme, while the second was intended to be the menu theme. Neither ended up being used for reasons that will be discussed shortly, but that doesn’t mean they should remain unheard:

The Devil’s in the Details

Aside from the two songs, the above eight sprites are the only assets I created for Cake Quest. From left to right, they are Satan, Satan with his trident, Satan with trident and wings, the trident as a standalone item, a “Hell” tile based on an earlier image discussed in my second “Pixel Practice” post, a piece of devil’s food cake, a piece of carrot cake, and a piece of red velvet cake. The reason there haven’t been any parts beyond part one is because part two was going to discuss these. It never got written because Cake Quest never officially got started, let alone finished. I had nothing to show for the time I spent learning how to make HTML5 canvas games using JavaScript. I hadn’t written a line of code by the time the jam deadline arrived and passed.

I wish I could use it as an excuse, but I didn’t run out of time. The truth is that I allowed myself to think too far ahead. That is, I thought of everything I wanted and needed to do in order to make a functioning game, which then transitioned to whether and how much of that was feasible for me to do at my current skill level, and that prevented me from doing anything at all. Consequently, I wasn’t inclined to share or discuss what I had accomplished during the jam period. I should have been, but what matters is I am now.

I’ll go into more detail about why in my next post. In the meantime, the title of this post mentions a “rebirth,” doesn’t it?

cakequest_0

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.