Log In  

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

Cart #gungame-0 | 2025-03-22 | Code ▽ | Embed ▽ | No License
3

Gungame is about a red man (for some reason) shooting infected enemies and surviving waves of attacks while choosing upgrades wisely to not mess it up

Controls

arrow keys to move around and X to shoot or pick up upgrade
you can shoot backwards if you hold left then right, make use of it before i patch it

Rules

infinite mode begins after wave 3
stock up on ammo and any speed boosters because enemies become more and more aggressive in infinite mode
you can farm ammo if you keep a fat zombies at the end of the round, also use it before i patch it
Grenades don't work yet so do NOT get it when you see it unless you want to skip an upgrade round

[ Continue Reading.. ]

3
4 comments


Cart #tank2025-1 | 2025-04-12 | Code ▽ | Embed ▽ | No License

Controls

  • Use the up and down arrows to move forward and backward.
  • Use the left and right arrows to change the direction of your tank.
  • Press the Z to fire a shell.
  • Hold the X and use the left and right arrows to rotate the turret.

About this game

  • This is a game where you control a tank and destroy turrets that appear on the perimeter of the field.
  • The game is inspired by the electromechanical arcade game ATTACK II (SEGA/1971).
  • The development version of this game was showcased at Game Dungeon 7.
  • It consists of 7 stages.
3
1 comment


Cart #pouchmate1-1 | 2025-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Step into a warm, inviting world with POUCHMATE, a charming interactive experience designed to feel like having a little friend always by your side.

1
0 comments


Cart #buduzezud-0 | 2025-03-22 | Code ▽ | Embed ▽ | No License


I am uploading this very early antetris alpha now before anything else, because I can at least refer back to this if anything happens regarding this cart, like if I lose all my hard work.

This is supposed to be a full fledged remake of this old game right here, with a few new things hopefully added in.
(Game in question:)

Things that still need to be done:

  1. I need to have the blocks to come down over the screen in a way so the colored blocks in the spritesheet come down arranged in tetromino fashion, and the dark grey blocks to be randomly peppered in as well in no particular shape or arrangement.
    See sprites here:

[ Continue Reading.. ]

1 comment


Cart #mushroom_boy-1 | 2025-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

Hello everyone! This is my first small project for PICO-8 in the puzzle platformer genre. I hope you will like it!

Controls

Use the ⬅️ and ➡️ keys to move the character
To jump, use the button❎
In case of defeat, use the keyboard shortcut ⬇️ and 🅾️ to restart

Rules

The goal of the game is to complete all the levels and score as many points as possible.
To complete the level, you need to reach the flag hidden behind the obstacles. Collect the keys on the level to destroy the obstacles.
To score points, collect coins on the level, open chests and try to save time.

Assets of other authors

[ Continue Reading.. ]

12
3 comments


Well here's a weird little tools project I spent a few evenings on-- a way to write simple short PICO8 programs on my phone while on the go:

Sometimes I find myself with my phone in a long line, at the DMV, on a train or plane-- I can read news, doomscroll, or play games-- but wouldn't it be neat if I could create little games/animations? I've seen past brainstorms about development on mobile-- the main suggestions seemed to be to attach a bluetooth keyboard+mouse and use Education Edition, or set up a VPN + remote desktop connection to PICO8 running on a home machine, neither of which is as convenient for brief impulsive doodling. But I realized-- if I can understand the PICO8 @URL format used by Education Edition, perhaps I could generate that from code I write on my phone...

A few evenings of poking around led me to this strange hack: a spreadsheet-as-IDE/wrapper. This gives me a way to write code in an existing app on my phone with a virtual keyboard, with copy/paste, undo, cloud sync, and all those quality of life features "for free", and then use a few formulas in the spreadsheet to translate the code into a b64-encoded URL at https://pico-8-edu.com/ that I can run. The development is far inferior to the real PICO8 environment in terms of features, iteration speed, and so on, but I've found it fun creating little animations with thumb typing in 20 minutes of downtime here and there, so I figured I'd share it.

[ Continue Reading.. ]

6
2 comments


Are there config files for the editors?
So if I wanted to say, change the tab size or key-bindings in the code-editor.

if not, does anyone know where I could start poking around?

update: i did find /system/apps/code.p64 which looks promising. any other info is welcome

2 comments


Cart #pong_fipachu-0 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Work in progress, press X to "play".
Next to-do: rework collision with the palette to remove spooky action at a distance and generally make it behave.

0 comments


Cart #wonsajohu-1 | 2025-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6



You’re Arlo, a farmer racing to save your family’s canola farm from bankruptcy. With olive oil dominating the market, canola prices have crashed. Grow, harvest, and sell canola to pay off your loan before the bank takes the farm. Can you bring Haims Ridge Farm back to life?

Controls

Move - arrow keys ➡️⬆️⬇️⬅️

Switch Tool - Z or C or N [O button]

Interact - X or V or M [X button]

Rules/Gameplay

  • Grow and harvest canola, then deliver it to the silos to earn money.
  • Use your earnings to buy upgrades at the barn.

[ Continue Reading.. ]

6
5 comments


Cart #lava_dig-2 | 2025-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


A small, arcade style game I've made mostly during my college lectures.
You can use a bomb using the "x" button.
There are some more surprises waiting at lower depths.

6
5 comments


Cart #minesweeper_garden-0 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
1 comment


Cart #polican_-1 | 2025-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

