I'm working on a big project for PICO8.
Around the end of 2018, I learned about the scalability of multi-carting and continued to research and create it to this day.
We were able to give each of the four carts a role, rather than just being a data bank .
Cart 1: Title/Ending/3D dungeon scene
Cart 2: Platformer Scene
Cart 3: Cooking Scene
Cart 4: World Map Scene/Important Item Riddle Solving Operation

Because of these many factors, an hour or more of play is a must.
Data saves are automatic.
(Position when resume, growth and LIFE, possessions, time, status of NPCs helped, farmland, important items, veggies, history of veggies removed, history of enemies removed, and other things for cart-to-cart interaction).
Most of the game system is complete. I'm currently assembling the map for the later areas.
If anyone is planning an original, reasonably large game, PICO8 will be used as a prototype. It looks like they will progress the production and do the actual product in another game engine. I've seen some of those opinions. (Not my project.)


Hey, I decided to make a batch script to automate compiling PICO-8 cartridges into .p8.png, binary, and HTML. Instructions are in the batch file and there's an example using Celeste included.
https://gist.github.com/FayneAldan/2ded1a13af0e2676ec259a12a702ae96

This is a simple typewriter style text box, like we see in many RPGs and Adventure games.
I was looking for examples of text boxes like these and only found complex and robust examples. They are excellent! But I thought it would be useful to have a simpler more "noob friendly" system.
The code is very commented, so anyone should be able to follow along and understand what it is doing. Also, this system is very simple but versatile. It can easily be expanded or customized if you know what you are doing.




After updating to 0.2.1, exports of my cart are failing to load. I've deleted just about everything from it to make a minimal reproduction here, but I have no idea what is going on.
For both HTML and bin exports, the pico-8 splash appears, and it hangs after "booting cartridge"
In the included cart, both the comment at the bottom and the init method are required. Deleting the init method, or any more from the comment will allow the cart to load. O_o


Hi All! PICO-8 0.2.1b is now up on lexaloffle, Humble, itch.io, and for PocketCHIP. This update started as a continuation of 0.2.0 bug-fixing work, but I also relaxed my position on API minimalism just enough to add some new features :D
UPDATE: 0.2.1b is now live and fixes the print() bug, and a few other things. See the changelog below for details.
Ovals
You can draw ovals (technically, ellipses) both when running a cartridge, and when using the shape tools in the graphics/map editors. Ovals are specified by their boundary rectangle, and follow the usual draw state rules.
pattern={[0]= …,∧,â–‘,â§—,â–¤,✽,★,✽, ˇ,â–‘,â–¤,♪,â–‘,✽,★,☉, â–‘,â–¤,♪,â–‘,✽,★,☉,…, ∧,â–‘,â§—,â–¤,✽,★,✽,★ } function _draw() cls(1) for i=0,31/32,1/32 do local x=64+cos(i+t()/8)*48 local y=64+sin(i+t()/8)*44 local w=8+cos(i*2+t()/2)*6 local h=8+sin(i*3+t()/2)*6 fillp(pattern[i*32]) ovalfill(x-w,y-h,x+w,y+h, (i*32)%8+8) end print("pico-8 0.2.1",40,62,13) end |










In the web player here on the BBS which currently says it's version 0.2.1, it appears print() now displays numbers as hex:

EDIT: oh wow I didn't realize v0.2.1 was out for real and not just in the BBS web version; I downloaded it and tried running the same cart (#xmasfish) and figured out how to reproduce it so I have corrected the title and description since my first report wrongly said the issue was with tostr()
as you can see here, it only displays as hex when x,y arguments are given to print():


see below for changes
I got my hands finally on Pico-8 a few weeks back and after doing a couple of examples, I set about making my own game to help learn some more about coding in Pico-8. So here it is, my firs very shoddy attempt a a game in Pico-8.
It is a rather simplistic game, you just have to survive as long as you can. The code in there could be much better but it was all a learning curve and I am more impressed that I got all of this built within a week and a half of just coding away at night time after finishing work.
Instructions on the opening screen allow you only at that point to change the controls of the tank.
V1.1 (04-07-20) Took advice and made changes to how SFX and music are played, also added a few extra effects once your score goes above 70 and also made a change to the difficulty to make it slightly easier later on.




