Pages

Monday, August 14, 2023

Blocky Balloons very-post-release thoughts

I made a game for Playdate! It's called "Blocky Balloons" and there's a demo, trailer, and more info at the itch.io page: https://brandooo.itch.io/blocky-balloons


That's what I should have posted about 6 months ago, when the game actually launched on February 20, 2023. If you've played it, thank you so much!

I didn't write anything sooner because I'm lazy busy, I'm not much of a marketer, and I wasn't even sure if the game would come together into a finished product. Somehow it did, and the game is even coming to Playdate's official on-device game store Catalog later this year!

This post will be a stream of scattered recollections and personal notes about the process of making the game, before I forget anything more.

Finishing the game

Like I said last year, Pulp is a great little tool and I ended up making the whole game in Pulp. I did start to stretch its limits near the end, when I was cramming in lots of polish and finishing touches. For example, I added a move undo feature. I'm glad I did, since it's a necessary QOL feature in these sokoban-likes, but at the time I wasn't sure if it was even possible in Pulp. My Playdate arrived partway through development, and the original implementation ran very slow on device. With some iteration and bulk code generation, I eventually smoothed it out.

The game has a couple little cutscenes. These also ran very slow on device at first. Originally I had each cutscene frame as a separate "room" in Pulp, since it was very easy to duplicate a room, change a few tiles, and repeat. Trying to load multiple rooms like this one after another on device performs terribly, so I had to redo them all using lots of "label" and "draw" commands. 

An example frame room that got cut.


The game music and sounds also needed adjustment. Pulp uses very "pure" sine/square/sawtooth/triangle/noise waveforms, and some of these are overpowering, even distorted on the actual console at full volume. The balance of these 5 instruments also sounds different depending on how you're listening to them -- in the Pulp browser editor, in the Simulator app, on device speakers, on device with headphones, etc. So I had to listen and tweak and relisten and retweak to find a compromise. For the soundtrack download that's on the itch.io page, I ended up recording each song from the browser editor into Audacity, and exported those as mp3s to bundle into a zip file. For composing the songs, I ended up doing most of it in front of a piano with pencil and paper, jotting ideas down as I tinkered. Editing large sections of songs can be tedious in Pulp, so it's better to nail down everything as much as possible first, then punch it in.

I don't think I went above 0.5 volume for any voice in any music track. Square wave is especially tinky.


The above points suggest a note to future Brando: don't invest tons of time in something that isn't tested on the final device!

A couple other things occurred to me once I had the device in hand:

  1. It doesn't seem practical to use the D-pad and the crank at the same time. You have to hold the device steady to crank precisely, so I instinctively move my left thumb closer to the center of the device. Some games have you press B or A with your left thumb while your right hand operates the crank, and this seems to mostly work OK.
  2. The A and B buttons are placed horizontally, at a distance that's a bit far for rocking back and forth between them comfortably. They're also clicky (same for the D-pad), which is good to know exactly when an input is sent, but I don't think I'd want to repeatedly mash one for a long time. I probably won't make any hardcore action games on this thing.
  3. The crank feels sturdy, but I don't want to go crazy with it. There's a level in the Season 1 game "Crankin's Time Travel Adventure" where you have to crank as fast as possible, and after a couple timid retries I was able to beat it after going all out, but I felt nervous about damaging the crank. Some developers are making fishing games, and it might sound cool on paper to crank like mad as you reel in a big one, but in practice I hope they don't. Lucas Pope also notes here that a "light touch" feels best. This might be one of those early design stage things that people try and eventually abandon, like the joystick-rotating minigames in Mario Party.
Everyone says this, but playtesting really is necessary to get fresh eyes on your game, since you lose that perspective after spending months getting to know your project. Many changes were obvious once pointed out. I didn't change every little thing exactly as suggested, but they were all suggested for a reason, and sometimes that reason is buried in a less obvious place.

Post-launch this and that

This was my first time ever releasing a game and selling something online, and it felt strange to be on the creator's side for once. Itch.io has a nice little "Analytics" page for each project which shows me that people are downloading the game, but is anyone actually playing it? Does the zipped .pdx file I uploaded really work for everyone? What if there's some nasty bug players have encountered but haven't reported? I did my best to test the game before release, but there's no way to really know if players are playing unless they tell you.

The project analytics page from itch, at time of writing.



I started this project as a fun way to challenge myself. There are some good puzzles, but no amazing game design innovations. Selfish to say, it was more of a personal exercise to create all the pieces, put them together, and ship a complete product. I thought if even one random person out there said they enjoyed it, I'd call it a success, and that happened!

This is a niche game for a niche console, so I didn't have much financial expectations either, but the game has actually sold enough to cover the cost of the Playdate itself ($227.78 after shipping and duties), which is super cool to me. A large chunk of this came from being included in the Playdate Bunny Bundle, which was a nice community effort. Thanks a lot to @FatNoseGaming for reaching out, and the other participating developers! Bundle support is another nice feature of itch.io. Speaking of Itch, I really like the platform. It was easy for a noob like me to set up a project page, payments, downloadable files, etc. and start distributing.

I announced the game when it launched on the official Playdate discord, the dev forums, the r/playdateconsole subreddit, and Twitter. I haven't really promoted the game at all since then, except for some tweets when the Bunny Bundle campaign was going on. I could do better in terms of marketing, but that wasn't really a goal for me. Releasing a complete, finished product was a goal, and I haven't needed to push any updates in the 6 months since release, so that's great! I haven't received any bug reports, and I know at least a few people have finished the game 100%. My cynical brain did realize that in the modern world of easy minor updates, post-release patches could serve as a form of marketing. A couple bugfixes, a couple minor improvements or additions, and you've got an excuse to put the game in front of social media eyeballs for another round of exposure.

Blocky Balloons will be coming to Catalog later this year, and the new version of Playdate OS added a List View mode, so I will need to push a new update to include an icon for that at least. No promises of extra levels or other content though, my bowl of PulpScript spaghetti is large enough already!




No comments:

Post a Comment