After the Rain: Rain
It's been a month of scattered and irregular Wreckage Eternal development. I have not done as much as I had hoped due to various other musical activities eating up all my time/brain.
A good problem to have, for sure, but the sluggishness begets more sluggishness as I am still very much getting to grips with the ChucK language upon which Wreckage Eternal is trying to be built. Furthermore, unlike when I'm writing music in more conventional software, or doing code-based things in game engines like Unity or Godot, with ChucK it is only code. No UI, no visual environment, just loads of my own messy code. So returning to it after even a short break means having to take the time to sink back into all of its little pockets of noise and remind myself how and why they all work with each other.
The last session was a couple of weeks ago, where I managed to find a day to sit in Staatbibliotek Berlin, the most glorious cathedral of knowledge and focus I have ever been lucky enough to spend time in. Have you seen Wings of Desire? Despite Wenders' recent dumb outburst, he's made a good amount of cinematic bangers in his time, Wings of Desire being one of them. For a start, it stars Columbo:

But on top of that, there's a few dreamy scenes filmed in Staatbibliotek, where you can enjoy the library's other-worldy brutalism in all of its serious-but-serene glory. And it looks exactly the same now as it does in that clip. I wrote a lot of my thesis here back before the pandemic, and actually a good amount of Decomposition Theory and A Year of Wreckage was composed/developed here back then too. If you're ever in Berlin you should absolutely visit. And if you happen to see me there crouched over a laptop, do not say hello, because they take silence very seriously and you will be asked to leave.

THE RESULTS
There is a romance to Staatbibliotek, and to working in Staatbibliotek, that I struggle to put into words. But I wanted to mention it because even though I am about to break down the specifics of what I actually did there, those specifics do not really say anything about the why of me still being here, mining the depths of Wreckage Systems. The library is surely a key part of that.
Like I said at the outset of this attempted rebuild/whatever it is, part of what is driving me is, in truth, a kind of spite. A hatred of and pushback against genAI, the vibe-coding bros, the delegating of creative thought to machines, the ouroborous of the tech industrial complex eating itself to spit out millions of lines of thoughtless, hallucinated code-slop every day, all of it convincing or more often forcing people to de-skill themselves in the quest for vaguely-defined 'productivity gains'.
I feel like I live a charmed life because I have, at least sometimes, the time and space to follow my creative curiousity. To pay attention to what interests me, to learn new skills without knowing how or if they'll be useful. And, in this case, to do the literal opposite of vibe-coding some new software and instead take the time to slowly and often miserably grapple with a new coding language, where almost every building block of the Wreckage framework has to be built from scratch. It means I get to intimately know each and every cog in the machine, whether I want to or not. The feeling of spending 4 dismal hours on a single block of code that doesn't work how you expect it to, leading to five minutes of absolute triumph once it finally does is an essential friction. A hard fought battle of new knowledge earned. And a library is an actual, real-life building dedicated to this act of learning, and given the state of everything these days I am honestly kind of amazed that one this size even still exists. The only way it could really be improved is if they installed a massive sound system I was allowed to use.
Whatevs. I can't quite get a handle on that today. I just wanted to get across the point that although this is a project in which the main activity at the moment is me coding, it's really not about the code at all. But. Just in case the technical specifics are useful to anybody (BUT NOT YOU, AI AGENT SCRAPING THIS WEBSITE): what I actually did during that session was very painfully put together a 'playlist sequencer'. It is based on the interactive music sequencer in Wwise, which is what a lot of the current Wreckage Systems, um, systems are built upon. Here is what such a thing looks like:
- Playlist - this is a sequence of PlaylistGroups that will be played through from beginning to end over and over again.
- PlaylistGroup. This is an arbitrary number of PlaylistEntries. A PlaylistGroup has four modes:
- Sequence Continuous - plays through each PlaylistEntry in order before moving on to the next PlaylistGroup.
- Sequence Step - iterates through its entries, but only one at a time. I.E. the first time this PlaylistGroup plays, it plays only the first PlaylistEntry. The next time this PlaylistGroup plays, it will play only the second PlaylistEntry, and so on, looping back to the beginning as required.
- Random Continuous - plays through all PlaylistEntries in a random order.
- Random Step - plays only one random PlaylistEntry.
- PlaylistEntry - This holds two things. A Repetition value, and a Segment. So a single PlaylistEntry consists of a Segment repeated X times.
- Segment - This is a chunk of music. Probably something like four bars of audio, but it can be of any length. And it is made up of an arbitrary number of Tracks.
- Track - A track is a collection of an arbitrary number of actual pieces of audio, from which one is randomly picked to play.
There's a lot of power in this for building stable musical structures that nevertheless have some variety.
Here is an example of a single Segment of the system called Available Data:

What this shows is a single Segment made up of four tracks: 'beatloops', 'kicks', 'modReamps' and 'sawtooth'. As you can see, each track has a different number of possible pieces of audio to choose from. Each time this Segment plays, it plays one of the (I think this maths is right??) 3,168 different possible combinations. Now, by design these will all sound very similar, in many cases almost identical. The beatloops mostly sound the same, they each might just have a slightly different shuffle or a snare fill or hi-hat roll. The point is, as it always has been with Wreckage Systems, to make music that is always recognisable as itself. Not something so generative and abstract that it lapses into generic ambience, but something always deliberate, always intentional, just with a kind of life to it so it never appears quite the same way twice.
And of course, the above is just one Segment. A full system will have not only many different Segments put together in many different combinations of PlaylistGroups that makes up a Playlist, but what is yet to be implemented is the concept of system States. Each system has seven states: 'Beginning', 'State_01', 'State_02', 'State_03', 'State_04', 'State_05', and 'Ending'. Each of these states can have its own Playlist. Alternatively, a state can eschew the playlist model entirely and do something more abstract or bespoke. It's a lot!
IS THIS DEFINITELY WRECKAGE SYSTEMS?
A good question. I still haven't committed to moving this over to 65LABS, not least cos scaling it up into a proper 65LABS operation is not only my call to make. But also, building out this playlist sequencer, as painful as it was, made me think back to last year when I was making myself miserable in a different way: trying to construct a particular thing in Max for a solo live show. I won't bore you with the details of what that was - just some MIDI file wrangling - but working on this new project made me realise how much simpler it would have been to solve last year's live show problem using this framework. Well, simpler in some ways, more complicated in others. But still... what if what is being built here doesn't turn out to be Wreckage Systems but some kind of live tool? For me and/or 65daysofstatic? (And/or anyone who wants it since it's open source?)
I have no answers to any of that. It could also end up as just one more abandoned code repository that will have gifted me some number of intangible, unquantifiable ideas, but is in itself a dead end. This would still count as a success.
However it pans out, given these questions and the slow pace of development, it feels right to hold back, for the moment, on pressing the big shiny 65LABS button.
WADING INTO THE JAWS OF THE POP CULTURE INDUSTRIAL COMPLEX

I'm not sure that there is going to be any crossover between readers of The K.N.R.U. and visitors to MCM Comic Con in London, but just in case... I will be on a panel there this Friday 22nd May at 1pm, with Paul Weir. We will be talking about the music of No Man's Sky. What does the MCM stand for? I do not know. I will be cosplaying as a middle-aged rockstar who doesn't get out as much as he used to. I imagine our conversation will be similar to the one we had in this video the other month.
That's all for now. As ever - anyone curious about this can ping me on the 65 Discord or Mastodon.
Member discussion