Got a https://www.sparkfun.com/products/16301 phat for raspberry pi.
Running pico8 on it is fine.
I want to use some custom gameinputs (joystick and button a,b on the phat) using uinput from linux.
Using a controller.c for reading i2c packages and generating uinput events KEY_C,X,LEFT,RIGHT,UP,DOWN.
<b>Got a problem with KEY_LEFT and KEY_RIGHT:
- problem is that in the linux command line KEY_LEFT works fine.
- If i start pico8 (console or splore) the KEY_LEFT doesn't work.
</b>
Any ideas?

Press Z to generate a brand new modern art masterpiece. Generated works are indistinguishable from an original Mondrian!
Been working on binary space partitioning for PCG and this was the simplest thing to get working. Feeling cute, might tweetify later.
UPDATE: Totally tweetified down to 263 chars by the insane brain of Midnight Dysktra.
Hi! The title says it all!
I've recently been looking to get into Pico8. There's so much tutorials out there and so much to consider. I have no idea where to start! My second worry is that I have no coding experience at all. With all that being said, it's why I felt like asking out from the community itself!
So, where is the best place to get started using pico8 for the first time and what should I consider going in?
Thanks!




My first game for PICO-8 and one of my first playable games ever, developed using code from JALECKO's Flappy.
This is a reverse Flappy Bird where you have to eat to keep flying. Thanks to Megan Williams for the concept and advice.
Features:
- Two whole birds!
- Realistic biomechanics (well, sort of)
- Moving prey
- Original art
- Original arrangements of music by Rammstein, Trey Williams, and Judas Priest




This is the second game my 3-years-old son and I did together.
It started as something simple. A car which moves around. A police car? No, a regular car.
Then we added coins. And made the car pick them! Interactivity! Randomness!
Then we needed a monster. So of course Covid-19 makes an appearance as the bad guy. You "kill it" with the car (which conveniently uses the same code as the coins).
Although to more experienced players the game might feel like it needs some kind of "success screen", my son doesn't seem to miss it at all.
It was also the first time we used the sound editor. Bruno is way too impatient, and I am too inexperienced, to create a whole song for a game just yet.
Fun facts:
- There's exactly 10 instances of the virus because that's the biggest number Bruno is able to count up to so far (reliably).
- There's exactly 51 coins because "51" is the number Bruno uses when he wants "a very big number".
Controls: arrows to move.
Hello all!
I have been trying to make a minesweeper clone in order to practice grid based games. Everything was going well, until I tried to make the mechanic where adjacent 0 tiles are revealed. I made a recursive function, but when set to all eight directions, it would run out of memory almost instantly. Any tips on how to either optimize the function or replace it? Any help would be awesome, I'm not the best programmer, thanks!
Recursive function:
function tile_reveal(x,y) if y > 0 and y <= #board.board and x > 0 and x <= #board.board[1] then if board.overlay[y][x] == 11 then if board.board[y][x] != 9 then for d=1,#dirs do if y+dirs[d][2] > 0 and y+dirs[d][2] <= #board.board and x+dirs[d][1] > 0 and x+dirs[d][1] <= #board.board[1] and board.overlay[y+dirs[d][2]][x+dirs[d][1]] == 11 then board:change_overlay(x+dirs [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=78805#p) |




A little cover I made two months ago and forgot to post on the BBS. Enjoy!
There's four different visual modes picked at random on reset, I tried to sync two of them to the music.
Mario's colors based on the SMB port by @mhughson
Hello world!
How can I make my code more like a library or a self-contained independent module/component? Here's a text scroller by me (my first published cart yay!). Currently you need to call three functions to use it:
function _init() scroller = init_scroller("lorem ipsum dolor sit amet, consectetur... ", 30, 5/30) end function _update() update_scroller() end function _draw() cls(0) draw_scroller(4, 60, 7) end |
I tried to write it more like an component but couldn't make it work. My idea was that init_scroller() would return "an object" which would contain everything. Then you'd call object.update() and object.draw() to use it and could create as many instances as needed. However my return object had just pointer to global functions and later instances overwrote earlier ones.


