Made for Jame Gam Christmas Edition - 2021
This is my first, complete game!!
I would've like to have done music but ran out of time. I joined with only 2 days to go and it was a mad dash to finish. I can think of many things that I can do better next time (the code is really wonky. What a great learning experience! I welcome all comments and criticisms!
Thanks for playing!


SANTA'S DRONES
Have you ever wondered why you never received that Christmas present you always wanted? Maybe Santa Claus needs an updgrade to keep up with the demographic expansion of the last years. That old magic sled won't be able to carry all the presents anymore, so some lost packet is inevitable at some point! Become a Santa's drone to deliver all the lost presents in order to save Christmas and bring back the Joy to the world!
-> I believe Christmas is much more that receiving a present, btw xD
New in v.3!
- Button x has the same functionality as the up arrow during the game. This is much better for touch controls and retro-handhelds <3
- Added "+x" text when joy is collected
- Each skin is associated with a main and a secondary colors that customize the look of presents and texts
- Added more dynamism to the pile of presents carried around by drones
- Improved the player's movement in the horizontal direction
- Added a particle effect that follows the player's movements
Screenshots

I'm unable to paste gfx into the bbs anymore. The ones I have in one of my cartridges are broken as well.
![]() |
[8x8] |



Edit (30th Dec 2021):
I have tested this further, and it happens only when the laptop is running on battery power. On mains power, the Pico-8 window continues to draw new frames.
I have looked through the power and sleep options and power plan settings and (other than telling the screen to never turn off) do not see anything that stands out as relevant.
Original post below.
Workaround: Minimise and restore Pico-8.
Issue:
I recently set my laptop to turn the screen off when it wasn't in use for a couple of minutes.
When the screen comes back on, Pico-8 appears frozen. The first couple of times this happened I thought Pico-8 had crashed, but then I realised I could minimise and restore it to get it to start refreshing its screen again.
As this can look like a crash, it's probably something that should be fixed if possible.
I'm presuming there's a missed screen event handler, but if it's a more complex issue, and if it's any help tracking this down: I'm running pico-8 0.2.4, on a Windows 10 machine. It's a Dell laptop with an i3 processor.
Probably more an undocumented (as far as I know) or unexpected behaviour / feature, rather than a bug, but in case it is a bug, I'm posting it in the bug forum. This is something that people who are constructing long audio strings (>31 or 32 notes) with P8SCII should be aware of.
The point at which characters begin to be printed seems to vary; for me it's somewhere around the 40th character, which is likely around the 32nd of the notes in the string. (I feel it should be consistent in this - that always after the 32nd note plays it should drop back to printing text, but unless my tests or count are off this doesn't seem to be the case.)
The behaviour likely exists because the sfx playback is written for 32 note sfx lengths. For those who haven't read about the audio P8SCII: "If an sfx index is not specified, a non-active sfx between 60..63 is selected automatically. To fill the SFX with data before playback, the following commands can then be appended." Pico-8 manual


PICO-8's resolution can easily be lowered to 64x64 with:
poke(0x5f2c,3)
but it's always bothered me that you can't set the resolution to other factors of 128. So, I made this function that allows you to scale up whatever is currently drawn to the screen to any factor of 128 excluding 1 (2, 4, 8, 16, 32, 64, 128). The performance for 64x64 is pretty awful, so you're better off using poke(0x5f2c,3) if that's the resolution you're after. The others perform fairly well, with 32x32 using about <12% CPU and everything below it using <3%. One advantage of using this function is that after scaling down the currently drawn screen, you're free to draw over top it in full resolution, as demonstrated by the CPU performance text. I'm sure the performance can be improved somehow. I think this may be possible using memset, but I don't understand how to apply it to this case, or if it would even improve performance. If anyone has any optimizations, feel free to reply and I'll update the cart. Hope someone finds this useful!

.png)
Controls
Arrow keys are used to move and navigate menus, x and z are used to interact in battles while pressing z in the game will open an inventory.
Content
Trailer
Information
Tundraine is a turn based RPG created by me; Shrumbo. In it you play as three adventurers knows as Alva, Aaron and Sam in search of the Ice Palace. Tundraine is my first full game and, though short, is as detailed as I could make it taking three or so months to craft the systems, art, code, and music. I really hope you enjoyed and I you want to follow me as I make other thing go to my discord and YouTube channel linked below.
Discord Server
A PICO-8 version of a "falling sand" materials simulator, including sand, water, stone, wood, fire, acid, gunpowder and smoke!
Controls:
- Left mouse button / x: Paint material
- Right mouse button / o: Clear materials
- Click the palette on left to select material to paint
- Slider on bottom left sets tool size

This is based on bits I remember from a talk given by the creator of the game "Noita," and the clever types of materials and behaviors from that game.
To make this run acceptably in pico-8 it only simulates in portion of the screen size. Positions and materials are represented by a pico-8 color in a Lua table of fixed positions. Materials behavior is in update60() and should be easy to hack for fun. _draw() does a little bit to make flames flicker. Since the world simulates bottom-to-top, rising materials like smoke get carried along with the update and move very fast because they 'ride' the update direction.


