Log In  

Long time hobby game developer, Hot Wheels racer and wrestling smark

[ :: Read More :: ]

I'm trying to figure out the alternate colors a bit so I can use them in a game. I'm not trying to get all 32 colors available at once. I'm happy with having 16 but just want to adjust which 16 I have. From what I've read, it seems like this is possible.

I put the display pal() swaps at the top of the cart which does switch out colors. And it works when drawing and with sprites. Cool.

pal(3,129,1) -- blue129
pal(5,140,1) -- blue140
pal(6,135,1) -- yellow135
pal(11,137,1) -- orange137
pal(12,132,1) -- brown132
pal(14,128,1) -- brown128

So I have a sprite that is drawn with original blue12 and then on the screen it displays as brown132 because of the swap. I get that and it's working.

But I want to be able to display that same sprite again in a different color.
How do you do a swap on a swap?

-- this sprite is draw in blue12 and displays as brown132 = expected

-- how do i make the same sprite display as orange137
-- pal(12,137) -- this doesn't work, it swaps both
-- pal(132,137) -- this doesn't work, both still brown


I'm still looking for the flexibility of easy pal() swaps even after I've swapped for colors in the alt palette. Maybe it's not possible in the way I'm wanting. It's certainly not the end of the world if it won't work like I think. I've found a ton of posts on the alt colors but none of them seem to address swapping within a swap.

P#147717 2024-05-01 14:54 ( Edited 2024-05-01 14:55)

[ :: Read More :: ]

Cart #steelhunter-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Can you take down the entire fleet?

The enemy has established a naval blockade and you're the only one that can open up supply lines. Use your mini-sub to destroy enemy ships and clear the blockade. Success will depend on a steady hand and perfect timing. But beware! There are also reported sightings of an experimental enemy sub!

  • Navigate tricky minefields
  • Tense periscope action!
  • Avoid depth charges raining from above
  • Damn the torpedoes!
  • Top secret submarine boss fight

Classic action


Arrows / D-Pad = Move submarine
Z / B-button = Action; Shoot forward
X / A-button = Shoot down

Gamepad recommended. Controller mappings will vary.


  • Design + code + art: Brian Vaughn
  • Music: Robby Duguay, Brian Follick
  • Sound: SFXP

Behind the game

By chance I played Sea Chase by Eddy Fries on the Atari 800 and while it's pretty typical Atari fare, there was enough there to get me thinking, "it would be cool if there was more." Plus, it hit one of my favorite themes that I had yet to venture into: Submarines! Battleships! Underwaterness!

The first level of Steel Hunter borrows straight from Sea Chase with a few changes before heading into a periscope shooting gallery which is my favorite part. Honestly, the periscope thing is what drove this whole project. I wanted to make a game that used that mechanic so I wrapped underwater minefield levels around it to complete the story.

This isn't a long game, it's not a particularly challenging game, and it's not technically impressive. It wasn't really intended to be any of those things and I think that's okay. I was just trying to make a fun little game and scratch my annual itch to make a video game. And FWIW, no magic was used in making this game...just straight, unprocessed code on a single cart.

As always, feedback is welcome and appreciated. Thanks to everyone that plays and to all that have supported my games over the years. Please report any bugs or crashes.

P#147656 2024-04-30 18:47

[ :: Read More :: ]

No duh, right?

I've been making PICO8 games for 7 years now (doesn't feel that long) and the tokens and limits have just been part of the fun. Those restrictions can push our creativity into something better. That's the whole point and I love it.

My focus has always been on making the games for people playing on the P8 console in some fashion, whether on a PC or a handheld or whatever. And that audience is basically other P8 devs and gamers that know and appreciate the limitations.

Until now, Itch.io has mostly been an afterthought for my games. Basically just a nice way for people to play them all via the web...and you get some nice exposure bumps from the platform and so on.

Don't Dig Up the Dead it was the first time I put more conscious effort into the Itch.io versions of the game, whether that be the downloadable binaries or even just playing the web version for free. I've also put more effort into spreading the word about the game because I'm just proud of it and very happy with how it turned out. No shame. But with that push comes more feedback, which is always wonderful to receive...

