I like how I can indent/dedent a block selection with tab/shift-tab, and I like the behavior where it operates on every line with at least one character selected. I notice an edge case that should be addressed: if the first line is indented and I have the intend spaces selected, when I dedent the space goes away but my selection start moves up to the previous line. If I dedent further now the previous line is getting included in the dedent.


I like the new feature where shift-enter auto-indents. It also adds an "end" statement which is useful for closing blocks.
I'm wondering if it should always do this, or if it could do something more context sensitive. A full IDE would be running a full parser in the background which is probably overkill. A simpler behavior would just scan the current line for block starter keywords and only indent+end if it finds one.
I'd prefer this because I'm likely to get into the habit of shift+enter, enough to do it by accident, and if it always does what I want that'd be better than having to undo and try again.


For fairly whimsical reasons, I decided to write a four-part crab canon in PICO-8. Tenor and soprano channels play the melody forwards, bass and alto channels play the melody backwards.
If anyone wants to use it for anything, feel free to ask - but given that it uses all 64 SFX slots and all four sound channels for eighty seconds of music, I don't expect it to be useful to anyone in particular. It was fun to break out some of the partwriting skills from community college music theory classes again, though.
I was introduced to PICO-8 a week ago and couldn't really stop coding since.
So this is my first project. It is yet another snake game but a good opportunity to learn about the diffrent aspects of PICO-8.
The game features 4 snake velocities, 8 stages, persistent highscores, and somewhat forgiving gameplay if you happen to bump into a wall or yourself and manage to turn immediatly.
Higher speed and more complex mazes will grant you more points to beat the highscore.
It also has background music, but activate at own risk. It get's pretty annoying in my opinion.
Controls:
❎: select, continue, confirm
🅾️: back, hide/show game over pop-up
Use the arrow keys to move the snake, change options and enter your name

Larkstongue v.0.0.1-alpha
Larkstongue is an asset packer, written in Python. It can extract raw cart data from a .p8 file, compress and pack assets into the cart data of a .p8 cart, and generate code for unpacking that data.
Current features:
- Extracts any cart data area
- Special extract function for bitmaps with automatic cropping
- Generates loader code according to the user's specifications
- Hilbert curve mapping for bitmaps
- Run length encoding
- Huffman coding
Larkstongue is currently in early public alpha, so there will probably be a lot of quirks still. Remember to keep backups of any carts you use it on!
Get it on GitHub and give it a try! Do try to break it and tell me how you broke it :)
Variable inspector window

Debugging carts with "print" and "printh" can be cumbersome, so I made a little snippet to help.
It adds a little window where you can view variables and drill down into them.
To use it, add the snippet somewhere into your program:
dbg=(function() poke(0x5f2d, 1) -- watched variables local vars,emp={},true -- window state local exp=false -- text cursor local x,y -- scrollbar local sy=0 local sdrag -- mouse state local mx,my,mb,pb,click,mw function clicked(x,y,w,h) return click and mx>=x and mx<x+w and my>=y and my<y+h end function butn(txt,x,y,c) print(txt,x,y,c) return clicked(x,y,4,6) end -- convert value into something easier to traverse and inspect function inspect(v,d) d=d or 0 local t=type(v) if t=="table" then if(d>5)return "[table]" local props={} for key,val in pairs(v) do [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=76213#p) |


How come the Voxatron cartridges are laggier then plain old PICO-8 cartridges and when you move its slow af. Whenever I look at the GIF's of Voxatron, they look perfectly fine, but when I play a Voxatron cartridge, It's slow. Like my internet is perfectly fine, yet Voxatron STILL LAGS. Please let me know if you know why and how to fix it if you know either of those. Or at least how to stop the lag. Thank you. :)


Download 0.2.0i at lexaloffle or via Humble, or for PocketCHIP.
Alright, let's do this! PICO-8's core specification is complete, and it appears to do what it says on the tin. So I'm calling it:
PICO-8 is in Beta!
The main purpose of 0.2 is to finish freezing the core of PICO-8 -- the api, cpu counting, specs, cart format, memory layout, program behavior, backwards and future-compatibility should no longer change.
Earlier attempts at settling on a fixed core in 0.1.11 and 0.1.12 failed because of technical issues creeping in and also some design decisions that just didn't sit right. It has only been due to the ongoing process of users like @Felice, @electricgryphon, @jobe, @freds72, @Eniko, @samhocevar, and many others prodding at the boundary of what PICO-8 can do -- and what it should do -- that all of those nooks and corners finally took shape. I'm really happy with the way the last pieces of PICO-8 have snapped together, and I think it has reached a point where it feels not only like it should never need to change, but that it never could have been any other way.









This:
a += b >>> c |
Appears to evaluate as:
a = (a + b) >>> c |
Which is not expected. :)
(Incidentally, the precedence of the custom operators isn't documented, and it surprised me that bit ops are looser than addition — since they're effectively multiplication/division. I know this is the precedence in C, but C's bitop precedence is completely wacky and was forced by its predecessor's use of | and & for both bitwise and logical operations in 1967! Alas, existing carts...)



Second version!
I´ve polished the game a little bit and fixed some minor bugs
Novelties
New store: weaponry
New weapons: mega sword and club
SFX:I have improved (kinda) the sfx, because I didn´t like the old ones
Longer story
For those who didn´t play the original version(most of the people)
The Monk is a game in wich you play a monk who is in search of his true self
To do that he crosses deserts with foxes and snakes, while drinking water regularly, because it is super important
How to play
Use the arrows to move. You have got 30 seconds for each water jar you drink
If you run out of water, you die
Tips
Don´t use all your money on weapons, but weapons are also important. It´s all about equilibrium


 (1).gif)

Version 1.1: Fixed game over glitch that could occur when pieces were rotated the moment they appeared, pieces can now be rotated clockwise and counterclockwise.
This is a fully playable version of Tetris in fewer characters than a moderate-length email, including:
- Line removal
- Level progression (speed increases after every 10 lines cleared)
- 'Lines cleared' display
- CW and CCW piece rotation
- Soft drop button (with slight delay when next piece appears)
Controls:
L/R-------move piece
Down------soft drop
X-------rotate piece clockwise
O-------rotate piece counterclockwise
Fitting everything in this small a space was pretty tough. I had to cut a few corners, like leaving out the next piece preview, as well as logic to allow movement of blocks once they land, so overhangs are a nuisance. With all that said, though, I worked hard trying to make this an actually decent version of tetris and not just a technical curiousity, so hopefully somebody actually enjoys playing it instead of just staring at the indecipherable souce code. Shoutout to 2dArray, whose Tweetjam Tetris and its genius piece indexing system I built on for this project.



