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.
Features:
- a whopping 8 different pieces of furniture!
- a massive two (2) unique clients!
- almost 30 furniture styles!
Controls:
- 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.
Just uploading my #0hgame entry, made in exactly 0 hours in the timespan 2am - 2am CET.
Instructions: aim using the left and right arrow keys, wait for the toast to pop up and hit X to launch your blob of butter.
this is very dumb and ugly and i am sorry for wasting your precious time. I might be coming back to it though, I have some ideas on how to make a proper game out of it.
Recently I've been experimenting with the sfx and music editors and while they are excellent in all their simplicity, there are some areas where I would like to see it improved. I'll try to make myself as brief as possible:
1: Volume
The way volume is handled in PICO-8 is that it increases linearly. The problem with this is that the way humans perceive sound is logarithmic, which means that a jump from volume values 1 to 2 is a lot more noticeable than the jump from 6 to 7. Below is an Audacity recording of a square wave in the tracker going from 1 all the way to 7 displayed in both the linear and logarithmic scale and as you can see the difference in these jumps is quite significant.
Is it possible that the way volume works in PICO-8 could be fixed to ramp exponentially? I'm not sure how many people notice (or even care) but it's something that makes it hard to make natural-sounding ramps up in volume when creating sfx and music, especially on the quieter side.
[b][u]2: Suggestion: Display silent notes (0 volume) in the tracker
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.
What's included:
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 |
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!
Controls:
- left/right/up/down to move cursor
- Z to mark a square
- X to flip between cursor mode (0 - nothing, 1 - cross, 2 - mark)
Just uploading this stupid thing I got sidetracked with and made today. I'll probably continue with it and flesh it out, just not sure when. At the moment it has 3 puzzles (2 of which were shamelessly stolen from Picross DS (pls dont tell anyone)) and which one you get when you boot up the game is random so keep rebooting the player until you get a different puzzle.
If you don't know how to solve Picross puzzles, this page might be a good start.
TODO:
- win state
- main menu & puzzle selection menu
- automatically mark numbers as rows/columns are filled in
- better controls
- tutorial (?)
- sounds, music and a plethora of juicy effects
- code optimizations to be able to fit in as many puzzles as possible
Controls:
- right/left to increase/decrease amplitude
- up/down to increase/decrease wavelength
- Z/X to increase/decrease animation speed
- Q to change background
- W to change effect type
I've been toying around with my Pico-8 for the last few days and after a good amount of bashing my head against a wall I finally have something cool and somewhat presentable. It translates horizontal lines on the screen either horizontally or vertically in a sine-wave-like pattern, just like the battle backgrounds in Earthbound and Mother 3.
Thinking of making a short vertical slice of some sort of RPG with a basic battle system that makes use of it.
Here are the relevant code snippets if you'd like to use the effects in your own game:
[hidden]
-- horizontal distortion effect -- by qbicfeet -- -- t: time -- a: amplitude (in pixels) -- l: wavelength (in pixels) -- s: speed -- y1: first horizontal line -- y2: last horizontal line -- mode: interlaced y/n function sine_xshift(t,a,l,s,y1,y2,mode) for y=y1,y2 do local off = a * sin((y + flr(t*s + 0.5) + 0.5) / l) if mode and y%2 < 1 then off *= -1 end local x = flr(off/2 + 0.5) % 64 local addr = 0x6000+64*y memcpy(0x4300,addr,64) memcpy(addr+x,0x4300,64-x) memcpy(addr,0x4340-x,x) end end |
-- vertical distortion effect -- by qbicfeet -- -- t: time -- a: amplitude (in pixels) -- l: wavelength (in pixels) -- s: speed -- y1: first horizontal line -- y2: last horizontal line -- -- note: the difference between -- y2 and y1 can not be greater -- than 111 or it will corrupt -- the draw state ram! function sine_yshift(t,a,l,s,y1,y2) local dy = y2-y1+1 memcpy(0x4300,0x6000+64*y1,64*dy) for y=y1,y2 do local yy = (y + flr(a * sin((y + flr(t*s + 0.5) + 0.5) / l) + 0.5)) % dy memcpy(0x6000+64*y,0x4300+64*yy,64) end end |
So, I noticed a lot of you are eager to start working on your own, custom Voxatron characters but don't really know where to start. I felt the same way too. Luckily, I overcame the learning curve and I'm here to make sure the same thing happens for you!
First of all, let's explain how custom characters work.
A custom character consists of 12 frames (frame 0 to 11). Each frame has the size of 15x15x16 voxels.
Frame 0 - neutral, not shooting or equipping the sword and armor.
Frame 1 - shooting, right (your character's right; your left)
Frame 2 - shooting, left (your character's left)
Frame 3 - sword and armor, neutral
Frame 4 - sword and armor, swipe 1
Frame 5 - sword and armor, swipe 2
Frame 6, 7, 8, 9 and 10 - your character's legs. I'll explain how this works below.
Frame 11 - sword and armor, drops. This is what your character will drop upon taking damage and losing the sword and armor and is purely eye candy.
*your character always swings the sword from right to left, so keep that in mind when working on these frames.