This call, with only one arg after the string:
print("hello world", anything_even_a_table_or_function_or_nil) |
Behaves oddly and in a way that is not documented in the manual. It renders the string at the cursor and then exits without updating the cursor. It doesn't seem to use the extra argument at all.
The only thing I can see this being useful for is a text countup display, as seen in oldschool memory tests during BIOS startup on PCs. I can't imagine anyone has ever actually used it this way, though.
It'd be far better if this case were treated as if the user wanted the text colored, but didn't want to specify x,y coordinates because they wanted it to work like a regular, scrolling print():
print("I'm blue, da ba dee, da ba die", 12) |






Hi all! I'm learning to use Lua as I make games, so this may have an easy answer. I just haven't figured it out yet:
edit:
I placed the actual cart here from a recommendation in the comments. I've placed every shape except for the cube shape somewhere besides the start of the file in the code (grid & photo are in spreadinit() and the rest can be found in the presets tab). The cube & grid show up fine, but everything else seems to be difficult to find for the program.
original post:
I'm currently making a game where there are several 3d objects you can peruse & rotate. I'm using the same function to display the objects as well as 3d grid to help me visualize where I should map everything--


We are proud to present Bob's Action Racing - the PICO-8 port. Bob Fungus chose us to implement his most successful game ever to this great gaming console. Under his supervision and constant consultance we were able to create - he was able to create the greatest version of his game, yet. Through us. We were the tool.
Play the classic game on PICO-8! Race your car all the way to the end of the world. It will get fast. Very fast. Too fast. You will need to find a way to slow down. Maybe your fans will be of service...
Have fun! and please post your highscore!
Use left/right to steer, hold X or C to power-steer.




Pretty straightforward: uses the feature of line() that it will draw from the end of the previous line to connect the dots around a curve defined parametrically (i.e. x,y both written as functions of t). Uses whatever the current pen color set by color() is.
Tried to build in some basic politeness features - it resets the draw state when it's done, it sets the sign on deltat to make sure that it points from t0 towards t1, it chooses a default value if deltat is given as 0 or not given, and it will always draw a line that starts at t0 and ends at t1 whether or not deltat is an integer factor of (t1-t0). With all of those implemented, it works out to 82 tokens; cutting all of those out drops it to 33 tokens. Haven't given this a bulletproof QA treatment but it passed some basic checks.
To use Tiled to create a PICO-8 map export from Tiled to a LUA file called "tiled.lua".
NB: You may need to make sure it's LF and not CRLF as current PICO-8 has issues including files using CRLF.
The following code will export the map and any spites in the cart to "tiled.p8".
function parsetiled() #include tiled.lua end tiled=parsetiled() layer,i=tiled.layers[1],1 for y=0,layer.height-1 do for x=0,layer.width-1 do mset(x,y,layer.data[i]) i+=1 end end cstore(0x0000,0x0000,0x3000,'tiled.p8') |




Been putting this together rather rapidly. Not only am I fast running out of tokens with no room for polish, I'm finding the gameplay a bit dull.
The idea is that you can only attack on higher ground. Same for the monsters. This is sort of interesting because it leads to a fair bit of dancing around to find a spot where you can attack. But I'm honestly just back-tracking whenever I meet a monster. Changing the numbers as a result of attacks keeps me and the monsters moving, but not in a way I find interesting.
I tried bigger maps with scrolling, but a grid of numbers trundling along is a great source of motion sickness. This idea seems better suited for a much smaller map. I'd probably make more use of the spells by virtue of accidentally looking at them.
Hi guys, over the past few weeks I've been working on @auto_tweetcart on Twitter! [Demo image below Q&A].

It's a little Twitter bot that runs your tweet carts when called with its handle. Some of you have probably seen it as it's been up a few days already. It's all Open Source (BSD 2-clause license), and available on my Gitlab, although I should mention it was built with a very specific setup in mind!
I'm planning on adding an FAQ to the project soon, but for now, I'll answer some things here!
========== Q&A ==========
Q: How do I use it?
A: Call the bot with it's handle on a separate line in your tweet, then just write you code out. You can title your tweetcart with a comment like normal, and the bot will use that as a title for the reply. It will take about a minute to reply, as it records for 30 seconds and then does some processing.
Controls
Menu: Z to start game.
Game: UP/DOWN/LEFT/RIGHT to move the person, Z to blow leaves
Mechanics
Time to clear off your really large patio of all these pesky leaves. Blow them off the screen to finish each level, but watch you don't run out of time!
Commentary
February felt so short this year!!! Wow!!! I'm wrecked and March is right here to get me already. Another game done, and I think March will be my last #onegameamonth now. It's been a good run but I'm really tired.
Anyway this game was pretty fun to make, not much to say about it except I had the radical idea to hide my projectiles (the air that makes the leaves move) and it works quite well!
A demo, and a love letter to Japanese professional wrestling, from Jumalauta. Released at Instanssi 2020, won first place in the demo compo.
No guarantees at all about working on a browser. Tested on Firefox, crashes almost immediately. The cart works fine on the Pico-8 software, naturally. If you want to watch it on a browser, YouTube is your best bet :)
Minified using Picotool by @dddaaannn. Unminified source code available in the release zip. Some graphics are based on CC BY 2.0 photos, namely "Jushin Liger ROHxNJPW Global Wars 2018" by Troy Teague, "Shinsuke Nakamura" by temaki, and "Mt.Fuji & Tokyo SkyTree" by Atomark.










