Source code is here. The game is nowhere near finished but here is my intent for when the game is finished:
It's a procedurally generated platformer where you play as a cat. Its gimmick? Well, there's two.
Just like the myth, you have nine lives. Lose all nine? Bam. Save data gone.
The second one is that jumping (will, once I'm finished) causes your cat to spin in mid-air. Just like a real cat you (once again, not implemented) will need to balance yourself using the crank, and land on your feet. If you don't, you lose a life!
Thanks! Speaking of, would you mind helping me out with things? I'm kinda stuck when it comes to procedural generation.
Speaking of that, Untitled Unicycle Game might benefit from procedural generation, due to the nature of it. Currently, the game has a definitive end. Using procedural generation might help you out there!
Hey, I downloaded and checked out your project. This is a super fun start!
I made a single change right away to gameScene/sprites.lua that I think will help you out. On line 116, at the very end of your update function, I added the line:
gfx.fillRect(box)
This essentially draws the box that you used to create your ground sprite. Alternatively, you could give the sprite an image, (probably what you want eventually), or maybe take a look at the vectorsprite.lua file in the SDK's Asheteroids example for how to programaticly draw using a sprite.
It's hard to know how to help you with your procedural generation without knowing what kind of thing you want to happen, but essentially, you're going to want to create a table (array) of boxes (or box sprites, probably), and set their sizes and positions randomly based on some minimums and maximums that make sense for your game.
But probably before that, or at the same time, you'll also need to think about how you're going to "move the camera" in your game. There are a lot of different ways you could approach this... so again it's hard to know what advice to give you. Usually, you would set some kind of maximum distance from the edge of the screen your cat can move to, then whenever it would move beyond that, you instead move everything else in the scene but the cat, if that makes sense.
Good luck, and feel free to DM me if you've posted some additional questions and/or want some follow-up!
Like @grid said, it's kinda hard to give solid advice on procedural generation unless I know exactly what you're trying to achieve. I can give you a quick run down on a way I might approach this with the disclaimer that I am no expert on procedural generation. (I'm doing this in P5.js btw, just treat is a psudo code)
First I'd set some goals, something like this maybe:
always go left to right
gets harder the further you go
jumping higher is harder
jumping further is harder
Let's do these one at a time
always go left to right:
There we go! This is a very simple demo but does everything I was trying to do, it goes left to right and it gets harder the further it goes.
You'd probably want to add more nuance to it, this is still very random and basic. Adding more nuance to it is just the same process, ask yourself what you want and then come up with some rule for it.
I've decided to start signing new releases and builds (with the GPG key B2E045AD5C08D28B). Since there's no builtin mechanism for this as far as I know, I've created the .pdxs format which is really just a zip file containing:
game.pdx.zip
game.asc (Base64 PGP Signature Data)
You can then extract the game by extracting it, then extracting the PDX inside (unzip game.pdxs whatever_playdate_game; unzip whatever_playdate_game/game.pdx.zip ./game.pdx). You can also verify the signature with GPG: gpg --verify "whatever_playdate_game/game.asc whatever_playdate_game/game.pdx.zip"