Log In  

Due to popular demand, I present the Collab16 Cart 2!

This is a "game jam" of sorts, to make a pico8 cart with sixteen (16) games in it by multiple developers!

Cart #33620 | 2016-12-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

After getting feedback from the previous Collab16, this one will be a bit different, so please read the rest of this post!

We have a channel on the Pico8 discord for anyone who is looking for help or coordinate. Check out the #pico8-collab16 channel. Here is an invite: https://discord.gg/Dut34b3

In order to get the cartridge to contain 16 games, we have some overhead:

  • A menu system and housekeeping (234 tokens)
  • PicoCam (339 tokens) I have added this library with the hope that folks will make some 3D games! If this library sees little usage, I will remove/replace it with a different one.

This leaves us with a total of 573/8192 tokens and 2923/65536 characters.

Unlike last time, there will not be a reservation system, and carts will be added in the order they are submittied (which is by posting them in the thread).

Any changes after submission (features or bugfixes) must be clearly identified, so that they can be merged into the github repo! Let me be clear: no one is expected to use git in this process, and doing so will only assist me in merging carts.

Your game may have up to:

  • 476 tokens
  • 3913 characters (only use pico8 upper case, real lower case, for compression reasons)
  • 1 (one) graphic section (A-O)
  • 1 (one) map section (P-W)
  • 4 sfx banks (four in a row, aligned to every four)
  • 4 music banks (four in a row, aligned to every four)
  • 4 cart data sections (four in a row, aligned to every four)

When contributing a submission, please idenitfy:

  • graphic section (e.g. graphic section M)
  • map section (e.g. map section P)
  • sprite logo (e.g. sprite logo 4)
  • sfx banks (e.g. 0..4)
  • music banks (e.g. 5..8)
  • cart data section (e.g. 0..1)

It must be in this format:

a_unique_function_i_want_to_share = function() end

mygamename = {
  name = "My amazing game", -- self explanatory!
  author = "josefnpat", -- It's you!
  _init = function(self,..) end, -- optional
  -- optional
  _draw = function(self,..)
  _update = function(self,..) end, -- optional
  foo = function(self,..) end, -- optional

Here is the skeleton cart you may use:

You may:

  • Modify the entire canvas in code (since the cart will have to be reset for new game).
  • Use other people's GRAPHIC, SFX and AUDIO and sections for your own game.
  • Forfeit your Tokens, Characters, GRAPHIC, SFX and AUDIO sections for others to use.
  • Make unique public functions for others to use.

You may not:

  • Make something that is not a game!
  • Have way too much fun


  • Once there are 16 game developers entered, developers may request the remaining GRAPHICS. This memory may be claimed one plot at a time (e.g. one graphic section, 8x SFX, 8x AUDIO)
  • The game will be built on the fly, even if there aren't 16 developers.
  • If I'm screwing this up majorly, please tell me. I'm open to ideas!
  • Menu icon is 8x8!
P#29196 2016-09-23 19:25 ( Edited 2016-12-20 11:53)

ooh exciting stuff! good luck to all interested developers :)

P#29199 2016-09-23 19:38 ( Edited 2016-09-23 23:38)

The last one was a total blast. That 1D-Pac-Man ! Augh ! I kept playing and playing it and never could win. Came close one time and then the ghosts all seemed to come from nowhere. :)

