Inaccessible Worlds

I have wanted to make art from glitched video games since I was pretty young. I maintained in my early glitch work that in my opinion, some of the most natural artwork is a combination of exploration and expression. I can still recall (vaguely) my first real experience with glitching video games. When I was very young, my moderately nerdy dad had a ColecoVision (basically an Atari). This meant that when the first generation of home game consoles came around from Nintendo we sort of skipped it, and only once I was a little older did we get a Sega Genesis. One interesting thing about Sega’s flagship intellectual property was that Sonic The Hedgehog (and Sonic 2) for Sega Genesis had a debug mode built into the game as it shipped. You could enter a code if you knew the right commands, selected certain songs from their music player, and you entered debug mode. That’s kind of strange when you think about it – why leave a debug mode available to the general public after testing was done? But that’s how it was. So I played through the game over and over – and at some point through some arcane channel (pre-internet) found out about the debug mode.

This meant that the very first game I considered my own and had played to saturation also had built in this secret backdoor where you could break it, create random elements, create elements that broke the sprite sheet – in short, it was like peering behind the curtain cast in front of the world. The backstage world that had jumbled glyphs and bizarre shapes, repeating patterns, things that made the game not really play the way you had come to accept that the game worked.

In glitch art, there is always a kind of tension between the purists who insist that glitches are really things you discover in the wild, actual unplanned failures that the artist observes and collects more than anything – and people who are much more interested in expressions: using known tools and setups to make things happen that take their inner vision out into the world of shared experience. Glitches that you see in video recordings or streams always seemed to me to be things you observed – even if you set them up or were the one leaning on the circuits to make them warp and trip – you were fundamentally an audience. I’m willing to bend on that view – but the point here is to contrast video glitches with video game glitches. Now you’re talking about being a participant in a very direct way in the failure in front of you. If it glitches you have to decide how to keep playing when the game isn’t working or when your player doesn’t look right, you have to assess new situations where the rules of reality don’t seem as rigid as they did when the game was functioning correctly.

My friend Snebtor was once telling me about life in Colombia (where he grew up) being different from America in how we observe laws. He told me that people here take a lot for granted – that people follow a lot of laws without actual enforcement looming over us if we break those laws. That is, we lead largely legally observant lives through convention rather than force. I have never really been a big fan of convention, but it struck me that this is exactly what is so shocking when you start playing a video game that glitches: you had come to accept that the world functions in a particular way, but why? The rules governing the game can change pretty quickly or drastically or for reasons you don’t understand, and then who do you have to complain to? It’s pretentious to say so – but it reminded me of David Hume a little if I grasped “Hume’s fork” correctly. Essentially, we play the game and try to guess the rules based on how the game seems to consistently work. We don’t know the logic behind it if there is any, and we don’t have a good way of getting at it if we’re just a player and not a reader of code. This is our real life in a way: we observe and guess at the rules based on empirical evidence, but we can’t know them in the same way we know a math equation is correct. This may be utterly besides the point, but it’s another thing that was feeding into my imagination that the rules of the game have to be taken for granted: this is how they work apparently.

I had decided to try to revive my vague memories of games glitching and failing and flashing single frames of tangled pixels. I think I asked Dawnia / Letsglitchit about it (she mentioned some software I’d never heard of) and started googling – and I settled on using some VMware to run an old program called Vinesauce. If you’ve never dabbled in emulators and roms before – I think it’s technically in a legal grey area (read: don’t ask me about it) but you can play pretty much any 1980s-1990s console or arcade game on your computer these days. Vinesauce is a program that allows you to temporarily create an alternate version of a game with the hex code of that game in certain ranges modified by increments, shifted or changed according to whatever settings you tell it. Without having any of the data labeled or deliberately changing any particular portion of code – it’s very much trial and error and guessing what will produce interesting results. Half the time the game will just crash if you modify enough bits of code, certain ranges corrupt the beginning of the game too much for the title screen to work, sometimes all you seem to have done is swapped a few images around, but sometimes you manage to change values that control the physics of your player. These are the rule changes that I found interesting from an experiential point: tweak a hex value a little and Mario can’t jump high enough to get over the first obstacle. Tweak another hex value and your Ninja is permanently in ghost mode and the game is impossibly easy. Tweak one more value and none of the floors have substance and you can’t play a level because you fall through reality to your death every time you spawn. It’s surprising when you don’t know what you’ve changed, and you’re playing the game in the conventional way and suddenly the rules don’t apply and instead of persisting the world collapses when an enemy collides with you, the sprites crumble into each other and the game freezes and you’ve ruined the world.