...but this time that feedback hit me a little differently. As people called out frustrations or things they feel the game is missing, I realized I can't just say, "I ran out of tokens, sorry." That obviously doesn't fly if the person on the other end isn't aware of the PICO8 platform and culture, and in the case of Itch.io, they're probably not(?).

I don't know why this never hit me before. It's obvious but I was just so focused on the P8 crowd that I never considered the non-P8 gamer that plays the game through Itch.io by chance. It's made me realize that P8's limitations can quickly be a convenient excuse for excluding things that really should have been in my game. "Sorry, I wanted to add that feature but ran out of space," is all too common in my post-release world but in context of P8 I was fine with it. I don't know if I am anymore.

But I also don't think I want to use PICO8 as "just another" game engine because why deal with the limitations if you're always trying to find elaborate ways to get around them anyway?

P#125122 2023-02-01 16:39

[ :: Read More :: ]

I had only played with the AI-generation stuff without any real thought as to how I can actually benefit from it. But with the release of Don't Dig Up the Dead, I had a happy accident when using AI to generate some supporting art.

Don't Dig Up the Dead uses a mix of borrowed and original in-game assets. Music and sound came from some packs and some of the animation came from other games, but a large part of what you see is my own art and I'm proud that I was able to put something together that felt like it all belonged. There's enough of "me" in what people see that I'm not embarrassed to show it off.

I marched along making my game and got it to a very happy spot that I thought I was ready to release and be done. But then AI showed up. I took the bait like the rest of the world and started playing around with the art generation AI to see what it would do...just for fun without any real intent to use it for anything. But then I thought, "hey, I could use this to make art for my game." My game was done so this wasn't about generating pixels or sprites, just supporting material, like cover art and promotional stuff.

My friend recommended Midjourney so I gave it a shot. I fed it the phrase, "a ghost coming out of a hole in the ground rising above a man standing in a forest holding a shovel as he watches in horror," which is what I imagined the box art for Don't Dig Up the Dead might look like. Much to my surprise, it spit out something pretty spot on:

The colors, the mood, the spooky figure at the top of the hill...it all lined up with what was in my head. Pretty amazing. The guy in the middle wasn't quite right but a few more feeds into the AI machine and I got one that worked, so I combined two AI generated images into one, added some text, and got my box art.

This became my promotional art that looks nothing like the actual game...but that's in the spirit, right? Like every other box art from any pre-2000 game, the art sells the idea and the mood. The game will look totally different but you'll carry that cover image into the game while you play. It's something we have all experienced but for my own PICO8 games was usually out of my grasp due to resource limitations. I'd love to make sweet art for every game but I just don't have the time (or patience, or software, or motivation). But the AI art can kickstart that process and give you some pretty great results that are unique to your game. No more ripping things from Google and hoping no one complains. Even though AI did the work, I'm happy to show it off when telling people about my game.

I haven't tried using AI to generate actual game sprites and I'm not sure I'd really enjoy doing that, but for supplemental content that wouldn't have otherwise been created, why not? I'm in with no shame.

P#125074 2023-01-31 16:11

[ :: Read More :: ]

Cart #dontdig-1 | 2023-01-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Every hole digs up a soul

You must find 3 magic relics to help rid the land of evil. Use the Find-O-Meter and your trusty shovel to search the forest. But if you dig up the dead you'll need to fight them off to stay alive, so pay attention to everything you unearth...it might just save your life.

  • Find more than 30 items scattered throughout a spooky forest
  • Challenging shmup action as you fight off the dead
  • Simple and rewarding inventory management
  • Secrets and riddles abound


Playing the game

For PICO8 owners: Play through Splore or by running load #dontdig from the PICO8 commandline.

Gamepad recommended for best experience.

  • D-Pad/Arrows: Move your character
  • B Button/Z: Action button. Hold down to dig and shoot.
  • A Button/X: Inventory
  • Start/P: Pause and settings
  • Read the manual to learn more (PDF)