Best wishes on Collab-16 ][ !

P#29200 2016-09-23 20:40 ( Edited 2016-09-24 00:40)

Skeleton cart had an old version of picocam, updated. Should have same token count.

P#29234 2016-09-24 01:00 ( Edited 2016-09-24 05:00)

Now getting a strange error message when I run the top cart (Cartridge [#29232])

P#29237 2016-09-24 01:09 ( Edited 2016-09-24 05:09)

@dw817 and of course uploading doesn't check for a PNG mime type ... I uploaded the .p8.png instead of the .p8 :)

P#29245 2016-09-24 03:39 ( Edited 2016-09-24 07:39)

Discord invite is expired. Make sure you click "Set this link to never expire" then copy the new link that's generated. I think I'll try to submit a simple maze game using the maze generator that I already created and put on here. Although, I'll most likely rewrite it. I'll take graphic section G and sprite logo... I guess 10. I'm also not good with sound, so I may end up using someone else's music and sounds (hopefully someone makes stepping sounds).

P#29247 2016-09-24 03:58 ( Edited 2016-09-24 10:03)

@Fayne Aldan Thanks for noticing, @sean pointed it out as well. Here's the new link: https://discord.gg/Dut34b3

I am excited to see your game!

P#29249 2016-09-24 04:33 ( Edited 2016-09-24 08:33)

Yay Collab Cart #2!!

I actually thought the reservation system was a pretty good idea but oh well... I'll try to make something in time!

Good luck to everyone! Count your tokens!!

P#29250 2016-09-24 04:54 ( Edited 2016-09-24 08:54)

I had a game ready, but someone pulled the rug under my tokens ;)
36 more to shave off! well, I'll try...

P#29252 2016-09-24 06:01 ( Edited 2016-09-24 10:01)

Cart #29256 | 2016-09-24 | Code ▽ | Embed ▽ | No License

My arms hurt but I still have 104 tokens and about 2,000 characters left, so later today I'll probably add animations and movement better than just BTNP, but for now, there's my submission.

P#29255 2016-09-24 07:56 ( Edited 2016-09-24 12:00)

Just to let you know, the top cart is running properly again. Fayne, that's a great maze program you wrote ! :D

P#29272 2016-09-24 11:38 ( Edited 2016-09-24 15:38)

Here's my first game on pico-8: TicTacToe

  • graphic section: O
  • map section: none
  • sprite logo: 2
  • sfx banks: took slot 5 only. (bank 1 ?)
  • music banks: none
  • cart data section: none
  • Tokens: 474
  • Chars: 1795 (892 Compressed)
P#29288 2016-09-24 13:16 ( Edited 2016-09-24 17:16)

Had to cut SFX because token issues.
josefnpat help me integrate this into the cart.
btw fayne, your cart uses too much map. 64x64 as opposed to your 16x16 section.

tokens: 462
chars: 1758

made a logo at sprite 001.

edit: fixed a small graphics messup. cars were driving backwards, now they drive forwards.

P#29290 2016-09-24 13:42 ( Edited 2016-09-24 18:04)

@TRASEVOL_DOG I agree with you, but I want to see if this works.

@ultrabrite haha, sorry! I'm excited to add your game!

@Fayne Aldan Very nice! Please add a sprite for the menu, and then I can add this!

@RamiLego4Game Nice game of TicTacToe! There seems to be a bug when you finish the game with the selector on the home row, part of the message gets messed up. I have added the game to the repo, and am updating the thread now!

@adrian09_01 he dynamically creates the map, so it's not a problem. I like your cart, and it looks like a great game! Unfortunately, it needs to be in the format described in the original post. Please fix that up, or ask me for help on discord!

P#29303 2016-09-24 15:46 ( Edited 2016-09-24 19:46)

Oops. I forgot to readd the menu sprite after PICO-8 crashed on me. Please save often, people.

Cart #29315 | 2016-09-24 | Code ▽ | Embed ▽ | No License

I also updated it to add animations and I added the menu sprite.
EDIT: And I fixed the clock. :)

P#29311 2016-09-24 16:40 ( Edited 2016-09-24 21:03)

Would it be too easy and cliche if I remade Pong...?

P#29312 2016-09-24 16:52 ( Edited 2016-09-24 20:52)

@Fayne Aldan added your game! Awesome!

@PixelCod Of course not!

P#29319 2016-09-24 17:13 ( Edited 2016-09-24 21:13)

Cart #29322 | 2016-09-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Now compliant with the cart!

P#29323 2016-09-24 17:31 ( Edited 2016-09-24 21:31)

alright I started mine as part of the 74th onehourgamejam

I will add some more polish and scores and stuff, but the core mechanic is there:

edit: game is called BMX AIR KING

editedit: the jam's theme was "two button control" so use left/right (for now...) also Z/X to restart

thanks to https://www.lexaloffle.com/bbs/?tid=3593 for rotation code

P#29326 2016-09-24 17:34 ( Edited 2016-09-25 23:29)

P#29329 2016-09-24 17:52 ( Edited 2016-09-24 21:52)

Pico-8 Collab 16 cart with Midnight Drive.
Changed X to Z on the start menu because game started after selecting without displaying the title screen.

edit: Since I had one tile left, decided to revamp the dirt road into a normal asphalt road. What city has dirt roads anyway? oh and fixed 2 pixels in collab logo.

edit2: forgot to change the dirt road in collab logo.

P#29358 2016-09-25 07:47 ( Edited 2016-09-25 11:57)

I took the liberty to modify the menu code:

function _draw() 
    if (cgame._draw) cgame:_draw()
    if (g_done) then
        print("game over!\n press \142",42,42,7)
function _update()
    if (cgame._update) cgame:_update()
    if (g_done and btnp"4") run()

games = {}
g_done=false -- maybe could go away?

menu = {
  _draw = function()
    local rx = 31+(g_sel%4)*16
    local ry = 31+flr(g_sel/4)*16
    local cur = games[g_sel+1]
    print("game: "..cur.name.."\nauthor: "..cur.author,32,97,7)
  _update = function()
    if (btnp"0") g_sel-=1 sfx"0"
    if (btnp"1") g_sel+=1 sfx"0"
    if (btnp"2") g_sel-=4 sfx"0"
    if (btnp"3") g_sel+=4 sfx"0"
    g_sel %= 16
    if btnp"5" or btnp"4" then
      cgame = games[g_sel+1]
      if cgame._init then cgame:_init() end
cgame = menu

that's 231 tokens.

what I did:

  • removed 'self', that was a 13 tokens overhead for just one global
  • added a 'game over' handling: just set g_done=true in your game when you're done!
  • automated cart reset on the game over screen
  • last selection is saved over reboot, you can replay the same game with 2 keypresses
  • cut some tokens, but added some others ;)

@josefnpat feel free to use this or not, I might have overlooked a few things
disclaimer: I may or may not have done this to move tokens upwards from my own game, or for the greater good ;)

