Plot

Oh mighty Zep, a quest for thee: to fix this bug in oh-two-three.
Time's very fabric has been torn, and monsters from the past reborn!
A pumpkin army's impossible roll befouls our once cozy console.

Its humbled clock refunds too much, permitting Cauldron's villain's touch.
Relentlessly they spin and taunt, they dare thee to remove their haunt.
Please help us take our console back and save us from their cycle hack!

Their jeering eyes provide the clue, all stars show what you must do.
A table's count below sixteen, as low as any number's been,
Negate it and they'll mock you more... the wellspring of this wretched flaw!

About

A PICO-8 bug report demo in 1023 characters for #Pico1k jam 2021. Inspired by the classic 8-bit game Cauldron (Copyright 1985 Palace Software), from which the music was reverentially reproduced. Original score by Keith Miller.

Code

_set_fps(60)๐˜ฉ=64โ˜…={}s=.001๐˜ด=sin
while(#โ˜…>=0)add(โ˜…,โ˜…)
poke(24337,ord('โ–‘โด์›ƒ	\nโ™ฅโฌ‡๏ธโฌ‡๏ธยณยณโฌ…๏ธโŒ‚\0\0',1,14))๐˜ข=abs
fillp(โ–’\1)๐˜ค=cos?"โถc0โถwโถt  แถœeโ˜…"
function ๐˜ญ(๐˜บ)all(โ˜…)for t=0,โ–ˆ,s do
w=r-r/3*๐˜ด(t*7%โ–ˆ)x=w*๐˜ค(t)๐˜น=๐˜ข(x)z=w*๐˜ด(t)l=(x*x+y*y+z*z)^.5b=1+๐˜ข(x/5+y/3+z)/l*5
if(y>=11-x^2/200and y<=27-x^2/83+๐˜น*.1or pget(๐˜น,-y)>0)b=8
sset(๐˜ฉ+x,๐˜บ+y,b+((b+โ–ˆ)\1-b\1)*8)end end
y=0while(y<9)r=2+y/16๐˜ญ(22)y+=1
a=0while(a<.43)d=30+15*๐˜ข(๐˜ด(a))y=d*๐˜ค(a)r=d*๐˜ด(a)๐˜ญ(๐˜ฉ)a+=s
function p(v)poke2(d,v)d+=๐˜ฅ end
๐˜ฅ=2๐˜ฎ=12280d=๐˜ฎ for i=1,84do n=ord('@/\0ใ€@)t๐˜ธแถœแถœใ‚‰แถ แถ แต‰แต‰โ˜โ˜ใโ™โ™ใโ—โ—โ– โ– ใ‚‰โ—โฌ…๏ธแต‰แต‰โ€ฆใ‚จใ›ใ‚‰ใ‚ใฌ$+07<70+ใฏ$,08<80,ใƒฃโ—ใป$)05<50)ใฏ$*06<60*&+2โ—†72โ—†ใ›*ใƒฃใฏ',i)
if(n<128)p(n)d-=1else for _=0,n\16%8do p(%(d-n%16*2-2))end end
p(-32384)p(770)
d+=316๐˜ฅ=68v=7169p(v+24)p(v+32)p(v)p(v)music()
๐˜ณ=0function ๐˜ฑ()p(%c+@a)c+=2end
::_::?"โถ1"
while(๐˜ณ-8&31!=stat(20))d=12800+๐˜ณ%32*2a=๐˜ณ%128+๐˜ฎ+8c=๐˜ฎ ๐˜ฑ()๐˜ฑ()a+=128๐˜ฑ()๐˜ฑ()๐˜ณ+=1
a=t()*.1c=๐˜ค(a)s=๐˜ด(a)๐˜ป=s+2for y=-๐˜ฉ,๐˜ฉ do all(โ˜…)for x=-๐˜ฉ,๐˜ฉ do v=๐˜ฉ+(s*x+c*y)*๐˜ป&127
๐˜ท=v-73if(๐˜ท>0)v-=๐˜ท*๐˜ด(a*16)/2
k=sget(๐˜ฉ+(c*x-s*y)*๐˜ป&127,v)d=k\8k%=8if(k>0and v<30)k+=7
pset(๐˜ฉ+x,๐˜ฉ+y,k+(k+d)*16)end end goto _
StatusReleased
CategoryOther
PlatformsHTML5
Authorcarlc27843
Made withPICO-8
Tagspico1k, PICO-8

Comments

Log in with itch.io to leave a comment.

epic colourscheme here

Small update: while typing up an explanation I found a way to shrink it to 1011 chars, so I threw in a _set_fps(60) call, bringing it up to 1023. Unfortunately that makes the web player slower even though PICO-8 thinks its running at 60fps. On my desktop it's a true 60fps though. So now the code above includes the _set_fps call, but the actual cart that's played does not so runs at a solid 30fps on the web. :)

(1 edit) (+2)

Wow. This is amazing! ๐Ÿ˜ฎ
I'm still trying to unpack all this (esp. the music), but I can already tell there are LOTS of awesome "tricks" being used here! ๐ŸŽƒ
Nice one ๐Ÿ‘

P.S. - Best bug report... ever! ๐Ÿ˜„

(+2)

this is incredible ๐ŸŽƒ

that trick with poke + ord to set many values (in the palette) is nifty! Iโ€™ll have to remember that one