Explore the forest while paying attention to the Find-O-Meter. When the needle points at red and beeps, hold down the action button to dig and see what you've found. Use the items you find to power up. And keep an eye out for chests and unlock them to get powerful upgrades.

But remember, every hole digs up a soul and sends it into the wild. If you get caught by a ghost, you'll have to defeat it before you can continue on your quest.

When you find a magic relic, take it back to the old man in the village. Find all 3 and you can win the game!

Deluxe edition & strategy guide

You can also purchase the Deluxe Edition Bundle which includes a strategy guide, maps, a special in-game item, and an extra trainer cart. See the Itch.io page for details.

Thanks to the community

As usual, thanks to this great community for their support and willingness to share ideas, code, and assets that helped me make this game, especially @pahammond @Gruber @kevinthompson

This game took way longer to make than I had hoped but I'm really happy with how it turned out. It's part shmup and part exploration adventure that I think is pretty accessible overall. Your thoughts and feedback are always appreciated and please report any crashes you experience.


v1.1 (2/6/23)
Added: Total stats now show on inventory screen
Added: Any hole dug shown by an "X"
Changed: Balancing & timing adjustments for bullet battles

P#125072 2023-01-31 14:55 ( Edited 2023-02-06 20:57)

[ :: Read More :: ]

I know there are available CRT filters for exporting web carts but is there anything for binary exports?

I have a hunch there isn't but never hurts to ask. :)

P#124785 2023-01-24 19:57

[ :: Read More :: ]

I have an Anbernic RG351V and it's been running PICO8 wonderfully over the past year. It's my primary PICO8 console.

However, I just updated it to v0.2.5e and now when I launch PICO8 (which boots into Splore) I hear the boot music but no display on the screen. No combination of key presses seems to turn on the screen.

The RG351 uses the Raspberry Pi version of PICO8.

I've followed the same update instructions as I have for the past several versions.

Up until now, it's been great and just trying to figure something out...or learn what type of animal needs sacrificed to make it work.

I know this is a very device-specific question but figured I might not be alone. Any thoughts or insight is appreciated.

P#123843 2023-01-06 21:22

[ :: Read More :: ]

I took a small leap into a multicart game - one cart for the title/intro, another for the main game - so 2 carts in total. I've never tried this before and didn't think much of it until I go to uploading it to the BSS so it will get into Splore any whatnot. This is new territory for me but I know it's something folks do all the time. The docs are not very clear on how to handle it for the BBS.

Here's what I think I have to do...

  1. Export the 2nd cart as a PNG: game_cart2.p8.png

  2. Upload game_cart2 first so it can get an ID from the BBS: #mygame2

  3. Once I have that ID, go into game_cart1 and add the load("#mygame2") call in the proper spot, in this case when the player press a button to start the game.

  4. Export game_cart1 as a PNG and upload that to the BBS as a full release game so it has a thread and everything else. This is the cart that will be the one people see in Splore and on the BBS...right?

So assuming those steps are correct, how do I upload a cart to the BBS without it getting a thread?

Just start a post, upload the cart, then cancel the post? Does the cart still exist and everything even if I don't publish the thread?

...and all this is why I usually try to keep my games within the single cart limit :) It does simplify a lot when it comes to publishing a game, huh?

Exporting multicart for binaries and web is not an issue. I have that working already. However, I have found that another downside to multicart seems to be that you have to have 2 versions of the carts...one that does the load("#bbsid") and then one that does load("cart2.p8") for the non-BBS versions. At least that seems to be the case...maybe not?

Any insight to publishing multicart games is appreciated.

P#123754 2023-01-05 18:36 ( Edited 2023-01-05 18:38)

[ :: Read More :: ]

Cart #lastxmastree-0 | 2022-12-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Game jam entry: This game was created for the 2022 Toy Box Jam. This is game is not feature complete nor was it really playtested. It's a jam entry so take what you get :)

Grinches have destroyed all but one Christmas tree. You must help the elves save the last Christmas tree!

