Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

Cart #freefall_prototype-2 | 2025-09-12 | Code ▽ | Embed ▽ | No License
2

2
0 comments


Cart #power_grid_v1-0 | 2025-09-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
0 comments


Cart #yiyzapiw-0 | 2025-09-12 | Code ▽ | Embed ▽ | No License
2

Plonk in space

A little autoshooter game for the Pico-1k Jam 2025, work in progress.

2
1 comment


Cart #starshipdodger_v2025_6-0 | 2025-09-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


A classic vertical shoot-em-up reminiscent of a famous space war movie. Written and created by a 9-year-old with the help of his dad.
Cart #starshipdodger-0 | 2025-09-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

v2025.6
The following changes have been introduced:

  • Implemented highscore recording
  • Implemented highscore initials
  • Eliminated continuous fire
  • Translated the help from Italian to English
    [Thanks to Heracleum for the valuable advice!]

[ Continue Reading.. ]

5
4 comments


I'm running Pico-8 0.2.7. When I use the underline P8SCII code together with the double-wide character P8SCII code I get an interrupted line.

Also, while we are discussing P8SCII interactions, here are two odd behaviors that could also be intended behavior:

  • Double-tall P8SCII code doesn't make the underline two pixels tall. I would have expected it to be so, but I would understand if this was intended.

  • Outline doesn't seem to be drawn around the underline. Personally, I would prefer if it did get drawn around every foreground pixel.
1
0 comments


Cart #masking_demo_emalan-0 | 2025-09-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Simple, interactive demo of a custom masking technique I was playing around with for fun.
A good example of an application of bitwise logic in computer science!

← and → to change the background fill to emulate changing opacity
(x) [x] to toggle masking effect
(o) [z] to show only the mask layer

The pulsing background is drawn into screen memory at 0x6000.
Shapes and background fill for the mask layer are drawn into memory at 0x8000 with color 15.
Four bytes each from 0x6000 – 0x7FFF and 0x8000 – 0x9FFF are compared with a bitwise AND operation (band()) and the result is written directly to screen memory.
There's not a lot to it besides that, but I thought it looked cool and wanted to share.

4
0 comments


I'm not quite sure this is a bug and not intended behavior, but I can't see why it would be intentional; at least for my use case, it's quite an annoying quirk that I really can't come up with any good workaround for.

Here's an example of where this gets in the way:

I started using one-off characters to insert 5x5 icons into text, but it seems that as soon as the line has ANY one-off characters, print thinks that since it could theoretically take up to 8x8 pixels, the line height should be increased to 8.

For the width of the characters, I actually just add \-e at the end of each icon, so that the icon takes up 6 pixels horizontally; but I wasn't able to find any way to correct the line height - this behavior seems to completely override \^y as soon as a one-off character is present.

(in fact, bizarelly, setting line height to lower than 6 reveals that print will actually crop away the pixels of all characters EXCEPT for one-offs, while the vertical spacing remains at 8:)

[ Continue Reading.. ]

1 comment


Hello!

This is my first game, so I hope you enjoy it.

Paddy Kapow is an interdimensional burgerpatty, that can send an eplosive shockwave outward from its body. It uses this power to avoid getting hit by varies sized scoops of raspberry iscream, while flighing throw space.

I have made a few changes, and added a highscore list, so everyone who plays, can earn bragging rights.

Cart #paddy_kapow_v3-3 | 2025-09-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

3
2 comments


Cart #cartdatapaint-0 | 2025-09-11 | Code ▽ | Embed ▽ | No License
3

Small tool / sample code to show off how to encode a 1-bit bitmap into CARTDATA. Uses the ability to utilize multiple CARTDATA IDs per Cart introduced in 0.2.7

Usage

  • Use mouse and left mouse button to paint
  • Use the menu to save, load or clear the image
  • The image will also automatically load on _INIT

Functions for encoding are in Tab 1

As showcased in this video

Let me know if you have any questions!

3
1 comment


Cart #outlinetool-0 | 2025-09-11 | Code ▽ | Embed ▽ | No License
3

Simple tool to generate outlines with the text outline functions introduced in Pico 0.2.7

Usage:

  • Click on the boxes in the center to define the outline
  • Left click on the color boxes to set outline color
  • Right click on the color boxes to set text color. Text color is just for preview purposes. It will be not encoded in the exported string
  • Click on the button to export the P8SCII string into the clipboard

As showcased in this video

Let me know if there are any issues or anything you wanted to add!

3
1 comment


Cart #statemachine_kkp-1 | 2025-09-12 | Code ▽ | Embed ▽ | No License

Template

Cart #statemachine_template_kkp-1 | 2025-09-12 | Code ▽ | Embed ▽ | No License

Code

State Machine

function _init()
    gsm = sm:new()
    gsm:setsts({ s_title, s_game, s_gameover })
    gsm:init("title")
end

function _update()
    gsm:update()
end

function _draw()
    cls()
    gsm:draw()
end

State

s_game = st:new("game")
function s_game:enter()
    psm = sm:new()
    psm:setsts({ ps_idle, ps_move, ps_dead:new() })
    psm:init("idle")
    player:spawn(64, 96)
end

function s_game:update()
    psm:update()
end

function s_game:draw()
    psm:draw()
    player:draw()
end

Add State Properties

ps_dead = st:new("dead")
function ps_dead:new(o)
    -- inherited state
    o = state.new(self, "dead")
    o.timer = 0
    return o
end

function ps_dead:enter()
    start_shake(10, 10)
