Bullet Hell for beginners

While I dither about The Balloonist, I've been working on a shmup, quite early days but just getting a feel for the performance of the device, which seems perfectly good.

bullet_hell

If you are a shmup junkie, you might be interested in input latency, the time between pressing a button and seeing the corresponding action on the screen. There are Youtube videos where gamers try to set up Mame and other emulators to get the best response.

When programming in C, the system calls your update method (at say 50Hz) and then you call markUpdatedRows and it goes away and refreshes the display. Is this single-buffered? I'm wondering if we have single frame latency, as it does feel pretty responsive.

Could be a nice plus point for more action-oriented games. Can anybody share any details about the latency of the display buffer?

3 Likes

I like the Playdate system for seamlessly going from launcher card to game code.

launch3

The loading indicator takes a little longer on the device, takes a couple of seconds to load everything.

2 Likes

Working on in-game documentation screens.

in_game_docs

1 Like

Those documentation screens look great. I like the crank image and how you show your hitbox for the ship. Very well done

1 Like

Some shmups have a hyper mode where the player is granted extra powers, but in mine it causes the oppo to slow down and is activated by undocking the crank.

You get a visual indication that time-stop mode is on with a bubble around the player's ship.

hyper_mode

The pitch here is that this is a "bullet hell for beginners." At any time in the game, the player can slow things down and spend more time considering strategy.

Hopefully players who would normally be put off by the ridiculous pace of, and hand-eye control needed by, some shmups should find this more accessible.

The technical implementation of time-stop is just reducing the frame rate at the moment, but I will do it properly at some point and reduce the enemy and bullet deltas while keeping 50Hz.

Changed the slow-down aura to something I think looks better.

aura

Also been working on the level select screen. Stars awarded for unlocking achievements still to go in, and not sure what to do about high scores for each level.

level_select

Was a bit worried to see that this screen would not run at 50Hz on the Playdate, but after a purge of multiplications and array accesses in inner loops, speed came up fine again :sweat_smile:

1 Like

Little bit of a redesign, here's where we are at after ten weeks give or take.

1 Like

About the enemies, each is drawn by hand to give the smoothest sprites.

I continue to be very impressed with gcc compiling for the Cortex chip. That's keeping 50Hz even with quite a lot going on.

game2