My first Pico-8 project. A Fan-game about the comic character Polican. Developed with the help my kids, real fans!

Enjoy!

8
1 comment


I don't know if its intended or not, but when I enable has_frame=false and do
windows = fetch("/ram/shared/windows.pod") then its not there. Windows that have no frame don't show up there and I can't find the place that handles which windows are added there. thanks in advance

1 comment


Cart #yinyang1-1 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

YinYang

  • 30 yinyang puzzles

Rules

  • all spaces be filled
  • some spaces are pinned with balls that cannot be changed
  • all dark balls connected orthogonally in single group
  • all light balls connected orthogonally in single group
  • no 2x2 group of the same color allowed
9
3 comments


It seems that widgets will not load if /appdata/system/startup.lua does not exist.
I believe this is a new issue that appears in version 0.2.0. I cannot confirm this, but...
The relevant code is from line 203 of /system/startup.lua.

Additionally, it seems that simply creating startup.lua in /appdata/system, even without any content, resolves the issue.

1 comment


Cart #birds-1 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Birds!

This is birds, a small project I made when I was bored.
When playing, birds will spawn in time to the music, but after a while you can just click to spawn them.
And... that's pretty much all.

3
1 comment


Mulibox

Mechanism

This game includes seven types of boxes, and you must push the corresponding box to the target, ensuring no other boxes remain to win.

Control

Play it now!

Cart #mulibox-3 | 2025-04-05 | Code ▽ | Embed ▽ | No License

0 comments


I based this post on an article by nerdyteachers

NB: to make the code easier to read, the examples shown here contain spaces, which is not recommended in Pico 8 to save space.

How to write a class~ish

We will start with a simple class:

function monster(x, y, sp)
  m={x=x,y=y,sp=sp or 0}

  function m.update(s)
    s.x+=1
  end

  function m.draw(s)
    spr(s.s,s.x,s.y)
  end

  return m

end 

The word class is a bit of a misnomer, because in reality monster is just a function.
This function constructs the class instance, using a table.

Attributs

Inside the table You will write the attributes of your class:

function monster(x,y)
  p={x=x,y=x}
...

Note that the function's parameters act as constructors, allowing arguments to be passed to the class.

Methods

There are two ways to write a method with a : or with a ..

The first way is the more usual in Lua, because in this way you can omit the parameter reserved for the class instance.
The parameter self automatically exists in your function without declaration.

The other way ask you to declare, in first place, a parameter reserved for the class instance.
In short, function m:draw() can be written like that function m.draw(self).

We will prefer the second way because it's make economize tokens using this solution.

For instance, the method draw will look like that

function m.draw(s)
  spr(s.sp,s.x,s.y)
end

Using the class

To create an instance of the class, you just need to use the function mo=monster(64,64,0)

And to call a method is also simple mo:update
Note that using : as a link between the instance and the method, is a way of avoiding re-passing the instance to the method. Simply put, writing mo:draw() is a way to avoid writing mo.draw(mo)

Here is an example of code using the class monster

function _init()
  mo=monster(64, 64, 0)
end

function _update()
 mo:update()
end

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

Inheritance~ish

Here is the spider class that inherits from monster

function spider(x, y)
  spi=monster(x,y,0)
  return spi
end

It's yet really basic, but it works.

New attribute

If you want to add a new attribute you can proceed like it was a table, (because it's a table)

function spider(x, y)
  spi=monster(x,y,0)
  spi.hp=50	

  return spi

end

New method

To add another method, you just do as you did before.

function spider(x, y)
  spi=monster(x,y,0)
  spi.hp=50

  function spi.damage(s,d)
    s.hp-=d
  end
  return spi
end

Overwrite a method

The most "complex" task is the overwriting.

Before, you need to understand that a function is store in memory, in the same way that a variable.
For instance, if I want, I can store print in a variable a and use a as print.

a = print
function _draw()
  a("This is a test.", 5, 10)
end

It works because when you write a=print, a contains a reference to the print function.

Now that we are aware of that, we can proceed to overwriting.

If I want to add a behavior to my spider on update, in addition to the existing code already inside the update method from monster, I will proceed like this:

...
spi.supspiupdate=spi.update
function spi.update(s)
  s.supspiupdate(s)
  s.y +=1
end	
...

First you store the update method from the ancestor inside a variable here spi.supspiupdate
This variable need to be unique inside your class (including parent and child).

Then you can overwrite your function.
You can use the variable with the reference of the ancestor method, inside the new method.
Note that we pass directly the instance to the function (s passed as argument to s.supspiupdate).

Like this, you can have almost every feature expected by object-oriented programming.

function monster(x, y, sp)
  m={x=x,y=y,sp=sp or 0}

  function m.update(s)
    s.x+=1
  end

  function m.draw(s)
    spr(s.s,s.x,s.y)
  end

  return m

end

function spider(x, y)
  spi=monster(x,y,0)
  spi.hp=50

  function spi.damage(s,d)
    s.hp-=d
  end

  spi.supspiupdate=spi.update
  function spi.update(s)
    s.supspiupdate(s)
    s.y +=1
  end

  return spi
end
function _init()
  sp=spider(64, 64)
end

function _update()
 sp:update()
end

function _draw()
 cls()
 sp:draw()
end
1
0 comments


Cart #zorionak_mikel-1 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
0 comments


Cart #zorionak_martin-1 | 2025-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment




Top    Load More Posts ->