Log In  

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

Hi there,

Sorry if this isn't the right place for this, but I work IT at a school and have been curious about working to implement PICO-8 as part of the school's STEAM program. The school has a 1-to-1 laptop program with Chromebooks, but they easily run PICO-8 in the few test cases I've tried it on after installing Linux on them. I would like to work with the STEAM teachers at our school to get this implemented, but I'm worried about misuse of it, especially when it comes to the SPLORE command. Because it's not working through a web browser, it gets around what we have in place for our content filter policies, and while it's not a huge worry, there are some available carts that have stronger language than would probably be appropriate in a middle school setting. I want the option for other games to be available because I believe being able to dig through the code of other games is an amazing learning tool, but I would prefer to have it so these students are only able to access other games through a web browser so our content filtering policy can still be in place. Is there a way to disable SPLORE or some other way I can accomplish this?

1
7 comments


Cart #rupsmuti-0 | 2022-02-25 | Code ▽ | Embed ▽ | No License


This is an update to a work in progress game I made. The instructions are on the original post (the post is just called "Forts")

CHANGE NOTES:

New Features:
Added the Buzzsaw
Costs 5 gold
Fires the same way that double guns do, but can only destroy wood. With the exception of the core, if it would hit a structure, it just stops.

Balance Changes:
Double Gun now costs 6 gold
Laser now costs 7 gold

Fixes:
I did not fix any bugs, but that does not mean that I won't in the future. If you find any, please tell me!

0 comments


Cart #blockbingo-0 | 2022-02-25 | Code ▽ | Embed ▽ | No License
14

Blockbingo, my Pico-8 version of the Game Boy Advance game Tringo from 2006.

Classic mode:
The goal is to earn a high score by combining as many blocks as possible and clearing them in groups of

3x3 = 30 points
3x2 = 15 points
2x3 = 15 points
2x2 = 5 points

You can choose to skip the current piece causing a 7 point penalty. once a piece is skipped, it will not be called again.
You start each game with 35 pieces to place. you have 10 seconds to place each piece before it is skipped causing a 7 point penalty.

Time Trial mode:
Score as many points as possible in 1,2,3 minutes. You are not limited to 35 pieces and a skipped piece can be shown again.

[ Continue Reading.. ]

14
2 comments


Cart #fastitalians-0 | 2022-02-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
2 comments


Cart #balloon1-0 | 2022-02-24 | Code ▽ | Embed ▽ | No License
9

Pop Goes the Chicken

You need to reach the space station, but the launch pad is out of action. And look at all those chickens...

Controls

  • X to jump
  • Left/Right to direct your jump

Also on itch.io: https://ggaughan.itch.io/pop-goes-the-chicken

9
2 comments


I was wondering if there was a solution to this:

menuitem(1,c,
function(b)
  if (b==2) then
    function()
      c=c+1
      return true
    end
  end
end )

Now I know I can create a new function to return true, however is there a way do it internally within menuitem() itself ?

2
16 comments


In what situations do you use these conversions?

hexnumber = '3xz'

--A
tonum(hexnumber,1)       : 768 (0x0300.0000)

--B
tonum("0x"..hexnumber,4) : 0 (0x0000.0000)

--C
tonum('0x'..hexnumber)   : -- NO VALUE --([nil])

Example
I want "nil" to be returned when I use a character as an identifier. Therefore, I use the "C" conversion.

hexstr = '108000789$'
hexval = TONORM(hexstr) -- Normalize the value [number boolian nil], otherwise it remains a string.
hextable = {}

if type(hexval) == 'string' then

 foreach(split(hexstr, 3), function(v)
  add(hextable, tonum('0x' .. v))
 end)

end

-- Handle hexadecimal conversions without being converted to numbers by normalization.
-- Only the value of number is stored in the hextable.
-- "$" is not stored.
3 comments


Here's a demo cart showing a few ways of handling input in grid-based games:

Cart #hojohiyomu-2 | 2025-07-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
50

controls:

  • move around with the arrow keys
  • change "chapters" in the pause menu (enter + arrow keys)
  • slow down the game speed (in the later chapters) in the pause menu

I made this cart as a companion to my blog post about input buffering

50
6 comments


I am playing around with the wander demo so I can experiment with y axis movement to make a beat em up style game but i still want to be able to jump (in cases to dodge and platform in certain sections)

Here is the code if any of you are wondering:

function _init()

x=24 y=24 -- position (in tiles)
dx=0 dy=0 -- velocity
f=0 -- frame number
d=1 -- direction (-1, 1)
acc=0.5
boost=.5
end

function _draw()
cls(1)

-- move camera to current room
room_x = flr(x/16)
room_y = flr(y/16)
camera(room_x128,room_y128)

-- draw the whole map (128⁙32)
map()

-- draw the player
spr(65+f, -- frame index
x8-4,y8-4, -- x,y (pixels)
1,1,d==-1 -- w,h, flip
)
end

function _update()

ac=0.1 -- acceleration

if (btn(⬅️)) dx-= ac d=-1
if (btn(➡️)) dx+= ac d= 1
if (btn(⬆️)) dy-= ac
if (btn(⬇️)) dy+= ac

