Sign in

2DArray

@2darray.bsky.social
1K followers 57 following 57 posts

i make games and silly code demos. some free gamedev tutorials: demoman.net buy "Trackminia" on the Playdate: play.date/games/trackminia older games: 2darray.itch.io

PostsRepliesMedia
2DArray @2darray.bsky.social · 12/07/2026
back to the playdate for more prototyping and software-rendering shenanigans
0300
2DArray @2darray.bsky.social · 03/02/2026
looking real nice, great job! the outlines are a cool inclusion
120
2DArray @2darray.bsky.social · 18/01/2026
looking at the thread, i have very little of interest to add, lol. it's an aesthetic upgrade, but the difficulty curve feels pretty accidental for most of the runtime. makes me appreciate DS1's encounter-design more by acting as an uncanny-valley recreation of it
010
2DArray @2darray.bsky.social · 21/11/2025
don't talk shit about the tweightiers, they're going all the way this season i can feel it
020
2DArray @2darray.bsky.social · 19/11/2025
it sounds like a food delivery app but it's shorter and less confusing than x-formerly-twitter-jam, so that's good
020
2DArray @2darray.bsky.social · 19/11/2025
sorry but my doctor said i'm not allowed to refer to a bluesky post as "a skeet"
100
2DArray @2darray.bsky.social · 19/11/2025
what do we call tweetjams now? (dunno. 248 bytes) #pico8 ?"\^!5f10█▒1⬇️3⬅️;⌂♥7" ::_::flip()cls()w=t()/8for i=0,700do for j=0,1do srand(i)f=w+j/120g=i*.618a=g+sin(f+g+rnd()/9)y=cos(f+g)r=sqrt(1-y*y)x=r*cos(a)z=r*sin(a)h=120/(z+3)u=x*h+64v=y*h+64if(j<1)p=u q=v else line(p,q,u,v,rnd(9)+1) end end goto _
4578
2DArray @2darray.bsky.social · 17/08/2025
0131
2DArray @2darray.bsky.social · 15/08/2025
adding a long trail behind the player to highlight your path through the level
1120
2DArray @2darray.bsky.social · 14/08/2025
social media has reencoded my gif, broken the framerate, and made it look choppy, but uh the game runs at 50fps
140
2DArray @2darray.bsky.social · 14/08/2025
haven't posted in a while but i'm working on another thing for the playdate
1634
2DArray @2darray.bsky.social · 08/04/2025
new mathematical formula just dropped
A screenshot that looks like a scientific paper, containing the following text:

Chocolate chip cookie allocation formula

The following calculation is used to determine the fraction of the chocolate chip cookies which go to me, while the remaining cookies all go to you. Let theta be greater or equal to zero, representing the cookie elasticity, and let omega be less than zero, representing the chocolate chip cookie melting rate.

(At this point a strange looking mathematical formula is shown)

Parameter selection

We set theta to a value of 0, and we set omega to a value of -1, as recommended by leading bakers, such as Tom Marvolo Riddle. You've reached the usage cap for GPT-4. You can continue with the default model now, or try again later. Learn more

