Thank you
I really mean it <3
I wanted to thank everyone that have played and commented on my games over the years!
It means a lot to me and I am looking forward to creating even more content for you in the future!
And thank you Joseph White for creating PICO-8, such a lovely tool!
Stay awesome!
/ Sebastian Lind Twitter
I was recently informed of a new bug in my old game, sybil's tail. after doing some research into it, I discovered the cause. I had a global variable set up that could be set at any time to cause the screen to "flash" once, on the next frame. presumably to conserve tokens, I wrote it like this:
flash=flash and rectfill(0,24,128,104,7)
this line calls rectfill if flash is true, and assigns the result of rectfill to flash. as long as rectfill returns a falsy value, we're good.
now. I understand this line will send me to coding hell. but it seems, as of 0.2.2c, rectfill and rect return 0, which is not a falsy value. if this is an intentional feature, I will own up to my sins, patch the game, and move on-- I'm not going to demand the API honor such a silly corner case. but given that circ and circfill still return nil, I suspect it is in fact a bug
if I could get a confirmation whether rectfill returning 0 is intended behavior, that'd be much appreciated. I may still patch the game, but if the problem isn't going to go away, I'd probably opt to do it sooner rather than later
I've always loved the "top down RPG" genre. I wanted to solve the problems that building these kinds of games face for myself by implementing a classic game. I learned a lot about the limits of the map and spritesheets from building this and already have a multi-cart solution that includes the main menu and then leads into the game.
I am making a puzzle game on a 6x6 grid at the moment. Every cell has two values: 1) The colour/type of cell 2) the variable of that cell
Thus every cell is two hexadecimal digits. I've made a level editer and all but I've run into a problem with level loading. Shortened to the problematic code, here is the problem:
levels={ "0000000000000000000000000000000000000000000000000011c0c07000000000000000", "0000000000000000000000000000000000000000000000000011c0c07000000000000000" } function loadlevel(n) local ltol=levels[n] powerlevel=0 for i=1,#ltol/2do local s1=1+(i-1)*2 local s2=s1+1 level[i]=sub(ltol,s1,s2) end end function _init() nl=2 go=false loadlevel(1) go=true end function _update() local nogo=false for i=1, 16do if level[i]!="00"then nogo=true end end if go and not nogo then loadlevel(nl) nl+=1 end end |
Hey everyone! (I don't know if this is the correct place to post this, in that case let me know and I'll change it).
I'm just starting coding on PICO-8 and checking the PICO-8 limitations popped out a question that the specs couldn't answer; Besides the cartridge limitations(that could be defined as ROM limitations of the PICO-8 machine(? ) is there a limitation about how much memory does PICO use when running a cart, i.e. RAM Memory? I mean, suppose that i have a cart that creates a lot of objects/tables, is there a restriction to the amount of objects that the RAM memory of PICO can use, or it can use the same amount memory of the host machine?
Cheers!
Before the most recent update, you could print anything below chr(32) and get an actual glyph in the output, aside from the obvious exceptions like \n and \t. For characters below chr(16) this is no longer possible, aside from chr(5), which I suspect is an oversight. In fact, that oversight is the "bug" that brought me here.
The thing is, this is a waste of 16 glyphs in the character set, and potentially up to 32 in the future if you add more control codes.
Can we get some kind of "raw" printing mode, where control character behaviors are completely ignored and their glyphs are simply printed?
Maybe turn the two oem/custom font selector characters into a single oem/custom toggle to free up chr(15), and use that as a raw-mode toggle, as in this pseudocode, where raw mode allows everything to be printed except the toggle itself, unless it is repeated:
fn print(s, ...) raw = false just_toggled_raw = false for each char c in s [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=89089#p) |
It's been a couple years, and the mountain has changed
Madeline wants to climb the mountain once again, but the mountain is different now...
This is a hardcore mod I made in a couple of days for Celeste Classic
Every level is similar to the way it was before, just harder
There are 30 strawberries, one for each level, and though some may seem impossible at times (cough cough 500m cough cough) I have successfully obtained all of them, so I know they're possible
DISCLAIMER: MULTIPLE LEVELS AND STRAWBERRIES IN THIS MOD REQUIRE SPIKE CLIPPING, WHICH IS A GLITCH PERFORMED BY DASHING IN THE DIRECTION OF SPIKES WHEN YOU ARE CLOSE TO THEM
Play the original Celeste by Matt Thorson and Noel Berry
Quartet for pico-8
A port (demake?) of the gba port of the flash game QUARTET
-A fast paced puzzle game where you assemble faces to score
How to play?
Arrow keys - move the center piece to a window
X/C - menu select
• Assemble faces with 4 pieces
• Full faces are worth more
• If a piece try to move to a occupied space you lose a life
• If the timer runs out you also lose a life
• Try and clear the board for an extra life (5 Max)
This is to do with the so-called "outpost" value, or the two's-complement wrap point, which in PICO-8's number system is 0x8000, or when printed as signed decimal, -32768.
Like the origin, 0x0000, it's technically not really signed, or maybe it's better to say it covers both signs simultaneously. Conventions assign the origin to the positive side, and the outpost to the negative side, but that's just a pragmatic choice for numbers that unavoidably behave strangely due to the encoding. The origin and the outpost are complementary values in this way.
(This is why 0 == -0 and -(-32768) == -32768 with a 16-bit signed integer, by the way.)
That being said, this is what I currently get for the outpost value:
> print(tostr(abs(-32768),true)) 0x0000.0001 |
Obviously, there's no "good" result when we can't represent +32768 with a signed 16-bit integer.
But this result is just plain wrong in every way, because it has no connection to anything someone might expect to get as an alternative to the impossible correct result. It's not equal to -(-32768), it's not close to +32768, and it's not even exactly 0.
Grab a friend and wreck a Western Saloon in an epic fingergun duel of life and death!
This is a small 24h side projects as a breather from my main project. Follow me on twitter @AncientPixel_AP to find out more!
Each player has six shots, each one fires a finger gun across the room. Flip and hide behind tables and dont care for breaking glass. This is serious! Oh you DO hide behind that table? Well let me flip it one more time to deny you your cover! You are out of shots? Well I can take the punch. Ouch, apparently I can not...
Customize your players in the main menu, you can be the most fabolous cowboy you have ever been!
This is a turn based Tomb Raider Demake that is heavily inspired by Lara Croft GO . You enter a 7x7 isometric level, where you have to find all the treasures and solve climbing puzzles in the least amount of steps. But beware! The levels are filled with Tigers, Spiketraps and Crumbling Floors.
Collect all the vases to complete a level. Each level has at least one hidden golden skull that is worth extra points :)
On completion you need to walk into a portal to the next level. Beware that any living tigers will still follow you in this "in-betwen-the-levels" zone. Have fun!