Freespin is a Commodore 1541 demo, released in 2021. It runs on the Commodore floppy drive. It is is the first demo on this device. Freespin generates sound/music using the floppy drive mechanic (in particular, the stepper motor responsible for moving the head to the right track). Video is generated through the serial bus.
Tag: games
Game in a Font
World’s first video game in a font! You read that right! It’s a video game in a font! A font as in “Time New Roman”. The entire game is enclosed in fontemon.otf, no javascript, no html, all font. You can play it anywhere! Your word processor! Your image editor! Your code editor! Even works with syntax highlighting. All the places you should never play games, but now you can because no one will stop you!

How big of a game can you make in a font? Fontemon has
4696 individual frames
2782 frames in its longest path
131 branches from 43 distinct choices
314 sprites
1085 words of text
But, just how much content can you fit, if you push it to the limit?
Max: 2^16 frames (65536)
Max: Longest path ~3277 frames
Max: Branches are a bit more complicated.
Max: 2^16 (65536) sprites
Max: No specific limit on words, but other limits (frames, and sprites) apply
Of all of those, I really want to talk about #2 Max: Longest path ~3277 frames.
Every design decision I've made for this game:
How to draw the sprites
Which type of substitution to use (Ligature substitution)
How to handle branches (again, Ligature substitution)
was directly influenced by this limitation. In fact, of all of the limitations,
this is the rate-limiting step. Almost all optimizations I've done, have been to
push this number upwards.
Tetris revolution
The improvements have added up. To qualify for the 2020 C.T.W.C., players had to achieve a near max-out within 2 hours. This standard of play left behind veterans who had qualified in each of the previous 10 years. Jonas, with his 1 max-out in qualification, entered the tournament ranked 31th among 64. Joseph, having scored a world-record 12 max-outs, came in as the No. 1 seed. By the quarter-final, the entire old guard had vanished. The remaining players were all of the YouTube generation, with many explicitly crediting its algorithm for introducing them to classic Tetris.
Kilobyte Gambit
Here’s all of the chess engine code, it’s a modified version of the 1.25K game on Oscar Toledo G.’s site, where you’ll find all his award-winning tiny chess programs and an ebook explaining how they work.
for(B=y=u=b=0,x=10,z=15,I=[],l=[];l[B]=("ustvrtsuqqqqqqqq"+"yyyyyyyy}{|~z|{}@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK IDHGFE").charCodeAt(B)-64,B++<120;I[B-1]=B%x?B/x%x<2|B%x<2?7:B/x&4?0:l[u++]:7);X=(c,h,e,S,s)=>{c^=8;for(var T,o,L,E,D,O=20,G,N=-1e8,n,g,d=S&&X(c,0)>1e4,C,R,A,K=78-h<<9,a=c?x:-x;++O<99;)if((o=I[T=O])&&(G=o&z^c)<7){A=G--&2?8:4;C=9-o&z?l[61+G]:49;do{R=I[T+=l[C]];g=D=G|T+a-e?0:e;if(!R&&(G||A<3||g)||(1+R&z^c)>9&&G|A>2){if(!(2-R&7))return K;for(E=n=G|I[T-a]-7?o&z:6^c;E;E=!E&&!d&&!(g=T,D=T<O?g-3:g+2,I[D]<z|I[D+O-T]|I[T+=T-O])){L=(R&&l[R&7|32]*2-h-G)+(G?0:n-o&z?110:(D&&14)+(A<2)+1);if(S>h||1<S&S==h&&L>2|d){I[T]=n,I[g]=I[D],I[O]=D?I[D]=0:0;L-=X(c,h+1,E=G|A>1?0:T,S,L-N);if(!(h||S-1|B-O|T-b|L<-1e4))return W(I,B=b,c,y=E);E=1-G|A<7|D|!S|R|o<z||X(c,0)>1e4;I[O]=o;I[T]=R;I[D]=I[g];D?I[g]=G?0:9^c:0}if(L>N||!h&L==N&&Math.random()<.5)if(N=L,S>1)if(h?s-L<0:(B=O,b=T,0))return N}}}while(!R&G>2||(T=O,G|A>2|z<o&!R&&++C*--A))}return-K+768<N|d&&N};Y=(V)=>{X(8,0,y,V);X(8,0,y,1)};Z=(U)=>{b=U;I[b]&8?W(I,B=b):X(0,0,y,1)}
GPS ankle bracelet rioter
Don’t wear a GPS ankle bracelet during cosplay
Betancur delivered that to investigators in a way few others involved in the half-assed insurrection have. Behold this galaxy brain at work. The case relies in part on location data produced by the GPS unit that the man was wearing for a prior offense.
Finite and Infinite Games
The wisdom held in this brief book now informs most of what I do in life. Its key distinction–that there are 2 types of games, finite and infinite–resolves my uncertainties about what to do next. Easy: always choose infinite games. The message is appealing because it is deeply cybernetic, yet it’s also genuinely mystical. I get an “aha” every time I return to it.
Too Clever By Half
The smartest play for coyotes in the meta-game is never to Skirmish with humans. Never. And if you find yourself in a Skirmish-with-Humans game, then the smart play is to act scared, to run away at top speed from a jangling coffee can. But no, coyotes are too clever by half, plenty smart enough to understand and master the reality of their immediate situation, but nowhere near smart enough to understand or withstand the reality of their larger situation. It’s their nature to play the scheming mini-game. They can’t help themselves. And that’s why the coyotes always lose. It’s always the meta-game that gets you.
Metaverse economy
Tim Sweeney argues that platforms need to offer their services at cost to enable the Metaverse. Quite self-serving, but not entirely wrong.
Unreal Engine car UI
It’s plausible that all interfaces at some point will be driven by game engines. Designed by the firm that does Marvel UIs. Still a crap car, but getting somewhere.
Post-AI Chess
AI Ruined Chess. Now, It’s Making the Game Beautiful Again
Kramnik saw flashes of beauty in how AlphaZero adapted to the new rules. No-castling chess provoked rich new patterns for keeping the king safe. A more extreme change, self-capture chess, in which a player can take their own pieces, proved even more alluring. The rule effectively gives a player more opportunities to sacrifice a piece to get ahead, a tactic considered a hallmark of elegant play for centuries.