This is tower defense game where you can move blue tosser elves into any position while you also have to use the red scout elf to dig up snow and keep the tossers stocked with snowballs.


  • D-pad to move the red scout elf and blue tosser elves
  • When red scout, hold X button to move quicker under the snow
  • When red scout, press O button to dig up snow. When your snow is full, return it to the North Pole so it can be made into snowballs.
  • When scout, press X button when you're near a blue tosser elf to take control of the tosser. Move the tosser into position and press X again to place him and switch back to the scout elf.

Tosser elves will attack automatically when the grinches are in range. The squares you dig up will slow the grinches down but those grass spots will get covered with snow after some time.

Green grinches are faster but weak. Red grinches are slower but stronger.

If a grinch reaches the Christmas tree it will attack until he dies. The Christmas tree has 100 health points. If it reaches zero, Christmas is lost forever.

There are 10 waves and that's about it. I didn't have time to add any sort of final boss or anything like that...I might go back. I also would have liked to add in more upgrades and things that would have made the strategy a little more...uh...strategic. But I'm happy and surprised I was able to get something this playable in a very short amount of time. All in all, I probably spent about a week on this one, and that was over holidays with lots of distractions :)

Overall, the concept of snow and snowballs for a tower defense game I thought was interesting. Since the snow can be the obstacle AND the ammo, that seemed like something to have fun with as far as resource management is concerned.

P#123359 2022-12-31 16:09

[ :: Read More :: ]

I've been hitting the PICO8 website for years now but just recently I noticed that the "Forum" link in the PICO8 site menu takes you to the Cartridges/Releases sub-forum and NOT the main forum...and that's not good.

Shouldn't the main menu link take you to the forum landing page?

I've just assumed that clicking the main menu link takes me to the starting point and I drill down from there...not that it has done some drilling for me already.

Now that I've paid attention to this, I'm seeing A TON of threads I never saw before that I'm interested in. One challenge forums have is duplicate and buried posts but if the site makes it hard to see all posts in the first place, it doesn't help.

This is the forum start page: https://www.lexaloffle.com/bbs/?cat=7

This is the where the "Forum" main menu link goes: https://www.lexaloffle.com/bbs/?cat=7#sub=2

P#121721 2022-12-02 15:24

[ :: Read More :: ]

This might be too broad of a question...but how do you create and manage timelines for actors in your game?

A lot of my games involve waves of enemies coming onto the screen, a la shmups and runners. I've made several games at this point that need these types of timelines but I feel like I have to create a new system each game. I haven't come up with a method/process/flow that I feel is reusable and that bothers me :)

A common pattern I use is a delimited string that gets parsed into an array that outlines which actors should appear and when based on timing (spawn after X seconds). It works okay but that giant string often requires external tools to create and often ends being very specific for the game - which isn't bad per se, just clunky.

I guess I don't have a problem to solve here...just looking for insight as to how others handle it or have dealt with it in their own games.

P#121720 2022-12-02 15:14

[ :: Read More :: ]

I've found that even with my small collection of gamepad/controllers being hooked up to various devices, that the default mappings on gamepads differ widely. It made it hard to me to know which button to label as which in my games.

So if you just plug in your gamepad and boot up PICO8, which buttons map to which keys?

Naturally, it's gonna vary but based on my own controllers and a very unscientific survey on Twitter, I've come to accept that the B button on a gamepad maps to Z on keyboard, and A button maps to X on keyboard.

Like so:

Obviously, you can remap the buttons and all that jazz but out of the box, this seems to be the common config. This is how my Buffalo gamepad is when plugged into my Windows machine...and gotta say, it makes sense. The B button is left of the A button, just like the Z key is left of the X key on my keyboard.

What have you found with your various controllers and gamepads? Maybe this thread can serve as an index of controllers and how they map to PICO8 by default. Just make sure to outline the brand of controller and the device you're using it with.

P#121079 2022-11-20 21:16

[ :: Read More :: ]

I'm working on a bullet pattern function that shoots out bullets in a direction, at a speed, etc...nothing fancy and nothing new to me, all my games have bullets! BUT this time some bullets are magically moving mid-stream and I can't figure out why.

