New games every week!
Something with Balls Blog
20th August 2021
Made a fun little engine, yesterday, in SmileBASIC.

-=-=-

Tweet with video

Taking cues from my Falling Petals/Lemmings test thing in GotoJSE, I got balls falling onto Platforms, and then wondered where to take it from there.
I made the "tilt" be thumbstick controlled, and then added a little boat at the bottom, where Platdude can fire giant balls into the air.
The balls then fall down, and you can kinda guide them using the tilting platforms.

From there, I'm not sure.
A few ideas got sent to me on Twitter, and it looks like it's either going to be a shoot-em-up, or a target range, or something to that effect.
*shrugs*

If the game works out well enough, I'll likely rewrite it in JSE, later.
For now, though, if you want to see roughly where this idea came from, the Falling Lemmings example is on the Pink Examples Disk, or the code is here.

// Falling Lemmings // by Jayenkai // Created 2021/6/9 // Lemmings (c) DMA Design, Psygnosis, Sony Symbol 0,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0/P@0_0_0!P@0_0_0!P.880_0_0@P.880_0_0_08!0_0_0@8!0_0_0@88dd0_0_0_088dd0_0_0_088dd0_0_0_088dd0_0_0_088dd0_0_0_088dd0_0_0_0d.0_0_0_0d.0_0_0@88d.0_0_0@88d.0_0_0_08.0_0_0_08."; Symbol 1,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0@PP00PP0_0_0@PP00PP0_0_0!P!0_0_0@P!0_0_0@P.880_0_0@P.880_0_0_08!0_0_0@8!0_0_0@88dd0_0_0_088dd0_0_0@88d.0_0_0@88d.0_0_0@88d.00880_0_0.88d.00880_0_0!d.00880_0_0!d.00880_0_0.d.00880_0_0!d.00880_0_0!8.0_0_0_08."; Symbol 2,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0/PP00PP0_0_0@PP00PP0_0_0@P!0_0_0@P!0_0_0_0PP880_0_0_0PP880_0_0_08!0_0_0@8!0_0_0!8.dd0_0_0@8.dd0_0_0@88d.0_0_0@88d.0_0_0!8.d!0_0_0.8.d!0_0_0!d@0_0_0!d@0_0_0.8.0.8.0_0_008.0.8."; Symbol 3,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_P.0_0_0_0P.0_0_0@P.88PP0_0_0!P.88PP0_0_0!PP8!0_0_0!PP8!0_0_0@88dd0_0_0_088dd0_0_0_088dd0_0_0_088dd0_0_0@88d.0_0_0@88d.0_0_0_0d.0_0_0_0d.0_0_0!88d@0_0_0.88d@0_0_0.880.8.0_0_0.880.8."; Symbol 4,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0/P@0_0_0!P@0_0_0!P.880_0_0@P.880_0_0@PP8!0_0_0!PP8!0_0_0@88dd0_0_0_088dd0_0_0_0dd880_0_0_0dd880_0_0_088dd0_0_0_088dd0_0_0_0d.0_0_0_0d.0_0_0@88d.0_0_0@88d.0_0_0_08.0_0_0_08."; Symbol 5,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0@PP00PP0_0_0@PP00PP0_0_0!P!0_0_0@P!0_0_0@P.880_0_0@P.880_0_0_08!0_0_0@8!0_0_0@88dd0_0_0_088dd0_0_0_0dd880_0_0_0dd880_0_0_0dd8800880_0_0!dd8800880_0_0!d.00880_0_0!d.00880_0_0.d.00880_0_0!d.00880_0_0!8.0_0_0_08."; Symbol 6,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0/PP00PP0_0_0@PP00PP0_0_0@P!0_0_0@P!0_0_0_0PP880_0_0_0PP880_0_0_08!0_0_0@8!0_0_0@dd880_0_0_0dd880_0_0_0dd880_0_0_0dd880_0_0_0d.880_0_0@d.880_0_0!d@0_0_0!d@0_0_0.8.0.8.0_0_008.0.8."; Symbol 7,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_P.0_0_0_0P.0_0_0@P.88PP0_0_0!P.88PP0_0_0!PP8!0_0_0!PP8!0_0_0@88dd0_0_0_088dd0_0_0_088dd0_0_0_088dd0_0_0_0dd880_0_0_0dd880_0_0_0d.0_0_0_0d.0_0_0!88d@0_0_0.88d@0_0_0.880.8.0_0_0.880.8."; Graphics 512,512,2 lems=50 flrs=5 skips=3 pt=0 Dim lemming(250,20) Dim flr(250,20) y=ScreenHeight()/(flrs+2) for n=0 to flrs flr(n,1)=jRand(64,ScreenWidth()-64) flr(n,6)=Rnd(0.5,1.5) flr(n,7)=Rnd(0,360) flr(n,8)=Rnd(10,30) flr(n,9)=Rnd(128,256) flr(n,2)=(y*(n+1))-flr(n,9) next for d=0 to lems lemming(d,1)=jRand(16,ScreenWidth()-16) lemming(d,2)=0-jRand(16,ScreenHeight()) lemming(d,3)=0 lemming(d,4)=0 lemming(d,5)=h lemming(d,6)=jRnd(0,8) lemming(d,16)=1 next Repeat CLS 30,30,80 pt=((pt+1) mod skips) SetFontSize 32 SetSize 1 for n=0 to flrs flr(n,7)=(flr(n,7)+flr(n,6)) mod 360 ang=Sin(flr(n,7))*25 flr(n,11)=flr(n,1)+Sin(ang-flr(n,8))*flr(n,9); flr(n,12)=flr(n,2)+Cos(ang-flr(n,8))*flr(n,9); flr(n,13)=flr(n,1)+Sin(ang+flr(n,8))*flr(n,9); flr(n,14)=flr(n,2)+Cos(ang+flr(n,8))*flr(n,9); flr(n,15)=flr(n,1)+Sin(ang)*flr(n,9)*0.4; flr(n,16)=flr(n,2)+Cos(ang)*flr(n,9)*0.4; flr(n,5)=Neg(0.1); if flr(n,11)<flr(n,13) and flr(n,12)<flr(n,14) then flr(n,5)=0.1; if flr(n,11)>flr(n,13) and flr(n,12)>flr(n,14) then flr(n,5)=0.1 flr(n,17)=ang SetThick 3:SetCol 255,128,0,1 Line(flr(n,11),flr(n,12),flr(n,13),flr(n,14)) SetCol 0,0,0,0.5 Oval(flr(n,1),flr(n,2),8,8,16) SetThick 1:SetCol 150,150,150,0.3 Line(flr(n,15),flr(n,16),flr(n,11),flr(n,12)) Line(flr(n,15),flr(n,16),flr(n,13),flr(n,14)) Line(flr(n,1),flr(n,2),flr(n,15),flr(n,16)) next for d=0 to lems ResetDraw() if pt==(d mod skips) x1=lemming(d,1) y1=lemming(d,2) x2=lemming(d,1) y2=lemming(d,2)+lemming(d,4)+7 for n=0 to flrs if CollideLineToLine(flr(n,11),flr(n,12),flr(n,13),flr(n,14),x1,y1,x2,y2) lemming(d,2)=LineCollidePointY-8 ang=flr(n,5) lemming(d,3)=lemming(d,3)+ang lemming(d,4)=0.5 lemming(d,5)=-flr(n,17) endif next lemming(d,2)=lemming(d,2)+4+lemming(d,4) lemming(d,4)=lemming(d,4) lemming(d,4)=lemming(d,4)+0.5 if lemming(d,4)>6 then lemming(d,4)=6 if lemming(d,2)>ScreenHeight()+32 lemming(d,2)=-32 lemming(d,1)=jRand(16,ScreenWidth()-16); lemming(d,3)=0 lemming(d,4)=0 endif s=lemming(d,3) lemming(d,1)=lemming(d,1)+s*4 if s>0 then lemming(d,16)=1 if s<0 then lemming(d,16)=0-1 lemming(d,3)=s*0.94 endif x=lemming(d,1);y=lemming(d,2) SetSize 0.5*lemming(d,16),0.5;SetRot lemming(d,5)*lemming(d,16) lemming(d,6)=(lemming(d,6)+0.25) mod 8 DrawImg x,y-2,lemming(d,6) next Flip Forever

Views 111, Upvotes 26  
Daily Blog , Smilebasic
New games every week!
Site credits : Site built from the ground up, in php, using Programmer's Notepad 2, and a very bored Jayenkai.
(c) Jayenkai 2023 and onwards, RSS feed 81

Blog - Something with Balls - AGameAWeek