Client side only and base64 compression tricks are a clever thread, and shameless self promotion but one I’ve been pulling with my dead but novel browser game [0] snibble.gg (tutorial sucks but once you get past it it’s fun to watch the bots play)
Basically everything is client side generated from a seed - entire games and their replays get stored in a tiny url - pretty much every possible game ever fits in a version 40 QR code
I’ve had a similar experience using LLMs to have mini personal breakthroughs.
One thing I notice is many models say statements along the lines of “okay we have exhausted this thread it’s diminishing returns from here and we should stop and move on”
It’s funny because I’ve been building a tiny neural network maze solver (23 bytes solves 92.75% of unseen 2D mazes)
When I asked ChatGPT/Fable if we had anymore threads to pull to increase capability and decrease byte size, they both basically said no way - back when I was at ~166 byte models with a ~85% solve rate.
Throughout the experiment I just kept trying different approaches and eventually had 3 mini “breakthroughs” in this particular niche. But if I had listened to the models…
Anyway, these models are amazing to experiment with quickly, but they are dumb as hell and so absolute
I got really into compression experimenting while I was developing my browser game.
I was trying to compress entire human gameplay matches into a QR code, for upto 60 minutes of gameplay both single player and multiplayer.
My game is a fast paced, grid based, snake x scrabble word game.
My first compression attempt was to do run length encoding and cardinal directions, encoded into 1 byte. This was really compressible data.
The best approach was to use relative direction changes instead of cardinal directions. Compressed even better as the raw data was more consistent (for the most part you are moving forward etc).
Some other attempts were: zone based encoding, double movement pattern encoding (much smaller raw data but less compressible), triple movement pattern encoding, interrupt encoding.
I am at a point where I can fit all 30 minute single player games into a QR code, some 60 minute games, and with a special encoding scheme I can fit 15 minute N player multiplayer matches in a QR code
For reference qr code max size is about ~3000 bytes
It’s basically snake meets scrabble meets PvP stealing. It’s a novel idea and I think it’s cool it hasn’t really been done before :)
The issue is it’s too complicated, the onboarding is dogwater, and the aesthetic is too complex
So I’ve spent the weekend fixing onboarding, fixing and relaxing the visuals mix and simplifying mechanics.
I’ve also tested LLMs playing the game through a harness I wrote. LLMs get smashed, they can form words and steal, but they lose badly to conventional bots.
I’ll be exposing an LLM leaderboard on my next release (hoping this weekend) with links to game replays for the LLMs.
Would love for people to give it a try, give me some feedback, and say what you’d love to see on the roadmap.
(Email alias)