In the manual (version 0.2.5c), for the MAP command it says:
CELL_W and CELL_H default to 128,32 (the top half of the map). To draw the whole map, including the bottom half shared with the sprite sheet, use: MAP(0, 0, 0, 0, 128, 64) |
It seems this is no longer true. Calling MAP with no arguments will in fact draw the whole map,
including the bottom half.
(PS: It's better this way IMHO. Don't change the code. Just update the manual.)



(v00 11-10-22)
TO LOAD THIS PICO-8 CART, in immediate mode, type:
load #map256x128
To navigate use the arrow keys. Note the 1st and last tile in the map set are blank to show all 32768-tiles are in use.
Hello there.
With extended memory comes extended responsibilities, and one of them is the new ability to reroute the mapper to high memory.
As you know or should you have free RAM located from 0x8000-0xFFFF, a cool 32768-bytes for use.
So what this program does is take advantage of the fact you can now reroute the mapper from default location 0x2000 and instead point it to 0x8000.
Then memory is filled with random numbers 1-4 to show the sample 1-4 tiles.


Hello.
I am working on some code to use the spritesheet as screen memory as detailed in the Pico-8 help:
0X5F54 GFX: can be 0x00 (default) or 0x60 (use the screen memory as the spritesheet) 0X5F55 SCREEN: can be 0x60 (default) or 0x00 (use the spritesheet as screen memory) 0X5F56 MAP: can be 0x20 (default) or 0x10..0x2f, or 0x80 and above. 0X5F57 MAP SIZE: map width. 0 means 256. Defaults to 128. |
Unfortunately map()
does not work in ANY capacity to draw directly into the spritesheet.
@zep, Please have this fixed for next release !
Here is the code:
-- show map() does not work -- for screen/spritesheet swap for i=0,31 do for j=0,31 do mset(j,i,rnd(3)+1) end end cls() -- take your pick, none work! poke(0x5f54,0x00,0x00) --poke(0x5f54,0x00,0x60) --poke(0x5f54,0x60,0x00) --poke(0x5f54,0x60,0x60) cls(1) map() -- copy spritesheet to screen. memcpy(0x6000,0,0x2000) |




