A SMALL PUZZLE GAME
CONTROLS
MOUSE (Left and right click) or ARROWS and Z/X
(you learn how to play in the game)
Started as a two hour game jam but decided to polish it up to release it.
Super great feeling releasing something, even though it is short.
Can't recommend enough to do the same!
1.4 UPDATE
- Reworked UI again(yes again), should be easier to read
- Moving Backgrounds
- Made it a little more forgiving
- More enemy types
1.3 UPDATE
- Reworked UI again, should be easier to read
- Dpad support
- Backgrounds
- Nicer end screen
- Nicer start screen
1.2 UPDATE




Hello, I am relatively new to Pico-8 (and programming in general) and am trying to create a "Starfield" Effect, as one would see in games like Galaga. I have created a single pixel that travels, but apart from creating many variables and basically duplicating my code, I can't see how I can multiply the pixels. I know there is an easy way, but I have not discovered it. My code is below.
x = 0 y = 0 xthing = false function _update() if xthing == false then x = rnd(128) y = 0 xthing = true end if xthing == true then y = y+1 end if y == 128 then xthing = false end end function _draw() cls() pset(x,y,7) end |
Thanks =)

From Wikipedia:
In probability theory, the birthday problem or birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday. By the pigeonhole principle, the probability reaches 100% when the number of people reaches 367 (since there are only 366 possible birthdays, including February 29). However, 99.9% probability is reached with just 70 people, and 50% probability with 23 people.
Not sure why The Birthday Problem blows my mind, but it got under my skin today, and I just HAD to make a visual representation of it. Press [Z] to generate a birthday for each of the 70 cakes. Each cake is assigned a value between 1 and 366 (1 for each day of the year). If there are two matching birthdays, their candles light up! If you want to see it represented numerically instead of visually, press



Hello Folks,
I hope you enjoy my first Pico8 game. I’m really pleased with how it came out and I’ve found Pico8 excellent to use: as a result I think it’s the first of many games I’ve started making that actually gets to something like finished. This is my tribute to the games I grew up on with the 48k ZX Spectrum in the early 80’s, so if you were around at the time you’ll spot quite a few references I hope.
(UPDATED VERSION)
The Legend of Dracenstein!
Destroy either Van Helsing (found in the Cathedral) or Victor Frankenstein (found in the Castle)
Get High Scores by collecting Blood Goblets, Completing Levels Fast or Destroying the hated enemies! 18 Levels (though you’ll likely see around half a dozen on a play through as each screen has two possible exits).
Evade Captain Nemo in the Nautilus!
Sacrifice The Artilleryman to his own washing machine and collect his blood!
Beware the Ossuary!
You have six Franks and six Dracula. Exit levels by using the blue box or brown pool portals (I wanted to make these sparkle a bit to draw attention but ran out of time and tokens)
Arrow Keys to move - movement is based on Pacman/Hungry Horace in that they'll keep moving until you change direction or hit a wall. This enables players to swap between characters while the other is still in motion. A breakable piece of wall can be used as an anchor.
X switches between Frankenstein and Dracula
Frankenstein + Z = Punch doors, open cracks in walls, break crucifixes.
Dracula blows up if he goes near a Crucifix.
Dracula + Z = Teleport through two squares worth of the same material.
Let me know how you get on (and thanks to everyone who offered advice and assistance, and to chowyunbrent for pointing me in the direction of pico8).
Best, Paul @paulxthompson




Do you like Hardcore games? Do you want to play a games with just you mouse? So this game is for you! In Rush you have to go to the Green Line at the end of the maze. It's easy? You have to defeat 40 levels with the better time! Good luck!
Include :
- 40 hand draw levels
- Easy level editor
You can visit the game's website. On it you can find level (in the level editor) and other information! If you want to add a level on the level list, just send me a message on Twitter!
If you want all the possibility provide by the game, you can play the game online on Newgrounds.

Hello!
Alakajam is a triannual weekend-long jam run by volunteers running on a custom open source system written by many contributors.
The 3rd Alakajam will start in just over 2 weeks, and I hope to see some PICO-8 games there! In fact the "winner" of the first Alakajam was a PICO-8 game: https://alakajam.com/1st-alakajam/results
Check out the schedule and rules and join the fun here: https://alakajam.com/post/517/welcome-to-the-3rd-alakajam

I've noticed that with palt() you can leave off the boolean argument and it will default to true, letting you say "palt(11)" if you want index 11 to be transparent. Edit: Uh, turns out I was wrong about this, but the rest of this is still a good suggestion, and as I say below, it'd actually be nice if palt(x) did work this way as well.
There's no equivalent for pal() though. If you leave off the second argument, it acts like you didn't give any arguments and resets the entire palette.
Suggestion: It'd be nice if pal(x) simply acted like pal(x,x), a quick way to reset a single entry to default.



Would it be possible to port Pico 8 to iOS, PS4, Vita, and/or Switch? I tried using the browser version on iOS but touch controls are unusable. When pressing the dpad a few times, the background webpage is scrolled or selected (marked in blue), the display is not fullscreen, and I have no sound.
Is there any consensus on Pico 8 controls? It seems some games require keyboard presses that are not available on a game controller. Is this supposed to be a virtual computer or game console? If it was a console it should not require keyboard input.









1.1 update:
- Code optimisation
- Muted alert sound for low fuel/ammo
- Reinstated original title screen (much better!)
- Added btn(5) X as alternative acceleration button for those using joypads/sticks.
My third little game - an arcade racer / shooter a bit like RoadBlasters, which was a favourite of mine as a kid.
Up = Accelerate
Down = Brake
Left/Right = Turn left / right
Z = Shoot
X = Alternative accelerate
Hope you enjoy it. Don't bother asking for improvements, I'm at the token limit :D On to the next thing!




Hey everyone, this is a game based on a concept from ProJared's play-through of Game Dev Tycoon on Youtube.
You can watch when he comes up with the concept here (until about 3:00): https://youtu.be/MfYSxA8psDw?t=98
After watching the series I thought it would be fun to take one of the concepts and run with it as my first attempt at using Pico-8. This is the result. Let me know what you think!
In Great Bee, you play a bee that have to forage all the flowers in every level. The frog and the sun are your enemies. Colliding with them kills you. The sun is moving slowly, but the frog is accelerating over time. The sun can also be helpful because when it touches a flower, it will turn it into a strawberry. When you eat a strawberry, you become a super bee for a few seconds and you can slap the frog to reset its speed.
If you are interested in following my work, here are a few links:



This is a short snippet showing how the water reflection effect is implemented in Pilot8.
Here is the code:
local g_rnd=nil local g_clk=0 function _init() init_rnd() end function init_rnd() g_rnd={} for i=1,64 do add(g_rnd,flr(rnd(32))) end end function _update() g_clk+=1 end function render_water(water_y) local addr_w=0x6000+64*water_y local addr_r=addr_w local rip_c=0x11 memset(addr_w,rip_c,64) for y=water_y+1,127 do addr_w+=64 addr_r-=(y%2)*64 local offset=1+(flr(g_clk/4)+y)%#g_rnd local prand=g_rnd[offset] if 0~=band(prand,30) then memcpy(addr_w,addr_r+prand%2*64,64) else memset(addr_w,rip_c,64) end end end function _draw() cls(0) map(0,0) print("pilot8 water effect", band(g_clk,127),88,7) render_water(96) end |