See here...

I've narrowed it down to happening when bullets from the line ahead of it get deleted from the table. When a bullet goes off screen, I'm removing it from the table so as to not get overloaded and so on. Normal stuff. But when that deletion happens, the next bullet in the table magically moves out of line yet all the rest follow orders.

If there are 15 bullets in every line, why would the 16th bullet move when the ones ahead of it get deleted? Is it something to do with table order? Or some process not happening due to deletion time?

It's like the addition math gets skipped at that moment. Very weird...but also something I'm sure that is very simple I'm overlooking. Lord knows I've spent way too much time on whittling this down the simplest version and I'm not sure how to refactor any more. A man can only bang his head so much :)

Any thoughts, insights, or suggestions are appreciated.

Code for the example above.

function add_bullet(x,y,a,s)
    local dx=cos(a)*s
    local dy=sin(a)*s

function bullet_update()
    for k,o in pairs(bullets) do

      if o.x>130 or o.x<-5 or o.y>130 or o.y<-60 then del(bullets,o) end

function bullet_draw()
    for k,o in pairs(bullets) do

function _init()

function _update60()
    if fr==50 then -- this is here to repeating demo only
        for i=1,15 do

function _draw()
P#119393 2022-10-20 17:15 ( Edited 2022-10-20 17:19)

[ :: Read More :: ]

There's been a lot of drama recently surrounding PICO-8 games being turned into NFTs and then being sold on the GameStop NFT market...all without permission from the creators. One of my games got caught up in the mix and it's a shitty scenario across the board.

Ars Technica published a feature this morning highlighting the whole ordeal. It's a good overview of the drama with interviews from @zep and other creators that had their games hijacked. Worth a read for everyone that makes games here and something to keep an eye out for in the future.


Zep has been working hard deal with a lot of it and helping to get them off the GameStop market. Huge thanks to him for all his effort on this situation. It's not fun for anyone but he's certainly taken a lead role.

I've helped out where I could in regards to dealing with this problem but I chose not to get too involved otherwise. It's shitty that someone took my work and cashed in on it, but at the end of the day it's not taking any bread off of my table. I'm not going after legal action or anything that hardcore so I'm squarely on the "it's the principle of the thing" side of the coin.

This is not a thing and it will continue to be a thing, I'm guessing. Someone has proven you can turn our games into NFTs and cash in. Expect more and keep your eyes out.

P#115271 2022-08-05 15:53 ( Edited 2022-08-05 15:55)

[ :: Read More :: ]

Cart #helitack-0 | 2022-07-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Play above, search Splore for "helitack" or use LOAD #HELITACK from your PICO-8 commandline.

Only you can help...

Budgets are tight and staff is short so we're looking for volunteers to help keep our parks safe and beautiful.

Your job is to partol the park and rescue lost hikers and contain any forest fires that might get started. If you can keep things under control for 3 shifts, you can become a full-time helitack ranger.

Your helicopter is equipped with all the gear you need to get the job done. Stay focused, stay calm, and do your best.

We also recommend reading the handbook. It might just save a life.

How to play

This game supports gamepad and keyboard controls. Use the pause menu to check gamepad and controller mappings.

  • Up/Down - Throttle; Forward/back
  • Left/Right - Rotate direction
  • Z - Switch modes
  • X - Use selected mode
  • P - Pause + Music toggle


  • Design & code: Brian Vaughn, @morningtoast
  • Music & sound: Brian Follick, @gnarcadevgm
  • Art: Impbox, used assets from his game Tempest
  • Additional art: Brian Vaughn

Play more of my games on Itch.io

P#114586 2022-07-20 23:57 ( Edited 2022-07-21 00:32)

[ :: Read More :: ]

Does anyone have an example of a horizontal directional compass in a game?

The type of compass that is just a strip and moves left/right as the character rotates on screen? So like facing .25 in rotation would be North and so on from there. I don't need waypoints indicated, just have the direction be in the middle when the character is facing that direction.


I'm working to figure it out as we speak but this time I remembered to poll the community before I do a bunch of work, lol.

