Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

2DArray

31
Posts
1
Topics
484
Followers
A member registered Oct 13, 2014 · View creator page →

Creator of

Recent community posts

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

nice!

if it's the level where four things arrive after a drawing-challenge:  you can use the sprinkler to your advantage

if it's the level after that:  you need to clear the whole map (hold the toggle-mower button to use this new device, but note that holding the button also makes you move slower)

for people reading: this unlocks all levels, but also completes all A+ challenges (which unlocks all the other cheats) - so don't use it if you want to earn those on your own!

the mowing-challenge is already completed at that point, so ignoring the grass, there are only a few other things in the level: the player/mower, the enemies, and the sprinkler

you caught me!

Yep that's me - and thanks!

need to find a way to defeat them!  it's a bit of a puzzle, using the stuff that's available in the map

thanks, glad you enjoyed it!

WHAT lmao, that is an outrageous score! would love to see a video of your play, even if you can't get another 40 on-demand

thank you!

https://2darray.itch.io/not-the-robots


here's the fastest time i've gotten so far!  my bot is pretty simple, but i don't wanna spoil the best-known-strategy quite yet.

can anybody finish the course in under 1 minute?

You can save any pico8 cartridge you've loaded into the .p8.png format from the pico8 editor's command-prompt:
SAVE MY_FILE.P8.PNG

Sorry for the slow response here!
If you'd like to play it locally (and see the code), you'll need the pico8 editor - if you just want to play the game, you can play the full thing for free in your browser, on the itch page!

happy to hear you enjoyed it!

(1 edit)

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 this is real fun, and wut a cute lil bee!

really nice job fitting the scoring+escalation+reset into it! the gradually-increasing balloon size is a real fun, clean way to handle that

absolutely no idea how thavelik got 826 lol, i dunno if i ever got to 600!

(1 edit)

wowowow that's a "game-ass-game," right there

great prioritization in your feature set to keep inside the char limit, super nice job on this!!

59 is my best so far, but somebody can surely trounce that


yessss really nice!  i always enjoy these "impressionist renderers" in tweetjams, so fun.

great job getting this to fit in the char limit!!

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!

https://2darray.itch.io/not-the-robots

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)

https://2darray.itch.io/not-the-robots

WHOA it's been a while, so I had to play through again to get a frame of reference - your time was about half of mine, lol.  Real nice job!  Gonna post this on twitter

It's made in Pico-8!  A lovely, comfortable game engine with a really pleasant vibe and an equally pleasant community of tinkerers.  It costs $15 for a permanent license (I didn't make it and I'm not affiliated, it's just really nice software).

(1 edit)

Awesome job! Brings me back to the old Orisinal game, "Winterbells"

(3 edits)

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

No problem! Send me a link to anything you make with it, I'll play them all

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!