also maybe an advice for games: stay away from 'self', it's a token eater. i think simply initializing your variables as globals in your _init() works nicely.

P#29362 2016-09-25 08:33 ( Edited 2016-09-25 19:28)

@adrian09_01 added your game! Didn't add the menu change though.

@dollarone It looks like you're using 4x graphic sections. Can you either reduce it, or send me a blank cart if you're generating it?

@ultrabrite I'll take a look at your version - the self stuff was to avoid adding _G vars that would screw with other games. I'll review it regardless!

@sean - merged your PR, please leave a message in this thread so folks know you added a game next time!

P#29431 2016-09-26 12:26 ( Edited 2016-09-26 16:27)

@adrian09_01 - I had the same issue for the last jam. Change the function you use for leaving the title screen from btn() to btnp() and you'll be fine.

P#29433 2016-09-26 14:21 ( Edited 2016-09-26 18:21)

@josefnpat ok, will do.

Btw, my game doesn't have a win-state, but if you can make it past 400 consider yourself as having done a good job!

P#29448 2016-09-26 18:01 ( Edited 2016-09-26 22:01)

Cart #29472 | 2016-09-27 | Code ▽ | Embed ▽ | No License

Here's my submission for Collab16#2 :-)
Arrow keys = movement of cursor
Z = define region (toggle cells on/off)
X = run the comparison of the defined region and a corresponding place elsewhere, as pointed to by the cursor
It's less confusing than it sounds :)

Sprites C (12, 13, 28, 29, 30)
Sounds 12, 13, 14 (should they have been 8, 9, 10?)

P#29471 2016-09-26 21:28 ( Edited 2016-09-27 01:35)

Regarding Blobby Bobby, I've seen a game similar to this for the Gameboy Advance called IRIDION.


It was pretty cutting-edge graphics for its time.

P#29474 2016-09-26 21:41 ( Edited 2016-09-27 01:41)

A metaphorical web forum simulator. Make sure you're the one bouncing the topics and keep your name in the top 5 threads.

