I don't think anything ought to change, but I thought this was interesting. Pico-8 allows this:
x = 1
if (x == 1) do
print('a')
end
if (x == 2) do
print('b')
end
|
Notice that this is not "if-then-end" but "if-do-end". This appears to be supported accidentally due to the "if (...) ..." shortcut, described in the manual as:
IF THEN END statements on a single line can be expressed without the THEN & END IF (NOT B) I=1 J=2 -- is equivalent to: IF (NOT B) THEN I=1 J=2 END -- note that the condition must be surrounded by brackets. |
The intent is for "if (cond) exp..." to parse expressions to the end of the line. However, if the last expression is a do-end block, the block is allowed to span multiple lines. Of course, this requires that the condition be in parentheses.
I found 7 carts posted to the BBS that use "if-do-end" across multiple lines. Pico-8 does what's intended, so it's hard to call it a mistake.
Unrelated: "if (cond) block else block" is undocumented but supported. "if (cond) block elseif (code) block else block" is not supported. The else's block is optional (though pointless to omit): "if (cond) block else" I found 13 carts using the else form of short-if.

Currently every limit of Pico-8 is kinda rigid, but how about it: You can adjust these limits at the cost of the other ones. E.g. you need bigger map, but don't use much of sound or code? You can increase map at the cost of code space/sound space. Alternatively you need more code but not use much sounds? Decrease sound space, increase code space.
Of course default split would be as it is now.

This is a random assortment of drawings that I have made as a proof of concept.
Hit Z to see the next picture.
Images are stored as strings, as saved by the Canvas Drawing Program.
I will follow up with a post on how to export images from one to the other.
Code by itself is 1892/8192 tokens.
Data for scenes will count against Program Chars and Compressed size.
For 6 scenes, Program chars: 21530/32768, Compressed size 11931/15360
Please feel free to use the code here for your own use.
-ElectricGryphon

Hello Everyone,
I'm already thinking about the PICO-8 ZINE number 4 , who will probably be released in February of 2016.
I was thinking as a Thematic Roguelike or Speedrun...Which one do you prefer?
Could also be a mix of both.
The base of a rogue like are :
-randomization (for replayability),
-permanent death (once a player-character dies, the game cannot be restored at an earlier point),
-turn-based movement
My favorite one's are zaga-33, Hoplite or 868-HACK.
But other game like Spelunky, Downwell,Rogue Legacy are also amazing games.
Would you be interested to write/read articles about this subject?
hello,
im really getting into pico-8. love it.
but wanted to know if you can use more than 1 file for a project. i know that pico has a limit to what it can use. but it would be for breaking things up instead.
i have seen many use say haxe with a compiler to pico. or terry cavanagh using his own thing. but just wondering if it can be done it straight p8 files - rather than having to do a compile/convect to p8
thanks

alright,
so im gonna look at making some music today with pico for something. but the one problem so far is that it is hard actually hearing what you are doing.
so a suggestion would be that you could hear what notes are being keyed in when you are doing it. plus to have a switch to turn on or off.
also, tempo control. that would be awesome ;)
can the player accept midi signals in? ill have a test. but if it cant, i would highly suggest having something like that. would be cool for us music folk to use a midi keyboard ;)
lewis lepton
lewislepton.com

Seemed like a good idea. This is what I have so far:
I have no idea how collision will be handled yet.
The game design itself is more or less defined in my head. Let's see how much it changes as I playtest it :P You fly around, trying to not hit the walls and obstacles. Every now and then the pattern changes (curves, colors, types of obstacles etc). Speed increases proportionally to your progress. You can take some powerups which could increase your life or decrease speed. Something like that.
Updated version for UoB Game Dev Society halloween jam :)
- now has a fancy title screen and animations
- now has diagonal chains (like in normal reversi/othello)
- individual cats can be flipped (including white -> black)
Puzzle game concept for the 1 Hour Game Jam.
I didn't have time to design difficult puzzles, but the concept is there. :)
Follows the rules of Reversi (but only for horizontal+vertical chains)
To move: make a bridge from a white kitten to your cursor, over 1 or more non-white kittens.
Sleepy kittens will become normal (white) when flipped
Fire kittens will destroy their neighbours when flipped
Queasy kittens will become sleepy when flipped
To win the level, make all kittens normal (white)!
ARROWS: move
Z/C: flip
X: restart level