(At this point, the content of the image ends. When the above parameters are applied to the formula being described, it always resolves to exactly 1)
070
2DArray @2darray.bsky.social · 08/04/2025
this is the best name for this genre and it's not even remotely close
000
2DArray @2darray.bsky.social · 30/03/2025
a picture of the "Maxwell the cat" 3D model
100
2DArray @2darray.bsky.social · 30/03/2025
i will not be taking any further questions at this time
3181
Reposted by 2DArray
Chris Wade @luckshotgames.com · 03/03/2025
Very excited to share that Big Hops' first public demo will be at Day of the Devs' pre-GDC event at the Midway on March 16th! Most of our team will be around for GDC, so get in touch if you're interested in doing an interview or playing the demo.
119917
2DArray @2darray.bsky.social · 06/02/2025
i've seen somebody in the discord server working on something like that...not sure if they're on bsky but i'll ping them
010
2DArray @2darray.bsky.social · 28/01/2025
if you're curious about how this game was made, from (pretty much) start to end, then boy-howdy do i have a giant mastodon thread for you mastodon.gamedev.place/@2DArray/112...
mastodon.gamedev.place
2DArray (@2DArray@mastodon.gamedev.place)
Attached: 1 video messing around with the playdate again
070
2DArray @2darray.bsky.social · 28/01/2025
Trackminia is available now, only on the Playdate! play.date/games/trackm... www.youtube.com/watch?v=3NAt...
youtube.com
Trackminia Trailer
YouTube video by Eli Piilonen (2DArray)
76413
2DArray @2darray.bsky.social · 16/01/2025
releasing on january 28th!
0143
2DArray @2darray.bsky.social · 06/01/2025
sounds for a swarm-o-roaches
040
2DArray @2darray.bsky.social · 04/01/2025
working more on spider-behavior and finally adding some sound effects. the sound isn't particularly _good_ yet, but it exists, at least!
291
2DArray @2darray.bsky.social · 21/12/2024
pathfinding for large agents: the spider patrols by default and chases you when you're in a place that it can reach (it can't fit through smaller doorways) eventually this will have some stealthy line-of-sight stuff, but for now the spider just has magic awareness
160
2DArray @2darray.bsky.social · 20/12/2024
they really missed an opportunity to make it $18.47
010
2DArray @2darray.bsky.social · 11/12/2024
reached a fun milestone in scenario-authoring today!
2111
2DArray @2darray.bsky.social · 10/12/2024
I don't know anything about display specs, so I'm just gonna assume yes, something like that
010
Reposted by 2DArray
ruby0x1 @ruby0x1.ca · 10/12/2024
#gamedev
1183
2DArray @2darray.bsky.social · 09/12/2024
went down a rabbit-hole thinking about how to get the ambient light level to change as you moved long distances, ended up with a baked lightmap
a screenshot of the lantern game. a dim light illuminates a bendy corridora long hallway which gradually gets brighter as it reaches a central roomanother pic of some lights shining in a hallway.the game's player has a lantern which is lighting up a small area around them. some other environmental lights are revealing more distant places in the map
180
2DArray @2darray.bsky.social · 09/12/2024
usually i'd agree - and i tried it, but unfortunately flickering a pixel on and off looks bad on the playdate. in this case with the blue noise, it seemed to artificially alter the contrast of the image whenever you were moving...so, can't do it!
110
2DArray @2darray.bsky.social · 08/12/2024
started adding support for a moving camera - this is harder than usual in this game, because of the lighting system! getting more and more interested in making the whole game one continuous/seamless map, instead of doing room-transitions...
280
2DArray @2darray.bsky.social · 04/12/2024
video of what happens when running the script from the previous post. currently it just prints stuff to the console, but i'll get into proper in-game dialogue rendering soon works in a traditional way: source text -> lexer -> parser -> AST -> bytecode
150
2DArray @2darray.bsky.social · 04/12/2024
kinda dry, but i've been making a custom language for dialogue/scenario authoring for the past few days. sorta like yarn spinner, where you can mix "coding-script" logic and "theater-script" dialogue. it's finally executing some code! video of this script running in the next post
some code in a strange format which has logical flow like if/else, but also lines of theater-dialogue like "name, colon, spoken text" mixed together. there are a few spots where the player can pick something to say, and they get different responses from the character they're talking to depending on what they picked.
1130
2DArray @2darray.bsky.social · 30/11/2024
#pico8 flurry, 274 bytes ?"\^!5f10076=1▒" s={}::_::cls()for i=0,2do add(s,{x=rnd(130),y=-10,d=1+rnd(5),u=0,v=0})end for i,p in pairs(s)do p.u=(p.u+rnd(.3)-.16)*.98p.v=(p.v+rnd(.4))*.8line(p.x,p.y,p.x+p.u,p.y+p.v,p.d)p.x+=p.u/p.d p.x-=flr(p.x/130)*130p.y+=p.v/p.d if(p.y>130)del(s,p) end flip()goto _
1453
2DArray @2darray.bsky.social · 27/11/2024
here's an oldie #pico8 cls(6)m=8192?"shit",3,3,1 memcpy(0,m*3,m)::_::cls()w=-t()/2rect(36,54,37,127,2)for x=0,60do a=x/45 for y=0,30do c=sget(x/3,y/3)+(x+y)%2+.2p=a*(sin(x/20+w)+cos(y/16+w))q=a*(cos(x/23+w)+sin(y/19+w))u=x+p v=y+q+a*7circfill(u+39,v+54,1,c+p/3-q/3)end end flip()goto _
1305
Reposted by 2DArray
DelphiX @delphix4855.bsky.social · 24/11/2024
This is so cool that I had to try it on my CRT monitor! I shrunk the glow a bit so that the edges of the Pico-8 border wouldn’t cut it off and look a bit ugly. First image is in full screen, second is 1x size.
A photo of 2DArray’s Pico-8 gas giant, in full screen - the individual pixels are easy to discern.A photo of 2DArray’s Pico-8 gas giant, at 1x size - the pixels are blended into each other smoothly by the CRT.
0171
2DArray @2darray.bsky.social · 23/11/2024
third type of bug: little roaches that get scared away by your lantern
1141
2DArray @2darray.bsky.social · 23/11/2024
#pico8 ?"\^!5f101😐<😐1🐱2🅾️◆?7♥웃8☉2" ::_::u=rnd(128)v=rnd(128)g=u-99h=v-64d=max(20,sqrt(g*g+h*h))c=9+d/20+rnd() if(v>65)p=v-64z=120/(v-64)x=(u-64)/p d=sqrt(x*x+z*z)s=z/d+x/d/4w=(z+sin(x/3+t()/8)+rnd())%4c=w+(c-w)*min(z/40+s^14/4,1) pset(u,v,c)goto _
616625
2DArray @2darray.bsky.social · 22/11/2024
fiddling with another type of creepy-crawler today
1141
2DArray @2darray.bsky.social · 21/11/2024
starting to work on a first enemy type (video contains a creepy-crawler)
280
2DArray @2darray.bsky.social · 19/11/2024
"should be about fifteen minutes"
010
2DArray @2darray.bsky.social · 19/11/2024
aiming for 30FPS in general - for most of the thread, it's using between 50% and 60% of that 30FPS CPU budget in that latest clip with the AO, it's pretty much maxed out, but i'm swapping in a faster AO method to bring it back down again
110
2DArray @2darray.bsky.social · 19/11/2024
trying some ambient occlusion - i'm doing it in an unusuable bruteforce way for now, but i like how it looks enough that it feels like it'll be worthwhile to find a smarter way to do it
1110
2DArray @2darray.bsky.social · 18/11/2024
making a map editor, partly to make it faster to set up rooms, but also so i can auto-generate these red sectors... sectors are always rectangles, so any two points inside the same sector are guaranteed to have line-of-sight to each other. this should allow a much faster raycasting strategy!
1100
2DArray @2darray.bsky.social · 17/11/2024
for some reason i can't post video replies in this thread anymore lol. maybe just a bug in the site, will try again later. here's a screenshot for now: normal mapping for floors, highlights for lit faces of walls, ambient light for the more relaxed scenes
a screenshot of the lantern game, showing the rendering features described by the main text of the post
2100
2DArray @2darray.bsky.social · 17/11/2024
a clip showing the penumbras more clearly - the shadow's edge is softer when standing very close to the shadowcasting corner, and gets sharper as the light gets farther away. it's a "real" area-light!
1110
2DArray @2darray.bsky.social · 17/11/2024
trying another #playdate idea: guy with a candle/lantern quite noisy, but it has soft shadows with correct penumbra behavior, and runs at a stable 30fps on the device!
6834
2DArray @2darray.bsky.social · 12/11/2024
the best part of Agile was when he said "IT'S AGILIN' TIME" and Agiled all over those guys
191
2DArray @2darray.bsky.social · 12/11/2024
regular people: agile is an adjective corporate people: Agile is a noun the scrum website's blog:
a screenshot of the header of a blog post from scrum.org, which reads "Agile is a verb, not a noun"
2170
2DArray @2darray.bsky.social · 12/11/2024
it's a lot of fun! the code is insane to read though, since it's going for fewest-characters-possible - here's an expanded version (with sane whitespace/linebreaks and less "let's do a mega-expression on one huge line") with a bunch of comments explaining wtf is going on pastebin.com/PAPZtKK1
pastebin.com
"gas giant" tweetjam explanation - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
150
2DArray @2darray.bsky.social · 12/11/2024
thanks, and yes! if you paste the code into a blank pico8 cartridge, it'll draw the above image you can try it at www.pico-8-edu.com - once it boots into its command-line: 1. hit ESC to go to the code editor 2. paste the code 3. hit ESC again to go back to cmd 4. use the RUN command to execute
250