There’s an old adage that limitations in art force us to be more creative or approach things in new ways, and why should coding for art be any different? Maybe we should embrace limitations as many already have by creating cool stuff with as little code as possible. That is sizecoding.
Sizecoding is an off-shoot of what’s called demoscene, an old programmer sub-culture that focuses on building little self-contained audio/visual art pieces called demos. Demoscene, with its origins in the 1980s home computing revolution, has always dealt with space and resource limitations: limitations that don’t really exist anymore on modern machines that are tens of thousands of times faster with millions of times the storage and RAM.
Itty Bitty Bytes
Sizecoding is the part of demoscene that lets you take these limitations sometimes to mindblowing degrees. Can you imagine trying to fit an entire 3D animation and music program in under 256 bytes of code? Or even less? I didn’t say MB or KB. I said bytes of code; virtually an entire program that, including whitespace, is under 256 characters.
What I think is really cool about the modern sizecoding scene is that while there are still a bunch of people writing their demos in 80s and 90s computer formats like DOS or C64 programs, we now have a very accessible way of doing sizecoding for “fake” computers that still captures the feel and limitations of old hardware. If you’ve been reading past issues you may have already guessed I’m talking about fantasy consoles like TIC-80 and PICO-8.
If you haven’t read past articles, let me explain quickly. TIC-80 is basically a program that “fakes” being a retro-style computer. If you’ve ever used emulators to play old video games, you can think of it as an emulator for hardware that never existed. This fake hardware has its own memory and storage limitations, and even its own memory layout like in older computers. This means that you can do things like put bytes directly in memory to change the color palette, create sprites, or even program in music all in just a few lines of code.
Ready to get started? I think maybe the easiest and most gentle place is the tutorials from LoveByte (https://lovebyte.party/). They have a YouTube channel with a number of sizecoding tutorials in TIC-80, among other showcases, competitions, and the like (https://www.youtube.com/@Lovebytedemoparty)
There are competitions for sizecoding. They’re not for money or anything, just the bragging rights of making and sharing something cool. But something I absolutely loved was their series of fun winter-holiday-themed tutorials called “tiny code Christmas” (https://tcc.lovebyte.party/). It was twelve days of challenges that each came with a tutorial video showing you basically everything you need to do with the last step or two left up to you.
So, if you’ve been enjoying our previous TIC-80 pieces, I really really recommend getting into sizecoding and, who knows, maybe your work will get shown off in a future competition.