My entry for Ludum Dare 37 (theme: one room).
You're an interior decorator, and your job is to give your clients nice and shiny new homes. Take note of their demands and try to give them exactly what they want.
- a whopping 8 different pieces of furniture!
- a massive two (2) unique clients!
- almost 30 furniture styles!
- arrow keys: move cursor/select item and style
- Z (circle): new item/pick up item/place item/confirm/continue
- X (cross): finish decorating/delete item/cancel
Feel free to post screenshots of any neat rooms you decorate!
Not entirely satisfied with this one, could have gone further with it but I started losing motivation toward the end. I think it's a neat concept and I have some unexplored ideas on where it could go next, but I'm doubtful I'll keep working on it post-jam.
The cart is released under CC4-BY-NC-SA, so if you want to remix it or expand upon it (like adding more furniture or clients (or just cleaning up the spaghetti code)), I encourage you to do so.
Inspired by LRP's lowercase font, I made a little library that lets you print to the screen using a custom 9px variable-width font that is defined entirely in code. In other words, nice and readable text that doesn't use sprites. The cartridge includes the hastily coded example usage you see above.
init_print9 initializes font data, must be run before print9() can be used print9 str [x] [y] [col] prints to the screen using a variable-width 9px custom font if x or y are left blank it will continue printing where it last left off col is text color optionally returns the x-coordinate of the cursor, which is useful if you want to continue where you last left off (for example, when typing one character every frame) do note that print9() uses up a reasonable amount of cpu, typing out the entire lowercase alphabet uses up about 10% of the cpu @ 30fps my suggestion for longer text (i.e. dialogue boxes) is to draw to regions of the screen that are not cleared every frame and only clear when necessary is_bit_set var pos checks if the pos-th bit (including fractional part) in var is set or not used internally by print9(), but hey, it's a nice utility
With all (non-extended) characters defined, this library uses up 847 tokens. If you are desperate for tokens, it works perfectly fine to remove the definitions for characters that you don't need, for example only defining lowercase characters + punctuation can cut it down to ~450 tokens.
Explanation for how the characters are defined:
You're an unfortunate flower stuck hundreds of meters below the ground and you want nothing but to see the sun again again. You might never get out, but your children may!
Shoot your seed and have it land safely to spawn a child who carries on your legacy. Shooting your seed kills you and leaves your withered body behind and if the seed is destroyed, your bloodline ends here and now.
This game uses only two controls; the left and right arrow keys.
- When idle, hit both left+right simultaneously to take aim.
- When aiming, use the left and right arrow keys to decrease/increase your shot strength, and hit left+right simultaneously to shoot.
- If on the game over screen, hit left to restart the entire game or right to restart the current level.
The game only has two levels, but I'm liking this concept so I might continue working on it after the jam.
Legacy of Flower was made entirely in PICO-8. Special thanks to @zep for making such an incredibly fun fantasy console!
Thanks for playing!