Hopefully I've constructed this cart correctly. I'm using:
476 tokens
2233 characters
Sprite section D (sprites 112-115 are unused)
Map section P
No sounds (unfortunately)
No music
*No cart data

P#29481 2016-09-27 02:03 ( Edited 2016-09-27 17:08)

funny stuff! literally bumping threads :)

P#29495 2016-09-27 10:10 ( Edited 2016-09-27 14:10)

Alright! I'm "officially" done. I would love some help to trim out the 4 remaining tokens (I ran out of ideas).
If there are a few tokens remaining at the end too, I'd like to add SFX cues very much.
There is a slot of 14x6 pixels marked with magenta that is also free!
Other than that, I think I'm golden!

  • 480 tokens
  • graphic section E
  • map section Q
  • sprite logo 7
  • sfx banks NONE
  • music banks NONE
  • cart data section NONE
  • 3618 chars
P#29518 2016-09-27 16:30 ( Edited 2016-09-27 20:30)

Here's my entry, it's called "videopirate". You are a buccaneer of the high frequencies, recording weird satellite television on to your trusty tape recorder.

Clean up the reception on as many of the tapes as you can. Different buttons clean up different interference patterns.

I'm hopeful to put some more graphics and a bit of sound in this tomorrow, but for now, it's done!

I've used:

Game slot 15
Preview image 15
Graphics section I

Cart #29537 | 2016-09-27 | Code ▽ | Embed ▽ | No License

P#29538 2016-09-27 19:34 ( Edited 2016-09-27 23:34)

wow this is absolutely amazing! so many levels!

P#29548 2016-09-27 23:18 ( Edited 2016-09-28 03:18)

Cart #29650 | 2016-09-29 | Code ▽ | Embed ▽ | No License

(old version)

Not sure about the map allocation exactly. Assuming you get a 3232 block of pixels for sprites, and a 3232 block of tiles for the map, this should be fine.

  • graphic section F
  • map section S
  • sprite logo 5
  • sfx banks 16-19
  • No music banks used
  • No cart data section used

Left and right to move
Up/Z to jump

I'm currently 1 token over due to migrating my game to available slots. I'm hoping this isn't an issue, but I'm still going to try and get rid of that token somehow (won't be easy though).

P#29651 2016-09-29 01:44 ( Edited 2016-09-30 00:07)

Thank you so much for your patience everyone, and big shout out to @fweez for merging @adam_sporka's zapp-alike, and his own game, Super Forum Poster2 on github!

@adrian09_01 - @somnule is right, you'll need to use btnp() if you want to fix that.

@seleb Neat! I haven't even noticed the points yet, just have enjoyed the experience!

@AdamJ neat! Big shout out to @fweez for merging your game :) 1

@fweez again, thank you! You PRs worked! 1 2 3

@iko & @zatyka these are both awesome games! Both of these games use two map sections. Pikoban uses Q and U, and freedom uses S and W. Since there were very few partakers in map usage for the last collab, I'm just going to merge this, and hope no one needs a map later on :) pikoban freedom

@team_disposable Sweeeet! Merged in! 1

@zatyka Awesome game! Merged in! See my response to @iko

P#29662 2016-09-29 09:43 ( Edited 2016-09-29 13:43)

If anyone was wondering, @adrian09_01 and @team_disposable are sharing map section P.

P#29663 2016-09-29 09:49 ( Edited 2016-09-29 13:49)

somebody set us the black pixels and messy pavement.
did a fix.

edit: hoping that I didn't mess up anybody else's game with that fix.

P#29673 2016-09-29 13:05 ( Edited 2016-09-29 17:06)

Cart #29674 | 2016-09-29 | Code ▽ | Embed ▽ | No License

fixed the logos because I wanted to do it.

P#29675 2016-09-29 13:11 ( Edited 2016-09-29 17:11)

In pikoban can we change this:
line 32 is

return 49,32,16,18

should be

return 49,32,15,17

i didn't realize that i was rendering some pixels from the next section over and now the ramps look weird :) thanks!

P#29676 2016-09-29 13:31 ( Edited 2016-09-29 17:32)