I decided to focus on NES games for a while (since I missed that console) – they seemed more stable than the more complex games of later consoles. I could break things quickly and try multiple increment amounts and ranges and such and the number of times I was met with a blank screen seemed less than Genesis games. I wanted to try to see new levels with different corrupted hex patterns to see what they looked like, but I found it difficult to actually complete levels with all the values broken or sprites missing or changed – so I would play a game pretty straightforward and save a state at a later level, then initiate the corrupted version of the ROM to try again and see how it looked. Sometimes it was interesting and sometimes it wasn’t – but what I found really fascinating as a concept was the fact that in most of the corrupted ROMS I was playing – I had selected a range that made the title screen not work, or the first level not work, or whatever – but basically by jumping straight to later portions of the game I was accessing places that were sort of surrounded by a moat of broken code. I was playing in little islands of functioning code or perhaps digging through impenetrable barriers of blank screens and missing button prompts and playing glitched worlds that couldn’t be gotten to if you just loaded up the corrupted ROM as it was. These were entire kaleidoscopic bent spritesheet worlds that are inaccessible to us without cheating and jumping into them from parallel worlds un-glitched. This is where the series name comes from: these are visions of Inaccessible Worlds.

Another old friend of mine ended up working at Google for a while and told us about a coworker who had been working on a project called Playfun Learnfun. It was basically an AI that trained on people playing video games and then tried to guess how to play them and what the goal was and do it. Teaching computers how to play video games without telling them explicitly what the rules or goals are. There was one incident with the program that left a deep mark on me: when the AI realized that it was going to die in the game, it avoided death indefinitely by hitting pause. When faced with a scenario it couldn’t handle it would just pause and technically not fail. Now what if what you wanted wasn’t to avoid death – but to see behind the curtain? The mystic Jakob Boehme claimed his first extensive revelatory experience came from a reflection he saw in a pewter dish – a flash in the eye. Some of the glitches in these games only last a frame or two, but what I wanted was to pause the world to take in these glimpses of revelatory failure – to get at the true world apart from convention. That burning desire to experience this in the heart of some people doesn’t concern itself so much with whether that world is real or live-able, but it just needs to be more – we need to drag that momentary flash into an extended exploration of what these incredible unstable worlds mean.

As I tried to explore that world I tried capturing video feeds of live glitches – and some of those made their way into being a series on Foundation. These are moments when I found failures that utterly crashed but didn’t exit loops (at least not right away) so you can see all the graphics as they burn out and loop and fail faster than the eye can see. I slowed down the frame rates on all of them so that instead of a flicker and vague impression of color you can actually see the shapes and colors of the failures as they cascade across the screen. I considered these Artifacts that you can look at, failures you couldn’t isolate.

I worked with captured images of failed games for a long time trying to isolate my favorite bits and cut them out and put them together with other ones to make nice compositions. It’s difficult to work with blocky shapes when you’re used to more circular or glitched chaotic patterns – and these seem somewhere in-between. I also found it hard to keep the sizes perfectly consistent when working with upscaled captures – and any time pixels didn’t align it was an eyesore. So I resolved to start fresh and try something new, and finally found a few different ways I liked to automate upscaling after isolating my selections. I was creating libraries of portions of glitched games or wild screens, combining them together. I found Async.Art’s new blueprint tool thanks to my friend X3r0ne and realized that if I had high-res material and infinite time, I could just cherrypick the best glitches and isolate them and combine them at mint according to some parameters and create a really engaging collection.

For those people in the crypto world like I am, it was an appropriate time to be working with failure. While I was just beginning to experiment with Async and refining my technique for creating glitches the Terra ecosystem collapsed, followed by other liquidity crises that have rippled through the market. Combined with the Fed announcing interest rate hikes and tech stocks dumping – everything seemed to be failing at once and I felt right at home. I had de-risked a fair amount but still felt the pain watching red candles every day. I knew a lot of people who had considerable assets still exposed and lost a lot of money and I felt bad for them. So while I was working on this project I took a few days to just capture some nice random finds and save and scale them and give them away as souvenirs for the “noveau pauvre” – the newly poor. It was hopefully a nice little gimmick but also when I genuinely feel for people it’s one of the only things I can actually do to distract them from misfortune. I’m hoping they will stand as a nice token but also as a sort of interesting prelude to the more robust collection: that they will help people see that just capturing a glitch is very cool but that there’s value in expression and elaboration on that.

