It's like asteroids, but a shoot-em-up. You have to fight to the centre of 10 planets, killing 100s of very stupid and poorly armed monsters, with a gun that is much too powerful. Not only must you kill the peaceful monsters, you have to use bombs to totally destroy their home and mine the diamonds.
Normally it's left/right/forward to fly like an asteroids game, but hold down z and you can move up/down/left right like galaxian. Press x to fire, press d to release a bomb.
It's got some free music I pasted in, and a single explosion effect, but otherwise no audio yet :(
Any comments on the control scheme, difficulty, or AI would be very welcome!
Source is here: https://jcupitt.github.io/pico8/
A basic blackjack/twenty-one game against the computer.
The game is turn-based. Each turn, you may either take a card ("hit") or do nothing ("stand"). The dealer will do the same. To win, your points must be below or equal to 21 and above that of the dealer. You also win in the event the dealer gets over 21 points. Face cards (KQJ) are all valued at 10. Ace is valued at either 1 or 11, whichever gives you the most advantage.
Update:
- Fixed a bug where scoring 21 caused you to lose (misunderstanding of the rules on my side).
- Updated the scoring algorithm for aces: the points for them are now counted after all the other cards you have, so they can be valued at 11 or 1 as is fit best, and change accordingly (i.e. if you have an ace and a 5, you have 16 points, but if you draw a 6 afterwards the ace will be down-valued to 1 leaving you with 12 points). This new algorithm represents the choices of reasonable players closer without you actually having to decide what the aces should be valued at.



Hi geeks !
I would like display in my game this message for some tests :
test : true |
but "test" is a boolean variable. I can display with a classical variable with :
print("x:"..pix.x,10,10,10) |
x: 22 |
but with a boolean variable no :
print("test:"..test,10,4,8) |
I have an error :
runtime error <eof> line 106: attempt to concatenate local 'test' (a boolean value) |
Thank in advance for your help :)


Hi there. I'm somewhat new here, having bought PICO-8 a few weeks ago now. I'm still a novice at coding, but I managed to make a somewhat bouncy and wobbly world out of it, using the platformer engine by mhughson as a base and the sine wave code by qbicfeet. Would be great for a bouncy castle-like environment or a jelly world.
Hold down any of the jump buttons to bounce higher and higher, although sometimes it does a low bounce for some reason. You'll also bounce off of walls if you run into them. If you want to refine some of the code, you're welcome to.
Oh, and just a little warning; this might be slightly motion sickness inducing. Have fun.

In ZX Spectrum, we were able to change border color (pixels that doesn't fit to screen). Why not to implement this feature? It's quite common when Pico screen area doesn't fit to window and leaves black border around, especially when pixel-perfect is enabled. It would be good if game developer could change this black color to one of 16 paletted colors, like in ZX Spectrum.

I'm working on a game with separate menu music and in-game music. What I'd like to do is cache what the current music pattern is and resume each song from there, rather than constantly starting each song from the beginning.
I know I can see what SFX are currently playing on each of the channels using stat(16)-stat(19). I could cache that then peek through the music memory for a pattern with the right SFX on the right channels, but that is obviously not guaranteed to resume at the right point (or even the right song) if that set of SFX are used together in the same way in multiple patterns.
I checked all the values of stat() from 0-127 in case it was there but none of them corresponded to the music pattern.
I could manually track the pattern since I know what pattern I start the music from. With a combination of stat(16)-stat(19) for SFX and stat(20)-stat(23) for notes I should be able to tell whenever the pattern changes. If I know how many patterns long my song is (or just check for the loop flags in memory) I'll know when to reset the tracker back to the start of the song.


Aggressive creatures have been wondering into your village. You volunteered to venture out to find where they're coming from. After a few days search you find yourself at the swamp that old legends warn of entering. With no other choice, you prepare to search the treacherous swamp.
First game I've publicly released, so probably isn't great but am still proud of it and was a great leaning experience! Am looking forward to creating more games in the future.
Don't read this unless you're having difficulty in battle. Did something kind of different and tried to made the first encounter a decent learning experience.
[hidden]
You use directional key and x to choose 3 actions per turn, player and enemy actions are simultaneous. You get a short message describing the action the enemy is doing to help decide the best actions.
There are 4 actions;
is advance, next attack does more damage up to a cap.
is circle, resets enemy advance bonuses.
is defend, reduces damage taken. Enemy defense counter attacks if no damage is done
is attack.
These actions are kind of a rock-paper-scissors, >
>
>
>
But an attack with advance bonus will break though defense.
Some enemies have unique actions which have an unique counter.



Hi the geeks ! [o.o]
Here the demo of my very very little RPG, I want make a game with a very short lifetime, for captured the essence of RPG in lifetime and all that with humor. I make code, graphics and sound, do not hesitate to criticize my code, because I begginning
User's Guide
<- Left move |
Sorry I’m French…
I was hoping someone could help me out here..
I keep seeing conflicting information/incomplete documentation on how many inputs/gamepads Pico-8 supports:
- Is there a way to assign keyboard keys as the buttons for gamepads 2-7? (the built-in config tool only covers inputs 0 and 1)
- Are gamepads 2-7 /only/ accessible by plugging in a physical USB gamepad? Will that automatically be assigned a number, or is this definable in some way?
Thanks in advance.

