Basically the title.
info([cart])--returns tokens,chars,compressed_size of [cart] or the current cart if given none |
This could be useful for people who are creating carts using printh() and such, to detect if the cart is able to be run before load()ing it:
tokens,chars,compressed=info("cart.p8") if(tokens<8192 and chars<65536)load("cart.p8") |
What do you all think?
Hi,
First, I'm a noob regarding Linux and alikes. I've been trying for last 24 hours to make my Picade (a small arcade bartop by Pimoroni, running on Raspberry Pi 4) start into Pico-8 in Splore mode. It boots in the desktop and I usually launch Pico-8 manually in the console with:
~/pico8/pico8 -splore |
(my folder is pico8, not pico-8)
Works well, figured I could as well make Raspberry OS do it for me.
How naive.
Followed tens of tutorials, with no success. To the most, it looks like Pico-8 launches for a second then closes. Feels like this because there's a black screen opening that closes 1 sec later. I've made a .sh file with:
echo 'Launching Pico-8...' /home/pi/pico8/pico8_dyn -splore echo 'Pico-8 closed' |
with 'pico8_dyn' in place of 'pico8' if that matters. If I run it on console it works with the added echos on start and closing of Pico-8.
Then I made a autostart file at .config/lxsession/LXDE-pi/autostart:
@lxpanel --profile LXDE-pi [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=95380#p) |
This is such a big update to my first program (picod20) that I decided it deserves to be its own thing. This has 7 standard RPG dice, as well as a small HP tracker.
INSTRUCTIONS
Z = Reroll
Left/Right = -/+ 1 HP
Up/Down = +/- 10 HP
CURRENT UPDATE
Fixed spacing on single digit results
Fixed unwanted scanlines over edge of HP tracker
Cleaned up some code
OLD UPDATES
Added sound
DERAILED!
WORK IN PROGRESS
Derailed! is a 2-player demake of Unrailed!, a co-op game where you build tracks to keep a train on its rails. Communication is vital!
How to play
Chop wood and mine stone, and store those into the storage wagon. Use the crafted rails to extend the train track until the next station! Have fun!
Controls
Arrow keys: move
O/X : action (pick up/place items)
Stuff left to implement:
- More wagons
- Wagon upgrades
- Infinite worls! (Roguelite!)
- Gameplay improvements
Credits
Music remixed by @Gruber:
In all but one case I can think of, PICO-8 specifies screen rectangles as X1,Y1-X2,Y2 (inclusive).
The case where it doesn't is clip(x,y,w,h).
This has always bugged me. But worse, I noticed recently that the virtual hardware registers for the clip rect are actually set up like the other API calls: X1,Y1-X2,Y2 (inclusive), which means the API is actually translating between the paradigms.
Now I realize clip() can't suddenly change to work the other way, but...
What if we had a new command next to it called clp(x1,y1,x2,y2) that worked the same as everything else, worked like the virtual hardware, returned the same values you'd get by peeking the virtual hardware registers, etc., and simply marked clip() as deprecated, much like mapdraw() is deprecated?
It would hardly be the only abbreviated API call, e.g. sgn().
What do you think, @zep?
12th Aug
Changed how drifty the main character is. Made the hitboxes more forgiving.
Okay there is no way I'm finishing this in time for the jam.
Most of the time has been just working on the Character's mechanics and nothing else.
Concept
Dr Evil Lulzs has just killed your master you vow to get your revenge in 30 seconds. This gives you thirty seconds to reach Dr Evil Lulzs and attack or you will explode violently.
01 Aug
So I decided to go for a platformer... my first in PICO8. Building it on top of my OOP game model (which maybe was not that good an idea...) so it is a code nightmare. Already at version 4 with a few discarded prototypes in the middle and for sure require some cleanup and refactoring... but kind of works and it would be great to start getting feedback.
Torches are an application of an old experiment, it's been a while I wanted to include them in some project (and for sure require fine tunning, as they are map cannot scroll as they are poke'd in place with additive blitting)
Still a very early WIP, no screen boundary control so if you fall off an edge you will fall forever :)
I am parking this for a while but I will come back to it very soon, I relly like where this is going
Hello! I'm a research student at the New Mexico State University, and I've been analyzing the usage of different IDE's used in game-development related classes (Digital Game Design, Senior Projects, Intro to Game Design/Programming, etc.).
I was recommended PICO-8 by my professors, and I quickly became addicted to messing with this fun, simplistic software.
However, I was wondering if any teachers, professors, or students have had any experiences with PICO-8 in the college classroom. What class was it used in, and how was it implemented?
I asked a similar question to the TIC-80 community, and I would love any insight about either software! Also, if available, would you guys be willing to share some sample projects (while crediting the creator, of course)?
Thank you for sharing!
This is a cut down version of the variable inspector I wrote a while ago. It's a bit more limited, but a lot more light weight. And there's a way to use it even if you have no tokens to spare (described below).
You use it to view Lua table variables:
- Run your game
- Press Esc to break into it
- Type: dinsp(variable)
Then use the mouse to expand values and scroll wheel to scroll up/down.
Code snippet follows (for some reason I can't use the code formatting tags):
poke(0x5f2d,3)cursor()pal()clip()function dadd(n,v,i,p)add(lines,{n=n,v=v,x=type(v)=="table"and"+"or" ",i=i},p) end function dexp(l,p)if l.x=="+" then for n,v in pairs(l.v) do p+=1 dadd(n,v,l.i.." ",p)end l.x="-"end end
function dinp()local x,y,b,w=stat(32),stat(33),stat(34),stat(36)line(x,y,x,y+2,10)if btnp(❎) then local i=(y-10)\6+1 local p=s+i local l=lines
This is my biggest pico-8 project so far!
Switching between windows by clicking on them gets buggy when there are more than two windows. I recommend either using the icons at the bottom, or not having a lot of windows open.
It would be great to see if others could build on this and make it better. If you want to do that, here is the cart:
Say a player has a way to design a custom painting in a game. This painting should persist between playthroughs, and be stored on the spritesheet.
I know that this should be done via cstore(), but I simply do not understand how.
function painting() -- code for modifying sheet through sset() here -- cstore(A,A,L) end |
What I actually need is the values for A and L.
Cheers in advance.