end

function ps_dead:update()
    update_shake()

    if self.timer >= 30 then
        gsm:trans("gameover")
    end

    self.timer += 1
end
0 comments


Cart #fasisinede-0 | 2025-09-11 | Code ▽ | Embed ▽ | No License
4

A fighting fantasy adventure inspired by Ian Livingstone books!

It's still work in progress, but the game seems to be functioning as intended with a possibility of multiple endings.
Can be controlled with either mouse or keyboard/controller.
If you find any bugs or have feedback let me know!

4
1 comment


Cart #jones1114_rgbeam_1-0 | 2025-09-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

RGBEAM

How to Play

Shoot your laser at the falling blocks to change the color and match the bottom bar

Controls

Left & Right: Move
X: Shoot

0 comments


Cart #updated_donut-0 | 2025-09-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


Updated torus(donut) 3D render with accurate FOV.
Feel free to scrutinize the code I know it needs a lot of work before it could be used for anything.

2
0 comments


Cart #honoyibahi-1 | 2025-09-10 | Code ▽ | Embed ▽ | No License

Teaching myself PICO-8 -- why not a demake of the holiday classic Skeal?

Still on the fence about whether trees/rocks should cause collisions or if that's more punishing than necessary for what's basically an extended joke.

0 comments


Pong

Cart #rodusutamu-1 | 2025-09-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
1 comment


Sparkly particle fun for the pico 1k jam!
Use ←/→ to change the spin speed, mouse to move the cursor, left click to attract and right click to repel. Have fun!

Cart #sparkle_orbit_1k-0 | 2025-09-10 | Code ▽ | Embed ▽ | No License
7

7
0 comments


I got my player character to walk, jump, die, and be idle. But I haven't been able to get its attack animation beyond one frame.

For context, this is how I update and draw the player:

function _init()
 plr={
  x=10,     --x position
  y=75,     --y position
  dx=0,     --movement direction
  fl=false, --flip sprite
  sp=1,     --sprite
  state="idle",
 }

function _update()
 moveplayer()
 animate_plr()
end

function _draw()
 spr(plr.sp,plr.x,plr.y,1,1,plr.fl)
end

function moveplayer()

 --attack
 if btn(🅾️) then
  plr.state="attack"

 --move left and right 
 elseif btn(⬅️) then
  plr.dx=-1
  plr.fl=true
  plr.state="walk"
 elseif btn(➡️) then
  plr.dx=1
  plr.fl=false
  plr.state="walk"
 else
  plr.dx=0
  plr.state="idle"
 end
 plr.x+=plr.dx
end

To animate, I use the below function. plr.sp calls the sprite number, which are as follows:
1-2 = Walk
2 = Jump
3-5 = Attack
8 = dead

function animate_plr()

 --handle animation state
 if plr.state=="dead" then
  plr.sp=8
 --idle
 elseif plr.state=="idle" then
  plr.sp=1
 --attack
 elseif plr.state=="attack" then
  plr.dx=0
  plr.sp=3
  while plr.sp<5 do
   plr.sp+=1
  end
 --walk
 elseif plr.state=="walk" then
  if plr.sp<2.75 then
   plr.sp+=0.25
  else
   plr.sp=1
  end
 --jump
 elseif plr.state=="jump" then
  plr.sp=2
 end
end

So the problem is that when I use btnp in the code above it only shows sprite 5 and then immediately switches back to the walk frames. If I use btn then the character just stays frozen in sprite 5.

What I want to achieve, is to have it go through all three attack sprites (3, 4, 5) in succession and then revert back to its previous state, e.g. walking animation or standing still.

Thanks in advance.

6 comments


Cart #flappymeat-0 | 2025-09-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

My First Solo Game Project!

This is my first time ever coding a single thing. When I started I had no idea how to code a single line, but with the help of SpaceCat on youtube and a few other resources I found my way into making a game that feels like a game! I ended up making most of the code up myself, and while it's a mess, it's functional!
Looking forward to making cleaner code in the next one.

Controls

Use X or Up to raise the meatball.
Press O/Z to skip the death animation or restart the game.

Unlike most Flappy Bird games I wanted a jump motion that felt more like a jetpack for our flaming meatball. Sometimes holding the button is better, and sometimes quick presses get the job done.

[ Continue Reading.. ]

4
2 comments


Cart #brgrboss-0 | 2025-09-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

BRGR BOSS

Take on the role of a brilliant entrepreneur who's taken a sizable loan out to buy an experimental food printer.
Pay off your crippling debt with your own Burger Business!

How to Play

  • Use the arrow keys to issue commands, holding X or O will open up different options.

  • Holding X- Hire employees to automate your process, buy more locations to make room for more employees.

  • Holding O- Conduct research and train your existing employees to make even more money, even faster!

Tips

  • Watch out! Your loan accrues interest over time, it might be tempting to add more debt, but this only makes the interest rates worse!

  • Throw your employees a pizza part to (temporarily) motivate them.

  • The Bank limits your cash on hand to 30,000. They CLAIM its to avoid an overflow error that will actually give you a negative balance, but you're pretty sure its just to keep you down...

  • Cashiers work a LITTLE faster than cooks, what can I say- people love the Burgers!

  • If your Burger/Combo count is -1, that just means they need help in the kitchen.

Updates

  • 9/9/25 added prices to the R&D tab, and made it more obvious when they were purchased.

This is my first crack at a ground-up game for Pico 8, I think it went pretty well!

3
2 comments




Top    Load More Posts ->