seeing where i can take this
music by @lanachan
UNPLAYABLE ATM
controls:
P1 A (z) select/confirm
P1 B (x) deselect/cancel
P2 A (shift) end phase

Up: Play
Down: Stop
Left: Previous Track / Restart current track
Right: Next Track
A cart filled with all the music I could fit onto it. Feel free to use these tracks in your pico-8 games, here is a tutorial on how
I'm happy to say I'm finally releasing the album! It's up as a free download on Bandcamp, and I'll have it available to listen to as a Soundcloud playlist here.
Update July 2016: With the new changes to the audio system, the music sounds much better! (Thanks Zep!) I've re-exported the music and re-uploaded to Bandcamp.

howdy folks,
loving pico, just great to play with minimal stuff ;)
now this forum title hopefully will not charge people emotions, but was just a quick thought i had.
now, we are all used to auto-complete. its lovely, it makes things easier etc. pico doesnt have it, which isnt too much of a bad thing. but i did have an idea for an ultra compact, small auto complete.
so instead of having a list of what is available from when you type [like xcode, or VS, or sublime]. why not use the very bottom block [where the line count etc is] pop up with 1 available choice. so the more you type, the closer it becomes to what you want?
so if i have three things like so:
blowing
bees
bowls
if i first type 'b' it will come up with the first alphabetically ordered one, then if i type 'e' it then shows 'bees'. then press enter and its good and put in.
just a thought, though its not something im gagging for, just more an idea than anything ;)
lewis lepton
hello all,
ive kept my eye on pico for a while now and thought i may as well give myself a present. i love that its minimal, i think more engines should learn from that - only give you what is truly needed. plus makes you try different things in different ways, so well done
on that, i was wondering about picos future. now firstly im not saying that we should be able to play pico games on xbox. whilst i think that would be cool, its too much ;)
but on that here are a few questions i have thought of in regards to what pico could end up with and really just questions of interest
• will [or can] pico be able to export out [linux/mac/win], so you could share with others without being online? - so they will be applications. i guess you could even then sell if they were really that good, i guess but not why im asking...
• minimal controller support - but only using the same amount of controls that is available with the keyboard
• can pico embed on your own sites?
there was 1 or 2 that i cant think of again. but just more of interest of wonder more than anything. but pico is lovely. great idea and i really think more engines need to learn from it
lewis lepton

I was experimenting with compression and created a simple shape drawing library. Even with the flood fills the cpu was barely affected, so this seems like a legitimate drawing tool, and only costs 10 tokens per drawn shape! Here's the documentation if anyone looks into the code:
shape(x, y, rotation, drawstring):
draws a shape on screen, starting the cursor at x,y, with rotation from 0 to 1 at the origin (cursor start pos).
drawstring: a set of commands to draw, as a string (1 token!).
drawstring commands:
"C" color - set drawing Color (for lines and fills). color is a hex value 0-F.
"T" x y - move cursor relative To current position, drawing nothing. x and y are chars from "0"-"9"-"A"-"G", which represent -8 to 8. So "T00" means "to -8, -8", and "TGG" means "to 8, 8".
"L" x y - draw Line from current position to next position. x and y are 0-9+A-G as described above.
"F" x y stopcolor - flood Fill a region with drawing color until you encounter stopcolor. This fully works with rotation by filling the next (rotated) position defined by x,y. x and y are 0-9+A-G as described above, color is a hex value 0-F.
I will probably improve this library if people are interested, but for now I thought it was a fun little idea that only took a few hours to implement. Triangles and hexagons are easy now! =)





7 comments