First school project!
Pick some hotdogs to make the ball appear randomly on the map.
Be quick to fetch it, it will disappear faster than you think.
Beware of the mushrooms, they'll make you sick!
Put the sound on and enjoy!
Credits:
Dog sprite: Nerdy Teachers (https://nerdyteachers.com/Explain/Function/SPR/)
Music: @gruber_music (https://www.lexaloffle.com/bbs/?uid=11292)
I was playing around with Pico-8's music editor, and put this song together from memory.
I'm really happy with how it turned out, and decided to make some art for a release!
Let me know what you think.
Updated 03/03/24
Slight formatting change for compatibility with latest version of Pico-8
Updated 12/22/22
I was always somewhat dissatisfied with the song's composition, so I did another pass: Making some parts less shrill, adding some reverb, and re-arranging the transition into the second part of the song. I also cleaned up the logo a bit. I feel like it sounds and looks way better now! Let me know what you think.
(No, I'm not working on Super C. This song has just been bouncing around in my head, begging to be covered, so here we are. I still need to finish Castlevania, if and when I find time to allocate to it.)


(v00 11-09-22)
TO LOAD THIS PICO-8 CART, in immediate mode, type:
load #stickybubbles
Hello fellow Piconians !
I was looking at some recent code by others and suddenly realized that we now have OVAL drawing ability ! I did not know this.
Back in GFA I had to use blitter stretch to get this kind of bubble effect. Of course in GFA you also had 24-bit color so I made the bubbles brighter on the edge and darker in the middle so they had a great luminescence about them.
I could do that here I suppose except with 16-colors it won't look so great.
Anyways what =IS= interesting and entertaining is that the bigger bubbles are sti-i-icky and they peel off the bottom of the screen before BOINGING upwards !


The year is 1.000.000 AD, you are Ragnar Lothbrok MCXIII, the galaxy's most lethal warrior. You have reached an age where your use to The Supreme Galactic Empire is in decline and the Empire's war council has allowed you to go out in a blaze of glory, to spare you from tarnishing your reputation with the weakness that follows old age. You have been given a vessel and set loose in an arena filled to the brim with slaves from the warrior planet Xlorgon VI. Slaughter as many as you can, as you drown in an ocean of blood and glory.
HOW TO PLAY
Use right/left arrows to rotate your ship, Z to accelarate, and X to shoot.
Kill the green monsters for points, and pick up power-ups for health and temporary weapon upgrades, plus 2 points.If using a joystick or gamepad (recommended), you can press ESC, or the Start button on your gamepad, to open a pause menu. From there go to options and controls to test the layout of your controller.
To reset the high score, on the title screen, hold the shoot button for ~4 seconds, or until you see the message: "high score reset" on screen.
Press ALT+Enter to toggle full-screen.
Thank you for playing!
UPDATE v1.02
-Added cursor for easier aiming and positioning
-Increased rotational friction
-Decreased rotational max speed
-New enemy type






I humbly request a bit of CSS attention for the BBS message editing interface in a mobile browser. The cursor mostly stays visible when typing, but textareas and previews get cut off on the right at mobile widths and I can’t relocate my cursor for edits easily if the text I want to edit is off the screen. It probably just needs a light massage. (I’d suggest a specific CSS change except I’m on mobile rn. ;) )






The fifth parameter of clip() controls whether to make the previous clip smaller, or replace it. For instance...
cls() clip(16, 16, 16, 16) -- small box in upper left clip(64, 64, 32, 16) -- wide box in middle-ish rectfill(0, 0, 127, 127, 12) -- fill clipped region with blue |
This only fills the second region, since the first one was replaced with the second. But if I put true as the fifth parameter, like this:
clip(16, 16, 16, 16, true) clip(64, 64, 32, 16, true) rectfill(0, 0, 127, 127, 12) |
This draws nothing, since the second clip didn't intersect with the first, and therefore canceled it out. So my question is, can I add on to the clipped region rather than subtracting from it or replacing it? Like maybe...
clip(16, 16, 16, 16, "add") clip(64, 64, 32, 16, "add") rectfill(0, 0, 127, 127, 12) -- fill both regions with blue |
If there isn't an equivalent of this already, then this is a suggestion. True and false could still be accepted as arguments for backwards compatibility, but additionally, "replace", "intersect", and "add" could be accepted. Possibly 0, 1, and 2 also.



Vous êtes vous déjà demandé où allait Kenny quand il mourrait ? Venez on vous montre.
Juste un petit jeux créer par notre équipe dans le cadre d'un projet au sein de l'école Ada tech school à Nantes
(M,C,K)
Note : Nous avons remplacés les gros mot par des censure pour que cela soit un peu plus "kid friendly"





Ada Tech School
Kristina Kirakosiani, Laurie Biguet, Theo Seuge
Main character of the game, Molly lives in a pretty countryside, near the river. One day Molly decides to go for a walk and she forgets it's Halloween! Instead of her village, she finds herself in the city of ghosts! To get out of the ghost town she must find candy and give to the ghosts to be able to move forward and return to her village.

A simple example of an x-ray effect using bitplane masking.

Using bitplane have the advantage of having both values (skins and skeleton) in a single sprite, but you're quite limited in the number of available colors.
How it work :
There only one sprite in the sprite sheet, but as you can see, the palette have redundancy.

To be concise, by removing the first bitplane, we're essentially shifting all odd numbered colors to the even color right before them, so color 1 become color 0, color 3 become color 2 and so on.




Lukily Together
Luke and Emily are getting married! Now they have to cooperate to get all the rings, find their cat, and get to the end of the game!
This is a short two player game about helping each other and that we're always stronger together than alone. With a bit of friendly competition sprinkled on top!
HOW TO PLAY
Each player controls either Luke or Emily. Use standard controls to move and jump.
P1 - arrows + M
P2 - S/F + Q
CREDITS
Design/Art/Code: Johan Peitz (@johanpeitz)
Music/Sound: Vav ( @vavmusicmagic)
Cabinet: Mark Kleeb (@markkleeb)




Update: Updated cart to latest version. This is probably close to what will be released.
A work-in-progress helicopter combat flight simulation. Loosely based on my memories of playing Gunship on C64 a few decades ago.
The heli can be controlled with player 1 input:
- By default the arrow keys control the cyclic stick.
- Hold down circle (z) to switch to collective (up/down) and tail rotor (left/right).
- Hold down cross (x) for weapons mode, where up/down cycles between targets, and left/right selects the weapon.
- Tap cross (x) quickly to fire.
So to take off, hold down circle (z) and up.
Alternatively you can use player 2 input (E,S,D,F in keyboard) for collective and tail rotor.

See my first mention of this here:
https://www.lexaloffle.com/bbs/?pid=120143#p
I assumed the headless export option (pico8.exe myFile.p8 -export "paramsHere"
) could export audio as it does graphics. Apparently it cannot! Specifying a .wav output crashes pico8.exe (on Windows at least).
pico8.exe myFile.p8 -export snd.wav pico8.exe myFile.p8 -export snd%d.wav etc. |
- If headless wav export is disallowed, can it indicate that gracefully, without crashing?
- If headless wav export can be allowed (please! for sound/music tools) how should we specify single sound vs all sounds vs music? Following the existing exports, might I suggest:
pico8.exe myFile.p8 -export "-s 2 snd.wav" // for single sound, example 2 pico8.exe myFile.p8 -export "snd%d.wav" // the % pattern indicates all sounds pico8.exe myFile.p8 -export "-p 5 mus.wav" // music, -p indicates starting pattern, example 5 |
Thanks for considering.