The Balloonist --- a memory game

Hi everyone, hope all is going well. I've had my Playdate for a few months now and have been trying out a few things, and in the end have settled on trying to build a game about flying a hot air balloon.

It's a memory game really. Controlling only the altitude of your balloon, you'll need to choose an airstream that can take you where you want to go. Remembering where the wind flows on each level is the key to beating the game.

Graphics are just prototypes at the moment, but here's some early game play. The instrument on the right-hand side of the screen is your altimometer, a combination altimeter and anemometer that shows you how high the balloon is and also what the winds above and below are doing.

early_game

I looked at several options for the graphics and decided that isometric would be doable in a reasonable time and still give an open-world feel.

I've built a Flutter app to generate the images as I store depth data along with the 2D sprite so that I can create dynamic shadow maps.

In real time, the cpu can calculate the deformation of the balloon's circular shadow over the objects underneath. Makes the isometric view feel a little more solid.

In the early part of the game, you purchase a new balloon and visit the training facility of the manufacturer to learn how to fly. This is a large, four-acre hangar where the flow of air can be directed to help you learn advanced flying techniques.

Last week I finished some concept art for how this might look, and hopefully this week I'll turn this into shadow-mapped sprites that can go into the game.

I've been looking at dithering options that won't cause flicker when scrolling diagonally.

The actual part of this that you'll be able to see on the device could look like this.

I'm unemployed at the moment so progress has been rapid :grin: Let's see how we go from here.

Looks great! Does the crank take the balloon up and down?

Thank you! I've got it mapped to the crank and also the up/down buttons on the d-pad, so whatever is your preference really. I quite like the crank, it feels responsive and makes it fun to time flying into and out of an airstream.

I wondered whether I might have an unlockable harder level where the crank (or button) fires up the burner so you would have to judge how much heat to add to the balloon for your desired altitude. I think that's hard, though, so not for the first play through.

Looks sweet. I have to say that the isometric perspective seems to be a good fit for Play.Date. There's another WIP I've seen that uses this perspective that looks great too. Keep up the good work.

Looks cool. I want to play and would like to know where to get a copy. I can give feedback if desired.

PS - seems like the harder level you mentioned would be like a 3D version of flappy bird, could be really fun. There was a hot air balloon game for MacOS 6 in the 1990s where birds/storks carrying babies were a hazard that could pop your balloon.

Thanks! It's still in development at the moment, probably going to be a few weeks before there's a test version available.

I think the vibe I'm going for with this release is more chill out rather than arcade action, but it doesn't mean there couldn't be a spin-off relying more on hand-eye coordination for the game play.

If you are looking for a hot air balloon game similar to Flappy Bird, I made one for Uncrank'd Game Jam. I've never heard of the classic Mac game, but it's kind of similar.

Otherwise this game looks very interesting. I like the isometric perspective and the projected shadow is very nice.

Getting a little further with the prototype.

training_level

This GIF is a little flickery, but it is better on the device. Is it because I am running the display at 48-50Hz, but only drawing every other frame? This seems to reduce flicker on the actual Playdate.

(I want the game to run at around 24Hz, seems like a nice scrolling speed.)

I've not added any shading yet, but I think it would probably look better with some mild colouring in, so will have a look at that.

Can you expand on the flutter application and the voxel mapping you are doing? Extremely interesting!

Well it's a work in progress, but you can just about map a mesh to a bunch of pixels sort of. It doesn't really fit, but you can squish it a bit and it looks ok. It's good enough to generate a companion image with x and z offsets from the far corner (I use a vertical y axis, positive x is down and right, positive z is down and left).

If we know the x and z coordinates of every pixel in an image, we can determine if it is in shadow vertically.

What you are seeing on the right tool bar is the final 1-bit dithered output at the top, a grey scale version below and then the x and z coordinate offsets that are actually combined as an exported image.

The code on the Playdate sees if a graphic might overlap the balloon shadow, and if so it inspects each xz-map pixel to see if it lies in the circular region below the balloon. A dark shadow pixel is rendered if so.

I'm actually tidying up the final image by hand at the moment. Given relatively high resolution of the screen, it may make sense to move away from pixels and go more towards triangles and proper meshes to generate the sprites. But this is where we are for now.

Unfortunately been busy but managed to do some colouring in.

quick_fly

Good day today working on the training menu.

fixed_menu

There is now a playable demo available of the first few levels.



What I've done is ported the Playdate code to Flutter and released as a Javascript app on Itch. I'm trying to get as much player feedback as possible pertaining to the core game mechanic of flying your balloon around in different airstreams.

It definitely works out better on the real device, with the d-pad or crank, but not many of my friends have one. A least this way you get an idea of the gameplay and can form an opinion.

If you'd like to play, here's the link: The Balloonist on Itch.io

I'd be very grateful for any feedback!

I tried the JS version but playing with a touchpad is tricky! I wasn't able to pass the direction change level. I would love to try a Playdate version.

If you want more user feedback, why not release a demo of the Playdate version on itch.io? I'd love to sideload it and give it a shot!

Thanks for the feedback! Yes, it's clearly a game designed for the Playdate and is meant to work with physical controls rather than touchscreens or pads, which I really dislike as input devices.

We're getting a little bit near to the limit of my ability when it comes to commercial product decisions. Intuitively to me it seems that, were this to become a shipping final product, it would be nice to save the best experience for actual customers who bought the final game.

However, clearly if playing on a touch device means that it's a challenge to make progress at all, then that seems to defeat the object of a test release.

The feedback I got from my primary game testers, (niece and nephew :smile:) is that they struggled a bit with the wind navigation mechanics anyway, in terms of was it fun to play.

There's nothing stopping a pivot to a more conventional flying machine like a helicopter or aeroplane that might be more fun to pilot. But I would probably need to upgrade my graphics pipeline to do that as I would want to add rotation to the sprites. The balloon is simple as it doesn't need to turn, and its shadow is just an oval. An aeroplane would need to have animated turning, banking, climbing etc.

I know how to do this, but it means a transition from voxel-based rendering to triangles and that means writing some more software to prepare the sprites, shadows and shadow maps.

I'm really enjoying developing for the device and I would like to do this, but it's going to take some time. Would give me the option to create a slew of isometric games if I got it right, but I'm wondering if I should test the market first with a different style of game that would take a little less time to release.

Plenty to think about!

Well I'll tell you what. If you don't want to go public beta (and that's completely understandable) but you still want some outside input, hit me up privately and I'd still be willing to take it for a spin. At the end of the day you need to do what you are comfortable with. I do like the idea of the hot air balloon, though, so I hope you at least stick with that!

Maybe you can submit your current version to Twin Cities Playtest? It's a 2 and a half hour session where people come in and try out games. It's recorded so you can see how they discover your game and what was good or bad for them.

Here is September session:

Just been doing some more testing locally. Since some players complained about having to keep looking at the altimometer rather than the balloon, I tried a new version where the airstream arrows are above and below the balloon.

airstream_arrows

Testers liked this better, but some still wanted to see the airstreams in the context of the height available to the player. So now we have an altimometer that appears when you are not moving, and close to the balloon.

revised_altimometer

If this tests well this week, I'll make a better job of the non-existent in/out animation :grin:

Holy moly! How do you have such a good eye for graphical design? I envy you :sweat_smile: