Speed Pool 1K ๐ŸŽฑ

This is my only entry (so far) to #Pico1k Jam.
It's a game of Speed Pool (with Timer), in just 1,024 bytes (1,022 chars), using NO predefined art/sfx assets! ๐Ÿ˜…
The plan was originally to try to do a demake of Arcade Pool, but quickly realised that was far too ambitious!

OBJECTIVE

  • Pot all the balls (but not the white) as fast as you can!

CONTROLS

  • Aim     = Mouse Move
  • Shoot = Mouse Click
    • Tip: Farther you aim= harder the shot (but too hard & you'll fly off the table!)
  • Restart Game = Browser Refresh (or Press ENTER > Reset Cart)
    (Sorry, ran out of code to make nice restart logic ๐Ÿ˜‡)

FEATURES

  • ๐ŸŽฑ Realistic* 2D Physics
  • ๏ธ๐ŸŽž๏ธ 60 FPS
  • ๐Ÿ”Š SFX
  • โฑ "Against the Clock" action
    (What's your best clearance time? ๐Ÿ†)

ACKNOWLEDGEMENTS

SOURCE CODE 1,024 bytes / 1,022 chars

c=circfill
s=stat
poke(24365,1)pal(4,0,1)l={}h=0y=0v=5for i=1,16do
q=25+h*6w=y+48e=i==11and 6or(i%2)*3
if(i>15)q=99w=64e=9
b=add(l,{x=q,y=w,c=e,a=0,s=0,v=0,b=0})y+=7v-=1if(v<1)h+=1v=5-h y=h*4end
_set_fps(60)while(#l>1)do
m={}u=s(32)i=s(33)cls()?"\^pspeed pool \fd"..t()
rectfill(0,25,127,102,3)for i=0,5do
x=i*63c(x,26,5,0)c(x,101,5)end
for k,b in pairs(l)do
x=b.x
y=b.y
b.v*=.97b.b*=.97x+=b.v
y+=b.b
if(pget(x,y)<1)del(l,b)?"\ax3c1"
for l,t in pairs(l)do
a=x-t.x
z=y-t.y
d=sqrt(a*a+z*z)
if(k!=l and d<6)add(m,{b,t})o=(d-8)/2x-=o*(a/d)y-=o*(z/d)t.x+=o*(a/d)t.y+=o*(z/d)?"\as0c"
end
if(x>124or x<4)b.v*=-1.1
if(y>q or y<29)b.b*=-1.1
for i=1,3do
c(x+min(2-i),y+1-i,4-i,({2,8,14,9,10,7,4,4,5,6,7,7})[b.c+i])end
b.x=x b.y=y end
for p in all(m)do
a=p[1]z=p[2]d=sqrt((a.x-z.x)*(a.x-z.x)+(a.y-z.y)*(a.y-z.y))n=(z.x-a.x)/d
r=(z.y-a.y)/d
v=a.v*-r+a.b*n
y=z.v*-r+z.b*n
o=a.v*n+a.b*r
k=z.v*n+z.b*r
a.v=-r*v+n*k
a.b=n*v+r*k
z.v=-r*y+n*o
z.b=n*y+r*o
end
if(s(34)>0)b.v=-(b.x-u)/4b.b=-(b.y-i)/4
fillp(โ–‘)line(b.x,b.y,u,i)fillp()flip()end
Published 11 days ago
StatusReleased
PlatformsHTML5
Rating
(6)
AuthorPaul Nicholas (Liquidream)
GenreSports
Made withPICO-8
Tagspico1k, PICO-8, pool

Comments

Log in with itch.io to leave a comment.

(+1)

Nice gfx, nice game! This game really takes 1K of code to the limit of what's possible.

Thank you - very kind of you to say! ๐Ÿ˜Š

(+1)

Fun game. Keep up the good work! 

Hey, thanks a lot! ๐Ÿ˜Š
(for the kind words AND the video)

(+1)

Outstanding!

(1 edit) (+1)

Very impressive this!

My 7yr old Daughter did it in 178.2 seconds.

Thank you! ๐Ÿ˜Š

(...and please let her know that's a very impressive time, well done! ๐Ÿ˜‰)

(+1)

pretty cool, good job

(+1)

This is mind-blowingly good matey.
Quite addictive too.  My best is 69.8 seconds.

Well done! You never cease to impress.

(1 edit)

Thank you very much, Roy. ๐Ÿ˜Š
(for the kind words AND the donation - you really shouldn't have!)

It was a lot of fun to put together - but I have to admit, I relied heavily on the collision code (referenced in details above). Don't think my maths would've managed come up with the right answer. ๐Ÿ˜ต
The "fun" part was squeezing the well-formatted example code as small as poss! ๐Ÿ˜…

P.S. - Well done on getting a great score! ๐Ÿ˜‰๐Ÿ‘

(+1)

impressive, fun AND great game feel!! <3 

(+1)

very cool