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.
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.
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.
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.
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.
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.
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.
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 ) 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.