Log In  
"Fit" Santa
[ :: Read More :: ]

Cart #logarhythm_hexagon0-0 | 2022-10-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

An homage to Super Hexagon by Terry Cavanagh.
Most of development was done in Jan 2022 but lots of tuning and polish to finish it up went in the past couple of weeks.

Controls: z,x and left/right arrow keys. Enter key for menu.

Like the original, this game is HARD! Find a path through for 120 seconds to win the stage.

Code comments should help if you'd like to hack the stage palettes, tweak speeds, or make your own patterns.

Please feel free to remix.

Thanks to @p01 for the efficient pico-8 triangle drawing routine used here.
Thanks to pico-8 hexagon 1K, etc competitors for inspiration!

P#118311 2022-10-01 20:28 ( Edited 2022-10-10 14:42)

[ :: Read More :: ]

I recently updated my iphone to OS 15, which changed some Safari browser behaviors. The title bar can optionally be at the bottom, and there's a new gesture (flick up) that can hide the title bar. For some reason, this will move just the D-pad and buttons on the BBS up and down on the screen during normal gameplay (e.g. using the d-pad to play.) This makes it pretty much impossible to play anything on the BBS unfortunately.

Oddly enough this doesn't seem to be an issue with direct html exports hosted on my own site, so it's likely BBS-specific. I don't know web coding but maybe there's something to do with the embedding or frame size.

I did try changing Safari settings (such as moving the title bar back up) and disabling accessibility gestures in the OS, but none of this helps, unfortunately.

Hopefully there's some easy solution with the .bbs page layout? The Sisyphean toil of keeping things working in browsers continues :( Thanks for looking!

P#103587 2021-12-26 21:40

[ :: Read More :: ]

Cart #notita_0-4 | 2021-12-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A PICO-8 version of a "falling sand" materials simulator, including sand, water, stone, wood, fire, acid, gunpowder and smoke!


  • 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.

Originally I did some experiments with 1-d tables, and also using pget/pset but didn't get good performance, so I settled on timeslicing to update bottom-to-top about 10 rows per update60(). (An artifact of this is banding in rising smoke.) The top bits in each color could probably be used to store something like particle lifespans (for burning, etc)and keep memory tight, but I opted to rely on rnd() and color-based states for things like fire instead. Using bitvectors could probably improve performance of the if..else trees for material update behavior. Somebody savvy in pico-8's particulars with cpu operations could probably optimize this far better, perhaps with direct peek/poke to vram!


Version 1.4:

  • Added Gunpowder and Acid
  • Refined water behavior
  • Tool size now goes down to 1

Version 1.3:

  • Optimized Erase tool to not burn CPU opcodes
  • Holding Erase button now overrides Add button (Allowing Erasing on touch screens)
  • Other minor optimizations

Version 1.2:

  • Many PICO-8 opcode optimizations (Thanks to @luchak for suggestions!)
  • Expanded the simulation area by 11 columns thanks to savings
  • Cleaned up look/feel, starts with blank slate

Version 1.1:

  • Joypad and mouse both work in the same build
  • Tool size shown next to slider
  • Momentary instructions shown
P#103361 2021-12-22 20:49 ( Edited 2021-12-27 05:14)

[ :: Read More :: ]

Cart #fit_santa_00-1 | 2021-12-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

It's nearly midnight and there are still presents to deliver, and treats to eat!


Press x to deliver presents and score points.
Press o to jump over vegetables and through obstacles.

Earn 5 seconds every 250 pts.
You can hold up to 8 presents, earning one back every treat you eat. Santa's magic also regenerates presents over time, and it gets more powerful the more calories he has.
Beware, Santa-ing is hard work and burns lots of calories. What's more, vegetables are super healthy to elven physiques and actually remove calories!
Get special treat and time bonuses every 2500 pts.
Reach 5000 points for the full suite of treats!

The instructions at the title screen should give you most of the hints you need, but see spoilers below for strategy.

Santa grabs food near his feet!
Getting good at jumping over vegetables and through tables, chairs and trees is key.
Aim at keeping calorie levels higher so you'll regenerate presents faster.
Prioritize where to put presents to maximize points and get the time bonuses ASAP when there's a choice.
In the late game, you may wish to eat veggies sometimes to optimize your view!

I've written lots of Lua but this is my first Pico-8 cart. It's been balanced to hopefully be pretty fun to spend a while with :) I've pared down the code and comments to fit in the compressed size limit, but it should be easy to follow if you're interested.


Version 1.1:

  • High scores now persist (DSET/DGET)
  • Scores can be reset from the game menu
P#102430 2021-12-11 23:19 ( Edited 2021-12-30 17:50)