Hi
I use a german keyboard layout and when I try to create the characters {,},[,],\,~ (all created with alt+ctrl) they doesn't appear in the editor or command line. I use v0.1.10c.
I know there are/were some problems with the different layouts, so has someone the same problem and can maybe offer a fix?

So, I was looking at the manual (while I was working on a project), when I noticed the GPIO setup.
I just had the idea that if anyone owned 2 GPIO-capable devices, then couldn't that allow for networking? Sure, that does have a few issues:
- only 6 bits at a time (pCHIP has 6, but CHIP and RPI have 7)
- only 2 devices can be connected
But couldn't that work? Maybe Pong could work, as well as turn-based games.
If anyone has access to 2 of these devices, hopefully you can help me (I only have 1 RPI).
Simple sand and water simulation.
Controls:
Button 0 = Reset
Button 3 = Spawn water line
Button 4 = Spawn sand pixel
Button 5 = Spawn sand line
Could be optimized by removing static sand and water particles from the list + optimizing the update order.
Not really much of a game yet but is fun to play around with. Thinking of trying to make a puzzle game with this involving scales.



Hi,
I'm trying to have a sprite move in front of and behind other objects to simulate z-index ordering, but I'm not sure how to do this in PICO-8. I figured it would work something like if object_a.y > object_b.y, move behind that object.
I saw somewhere someone giving each object/sprite a "z" variable that would control what order things were drawn, but that wasn't for PICO-8 so I don't know if that could be recreated here.
After some searching, I see that this has been done in The Lair and Kick Wizards, but I'm very new to Lua/PICO-8 so I'm having a hard time finding how they're doing it. Any help is greatly appreciated.
The Lair: https://www.lexaloffle.com/bbs/?tid=4051
Kick Wizards: https://www.lexaloffle.com/bbs/?tid=27697
Thanks!





A simple WTK you can use for editors and such. Code and documentation here. The version there is probably newer than the one in this demo cart.
Mouse interaction only, except for text fields.




My second game with PICO-8. This time I went for a Xenon 2 type of vertical shooter, but the music sucks ;-)
The premise is simple, kill enough enemies so you can escape from the level and then confront the boss. To do so, you have your stolen prototype ship, trying to jump back to Earth and safety.
You've got ahead of yourself five levels, with each their own boss, and armed with five weapon levels to get away. The game also records high scores arcade style.
Instructions:
- Z: Shoot
- X: Megashot, only when the yellow bar is full.
- Arrows: Move, dodge and aim with your ship.
The small pulsating balls are powerups and don't hit the ships either.


Dialogue Text Box Library (DTB)
DTB is a code snippet that you can use to implement a dialogue text box to any game in just seconds.
Setting it up goes as follows:
- Add the dtb code to the top of your own code.
- Call dtb_init in your initialization.
- Call dtb_update in your update.
- Call dtb_draw function in your draw.
And that all there is! You can now simply call "dtb_disp" wherever you want.
Usage
dtb_init(numlines) |
Call this to initialize all dtb's variables. Takes an optional parameter which defines the maximum number of lines that will be displayed. Defaults to 3.
dtb_update() |










So... I guess what I'm aiming for is a back-calculating method for controlling player movement, via globals. So, let's say I'm wanting a typical jump-to-same-level duration to be 90 frames; and for it to go up 3.5 "tiles" of 8 pixels apiece; with a 0.8x accel/decel rate (gravrate). I define the jumpheight as 28 (pixels) and the jumptime as 45 (ground-to-apex; so half of 90), and then use that to calculate jumpvelocity.
My usual go-to is jumpvel=2sqrt(gravity tiles * gravrate), and then letting the typical gravity accel/decel take over from there. "gravity" is seperate from gravrate, in case I want to disable it (by making it 0) reverse it (by making it -1), or reducing it (making it a decimal, usually between 0.5 and 1).
Also, working on a similar accel/decel for horizontal walk/runspeed... so let's say I'm aiming at 0.3 px/frame to be the max speed (18 pixels a second, or a little over 2 tiles, so you can jump four across, level-to-level)... I still want a 20-frame accel and 10-frame decel delta to that, to give some fluidity to the player's motion, it's not all "everything or nothing." So the actual velocity is like "0.3 - (0.015 * runframes, if less than 20)" and then at release, setting that value to 20 and reducing it 2 at a time so that the calculation still affects the movement speed.
...
I think I'm losing my mind though, so am I still doing this right? >.>
I'm increasingly forgetting stuff, and when I'm working and calculating, it's interfering with my work - and THEN when I'm off, I'm no longer calculating, and everything's kind of getting messy. Dammit!!


I'm currently working on a game and I seem to be stuck on something that should be fairly simple.
I want to create arrows under specified conditions (I have a beatmap in the spritesheet) and whenever a beat should happen, an arrow should be created which goes down the screen until it hits the buttons etc etc. The part I'm stuck on seems to be creating those arrows.
From what I gather, I am supposed to be using tables and metatables? I have started some code relating to this but I feel like I am just making guesses, and none of the tutorials that I see cover instance creation.
Also I spent a lot of time working on what I have so far, especially the music, so let me know what you think of the very little that is there.



This is squashy ball, as we all know it from PicoZine #1. As a first time coder I decided to just see what I could do with the game, so I added everything you see and hear past the ball and paddle movement. Big thanks to Alex Mole for the inspiration.
Stats save in between sessions. There are 9 skins available to chose from. I may add more in the future.


Hello!
If, like me, you got hold of Humble's recent GameDev Software bundle, then you probably have a copy of Pyxel Edit. Because palettes are saved in the .pyxel files that the program produces, I've stuck a couple of them on Google Drive with the correct palette for PICO-8 users.
The resulting spritesheets can be exported as PNG files for importing into PICO-8 - just be sure to use the 128 x 64 version if you're not wanting to overwrite the map area of memory.
128 x 64 version
128 x 128 version
For some reason, when you click the links, Google Drive brings up an unpacked preview of the .pyxel file - just click the "Download" button at the top-right of the window, and they should download just fine.
Full credit for the palette RGB values goes to Roman Zolotarev and his handy-dandy palette page.


Hey fellow PICO 8 users in the dojo,
Started with a breakout like concept, now I can't seem to walk away from this interesting problem..
The ball currently uses a sine function in order to cycle its scale: BALL_R=1+(SIN(FRAME/20)*2)
and I'm trying to adapt collisions to accommodate this type effect (see - multiple uses).
So far it doesn't appear to work without triggering multiple undesired bounces at the border.
So far I've had limited success with a function I made to snap the object scale to whole number
increments, however this has not resolved the problem, which only consistently occurs when the
ball (CIRCFILL) crosses the boundary as its increasing in scale (BALL_DR=+1).
I've also attempted to apply a timer to limit bounces (ball x/y inversion) without much success.
Am I barking up the wrong tree/ are there other collision models which already
deal with these type of situations? -any help would be greatly appreciated



