It was a pleasant Sunday morning drive in the mountains until a volcanic eruption happened to ruin everything.
Race home along the winding roads, swerving to avoid the slow and the doomed, just seconds ahead of a molten stream of lava.
Maybe if you can drive through the night and into the next day, you will be safe.
Keep the hammer down to avoid a fiery death, but don't skid out on curves or crash into the other motorists.
Up: Drive
Down: Break
v 1.0
This cartridge is feature complete, though it could use some better sound and, of course, some music.
-Electric Gryphon

Hi!
I was making tables recklessly and then i think i hit the ram limit. The thing is that it happen when i run the game, and in the first frame, not even where the tables are defined, and it hangs pico8 entirely almost every time.
So, i have one table less and it works, but if i put that last table item without removing another, that happen when i run the game.
I have a menu that doesn't define this vars, and then i hit a button it enters the gameplay when it defines them. It's my undestanding that this would have to happen when i reached the gameplay and the vars are defined, but pico8 hangs when i hit run.
I verified that is not a bug of the game and i'm almost sure that it is the ram limit, but is weird that it happen before the game reaches the segment when it defines this variables.
I'm not asking for more ram XD but i'm pretty sure that something is broken with the exception handling in case of runtime memory, and i don't entirely undestand why it overflows before reach the execution of the code that fills the content of these tables.
Thanks!

So this isn't a game, but it is interactive.
Controls: right / left.
Explore, there are a number of things going on. In the interests of not wasting everyone's time, I'll mention that by the time you see the full moon you'll have seen everything interesting, depending on what you consider interesting.
As for techniques involved, the source is a bit of a nightmare. I wrote the code mostly by piling on and re-using odd things here and there. It seemed right for this kind of thing where quirks are part of product. So: if you have questions about the techniques involved and doen't want to read through the code I'll be happy to explain it.
P. S. I would like to acknowledge Parlor's [i]The Stroll
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.






0 comments