We had some back-and-forth on Discord about row-shifting effects and whether to do them with the CPU or by copying to sprite ram and using sspr. I came up with a pretty good function at the time for the CPU to do it in place, but I've since iterated on that to bring down the token count and also to optimize certain types of shifts.
This is a little demo wrapper built around that function. If anyone's interested in effects like this, I offer this up to them. Take a look at the full-fat version of the function in tab 1, and also at a low-fat version in tab 2, which is a little slower and lacks the edge-clamping feature, but uses about 2/3 of the tokens. You should be able to drop either version as-is into a game or demo and just use it right out of the box.
Performance: The full-fat version can apply a sine wave to the full screen at a cost of about 8-9% of a 30fps frame, while the low-fat version requires about 10-11%.
Token cost: The full-fat version is 155 tokens. The low-fat version is 96 tokens.


Hey @zep,
Is holdframe() intended to be a peer/complementary function to flip()?
I had it pointed out that I'd erroneously marked flip() as undocumented on the wiki, even though it is documented—I just suck at searching the manual. That reminded me to check holdframe(), to see if it was still undocumented, and it still is. It is, however, overtly called out in the changelog as having been added, so it's simultaneously documented and undocumented.
Is it intended that we're allowed to use it for custom game loops, or no? If we are, it'd be nice to have it documented in the manual. Otherwise I'll leave it in the nebulous wiki category of Undocumented API.
Thanks! :)


This Wretched Pong




A devilishly difficult game of pong and the difficulty increases as you anger the demon. Can you outscore him by 6 points? Can you do it three times in a row?
Based off Nerdy Teachers Pong tutorial, and very enhanced - https://nerdyteachers.com/Explain/NerdyPong/
Lots of thanks to discord, in particular, Rune for the Renoiser which helped me add sound and effects from Pico-8 sfx pack https://www.lexaloffle.com/bbs/?pid=64837 and music from Pico-8 Tunes Vol.2 https://www.lexaloffle.com/bbs/?pid=64837
I also borrowed the pentagram from Skulldude - https://www.lexaloffle.com/bbs/?tid=30146
SO much learned in the process. This is my second (unfinished) game - more polished than the first, again many thanks to the community for assistance.
There is a lot of cruft in the code, will clean up, and make any final balancing changes and then release. Any feedback on mechanics appreciated. Can you beat the final difficulty?




Hi all,
This is my first cart, Cryptocide: Dridex. It's supposed to be a fast paced, contra-esque boss fight. Hopefully it's the first in a series of bosses. In terms of lore, I was going for a cyberpunk, diving into the matrix to fight off security threats kind of thing.
I'd really appreciate your feedback with particular emphasis on:
- Gameplay / overall enjoyment
- Difficulty (and difficulty scaling)
- Suggestions for new attacks
(any other feedback is greatly appreciated but bear in mind my artistic and musical skill is next to zero so please don't be too harsh on that front :))
Current TODOs:
- [ ] Bugfixes for 2 player mode before inclusion








Games these days are just too graphic. This version of the classic game Pong has no graphics whatsoever, instead using only Pico-8 ASCII and print commands. It can be played solo or with a friend!
Update 1:
-Changed ball physics so it doesn't just travel in 2 paths.
-Fixed an issue with paddle-ball collision.


What is it?
Last year I wrote a six-part tutorial series for The MagPi magazine that takes a complete novice all the way from installing PICO-8, to designing a full game with audio and effects, to releasing it on the BBS. The MagPi is a fantastic UK magazine that covers everything Raspberry Pi related and, with unfathomable generosity, makes all their issues available online for free in .pdf form. I post the full collection here now in the hope that they are useful.

Tutorial list
Tutorial 1: Get Started with PICO-8 and Raspberry Pi
Turn your Raspberry Pi into the coolest console around with PICO-8! Play, make, and share 8-bit games
download link
Tutorial 2: Learn Lua with PICO-8
You’ve played other people’s PICO-8 games, now it’s time to make your own! Create a retro space-shooter whilst learning the Lua language
download link



.jpg)
attack of the green blobs is a side scrolling space shooter. It was created for a tutorial series for The MagPi magazine and was designed to lead a novice through every aspect of game design on PICO-8.
It contains demonstrations of:
- different enemy types
- screen shake
- simple particle engine
- simple collision engine
- SFX and music implementation
- simple game states
- lots more...
You can follow the full tutorial series on the BBS in the tutorial section.
