Time your speed and angle in an attempt to throw a Frisbee as far as possible. Then take control of the receiving player, and position yourself for the catch! If you do manage to catch it, quickly throw it again. Keep going until the Frisbee hits the ground, and see how far you can make it!
An update to the classic "Flying Disc" mini-game from California Games.

Update September 30th, 2016 (version 1.0):
Considering this game done! Moving out of WIP section.
Update September 18th, 2016 (version 0.4):

hi!
this is my remake of this music: http://zxart.ee/rus/avtory/x/xpeh/sokomix/
free to any use. download here http://rgho.st/8fd2WWFxx

Hey there!
Blob Smasher is a game we made during the BBQ Game Jam 2016, which is a 24-hour jam during which you spend more time eating grilled stuff than actually creating something.
Florian & I went with pico8 for the fun, and it's our very first experience with it and lua.
Blob Smasher is a 2-player versus game. Smash the blob to divide it and throw it at your opponent. Don't get touch by a blob while it's of the opposite color!

Simple Voronoi diagram generator. I was trying to see if I could get a speed boost from writing pixel values directly to the video RAM, but regardless the fill walking through all the pixels is still very slow. Any ideas on how I could speed things up?
--voronoi diagram
--by hypothete
points={}
function makepoints()
for i=1,16 do
e=rnd(128)
f=rnd(128)
add(points,{
x=e,
y=f,
c=rnd(255)
})
end
end
function jitter()
for i=1,#points do
p=points[i]
p.x+=rnd(2)-1
p.y+=rnd(2)-1
end
end
function near(pts,b)
nt=nil --nearest pt
nd=4096--dist to nt
for i=1,#pts do
a=pts[i]
nl=(b.x-a.x)^2 + (b.y-a.y)^2
--dist leaving off sqrt
if(nl<nd)then
nd=nl
nt=a
end
end
return nt
end
function drawvoro()
for i=0,63 do
for j=0,127 do
k=i+64*j --x+y*w = 1d position
z={x=i*2,y=j}
np=near(points,z)
if(np) then
memset(0x6000+k,np.c,0x1)
end
end
end
end
function _init()
makepoints()
drawvoro()
end
function _update()
if(btnp(5)) then
jitter()
drawvoro()
end
end
|

Very straightforward game thrown together in about 80-90 minutes when I realised nothing was really getting ready/finished for August's #onegameamonth.
Control a rad person as they aim to save their precious physical media from the dastardly rule of scissors.
Arrows to move, avoid scissors, collect CDs.
I actually did sound effects (limited, but present!). Quite happy with the speed/completeness of this, full disclosure though I have a basic 3-state template (update/draw for title, game, endgame) which I loaded up as boilerplate so that I could maximise the time I had.
Enjoy!
This is a silly little dungeon crawler I put together to learn PICO-8. It hasn't been balanced at all and is way too difficult right now. There's also only one level; the stairs are a lie :).
TODO:
- Player buffs
- More levels
- More enemies
- Better dungeon generation
- Possibly an end condition
- High scores table
Couple people asked about how I did sprite rotation for josefnpat's collab cart https://www.lexaloffle.com/bbs/?tid=27582
Included is a sprite rotation function, and a way of layering them on top of each other to create an illusion of a 3d sprite.
Everything is commented, hopefully it's clear.
Enjoy, hope this is helpful for someone!
(the effect isn't perfect and can be a little unclear if you don't consider it when drawing sprites, if anyone has any more accurate examples of rotation functions I'd like to see!)

Hi !
This is a demake/adaptation of the game Sorcery (on Amstrad CPC), yes, a demake of a game from 1984... And I want it to be easier (Sorcery-eaZy).
In this game you are a sorcerer who has to save his apprentices. To do this you have to collect Items (swap items in fact), slay monsters and most of all, find your way.
As stated, it's a work in progress. It's not really playable. So I have still a lot to do :
- Apprentices
- Items (to open doors, and free Apprentices)
- Items (Weapons)
- Game Over
- End Game
- Cauldrons (to restore life)
- Complete the map
- Anything else I forgot
What's working :
- Not so much
- Doors (a big one)
- Moves (Sorcerer and some monsters)
- Monster management (pop and depop)
- Collisions with landscape : Block movements
- Collisions with Monsters : loosing life
If you want sorcery+, you'll have to wait :P
Oh and yes, I have included a Black Mage because I love them ;)

With the help from Gamax92, I found and am making use of exact MEMORY locations that are saved with a PICO-8 cartridge.
I wrote a program in BlitzMAX to convert a single 128x128 pixel B&W image to be stored as the last (4th) page of your custom character set.
As long as you don't overwrite it, you are still welcome to store your custom 192-characters in the first 3-slots and maintain the picture. Could be a logo, instructions, whatever you want. :)
You are also welcome to improve the code. If you do, please let me know how you did as I'm always interested in learning new methods of programming.
Updates:
Made it slower so you can see the screen drawn. In truth, you blink, it's done.
Chose color WHITE to display the image instead of gray.
Just now thinking it's probably better you see the code in the editor than in here.
Click the link above to see how this was done.
Hi, here is my first PICO-8 game ! (And the first game I ever released)
As you may have guessed, it's a remake of Pong.
I chose to do this game to learn the basics of LUA, and because that's one of the easiest game to code.
There are 2 control options :
- One for keyboard
- One for Pocket CHIP/gamepad (since the arrow keys are not at the same position).
That's my first game so the code may not be really optimised.