Pirated 9 out of 11 tapes. Fantasy is a wonderful thing. :)

P#29679 2016-09-29 14:48 ( Edited 2016-09-29 18:48)

Thanks! I've actually just updated it and (hopefully) made some PRs for it to be merged in to the main cart.

Here's the latest one. It's exactly 476 tokens.

Cart #29680 | 2016-09-29 | Code ▽ | Embed ▽ | No License

P#29681 2016-09-29 17:07 ( Edited 2016-09-29 21:07)

oh oh, I added my game to @adrian09_01's latest version of the cart. Hopefully josef will be able to add your changes, @team_disposable (I will submit my changes to the github as well)

things claimed:

  • sprites: B
  • map: T (well, 1/4 of it)
  • sprite logo: game 7 e.g. sprite 18
  • sfx banks: 28 -> 31 (inclusive)
  • music banks: 28 -> 31 (inclusive)
  • cart data section: 29

here's my updated version - I still haven't added music but will do so later.

Cart #29693 | 2016-09-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Note that I added a new public function:

draw_rotated_sprite = function(spr, spr_x, spr_y, spr_ang)

hopefully it is self-explanatory, but anyway: it will rotate a single sprite, just pass in the sprite's number (spr), and where you want to draw it on the screen (spr_x and spr_y) along with the desired rotation (spr_ang - goes from 0 to 1).

this is based on @movAX13h 's Pico Wheels sprite rotation code - thanks dude :)

P#29682 2016-09-29 17:58 ( Edited 2016-09-30 02:00)

Cart #29745 | 2016-09-30 | Code ▽ | Embed ▽ | No License

An updated version of Freedom. Changes:

Reworked a few bits to get token count down to 476
Compressed level data to fit in single map section (section S). Section W is available again.
*Fixed Camera

edit: made a few changes to the map after watching some people play through

P#29687 2016-09-29 20:03 ( Edited 2016-09-30 20:24)

Phew ! What a maddening platformer. Well-written besides with some interesting power-ups. Speed, Shrink, and Lift !

P#29688 2016-09-29 20:47 ( Edited 2016-09-30 00:47)

yeah, very well designed map! Gets reaaaaally hard at the end. I like it!

P#29689 2016-09-29 20:48 ( Edited 2016-09-30 13:23)

scathe why did you make your game on that messed cart

P#29733 2016-09-30 11:27 ( Edited 2016-09-30 15:27)

Alright, I deleted it because I have no idea what I'm doing to be honest, lol. Sorry about that! The game wasn't very good anyway. Maybe next time!

P#29747 2016-09-30 16:31 ( Edited 2016-09-30 20:31)

the game was good scathe. the cart was messed up.
now use the cart at the bottom.

P#29748 2016-09-30 16:38 ( Edited 2016-09-30 20:38)

Here's the latest videopirate.

I've posted PRs on github, let me know if I've made any mistakes and you can't merge it, josefnpat.

Now with music! I hope this is not too offensive for your ears - there is a bit of a suspect loop on one of the repeats.

I've used music track 00, 01 and 02 - I hope thats alright.

I've also used sound tracks 24 to 27. Let me know if this is a problem.

Cart #29754 | 2016-09-30 | Code ▽ | Embed ▽ | No License

I'm loving these other games! It is excellent to be in such fine company.

Different forms of copyright protection and interference affect each broadcast


If the broadcast has Copyright (the big c) you'll need to break it before anything else. Press Z+X together to do so
The broadcast may be scrambled. If so, you will see interference on the screen. Different colours represent different directions. Hold down the direction of interference to get rid of it.
The yellow pulse is a timed event - figure out when you need to press the button to get rid of it.
There's one or two more, I'll leave you to figure them out.

P#29755 2016-09-30 17:47 ( Edited 2016-09-30 21:47)

@adrian09_01 thanks for the fixes! Added them!

@iko Added the changes!

@team_disposable added your changes! Thanks for the PR!

@dollarone added your game! Thanks for the PR!

@zatyka added your updates! Please make sure I didn't screw anything up!

P#29767 2016-09-30 23:16 ( Edited 2016-10-01 03:16)

[Please log in to post a comment]