-- move (add velocity)
x+=dx y+=dy

-- friction (lower for more)
dx =.7
dy
=.7

-- advance animation according
-- to speed (or reset when
-- standing almost still)
spd=sqrt(dxdx+dydy)
f= (f+spd*2) % 4 -- 4 frames
if (spd < 0.05) f=0

-- collect apple
if (mget(x,y)==10) then
mset(x,y,14)
sfx(0)
end

end

I wanted to add something along the lines of
--jump
if (btnp(x)) then
player.dy=player.boost

Am I missing something?

3 comments


Cart #arrowmania-4 | 2022-02-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #amania_factory-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #amania_amania-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #amania_dropper-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #amania_world_f-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


[ Continue Reading.. ]

21
2 comments


Cart #two_knights-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
11

2 Knights

WIP of an arcade game I'm making with my kids.

Find the key in each room and carry it to the door to move on. Defeat all enemies in the room before moving on to find treasure, but don't stay around too long...

Controls

  • Arrow keys: move
  • Z: jump
  • X: attack/throw key
  • UP + attack: pick up/drop key
11
3 comments


Cart #picociv-7 | 2022-03-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
11

I'm making a serious effort to create a PICO-8 version of Sid Meier's Civilization. This is a challenge because the rules are complicated but I'm having fun and that's the primary reason to do anything.

Changelog

v0.6

  • Options menu
  • Initial city manager implementation
  • Implemented unit production selection

v0.5

  • Added units: Cannon, Chariot, Armor, Mech.Inf, Artillery, Sail
  • Added black border to cities that contain a unit
  • Minimap shows explored map, cities, active unit
  • Implemented tribal/goody hut
  • Show player gold
  • Fixed movement stuck bug

v0.4

  • Added units: Musketeers, Riflemen, Knights, Catapult
  • Fixed double movement bug

[ Continue Reading.. ]

11
8 comments


Cart #voronoi_gen-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Very unoptimised voronoi generation - but actually has a menu with settings now.

0 comments


Cart #marsdefender-5 | 2022-03-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

Hello all

New here.

I just started with PICO-8 and learning LUA 2 days ago.

I made a demo of Mars defender... Code needs cleanup and I'm not finished yet but it works pretty well for the time being.

Hope you like it! :)

UPDATE 04.03.2022: Release version 0.9. Changed year (yep we're indeed in 2022 :D) and created an endboss. Fixed various bits and bugs. Game is small with only 5 but I don't see the point in going for 100 waves.
UPDATE 24.02.2022: Changed the name. A few tweaks and bugfixes, faster response, graphics and particle explosions.
Worked on various game mechanics, player energy and collision, AI for the Aliens etc.

1
4 comments


I made this for use myself, because i couldn't find anything for this specific purpose. Thought I'd post it here in case anyone else gets some use out of it.

It converts a list of variables in the following format to a version optimised for tokens:

-- input
t=0
cam_x=0
cam_y=0
shake=0
floor=1
gold=0
current_music=-1
mode="splash"
title_s=1
lastdist=0
fadepos=0

-- output
t,cam_x,cam_y,shake,floor,gold,current_music,mode,title_s,lastdist,fadepos
=0,0,0,0,1,0,-1,"splash",1,0,0

To use it, paste the original variables into the cart and it will output the "crunched" version out to the clipboard.
Bit of a warning though, this format gets unreadable fast.

It also seems (in most cases) to work if some of the values are already in this format as it simply pairs what's before the equals with what's after, e.g.:

-- input
t=0
cam_x,cam_y=0,0
ey,et=256,0
shake=0

-- output

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=107532#p)
2
0 comments


Cart #hodegiboso-0 | 2022-02-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


Cart #mosezafze-0 | 2022-02-23 | Code ▽ | Embed ▽ | No License

0 comments


Here's an example of trying to add a continuous underscore to the #font_snippet alternate font. Printing works fine with \014\f7 but the font gets clipped by 1px on the right with \014\#1\f7
(color is irrelevant; the inclusion of \#(number) triggers it.

EDIT: see below for the fix.

1 comment


Wumple

Cart #wumpleisthegame-2 | 2023-03-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
26

A short arcade game thingy that kinda was a mash of Pacman and adventures of Lolo. Made for ToyBoxJam 3.

One day at work a mother comes in and says she's lost all 40 of her kids and 'requests' help. Dodge toasters, Snakes, and more and make your way back home.

Made by SmellyFishstiks
Pathfinding help from Luchak

Made for Toy box jam 3 (https://itch.io/jam/toy-box-jam-3)

changelog

V1

  • released

V2

  • Fixed stacked comment blocks crashing the game
  • Fixed crash occurring when actor tried to find a path and returned a #path of 0
  • Fixed Rescue ship not being centered when flying away
  • Fixed Wayback-Final having a time limit and thus a ghost that could force you to reset your score if it ate grifert

[ Continue Reading.. ]

26
6 comments


Cart #yehetokepa-6 | 2022-02-22 | Code ▽ | Embed ▽ | No License
44

A raycaster engine I used to make a quick pac-man demo, could still use some work but I'm happy with it. Hope you enjoy!

44
8 comments




Top    Load More Posts ->