I think my struggle is how to turn the rotation of the character in speed for the horizontal compass and so the compass letters line up when a cardinal direction is hit.

Any ideas to approach or pointers, tips, examples are appreciated.

P#113187 2022-06-15 14:37 ( Edited 2022-06-15 14:50)

[ :: Read More :: ]

I put a completely unscientific research poll up on Twitter asking folks where they usually play PICO-8 games and the majority said they primarily play using the desktop client.

  • Desktop App: 56.7%
  • Desktop web browser: 23.3%
  • Phone web browser: 16.7%
  • Handheld App (non-phone): 3.3%

See the Twitter poll

I put up the poll because PICO-8 is in a unique spot where it can be played various ways on various platforms, and yet we're not able to design games to account for one or the other. This has always been a point of ponder for me and having this data helps me think about it better.

However, the audience that saw my tweet is probably regular PICO-8 players and devs anyway, so it's not the casual gaming public that most certainly plays through the web on Itch.io and whatnot. But, still interesting to see the results.

What does this tell us? I mean, not much, I guess, but to me it says the laptop/desktop is the device (and environment) where we're mostly playing. It's not on your phone or on a handheld like the RG351. It also means Splore is likely a primary source of access/finding of games. We might also be able to infer that the game is being seen on a rather larger display, not phone or handheld sized...so worry about sprites being "too small" could be less so.

Again, not a deep dive or anything like that but some interesting data all the same. Use it for good, not evil.

P#111784 2022-05-13 13:28 ( Edited 2022-05-13 13:28)

[ :: Read More :: ]

I'm trying go back into my game Destructopillar to try add/remove some things but see I am at token limit. I've done some basic refactoring and stripping out unneeded functions that are now part of the core but it's not enough.

I was looking over the manual to see what functions are available now and was reminded about coroutines. The problem is, I never really understood how to apply coroutines. I get the concept and I think I understand the gains (like saving tokens), but just can't figure out where in the game it would benefit from coroutines, if at all.

Please check out the Destructopillar game below real quick, even just the first stage and you'll get the gist. Then please call out the places where you could see coroutines being useful.

I'm not looking for cart code analysis or digging into what's there right now. Just looking at the game on the surface...the actors, the actions, the scenes...would coroutines possibly make sense anywhere?

And the answer could really be they wouldn't help in this type of game. And that's okay...because I just don't know. I sense that coroutines could help and make things better and save me some token trouble but maybe not.

Cart #dpillar21-0 | 2021-12-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#110687 2022-04-21 23:52 ( Edited 2022-04-22 00:36)

[ :: Read More :: ]

The Agony and Ecstasy of the PocketCHIP

I arrived at PICO-8 because I bought a PocketCHIP back in 2016. The PocketCHIP came pre-loaded with PICO-8 and prior I had no concept of a "fantasy" console, but I was excited to make games again. Unfortunately, the PocketCHIP was a beautiful-yet-awful piece of hardware.

Essentially, the PocketCHIP was a Raspberry Pi-like mini computer wrapped in a case with a touchscreen and keyboard. On the surface, the PocketCHIP was a pretty raw looking piece of hardware...but I dug the style and was excited when it arrived. Yet I quickly found out that the experience of the PocketCHIP was something to be desired.

All bark and no bite

The keyboard was awful and despite coming with PICO-8 -- a game hub -- playing games was very unsatisfying. I needed a new bezel with a built in d-pad just to make playing games tolerable. I even had to put nail polish on keys to know what did what. In short, it was not fun to play on. But it did lead me to PICO-8 and for that I'm thankful.

Since then I've slapped PICO-8 on various Pi game stations and obviously played on my PC. Playing PICO-8 on a phone is certainly do-able but I'm not keen to the virtual d-pad and buttons...but in a pinch, it gets the job done.

But this week I got what I think is a really good solution for getting PICO-8 in my hands in a way that is comfortable, reliable, and satisfying. I got an Anbernic RG351V handheld and it's been a true joy.

Better late than never

