My first game created by following the Spacecat tutorial on Youtube (with some tweaks like skipping the start menu after gameover). So far haven't figured out how to make the character collide with the bottom of the screen for automatic gameover, and the gfx/animation need polishing too. Would love to hear feedback on how to do things better here - I'm new to both programming and PICO-8.
Controls
Press Z to start/restart the game and X to jump.
Changelog
v0.1
- Initial release
v0.2
- Adjusted flap_amt to 6 (instead of 8) to make fly-through easier
- Fixed a game-breaking double-pipe bug by limiting the pipe Y axis rnd() range to 40-110 (instead of 0-128)

So I made a variable but I don't know how to define it
The code:
--player code
function _init()
posx=23
posy=83
facing=false
panim=false
t=0
s=2
music(0,1,1)
dx = 0
gravity=1
end
function _update()
t+=1
local dx=0
if btn (➡️) then
dx=1
dir=true
elseif btn (⬅️) then
dx=-1
dir=false
elseif btn (⬆️) then
sfx(0,0,1)
end
if dx==0 then
s=2
else
posx+=dx
if t%6==0 then s=(s==2 and 3 or 2) end
end
end
function _draw()
cls()
spr(s,posx,posy,1,1,not dir)
map(0, 0, 0, 0, 16, 16)
end
Gnuzzer
Go and shoot the evil spiders who want to take over earth. then face the evil mud boss at the end!
Controls:
- move with arrow keys
- shoot with X
- run with C
- lasers bounce off walls
- lasers explode at the end
About
I wanted to make a game that feels old, I am not part of the generation who got to play all the retro classics, so this is just based of how I think games where before. If you've been playing games back then, please tell me what could be improved, thanks and have fun :D
(PICO-8 V0.2.7)
so i've been digging through the hidden stuff in pico-8 for a while and i've found some preset variables (functions aswell) which are undocumented (supposedly because they aren't finished), not even in the <"hidden" API>.
if any pico 8 developers have any info on the functionality of these (if there is), clarification would be appreciated:
P.S.
there was also a variable that appeared once, and isn't appearing again, called "thor"

🚀 Dragon Ball Hunt on Planet Namek!
Pilot your spaceship to Planet Namek and search for the Dragon Balls!
Carefully control your ship and land in safe zones to reach your targets.
Dragon Ball fans will definitely enjoy this adventure!
Controls:
Arrow keys → Move your spaceship
❎ (X) → Restart the game
Have fun exploring and collecting all the Dragon Balls!
The ship has stronger gravity on purpose.
You need to tap the up key gently when you get close to the landing pad.
This gives your ship a small upward thrust so you can land slowly and safely.
Why do I still lose when I land on the green spot?
You must land softly.

MINIMAL_D
V1.0
by Fuchikoma71
Description:
As you may have guessed from the title, this is a Japanese-style drifting game.
There are two modes: a "standard" mode, in which the objective is to score as many points as possible over a given distance (1, 2, 3, 4 or 5 km) and an "infinity" mode, which is a kind of survival mode that is selected by choosing the "infinity" symbol in the "distance" option. There are 5 difficulty modes: the higher the difficulty, the more twisty the road.
"Standard" mode:
You earn points by drifting and lose points by going off-road (you then hit the rail, which causes the screen to vibrate). The race ends when you cross the finish line at the chosen distance. That's it really. Whether you want to maximise your score or minimise your time for a given distance is up to you.

SlugWorld - RainWorld demake!
There's about a half of original Outskirts area (redone and cutted).
Rigth now i'm working on movement system, next will be animals (there is one liZard already:).
Looking for response.
Yours,
Makhatma
UPDATE 15.11
- finalized map (many rooms from other regions)
- spears & batflies
- water & swimming
- some movement tweaks
- no lizard for now(
Animation test: (not just for fun)
20.11: Pathfinding test:

Too much floating, and tube movement is cheaty. No movement between rooms.

Made to showcase sfx(-4) functionality introduced in 0.2.1c. Press left and right arrow keys to fade between the two tracks. This is accomplished by having two versions of an instrument playing on different channels, and setting one of their volumes to 0 and the other to normal (or somewhere in between) every frame.
Here's the code snippet where one version of the music plays on channel 0 and the other on channel 7:
function _init() music(16) fade = 0 end function _update() if btn(0) then fade -= 0.5 elseif btn(1) then fade += 0.5 end fade = mid(0, fade, 32) sfx(-4, 0, 32 - fade) sfx(-4, 7, fade) end function _draw() cls(28) rectfill(0, 0, 480 * (fade / 32), 270, 23) end |
Something that I feel is missing from the otherwise great userdata api is some way to fill a region with a specified value. It would work similar to lerp, as in: userdata:fill(offset, len, el_stride, num_fills, fill_stride). Since we already have more advanced operations such as lerp, I feel this would fit, and be useful in many cases.
Edit: You can use :add to set values, since it's 0 by default and you can pass a scalar to it.
Just a basic test of animations, gravity, and movement. I'm going through some tutorials right now, but I did this as an experiment to see what I would be able to figure out on my own before moving on to the next part of the tutorial I'm doing.

I took the retro space game aspect in a different direction by looking towards space invaders but simplified the concept to having the enemies coming at you, like Galaga. The game uses a few states, the title, the game, and the game over state. It will cycle through all three, with the game over state triggering if the player reaches zero health, and the title retriggering after the game over state while also showing your high score so far. I tried to emulate the drift-esque movement of a space ship, by having the values of one direction go up as you push one direction and then go down as time goes on or goes faster if the opposite direction is pushed. It didn’t quite work the way I wanted and is the thing that I think needs the most revision.
If anyone else is reading this and is getting started with Pico 8, I would definitely try something like this or any simple top down game first. Platformers have a lot more physics elements to balance when making them, and something like pong will have some intimidating math for the ball bouncing (as silly as that sounds). I also would say to not use rectfill for your sprites, I was coming off p5js and that was the easier option for me there. It was also easier to focus on the game that way, but it actually strains the engine more and can cause flickering. I would definitely just make super simple sprites to start off with, or just get some online as there are a lot of free packs to choose from.
Well here we have my very fir... (well counting hello world...) second 'creation' with Pico-8.
It is very simple, press the button (or the other one if you like).
My recommendation is to wear eye protection if you intend on looking at the human rights violation that is my "code".
(UPDATE: added win screen)





2 comments






.png)

