Log

Aug 4, 2019

Beginning August game: choosing an engine and concept

One of the things I wanted to do in this challenge was to learn an engine I could use to make bigger games in the future. In the last years I've been using Phaser for my game jam games –since I believe an HTML5 release is a must for jams. However, Phaser is more like a library or framework, and does not come with tools that aid in game development, like a level editor, animations editor, particles editor, etc. For smaller games it's OK, but I feel those kinds of tools are needed for more ambitious games.

So I made a list of potential engines I could use: Unity, GameMaker, Defold and Godot. I ended up with Godot (I explained why in this Twitter thread), the main reasons being:

  • It offers first-class 2D support (pixel units, etc.)
  • The architecture does seem OK
  • Free! (I would have probably gone for GameMaker if not for the $150 of the HTML5 export license)

With the engine already decided, which game to make? Since I'm not very familiar with the engine (besides a very simple game I made a few months ago to try out Godot), I think that the most sensible approach is to make a game with mechanics I'm already familiar with (i.e. I have implemented before), so the technical challenge is learning the engine, and not the game itself.

I like mind maps for brainstorming, so I did one for this:

Brainstorming mind map

Of all those games, I went for a combat platformer, like Wonder Boy or Ghouls 'n Ghosts. To clarify the scope, I listed the features I could include, and then marked which were MVP. I use the mind map tool again for this, and grayed out features I considered optional:

Features mind map

Once I got the genre, which theme would my game have? I went to itch.io for inspiration, and found really cool assets for a ninja game. However, as part of this challenge, I want to make the art and the music for the games, too, so I kept on looking for a style simple enough I could use with a ninja theme. And I found this creator, 0x72, with a very cool character generator which its resulting sprisheets are licensed with CC0 (i.e. Public Domain).

I loved the characters, and since they are in the public domain, I figured out I would use the body shape as a base for the characters of my game. I opened up my pixel art editor (I use Pyxel Edit), and drew a mockup:

Mockup

I think it's viable, so the next steps would be to start coding the main features with placeholder art. Let's go!

Aug 1, 2019

Release day! (+ last minute bug fixes)

Yesterday was the last day I had to finish July's game. I had guitar lessons that very same day, so I showed the project to my teacher and asked questions about the choice of chords. He suggested using the I, IV, V, VI and VII grades of the minor scale, so when I got back home I just did that…

…just to notice that PICO-8 only supports 4 sound channels and I was trying to use 5 (one for drums, another one for bass, and three for the chords, since they were 3-note chords)… so there were sounds that were not being played. It was already late at night, so I opted to just use 5th chords: C5, F5, G5, Ab5 and Bb5. Next week in class I'll found how much of a crime I committed against Music.

But it worked!

Before going to bed, I tried the HTML5 export, and it seems to work as well. So I've uploaded it to itch.io, and you can play with it there.

Jul 30, 2019

Added chords

I added a new type of "instrument": chords!

Screenshot of the game with the chords toolbar in place

I still don't know much music theory, so I had to look for which chords I could use in a pentatonic scale… Maybe (probably!) there are better choices for progressions, but I ended up with:

  • C minor
  • Eb
  • F sus2
  • Gmin #5
  • Bb sus2

At first, the duration of the chord was just one beat. But it wasn't very interesting… I wanted to give the player the ability to control the chords' length. I started to add some form controls, but then I realised that by giving up a bit of flexibility, I could just make a rule to consider multiple beats with the same chord, part of a continuum.

Here is the result:

Tomorrow is the last day of the month and I have to finish the game. Unfortunately, I've got my guitar lessons on Wednesdays, so I don't think I'd be able to code much. Three possible last-minute features that come to mind (I'll pick one of these):

  • Double the amount of bars
  • Add a new instrument to create a melody over the chords and bass.
  • Support importing/exporting via the clipboard. This would be really cool, but I'm not sure if PICO-8 supports this in the HTML5 export. I will have to check.

Jul 29, 2019

Changing between instruments

Since rendering both drums and bass "notes" stacked on top of each other was confusing, I added a layer system, so you can visualize one instrument at a time.

Jul 28, 2019

Drums in place!

This is starting to look more interesting! I synthesized some drum kit sounds as well. I created new buttons for it, and now you can use both bass and drums to make a music loop.

Of course, having the icons stacked on top of each other is really confusing. The next step would be to implement a "layer" system of sorts, to show only one instrument at a time. And a delete button as well!

The bad news is that July's ending and I'm really running out of time for this. I don't think I'll have time to implement the "game" part of this, and will end up "only" with a toy, in the game design terminology –i.e. something that is fun to play with, but does not have victory or lose conditions. There are some popular games that fit the "toy" category, like The Sims, so I'm definitely counting this for the purpose of the project: 6 games in 6 months ;)