Can someone modify this please (without making a function) so it does not flicker ?
I'm aware of functions _UPDATE and _DRAW and am trying to avoid them.
I know this can be done as I modified the HELLO program so it did not have any functions and ran just as smoothly as the original with no flicker.
... or am I hitting the top-end of what this language's speed is - trying to update every pixel per frame and it just can't keep up ?

A calculator forum I'm part of (cemetech.net, check 'em out!) was holding a programming contest recently.
The goal was to make a calculator game with the theme "trains".
My initial goal was to make my game in PICO-8 and then port it to the Nspire calculator, which also uses Lua.
I finished the PICO-8 part, but never got it ported :(
You can play the PICO-8 version though :D
There isn't any actual game, it's just a simple train sim.
The controls should be pretty intuitive, you can combine tracks by laying them on top of each other.
EDIT: Updated with smoke!

Hello, I decided to make a post because I have a couple of programming questions on how to execute or fix up particular things. As I mentioned in the thread title, I am a complete novice when it comes to programming so a couple of these questions might be dumb or excessive or a little hard to convey.
Weeks ago, I got a Pocket CHIP, and been currently enjoying trying out all the games, and trying to put a game together of my own for the first time ever. I’m currently putting together a game with my girlfriend as a player character (serving as the showoff motivator), which I do intend to just share the whole thing with her only. Maybe I’ll try the challenge of re-skinning the mechanics to publish to the site, though I thought I might be getting of myself there, haha. The game is a one-stage shooter, trying to fend off enemies as long as possible. Something relatively simple and not too crazy. I got the assets set, got my sound effects, tunes and learned some of the core basics through the Squashy tutorial in fanzine #1, and managed to a few of the basic parts working. The main problems lie with assembling it altogether and it feels so very daunting.
Since the resources for pico-8 is relatively outside of studying the game code (which 98% of is over my head), there’s a few parts I couldn’t find concrete answers to, and hoping you guys will give me a step in the right direction or point out which of the four fanzine’s addresses my problem, which I could’ve overlooked.
Here are the main things I want to resolve:
~Button input at specific moments~
This has been driving me nuts the past few days. So basically, the game will have multiple screens where the layout is essentially titlescreen > excuse plot blurb > main game > game over (then back to titlescreen). I set the titlescreen at the _init function and btn(4) to advance the screen. I used this wikia entry (http://pico-8.wikia.com/wiki/Multiple_States_System) for the multiple screen idea and managed to setup drawing the different screens.
Here lies my problem. Btn(4) is used for multiple things and it seems to be interfere with one another. I want it to be used for both advancing the screen and as the shooting button, but it seems to do one thing only or tries to do all at once. For instance, I played around with the setup where if I btnp(4) it suppose to go to the next screen. I did the if statement twice and used an and indicator to specify which screen btnp(4) goes to depending on mode I’m in. It either skips the second screen and jumps straight to the game while firing a single bullet or does not advance from the second screen.
I haven’t had luck trying to remedy the solution. I wonder if there is some way to assign a button for multi-purpose, depending on what part of the game I’m at, while disabling the other instances of btnp(4) in a function. Maybe it’s something to do with having all the other functions in the _update function screwing around.
~Bullet Limit~
I managed to construct a bullet via the dom8verse tutorial in fanzine #3 so the shooting itself is ok thus far. I didn’t implement the hitbox yet so hopefully that will go ok.
Only minor issue is that if I hold the button while in one place or strafing left to right, it’s a rain of rapid bullets. Makes things potentially too easy. I wonder if there is a way to limit the number of bullets that shows on the screen at once. Say, I want only 3 to appear at the screen at one time. Is there a way to manipulate that?
~Random enemy spawns~
I couldn’t find some info on it that breaks it down, and didn’t attempt it yet. I presume that will be the most challenging aspect. The way I envision it, there are two enemy sprites (with a simple 2 frame animation), and would spawn somewhere around y=128ish axis while their x position is random. What would be a good code to first determine which sprite gets picked then pick out where in the x axis they come from.
For movement, I’ll try to study up and tweak the pong ball movement to mess with walking patterns so hopefully that will turn out ok… I hope. Then there’s figuring out collision detection with moving targets which I did not really look into just yet.
Optional bonus:
~Saving high score and name input~
I thought it would be a neat idea to do that, but do not know how to, well particularly inputting letters in x strings. I’d like to know how to do that, but not really a big deal the parts mentioned above are a much bigger deal.
It’s probably a bit much to ask at once since this seems to be practically building a game. I apologize about it. I just dunno how to tackle all this since I’m an absolute beginner, relying on a few scattered cheat sheets, and can’t seem to find the solutions on my own. The concept seemed relatively simple in my head, but actually attempting it and realizing some of the complexities, guess I went a little over my head with all of this. Thank you very much for your time guys.






2 comments




