I am aware there is already code available by various authors for trifill, plus benchmarks and all that jazz.
However I have a particular use case which:
- can leverage known properties (rotated rect) to halve draw calls needed (no triangulation)
- requires compatibility with line() for drawing outlines (otherwise I'd need custom line code to match the fill)
So I've been cooking my own. (Use case aside, it's also a good learning experience.)
The basic idea is vertical slices drawn using rectfill, endpoints based on principles of Bresenham's algol. The goal is to match line() output exactly -- the endpoints should get overwritten if line() calls are subsequently made to draw outlines for the shape -- and it should work for both upper and lower edges.
Have managed to get pretty close but still getting a few isolated cases that don't match, e.g. stray pixels of fill color outside the outline. Here's what I've got so far:


Cart Full Name: Toy Box Pipe
Alias on Itch.io it was submitted under: ximo https://ximo.itch.io/
Cart Name on Lexaloffle: #tuberias_ximo-4
I followed the optional theme FLOW







A not-entirely-canon demake of the game 'Zeewolf' by Binary Asylum.
Pilot your Zedwolf chopper across 6.5 km^2 of 3d open world environment, rescue hostages and repel the enemy force's attack!
epilepsy warning: contains strobe or flash effects
Currently there's only one level and the cart will simply replay it once it's completed.
I hope to add another one in future, but I also wanted to get something out before the end of the decade, and I have.. 19 minutes (local time) to do that!
Controls:
Z: toggle landing gear up / down
X (while landing gear is down): throttle up
X (while gear is up): fire rockets
Arrow keys: move










This is the DEMO CART for Toy Box Jam 2019.

https://itch.io/jam/toy-box-jam-2019
The code is mostly atrocious, but on purpose -- it shows what sprite numbers to use and colors to change to make the most out of a limited number of sprites.
Enjoy the fine music by Gruber!
I discovered this while trying to reduce someone's not-quite-tweetcart, and I boiled it down to a simple repro case.
These compact lines both parse and function correctly:
x+=1y-=1 y+=1x-=1 |
But these don't:
x-=1y+=1 y-=1x+=1 |
Variable names don't seem to matter. I included versions with variable names swapped just so you know it's not the variable order at fault somehow.
Same thing happens both when executing editor/app code and at the shell prompt.
I tried on the BBS and the parser here isn't able to work it either.
I didn't try other operators, like *, /, or %.
Side note: On the same subject, would you mind adding ..= and ^= operators? I think that would make the set orthogonally-complete.




(01-02-20) If you just want to see it in action, try out the cart above and examine the source-code. For a more detailed demonstration including compression, try out the cart below this.
TO LOAD THIS CART in Pico-8, in immediate mode type:
load #sccm |
UPDATE (01-01-20) Removed all loose global variables.



SOLVED: See @samhocevar's solution. Thanks everyone who contributed answers !
It's a pretty simple question that may not have so simple an answer.
Is there a way I can declare locally global variables inside a function.
By this I mean I define variables inside a function that meet two states.
-
The variable is seen for the first time and is therefore initialized with a new value.
- The variable has been seen before and is NOT initialized but in re-entering this function it retains the same values it had before this same function was exited earlier.
I know I can simply declare global variables but what I wanted was to be able to retain values of simply named variables that might be just a single letter. Yet can only be seen and globally recognized by that local function.
Here is an example:
function _init() word={"one","two","three"} for i=1,#word do count(word[i]) end end function count(a) localglobal n=0 n+=1 print(n.." "..a) end |







Rescue helpless aliens from the moon!
This is my entry for the Toy Box Jam and my first game made with Pico8 ^_^
HOW TO PLAY:
- Use booster to ease your landing
- Try to save as many aliens as you can in 120 seconds
- If you save all of the aliens before time runs out, extra points are awarded
Let me know your best score in the comments ;)
Enjoy exploring the world of a vacuum cleaning bot :)
This is my entry for the toy box jam 2019. It took me way longer as expected but I'm really happy with the results :)
Launcher info:
Cart Full Name: Roombanator (Toy Box Jam 2019)
Alias on Itch.io it was submitted under: bttrs
Cart Name on Lexaloffle: roombanator
Itch.io link: https://bttrs.itch.io/roombanator


TO LOAD THIS CART in Pico-8, from immediate mode type:
load #mgst |
UPDATE (12-30-19): web address
Metal Gear Solid was an incredible and groundbreaking 3-dimensional stealth game for the Sony Playstation released in the states back in 1998. Not only was it an incredible and challenging game the graphics for its time were nothing short of miraculous if you didn't count Final Fantasy 7.

This then is my tribute to the opening story, where Snake has infiltrated the lower levels, made it to the elevator, reaches the top and is at a secret base in Alaska where he is contacted by CODEC which stimulates the small bones in his ear of his mission and target.



Hey, i'm new to pico 8, been really enjoying making games in it. I was wondering does anyone know if it is at all possible to release and sell pico 8 games on steam? even if through the usual methods such as steam labs. If not if anyone has any further knowledge around this subject it would be greatly appreciated. Thanks
My entry to the first #ToyBoxJam is, a PICO-8 remake of...
Alfredo's Stupendous Surprise!
(Originally created by Tom Hall & John Romero - for Softdisk Issue #98)
I made it as best as I could, within the jam limitations
(e.g. only using pre-defined assets!)
CONTROLS:
Choose options (when prompted) = ◀ / ▶
X or Z to Start/Select
GAME:
Alfredo's back in this PICO-8 remake, especially for #ToyBoxJam
and has he got a surprise for you! 🥳🎉
- Will Alfredo get to his house?
- Will he get to blow out the candles on his cake?
- Will he die in some horrible death?
- Play his latest adventure and find out!
Have fun & thanks for playing! 😁
Release History
- v1.0
- Initial Release
- v1.1
- FIX: Bug with 10 Ton weight (thx Tom!)
- FIX: Co-routine bug on last screen (thx again, Tom!)



Cart Full Name: Food Trail!
Alias on Itch.io it was submitted under: vapidvial
Cart Name on Lexaloffle: food_trail-1
Instructions:
Use arrows to move/interact and the X key to throw food(considering you already have some).
Food Trail! is a game where the player has to attract as many monsters as he can with food to follow him to their umm... ask the sad standing monster! You have to keep them full or else they may lose their way, indefinitely! Also, some monsters taste better than others, according to a particular individual, so choose your monsters wisely.
This is my entry for #TOYBOXJAM, hope you like it!


Made this minesweeper clone for my first cart as a familiarization exercise of sorts.
Menu Options
- Tagging with '?' is on by default but can be turned off if desired
- Mouse control is available; behavior should be an accurate facsimile of the original.
- Once enabled, buttons and mouse controls can be used interchangeably -- but not concurrently, to avoid ambiguity over what should happen if button presses and mouse clicks occur at the same time
Will remember your settings (using cartdata) if played in the console.
Controls
Cursor movement: arrow buttons.
Cursor can be moved while O/X buttons are depressed (as long as your hardware supports those keypresses concurrently).


