I laughed out loud at the title, so I picked it up and played through with a few people watching. We all had a great time! The surprise-song when the teleporter started putting people way up in the air was super funny
2DArray
Creator of
Recent community posts
Hello! I got a report from a user that they weren't able to download my game "Not the Robots" and I'm getting the same result. When I click the download button in the browser, nothing happens, but I get a 403 (forbidden) error in the javascript console.
I saw another post about getting a 403 when attempting to restart a stalled download in the browser, but in this case my download doesn't even begin. I don't have any download manager plugins, and I get a similar 403 error when trying to download the game from the itch.io app. As a quick sanity check for my local setup, I tried downloading another product from itch ("RemedyBG"), and that one downloaded correctly (both in the browser and in the itch app).
Any idea what's going on? I haven't updated this game in quite a while, and this is the first time I've heard about any download problems. Maybe just a temporary outage of some sort?
lol nice, thanks for sharing!
honestly i do agree about the controls feeling sort of unusual...you may find it easier if you enable the dubiously-named "hard mode" in the cheats page (which makes it use plain tank-controls instead of the sorta-drunk auto-rotation setup)
you got pretty close to the end! if you wanna see how it concludes without having to retry anything multiple times, there's also a "no drawing-accuracy" cheat in that same menu which removes the failure condition from the drawing/tracing levels, and a "no timers" cheat as well. other cheats have to be unlocked by winning the A+ challenges, but the ones mentioned above are available out of the gate
lol well now i'm paranoid that i got that score with an older version when it wasn't as hard....maybe the FOV was different and the rings were visible from farther away. gonna disqualify that score, just in case - trying again a few times now, the best i got was 23, so I'm updating the description with that! lol
hehehe it happened by total coincidence at first, but then some later minification caused it to change into J337, and at that point i was like whelp now i'm legally required to change the variable names to make it L337 again
ESPECIALLY because it's the "player-showoff UI" for displaying your current score!
Gotta use the boost, but hold your grapple on that central block (little tough to grab it since you have to throw he hook at around the same time as when you're starting the boost) - if you never release the grapple and it's an appropriate length, you can spin around the block repeatedly (windmilling around like that isn't required, but it may help with the timing, and it's kinda fun). If you release at the right time, you can fling yourself upward and to the right.
(The main idea is that you have to use the grapple to redirect your booster momentum)
Awesome job! Brings me back to the old Orisinal game, "Winterbells"
Here's Froggy Road, de-obfuscated! I tried to make the variable names more clear and removed all the line-break-saving measures, but I didn't change any of the logic, so there are still some spots where it does a weird thing to avoid an if statement or whatever (for example, every road-lane draws a frog, but they're all hidden offscreen except for the lane which actually-currently-contains the player).
(edit - like with tobiasvl, my linebreaks get stripped here - here's a version on pastebin which keeps them intact)
frogX=0 frogY=0 died=0 camX=frogX camY=frogY ::_:: flip() cls(1) // weird arrow key input z=btnp() // add +/- 5 to x for right/left arrows frogX+=(flr(z/2)%2-z%2)*5 // add +/- 1 to y for up/down arrows frogY-=flr(z/8)%2-flr(z/4)%2 // camera eases toward frog position camX+=(frogX-camX)/3 camY+=(frogY-camY)/3 // draw road lanes for laneY=frogY+25,frogY-2,-1 do // each lane has its own randomized properties srand(laneY) // car animation properties cycleOffset=rnd() carSpeed=8+rnd(16) // perspective distortion strength // (persp=0 means "infinitely far away") persp=(laneY-camY+2.3)/12 // draw the road // (but draw it offscreen if persp<0) rectfill(-1,64+9/persp,sgn(persp)*127,127,6-laneY%2) // draw a frog in every lane... // but offset it off the screen if the // frog isn't actually in this lane print("🐱",61+(frogX-camX)/persp+(laneY-frogY)*99,62+7.5/persp,3) // each lane has a different # of cars // (early/negative lanes have no cars) for i=1,sgn(laneY-2)*rnd(8) do // a car has two halves, parallel to the lane // (near-half and far-half) for k=0,1 do // each car has five sub-circles for the body for j=-2,2 do // x-position of this sub-circle worldX=(i*carSpeed*4+j+t()*carSpeed+cycleOffset-camX)%198-99 // collision detection for the frog if laneY==frogY and abs(worldX-frogX+camX)<2 then died=1 end // far-half of car uses a different persp value persp2=persp-k/60 // get screen position of this sub-circle screenX=worldX/persp2+64 screenY=5/persp2+64 // draw this sub-circle circfill(screenX,screenY,2/persp2,laneY%5) // draw a wheel, but only if j equals +/- 2 circfill(screenX,screenY+2/persp2,(abs(j)-1)/persp2,0) end end end end // self-explanatory death check if (died>0) then goto dead end // if you're not dead, continue the game loop goto _ ::dead:: // you done goofed // random red/orange noise pset(rnd(128),rnd(128),8+rnd(2)) // death UI print("❎ reset",46,62,7) // your score is your distance, literally print("score: "..frogY,3,3) // restart command if btn(5) then run() end // haven't reset yet. resume death goto dead
And then just for the sake of easy comparison, here's the original code:
x=0y=0l=0q=x r=y f=rnd g=flr h=circfill::_::flip()cls(1)z=btnp()x+=(g(z/2)%2-z%2)*5y-=g(z/8)%2-g(z/4)%2 q+=(x-q)/3r+=(y-r)/3 for z=y+25,y-2,-1 do srand(z)o=f()m=8+f(16)p=(z-r+2.3)/12rectfill(-1,64+9/p,sgn(p)*127,127,6-z%2) ?"🐱",61+(x-q)/p+(z-y)*99,62+7.5/p,3 for i=1,sgn(z-2)*f(8)do for k=0,1 do for j=-2,2 do u=(i*m*4+j+t()*m+o-q)%198-99 if(z==y and abs(u-x+q)<2)l=1 v=p-k/60n=u/v+64w=5/v+64h(n,w,2/v,z%5)h(n,w+2/v,(abs(j)-1)/v,0)end end end end if(l>0)goto d goto _::d::pset(f(128),f(128),8+f(2)) ?"❎ reset",46,62,7 ?"score: "..y,3,3 if(btn(5))run() goto d
Hi! Thanks for asking instead of flying around throwing content at people.
You can use Tiny Platformer (and modifications of it) for commercial use, but there's a specific restriction: you can only use what's included in the "blank map" version of the cartridge. Basically, the source code is open for commercial use, but you have to build your own map, and you can't re-use my bossfight.
Cheers!
Thank you very much!
David and I talk about Patreon periodically, and it definitely seems like an option, but I don't know exactly how much of a following you need before you can effectively launch one. I also sort of dislike subscription plans in general, though admittedly, Patreon is one of the less-abrasive ones just due to its purpose.
I'm not sure if it'd be a positive or negative type of pressure to need to release stuff on a fixed schedule...on the one hand, it'd make it harder to commit to other work or larger projects, but on the other hand, the structure would likely encourage me to release "some kind of fleshed-out content" more often.
Patreon also caught some flak recently about changing their payment model and making it less likely for people to do low-price donations, which seemed like a huge bummer, but I don't really know how that situation has developed since then (I haven't heard about it in a few weeks - maybe it's been resolved already).
I'm interested to hear other people's opinions about this - either about Pateron (or alternatives) in general, or about the possibility of a 2DArray Patreon page!