I know I'm kinda late to the retro handheld party but here I am. I did some research and learned what I could about what's available - and there's a lot out there. I settled on the RG351V because the form factor was something I liked and all the reviews I read talked it up well.

Yes, The RG351 will play a ton of your old console games. Believe me, I've been loading it up with all the PC Engine and NeoGeo games I love to play, but I have to admit that easy PICO-8 setup was a big selling point. And it wasn't a lie.

Putting PICO-8 on this thing was a matter of copying some files into a folder and that's it. The RG351V has built-in wifi so it'll launch right into Splore and you're golden.

The experience you deserve

I know many, many people play our P8 games on the web through the site (probably) using the keyboard. At best, you're on a PC with a gamepad. This is fine and I appreciate people playing something I've created, but when I bought that PocketCHIP and started making games, the handheld experience and fun is what I was chasing. Where the PocketCHIP failed hard, the RG351V succeeds in spades.

To say my PICO-8 playtime will increase now is an understatement. My P8 play had decreased over the past couple years due to other things happening in life, yes, but also just because playing on my laptop isn't really convenient nor that enjoyable. Playing on my big TV is okay but lets be honest, our 128x128 games lose a little something on a giant screen.

There are a ton of retro handheld options out there now, from big to tiny, cheap to expensive. You probably already have one but if not, look into it. If you've been on the fence, let PICO-8 be your excuse and maybe get yourself one for Christmas.

This is the type of experience PICO-8 deserves and you deserve.

P#99037 2021-10-22 15:30 ( Edited 2021-10-22 16:32)

[ :: Read More :: ]

TLDR: This is a game that I started years ago and didn't finish. I went back to it on a whim and got it playable. You can download it. But really this is a story about returning to game design and PICO-8 and the joy it brought.

Don't call it comeback

Hello. I'm Brian aka @morningtoast. I jumped on the PICO-8 bandwagon back in 2016 and made a handful of games. For those that remember and played my games, thank you! For everyone else, please check out my old carts - they're still fun. But after a few years of pumping out games, I got a little burned out. I ran out of creative juice, got frustrated, and just had other things to do so I left the gamedev scene.

Scoot ahead a few years and I get an alert that someone commented on an old cart post here in the forum. It felt great seeing someone had played (and enjoyed) an old game. It reminded me a) why I make things, and b) games live beyond their release date...it's all about who finds them.

But that was enough for me to crack open my PICO-8 folder and revisit some of old work. What I found was a treasure trove of unfinished games, a few of which were honestly near-complete that I just never pushed across the finish line. Not sure why...but I decided to try and make one of them at least playable and release as a "lost cart" or something like that.


The game I chose was the last game I worked on called Destructopillar that has you controlling a monster caterpillar that tries to destroy cities and fight off military attackers. Kind of like the old Snake game mixed with SimCity if you were the disaster.

I remember working hard on the game trying to get it right but kept running into blockers. I don't remember if it was token count (probably) or just the game design at large, but nonetheless, I was never happy enough with it to have folks play it. I was one of those PICO-8ers that only released completed games (shame on me). But now I'd rather share something that is 90% complete than nothing at all. I mean, who am I? Just some doof making cheap games on PICO-8 for other doofs. P8 is about sharing and learning so why not do that.

So what did I find when I opened up my Destructopillar cart? What I found was that I had forgotten everything! I'm looking at the code and trying to remember the quirks of P8 and moreso what the hell I was thinking when engineering the thing. It's weird coming back to a project years later and asking, "why I'd do that?" and so on...you get mad at yourself! But after a few plays of the cart as it was, I listed out the things that were not finished and set out to fix them.

And frankly, there wasn't much to fix...a few bad sprites, a few missed ID#s that caused some grief, and a little overweight but otherwise it was pretty close. I got Destructopillar very playable and then realized that the reason I never finished it was just some poor design decisions. I'm guessing I got the game to a point where I thought I was done(ish) and then did some playtesting only to realize it was missing a lot of fun. And at that point I was too pooped to undo everything and try to fix it.