Hopefully you weren’t invested in crypto enough to earn one of these.

At this point I’d been experimenting with all kinds of made up techniques like swapping savestates between games, playing to pretty levels and saving and then corrupting the game and playing some more and saving and swapping again. Finding unlicensed games or ones from obscure developers that used bizarre portions of hex code for different things or unusual ranges of things that when swapped produced really wild and unpredictable results – sometimes with changed saves persisting across multiple games alien to their format. There’s a whole world of corrupting and hacking ROMs I stumbled my way through to come up with new branches of Inaccessible Worlds: an Async blueprint, I’ve been sharing the project with my friend John Patten since I started, and so a version called Lost Levels is being made for the $MAGIC marketplace on Arbitrum using a program Tartaria Archivist is working on with me, there’s a version that supplies source material to Bunloaf’s “Killscreen” generator (branch title credit goes to Joseph Delong) for GlitchForge, certain interesting almost real little chunks of graphics being repacked as more minimalist “Inventory” items of the Inaccessible Worlds that I have to come up with functions for. It’s a much more rich and broad project than most of the ones I start in that there’s so many possibilities for changing how to use this technique to explore and express. Also, since the Lost Levels version is similar to how Async works but with our own custom code – I thought the reference to Mario Lost Levels was appropriate. One interesting thing about that game was that Luigi actually handles slightly differently from Mario – but it’s such a subtle difference you might not even notice: you might not catch the world having changed since you can’t see behind it.

One of Bunloaf’s Killscreen demos, hopefully coming to GlitchForge soon.

I haven’t figured out exactly what to do with the Inventory items yet beyond planning to create them as a new kind of GlitchForge collection where you mint them for pretty cheap on Tezos and you get a surprise inventory item. Most over black with standard frames but a few rare surprises. I want to build automated swap systems or utility for these (for fun) – but promising things like that is risky and uncertain and finding developers who want to make things like that is difficult.

One of the things I’m enjoying most about it is how unpredictable it can be. I came up with methods for using similar palettes and configurations enough to have a few worlds I imagine persisting in multiple ways, but fundamentally I’m still surprised every time I fire it up and start popping in random cartridges. The most exciting color selections or composition that I stumbled across I would save and experiment with – and when I found one that could be permutated into a thousand different compelling versions I would create a type for it on my Async.Art blueprint. I kept having names and ideas for what they would be that wouldn’t match the material that was generated when I tried. I couldn’t get centered shapes or I couldn’t get simple patterns or whatever my idea was of how this world would function. What I found was that it was naming them after their respective games or after my own ideas that was keeping me from letting them develop. I sat down and wrote a very basic word generator and inserted tons of prefixes and suffixes and random syllables and some cruddy logic and just said “generate random name” until one appealed to me and then that was the name of the current type. I realize it’s a bit silly, but how else do you get around the mind-block of not having the world meet your expectations and trying to reconfigure your mind?

What I found was that whereas Contra Spirits Intro was a world that I kept having preconceived notions about, once it was renamed Neotorim I let the world develop on its own. I found new shapes and new details and glitches that created an emergent world rather than letting my subconscious try to sculpt one. I used the same process to help dissolve my notions about these worlds and in each case I found that freeing my mind from what the name of the world was supposed to mean let it run off the rails and simply use what made sense. I still tried to shape these places a bit – but it was more like landscaping a wild lush garden than it was trying to manicure a lawn.

Some samples from mock renders while building the main Async.art Inaccessible Worlds collection.

It grew and blossomed once I let go of that control – and so the worlds with names like Symtrulessor and types like Oxmeldic and Marescent came to define a project where I spoke more gibberish every day I worked on it and used (almost like mantras) the names of worlds that don’t exist and can’t be stable. These worlds I tried to manifest with their algorithmically made-up names can give the most surreal visions of the thrilling chaotic beauty underneath the surface of the world we’ve built out of convention and then played with the arrogance of assuming we know the rules and the rules don’t change or fail.

I should also mention that since starting working on this I was much more interested in work I previously hadn’t really seen from artists like Haydiroket, Viscuous, Sabatobox, jpegstripes – but searching platforms like Instagram or NFT marketplaces will show you that it’s still a relatively unexplored medium. There are a few people not just playing with glitched games but glitching games to make real art. I think it’s a very under-explored area that could become a really powerful expression of our discomfort with convention and arbitrary rules. Artists may be more and more using what now feels like ancient historical interactive media in a way that peeks into the holes in the foundation of the more polished contemporary cinematic-level video games.