I've used this year's Really Amateur Games Expo as an excuse to finally look at the Playdate SDK.
Despite having two weeks to work on it, I only really spent two days... The advantage of a competition aimed towards making the worst fangame possible is that even if it's rushed and bad, that's the entire point so 👌👌🔥
Yes it's blue spheres again the world will never be freed of blue spheres
You can download the result .pdx file on itch at the link below. Works on real Playdates!
The only real design idea I had going into this was "you can use the crank to accelerate to ridiculous speeds":
Making a real platformer with the (self-)alloted time wouldve been difficult, so I settled for a Mode-7 racing game instead, as that's basically just using the builtin drawSampled
function.
Which is nice and all, but the Playdate core library only gives you this, and no other tools to uh, draw other sprites positioned within the mode-7 world...
So the spheres are just painted on the track.
...I actually tried to make them proper objects, okay?!
It's too much math for my dumb brain and there was nothing to copypaste...
There's technically a library you can import to get full mode7 functionality on Playdate now, but I wanted to just play with the stock SDK here; We ain't making a real game or anything preposterous like that....
Speaking of the SDK, very fun to use! It's quite intuitive and gives you a bunch of tools I wouldn't necessarily expect from a low-spec console, like built-in JSON deserialization and MP3 decoding...
Which you should not use! It takes like 50% of the CPU on real hardware so you're better off converting to .wav.*
The 1-bit nature of the playdate screen makes it pretty easy to just grab a bunch of different assets, slam them all into aseprite with default dithering** and boom! graphics! As shrimple as that...
* wav files are actually converted to .pda by the playdate compiler, so when using the fileplayer you need to load filenames with the .pda extension for them to play... the sampleplayer doesn't have this problem so you can just throw .wav filenames at it for some reason
** Or Atkinson dithering if you're a nerd (I forgot that was a possibility until writing this..)