My goal now was not to fix the design problems but rather just get the game playable so I could share it. I'm so out of practice with PICO-8 that diving into that old code would be futile. It'd be easier to start over but now I'm at the point where I need to re-learn P8! Maybe soon but not right now.

The main problem I see with Destructopillar is mostly balance. It gets way too easy, way too quickly...sucking some of the fun out of it by the 4th level. I still dig the concept and the controls but it does get kind of boring and grindy, especially for an endless arcade game. I'm also bummed there's no music...

But it's very playable and not un-fun, so I hope you try it out on your console. The cart for Destructopillar is below. Just save the image locally and load it with your PICO-8 client.

Please enjoy Destructopillar

Cart #dpillar21-0 | 2021-12-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

How to play


  • Use left/right to control your snake
  • Action button will use a boost to shoot your snake across the board (hit it again to stop)

Each segment of your snake is a weapon! Your weapons will automatically attack enemies, so all you have to do is control Destructopillar to crush buildings and avoid damage. If a segment takes too much damage, it will die. If your snake gets hit in the head, you lose a heart. Lose all your hearts and game over.

As you destroy buildings, your power meter will fill up. When it gets full, a piece of fruit will appear. Run over the fruit to add a new segment to your snake. The type of fruit will determine the weapon of the segment.

  • Pear: Machine gun, attacks air & ground targets
  • Blueberry: Laser, attacks air targets only
  • Orange: Flamethrower, attacks ground targets only
  • Cherry: Heals all segments

If you manage to collect 3 of the same fruit in a row, those segments will combine to create a powered-up segment with a stronger weapon.

After you reach the goal of each level, an exit will open up on one side of the map. Just find it and enter to advance. This game is endless. I never got around to make a boss battle or anything like that...but levels do get bigger and get more enemies as you go.

But wait, there's more!

After I had fixed Destructopillar, I discovered another cart that was half-done that was also labeled as Destructopillar! I loaded the cart thinking it was just another copy of the other game but found it was pretty different. Lets call it Destructopillar Alpha.

Destructopillar Alpha

The concept of being a snake that destroys towns was the same but some of the gameplay aspects were different. Like progressing based on people killed rather than just destruction. The pacing is a lot slower and the weapons & enemies are different. But in Alpha you can re-order your snake segments to match colors but the speed boost feature is not there. There are also achievements and different modes in Alpha. The effects were somewhat different too...and I liked them better in Alpha than the other even, I dig the smoke.

So it looks like Alpha was trying to be a more "complete" game but one that I'm guessing didn't get done due to token limit. Given the extras like unlocks, modes, and seeing how some of the graphics got simplified, it tells me this was done due to filesize. But...there were gains in the refactoring process: more enemies, better weapons, faster play, and better performance. I don't think Alpha is a better version of the game, just a different version that shows the evolution of design and engineering.

If you want to play Destructopillar Alpha, you can download that cart and play locally. Just save the image and load it in your PICO-8 console. However, mind you, I have not touched the Alpha version! No fixes or attempts to make it better. It'll probably crash.

Try out Destructopillar Alpha and compare it to above. Which do you like better?

This dive back into PICO-8 was very refreshing and rewarding. Even though it wasn't that long ago, it feels like forever since I've thought about or tried making games. It's something I love and always seem to return to when I need comfort. I guess now is one of those times.

And taking a look at games I had designed that never quite got finished was VERY interesting. I don't often go back and look at old projects...I make and move on...but this trip back was enlightening and motivating. I'm going to see what other unfinished games I can revisit and make available for play - even if it plays rather poorly. If nothing else, maybe it will inspire someone or give them an idea for a new game; one that will get finished and loved by all.

If you're interested in trying out other games I've made, please check out my Itch.io page or my profile here on the BBS. I might suggest Alien Harvest and BuzzKill as they're a couple of my favorites that I'm proud of.

Again, to everyone that helped me make these games way back when, thank you! Maybe I'll hop back on this horse soon and see what new fun I can come up with.

Thanks & cheers

P#98247 2021-10-05 17:44 ( Edited 2021-12-27 20:42)

View Older Posts