The Agony and Ecstasy of the PocketCHIP
I arrived at PICO-8 because I bought a PocketCHIP back in 2016. The PocketCHIP came pre-loaded with PICO-8 and prior I had no concept of a "fantasy" console, but I was excited to make games again. Unfortunately, the PocketCHIP was a beautiful-yet-awful piece of hardware.
Essentially, the PocketCHIP was a Raspberry Pi-like mini computer wrapped in a case with a touchscreen and keyboard. On the surface, the PocketCHIP was a pretty raw looking piece of hardware...but I dug the style and was excited when it arrived. Yet I quickly found out that the experience of the PocketCHIP was something to be desired.
All bark and no bite
The keyboard was awful and despite coming with PICO-8 -- a game hub -- playing games was very unsatisfying. I needed a new bezel with a built in d-pad just to make playing games tolerable. I even had to put nail polish on keys to know what did what. In short, it was not fun to play on. But it did lead me to PICO-8 and for that I'm thankful.
So I have an issue where the player object can clip through about half a collision tile, but only when moving to the left. As I type that I realize how weird and niche this problem is. Anyways, here's my move function:
function control_player() newx=p.x newy=p.y if (btn(⬅️)) then newx-=.1 p.sprite=d.left elseif (btn(➡️)) then newx+=.1 p.sprite=d.right elseif (btn(⬆️)) then newy-=.1 p.sprite=d.up elseif (btn(⬇️)) then newy+=.1 p.sprite=d.down end if (can_move(newx,newy)) then p.x=mid(0,newx,127) p.y=mid(0,newy,63) end if (door_tile(newx,newy)) then scene="room1" p.x=6 p.y=10 end end |
and here's my collision function:
function is_tile(tile_type,x,y) local tile_x=newx+pixeloffset_x local tile_y=newy+pixeloffset_y tile=mget(tile_x,tile_y) has_flag=fget(tile,tile_type) return has_flag end function can_move(x,y) return not is_tile(wall,x,y) end function door_tile(x,y) return is_tile(door,x,y) end |
pixel_offset is initially 0, and changes based on scene to account for the map change.
Any idea what is causing this?
side note: Everyone on this forum has been so helpful and I just want to say thanks for all the help! This is my first coding project outside of html and I really appreciate it :]
PICOhaven is a tactical card-based dungeon crawler / light solo RPG for PICO-8, inspired by the board game Gloomhaven. It adopts a modified & simplified version of the mechanics used in that game, to fit within constraints of the PICO-8 environment (code size, resolution, etc), and to streamline solo play.
The story includes 16 playable scenarios (some are optional side quests), 8 levels of ability upgrade choices, and multiple items that also affect gameplay.
Note: This is just a free, solo-fan-made project and has no affiliation with Gloomhaven. If you like this type of game I recommend checking out Gloomhaven (and its official video game adaptation) for a game with a lot of tactical depth from multi-character cooperative play!
Play PICOhaven here: (desktop or mobile)

This game is a remix of the adventure game tutorial by @MBoffin.
About my game: Don't touch lava. But you can walk on lava when they cool down. You need to take skull key and open the rotten treasure chest. after that escape from underground lave lake.
Thank you for playing.

This game is a remix of the adventure game tutorial by @MBoffin.
About my game:
Please defeat a ghost! Let's get ready to search for a room, and to defeat a ghost.
You should pay more attention. You are killed when I do not prepare.
Thank you for playing.

This game is a remix of the adventure game tutorial by @Dylan
about my game : Don't touch lava tile . If it cool down , you can walk on them . You need take skull key and open the rotten treasure chest . After that you open the door and escape from the lava lake
Thank you for playing
It is a game to find the red box in the maze.
There's a little unreasonable element in this game, so I'd be happy if you enjoyed it.

This game is tutorial's base of bases by @MBoffin.
About my game
this game can move character, get and stack keys, and be clear , gameover and music. If I had enough time,
I want to add the walk animation and the gameclear SE.
Thank you for playing.
This game is of poor quality.
I don't know what I want to do.
I don't recommend playing it.
If you play my game, thank you and sorry.

This game is a remix of the adventure game tutorial by @Hiroki
About my game:
This is a game cross the magma.
Get a water bucket to cross the magma.
You can turn one magma into obsidian per bucket of water.
Thank you for playing.

This game is a remix of the adventure game tutorial by @MBoffin.
About my game:
It's my first game I made. Take the mushroom, open the door, and head to the goal. Actually, there is also a goal castle.
Thank you for playing.
This is an example for an easy to use particle system.
to use it in your own cartridge do the following: copy the code in tab1 into one of your code tabs
Use it in the project as follows:
function _init()
init_particles()
end
function _update()
update_particles()
if btnp(🅾️) then
particle_burst(
{x=63, y=63}, //pos on screen
10, //num of particels
2, //life time (in sec)
0, //form 0=rnd 1=pixel,2=circles,3=rect
2, //size
3, //color
2 //speed of particles
)
end
end
function _draw()
cls()
draw_particles()
print("press 🅾️ for burst", 32, 40, 7)
[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=98894#p) |
This is a cooperative game where both players must work together to solve each puzzle.
Created as a fun project between Chris Delay (dad) and his two kids Leon & Elliot, aged 9 and 6 at the time. All graphics, sounds, music and level design by Leon & Elliot, with coding and puzzle design support from Chris.
Enjoy!
I am trying to use values in a table to dictate which scene is being shown in the game. I defined the table 'S' at the top of the code but a piece at the bottom referring to it comes back nil. What's the problem?
function _init()
cls()
music(0)
s={}
s.menu=1
s.start=0
s.t1=0
s.one=0
map_setup()
make_player()
end |
if s.menu>0 then screen_menu() end if s.start>0 then screen_start() end if s.t1>0 then screen_t1() end if s.one>0 then screen_scene1() end |

This game is a remix of the adventure game tutorial by @MBoffin.
About my game: I made for the first time ,so it's a simple game.
The theme was the way back from the lumberjack one day.
Let's go to the red circle.
Thank you for playing.

This game is a remix of the adventure game tutorial by @MBoffin.
About my game:
The theme of this game is escape from a mysterious laboratory.
You control a red stickman who must avoid the needle traps and head for the goal point, the flag.
If you step on the arrow tiles on the floor, you will be forced to move in that direction, so you have to be careful.
How to play:
Cursor key...Move
X key...Retry game(Only when the game is over.)
Thank you for playing.

PICO-8 + Nature of Code + ECS = piconoc.
Emergent ecosystem behaviors for agents in Pico-8. Based on Daniel Schiffman's "Nature of Code". Uses Entity Component Systems.
***UPDATE: 100% more player control of frog with arrow keys. Frog also eats nearby flies.
Hi! I want to simulate flies and frogs and lizards and spaceships and such in PICO-8. And I want to do so in ways that give surprising results. PLUS I want to refine my understanding of Entity Component Systems (ECS). This cart holds my efforts to do all those things.
Critters should be recognizable by their behaviors, not the graphics and/or sounds.
This is a very early learning project in process.






20 comments