Notes on the BattleMETAL soundtrack

BattleMETAL, the big-stompy-robot game was recently (finally) released! It’s been in development for quite a while now, and most of my involvement (beyond repeated testing and sharing opinions about gameplay) has been doing the soundtrack, so here are some fun behind the scenes facts. I wrote these tracks between 2016 and 2019 starting with Predator and ending with The Matock. Unless otherwise noted, I did the tracks in Reason.

This is probably the best track on here, owing to something resembling a coherent melody. Sort of reminds me of something The Knife would write (not that it’s as good as theirs!) That line is one of the few places where I actually used a bitcrusher… under all of that, it’s a u-he Tyrell. I never did get that synth to work properly in linux, and you have to download it from a German magazine to get it, but it’s nice. The rest (and by that I mean the phaser’d Monopoly, the default synth for this project) are heavily influenced by Frank Klepacki’s classic Bigfoot.

This track was written in a fairly meandering way, I had a pretty good idea the opening (the initial delay’d up drumbeat and bass) and ended up just sort of adding pads and sequences to the end of it until it was long enough. The lack of music theory really shows on this one. Like most of the tracks here, it uses Cheetah MD16 samples and (believe it or not) the 3rd demo preset for Reason’s builtin convolution reverb.

This is my first attempt at a synthwave track (if you don’t count Conniver, which I don’t, because that was more of an industrial thing.) There are a lot of preset arps going on here, and it’s the only track that isn’t using the signature drum palette. A version got re-purposed from its original form to serve as the trailer track when BattleMETAL was in its early stages (complete with samples of the EarthSiege trailer boasting of “Exquisite Texture Mapping.”)

I know this track isn’t the most musically challenging, but I actually still find it pretty compelling. It’s one of the early ones. The lead is a Charlatan, which was one of the synths I was most excited to explore when Reason finally added VST support. You can hear me tweak the settings over the course of the track-I love doing that sort of thing. Unfortunately, this was the only track I’ve managed to complete with the synth, because it keeps crashing now. For the pad, which I think I did an especially good job on, I used eXpanse which was the first wavetable synth available in Reason as a Rack Extension (about a year before we got VST support) and enabled a whole new world of sound design for us Reason diehards.

One of the more recent tracks. It’s using Viking for the bass again (which means, oddly, it sometimes skips a beat… listen for it, you’ll hear it in Predator too) but reflects my newfound confidence in making melodies in step sequencers. In fact, I think I did most of the sequencing in this track with the ABL3. The funky sequence that comes in at the end is especially fun. The Balakett is all about speed and the Monitor is all about raw power, to win with the Matock you need to dance. I also want to call out the ES-01 rack extension as an extremely underrated and great sounding softsynth. Love that thing.

I’d like to say that the lack of a melody in this track is meant to reflect the soulless nature of the PSC character and its total monomania around the extinction of the planet, but then I’d be giving myself way too much credit. This track is “meh” and I should feel “meh” about writing it.

The patch for this started out as the “Acres Of Glass” preset for Europa. I’ll always enjoy tracks that are just me playing chords for five minutes, really puts you in a good place, even if the chords are gloomy. The voice talents here include Pete (“Punching out!”), Sabrina, The Conet Project, and Techno Ejay (if you can find that one, I owe you a cookie.)

The Balakett (Bonus, so no embed apparently)

This didn’t make it into the game, so it stays as a bonus track. It’s also the only track I made with Renoise (you can probably tell from the drum wankery in the middle.) It was intended for the post-mission screen, but it’s altogether too cheerful for the apocalyptic tone of BattleMETAL. It’s using the ob-xd synth, which I’ve found to be excellent. Also, in classic Renoise beginner fashion, it ends with an extra block of the last note just stretched out forever. oops.

Overall, the experience was a fun one, and I expect I’ll do something similar again someday.

Tracks of the year: the 10s

End of the decade which we never did agree on a good name for. Time for some reminiscing through the lens of music! A millennial coming of age story.

2010: Arcade Fire – Deep Blue

One of the first bands I learned about from friends in college. One of the first albums I burned to a disc and blasted while driving around on my own for the first time. When I feel like listening to a single song from it, more and more I’ve been drawn to this track. I think it shows off the melancholy and nostalgia of the record best. Arcade fire often sings like something very bad is about to happen, and this track is a great example.

2011: Power Glove – Nightforce

While the EP was released in 2013, this track was definitely out in 2011. It was my introduction to the neon-drenched world of Synthwave, and really holds up in a way that I’m not sure a lot of early Synthwave does as far as production goes.

2012: Carpenter Brut – Escape from Midwitch Valley

For me, this is what took Synthwave to the next level. The EDM/Dubstep noises, including that heavy bass, made it feel fresh while staying in the realm of retro. I ended up seeing Carpenter Brut in concert in Cambridge at some point, and it was a wild show. The first three EPs by CB are a different style though – more studio-y, less band-y. Notice the use of samples in this and the Power Glove track.

2013: Megadrive – I Am The Program

I was well into Synthwave at this point, so in this period I was listening to a lot of Mega Drive et al. I probably spin 198XAD more, but that was partly informed by how much I listened to Mega Drive in 2013! However, after I graduated and found myself in a quiet office and needing more tracks to spin, I found myself reaching out to find something new.

2014: Aphex Twin – XMAS_EVET10 (thanaton3 mix)

I got into Aphex Twin shortly before this record was announced.* His cannon was established and all we could hope for where maybe old tracks (like Caustic Window) being dropped someday. 2007 was the end date, the pinnacle of the artist’s career. So imagine the hype when you’re not only getting into IDM but now the big name is going to drop something new and bizarre? The hype was matched only by how good the actual record was. The whole thing is brilliant, but when I reach for one that exemplifies it, I tend to pick Xmas Event. The way it progresses through different melodies and moods really shows off RDJ’s skill as a composer.

2015: Squarepusher – Exjag Nives

Squarepusher spent most of the ’10s mixing modern EDM electro and dubstep sounds into his jazzy dnb. Some of it can be challenging to listen to, but in Exjag Nives he hits it way out of the park. The intricate layers over a simple melody, the epic feel, and of course the really cool use of breaks (befitting a longtime break-master like Squarepusher) make this track stand out over similar works. Also, 2015 is when I started my ongoing game project, flythrough.space, though I didn’t publicly post about it until 2019. I started the thing with babel so I could use ES6, but now browsers have caught up. How long is too long for a dream?

2016: Brainwaltzera – marzipan rhombus [birthday eDit]

Back in 2015, Aphex started posting a bunch of tracks on Soundcloud. Like crazy IDM dominoes, this brought people out of the woodwork to post there too, and that continued for a while afterward. One account that ended up getting posted on WATMM threads was one Brainwaltzera, and that’s where I heard this absolute gem of a track. It’s emotional and quiet and enigmatic without sacrificing the cool factor of a big fat synth line cutting right through the middle of it. 2016 was an exhausting year, and this was the perfect track to unwind to.

2017: Rognvald – R.O.G.N.V.A.L.D

I’ve been listening to Jungle/DnB since I was introduced to Pendulum back in the 00s, so this tickled my fancy. It’s got less of a modern Methlab type sensibility though, and more of an IDM sensibility. Plus it just jams really, really hard. It was a favorite for spinning at the gym back when I would walk all of the way from the Kew office in Cambridge on the river to Watertown. A few times I even walked all of the way home to Brookline. We took one last walk there, up down Beacon street, all the way from Cambridge, through Boston, to Brookline. It was bittersweet.

2018: The Sword – Deadly Nightshade

This one takes me back to making night trips from our apartment, carrying a wagon-full of stuff down to Millis when we left the city. I spun this in the car and even one time in a U-Haul Pickup which had bluetooth and a speed governor of some sort. Sabrina surprised me by driving us down to a concert by these guys without saying who was playing. They absolutely rocked it!

Bonus: 2018 is when I released Axe Factory, here’s my favorite track from that:

2019: Ruby My Dear – Babil (Alternate Take)

This is one of my most played tracks of 2019, and with good reason. After an ep of mostly spooky ambience and the occasional jump scare, this track takes you for a ride with its driving bass almost immediately. When selecting a track for 2019 though, I found myself asking “what did Analogical force release this year? Analogical force has been absolutely killing it with a string of releases in ’18, ’19, and now even one in ’20. The same can be said for Ruby, My Dear – top notch stuff on Altair and Basic as well as Phlgem. This track is heavy and dancable, but contains plenty of the fiddly little details that I love so much, so I’d call it my overall pick from RMD’s ’19 releases. Maybe the focus on labels and artists I already know is a sign that I’m becoming set in my ways, that I’ve narrowed my focus to variations on similar themes. I sure hope not. Happy new year!

* my first exposure was Flim as used by the WNPR show Where We Live. I probably watched CTD and Windowlicker when I googled that, but those didn’t make such a big impression. That would have been sometime in the early 00s, so out of scope for this article! I listened to WNPR quite a bit back then so it was deeply embedded in my head. I’m sad to hear that John Dankowski recently left the station.

Feedback for the JIRA team

I got JIRA’s automated customer satisfaction quiz today. I got carried away with my response, and I thought I’d share it. Out of seven, I called Jira’s “ease of use” 1. I’ve cleaned it up (slightly) slightly for wider viewing.

Jira’s fundamental flaw is its awkward user experience. It gives you enormous power to customize your workflow, but all in the form of discrete, non-uniform and definitely not orthogonal tools. Each customization tool needs to be discovered/found and learned separately – except for a few (very good!) shared notions like JQL you have to teach them to yourself from scratch. The mass-edit stories flow is a great example: it in no way relates to the rest of your interactions with the board, it’s just a bunch of menus. I mean seriously, you guys are one of the biggest names in Software Development right now. You’re making professional tools, but that does not mean they have to be a drag to use! Overall the interaction with each bit of Jira feels independently evolved rather than designed. I’m not saying that you should replace every flow, but as you add new ones (and you are adding new ones – Jira is totally different now from when I first used it in about 2015, and it’s much better!) try to have a uniformity so that knowledge of how to use one can transfer to the others.

Unlike, say, Grafana, where you can save, load, share, version-control and ask intelligent Stack Overflow questions about your graphs because they are actually saved in text form, Jira is entirely (as far as I can tell) UI driven and Database-backed. It’s very hard to google how to do things or find instructions because the things you’re looking for aren’t always labeled, or are very small text somewhere hiding in a menu. Having ‘source code’ for all customizable features (and I don’t mean writing extensions, I mean, for example, the configuration of our board or card layout!) even if it was reams and reams of gross XML, would be preferable to the current state of affairs. JIRA’s customization is its strong suit, but these customizations are difficult to share and communicate even with other teams within our organization, to say nothing of finding good tutorials.

At one point I was like “I want to make a new graph” so I go to the graphs page. No “new” button. I want to add a custom filter, so I go to the custom filters and didn’t find a new button. I’ll admit – I’m a total neanderthal when it comes to modern web UX. However, it seems to me that if you’d like to change or add a thing, the option to do it should be right next to the existing things. This principle applies to the backlog view, for example – if I want to create a story, I can click on the end of the backlog. Or inside a sprint. Or also the “+” icon which is inexplicably located in the navigation menu on the left. If you need a video to communicate how to use a thing on a computer, the thing isn’t easy enough. I would suggest that to broaden your reach, you should do most of your UX testing with people who haven’t become acclimated to Jira’s way of doing things. Jira is 100x more powerful than Trello, so why do I still see people using Trello? Because although you can’t customize Trello to do everything, everything it does do, it does fine.

Don’t just be Pivotal with more customization or Trello with more features. There should be a right way to accomplish things, the right way should be obvious, and it should be easy to communicate what the right way is to others, or apply that right way to other things. I’m counting on you fine folks.

Megadrive’s 199XAD: a return to form

We’ve now had synthwave for longer than the 80s actually lasted, so it’s fitting that MegaDrive’s latest release looks a bit further forward into the past. This won’t come as a surprise to anyone who has followed MegaDrive’s ascent into ever-denser industrial depravity, but the sound is a bit different this time around-lusher, brighter, and more of a mechanical edge.

Some tracks are specific callous to moments in ‘8X though-the abrupt drop from Operator into Gun Hag recalls the drop from Infiltration into Acid Spit (still one of the top five drops in Retrowave.) Unlike Acid Spit, though, Gun Hag keeps on delivering after the shock of the initial drop wears off-the melodic section really carries it’s weight here.

I could swear that H.exe is The Reducer but with more of a pluck sound and a more progressive beat.

The most 90s-flavored track has got to be SKULJammer, which hits hard with orchestra hit samples (think Mortal Kombat) over a blend of glassy pop synths and distorted beats. And like several other tracks, it challenges you to play “synth or guitar” as the heavy sounds come in.

Another callback is Crypt Diver, which has elements of Memory Dealer, but replaces the utter darkness of the latter with an almost chiptuney swagger, and a very cool glitchy breakdown at the end.

What stands out most is the way MegaDrive chooses to end each track. Rather than a period-accurate fade-out, here he opts more often for a twist ending, changing up the beat and making you listen all the way to the end every time, in a way that few dance tracks (most synthwave included) do.

FlyThrough.Space: Alpha Release

I’ve been sitting on this project for way too long. Doomed the project by not soliciting feedback early enough. Failed to heed the warnings of Agile. Kept coming up with reasons not to tell anyone about it, promising that I’d make it public after I added just one more feature. But I think there’s enough that people will be at least intrigued. Or annoyed. The point is that they’ll feel something. I’d be interested to hear any feedback on what’s there and which planned features you’d find most compelling or what would make you likelier to make a mod.

TL;DR: Code Here: http://github.com/eamonnmr/flythrough.space

Play Here: http://flythrough.space

Neat Features:

  • It’s written in Vanilla ES6, only depends on one library (the Babylonjs engine) which is included, so you can hack away on it to your heart’s content without setting up any sort of development environment. Just open up the files, edit them, and host them (locally)
  • 2.5d perspective in a full 3d engine with 2d sprites for planets and projectiles, and a 2d overlay on top.
  • EV/Endless-Sky-esque with the ability to trade cargo, purchase a new ship, add weapons, and do battle in asteroids-style high-stakes space combat. Arrow keys to move, left control to shoot. The default weapon may run out of ammo though!
  • Visible weapons on ships. It’s a capability, even if I haven’t added bones to most of the ship models to take advantage of it. If done right I expect it will be super immersive.
  • Original, handcrafted (unfinished) universe to explore. For all of you fans of non-procedural-generated worlds.
  • Open architecture allowing for radical gameplay changes and a totally data-driven model.
  • Press ‘Escape’ to see the star map (bug: drag it around if it does not show up right away). Select a system, exit the map, and press ‘J’ to jump to that star system. You can only see explored systems and systems linked to them, which won’t be very many at first, but there’re lots out there to explore.
  • Press ‘L’ to select a nearby planet and ‘L’ again to land
  • press ‘`’ to select the nearest other ship
  • Select “open contracts” after landing for random cargo missions

Planned Features (don’t count your features before they ship):

  • More missions/storylines.
  • Save and restore game. I’ve got it set up to save and load from local storage, just need a menu to select your save. I didn’t set out to make a roguelike.
  • Secondary weapons. Right now when you pull the trigger, everything goes off at once. Also a prerequisite for stuff like carried ships.
  • Beam-based weapons. Need to add a beam collider to the collision system. Explored adding a real physics system but they’re mostly overkill for this type of game; writing a beam/circle collision system may change that. It would also let me implement anti-tunneling for projectiles (collide a line segment between the previous position and the current position.)
  • Decide what to do with ai leading. You can switch leading on and off with querystring ?ai_leading=basic which will make the AI try to lead its shots. But it uses a basic approximation so it still misses a lot.
  • Turrets. Getting the math, blender export/in-engine-use toolchain set up to make visible turrets on ships has proven frustrating. Some of the code is there but it would take a not insignificant amount of work to finish. Which is probably why I keep putting off…
  • Starfield. Will have to probably do this by hand with star sprites.
  • Nice ship models with textures! I’ve been cranking out kinda lousy models as programmer art (thinking that the final art will maybe have different constraints – visible turrets being a big one), but someday it would be cool to put some more effort into it. Hampered by the fact that I mostly work on this on a train so I don’t usually have room to use a mouse.
  • Sound. There isn’t any. I just haven’t gotten around to it, I can’t imagine it’ll be too hard to throw in there.
  • Escorts/Carried Ships. The AI and collision systems are set up for it, and some recent refactoring has probably opened the door to it. Just takes some doing.
  • Board/Plunder/Capture-this just needs some doing, but shouldn’t be a huge technical hurdle.
  • Demanding tribute/galactic conquest/planetary destruction – would require a bit of additional work, but not much. Unclear to me if this is a feature people really want.
  • Zoom in / out: Just needs the controls rigged up to do this, but it’d be kinda cool (right?)
  • The GUI could definitely look a lot nicer, and the code could probably be cleaner. I’m not a graphic designer.

I plan to keep hacking away on it at the slow-but-mostly-steady pace that you can see from the (lengthy) commit history. If you want to play a complete game now, this isn’t for you. But if you’ve always wanted to hack on an EV clone but the other ones where too intimidating or weren’t 3d enough, maybe this is your ticket. Will definitely check out any Pull Requests (or, for that matter, emailed diffs) that come my way, and I’ll try and do a walk-through of major interesting bits in the code in future blog posts. If you’re still reading this far down, you are the target audience! Let me know what features you would like to see most, what would make this project compelling for you to use/fork, or what utterly repulses you about it. I’m all ears.

Atomic PI emulation setup notes

I mostly game on PC, but at one point I set up a retropi for emulated console multiplayer. Mario Kart ran pretty well (sprites and all!) but BattleTanx wasn’t performing. That’s the N64 game that I probably played the most of, and it’s cracking good multiplayer, even at the 9FPS that the Pi could manage. That was sort of the experience I was after though, so I went looking for something a bit more powerful.

Enter Digital Loggers. There was a kickstarter for a board called the Atomic Pi. It’s about the size of two Raspberry Pis and has an Intel Atom processor rather than the Pi’s ARM core. It’s still smaller than any one of the various consoles I plan to emulate on it, which is a nice bonus.

For this setup I got the Atomic PI with the small breakout board that provides a (more or less) standard adapter plug. I’m using this power brick and this multi USB hub (because there is only one USB port on the board.) It comes with a soldered-in EPROM you can boot from and write an OS to, but OSs on the eprom are painfully slow so I would recommend installing your OS to a MicroSD card like you would with a RasPi. I’m using Lubuntu, and it’s performing pretty well considering the big screen it’s on, I’m sure your favorite lightweight distro will also do well. You’ll want something that ships with a desktop for emulation though

Back to Battletanx: To get it running in Mupen64Plus (which you can install with apt along with a barebones GUI for opening ROMs and managing settings) with Rice video you need only change the config in one way:

ScreenUpdateSetting = 7

There are some glitches (the button that makes the flame tank fire sideways and makes the FLP-E tank flip get stuck) but it’s mostly playable. And Mario Kart still runs great.

Best Episodes of Reply All

Reply All is an excellent podcast, but it can be hard to figure out what a given episode is going to be about, because the descriptions often have nothing to do with the episodes themselves. These are my favorite episodes and a quick take on each, which hopefully serve to explain what you’re getting into if you want to listen to them.

Boy In Photo

Perhaps the quintessential episode of Reply All, this investigates an internet community’s obsession, and bridges the gap between online shenanigans and real, meatspace people.

The Takeover

Classic hobby drama in podcast form. While just a story about someone’s facebook, it’s also a microcosm of human organization. This story represents a well-known failure mode for online communities. Behold the eternal September.

At World’s End

This episode features the illustrious DanC, which alone is enough to earn a place in this list. It’s also insight into the world of Flash games and what it was like to have a piece of yourself tied up in something that is both ephemeral and engaging. If you’ve ever tracked down something that you remembered from a long time ago, this will be a fascinating story for you.

The Case of the Phantom Caller

This one is about solving a telephonic mystery. The chase is as exciting as the reveal. If you’re interested in Phone Phreaking or enjoyed Exploding the Phone (or read any textfiles.com) then this will be an enjoyable episode. It also presses a bunch of ARG/Creepypasta/Internet Mystery buttons as well.

An Ad for the worst day of your life

A fairly deep exploration of internet Chum Boxes (the often disgusting ads that appear under articles) including where the content comes from.

The Man in the FBI hat

Reply All’s take on the BBS world, or: the story of an enigmatic ISP founder and the vast gulf between his double lives.

Long Distance and Long Distance, Part II

In this episode, the hosts go above and beyond to track down a phone scammer. Serious journalism is on display here. Not to give anything away, but I’m not exactly sure how they funded this endeavor, but I’m glad that they did.

Worldstar

Worldstar Hip Hop is an important site from the perspective of public freakout material, to the point where some freakout videos are punctuated by onlookers yelling “worldstar!” at the videographer. This episode touches on the cultural impact, but is mostly about the founder.

Friends and Blasphemers

A mini documentary about LiveJournal, how it was used in the early days, and how its usage changed with the years.

Ogrodzieniec Castle

 

Ogredzienic castle is a bit of a drive outside of Krakow. It’s quite the experience-you can walk around it and inside it and it’s a goddamned castle.

There are many huge limestone monoliths around the site, some incorporated into the keep and walls. We thought that this one looked like a dragon.

The phrase “The very living rock” comes to mind. The builders where taking advantage of the natural stone to its fullest potential here. The keep has the majestic profile of a ship’s prow.

Most exciting of all, perhaps, is being allowed inside. The view from the castle is awesome. Really hammers home how powerful you’d feel behind these walls in, say, the 1400s when it was first built.

The modern safety additions mean that anyone able to brave the height (and ascend several flights of stairs) can get up high into the keep. I think that they mostly replace the wooden elements of the castle that do not survive into the present day.

 

You get a pretty good view of the nearby town from up here. Again, I’ll leave constructing a panorama as an exercise to the reader.

Up another floor, and I again felt compelled to photograph the inside of the castle. With many of the intended walls missing, it takes on a sort of MC Escher quality with windows nobody can look through and doors to nowhere.

The view from the higher turret of the castle is breathtaking. Careful on the ladder up the last story though.

From up here, the limestone looks even more like a dragon, with a few brave trees at the top giving the impression of a spiny crown.

More monoliths in the southern corner of the wall give the impression of a gate house.

The light was perfect for the photos after we did a tour of the interior, I’m particularly proud of this next series.

View from behind the castle.

Cars of Zakopine

This was our view of the Tatras on the road to Zakopine from Krakow:

Not a car:

I promise we’ll get to the cars-though this is of the rail variety. It’s a funicular railway which takes you up the slope of the mountain called Gubałówka.

Ok, back to automobiles. Another Polski Fiat. I’m pretty sure this is the same one twice. How many gorgeous green Polski Fiats could be running around one town?

Our neighbor had a cool black 90s P80. That car has the coolest profile.

This one was on Morski Oko (which isn’t technically in Zakopine) but here you go: Sizuki Jimny. A very popular car that you never see in the US.

This one is actually from Zakopane. I can’t tell if that’s a Nissan badge or an Opel badge, though I’m sure I saw more Opels than Nissans. I wasn’t able to track down the model.

People in Zakopane seem to enjoy off-roading. I’d never noticed snorkels before, and I still see them around New England from time to time, but they where everywhere in Zakopine.

One last vehicle from the top of Morskie Oko.

LEGO Shop At Home Scans: 95-99

A while back, I was trying to find a specific Lego catalog that I’d looked at as a kid. However, when I tried to find the specific one I was looking for, I realized that very few of these catalogs from the 90s had been immortalized by the internet. However, many of them where on sale for reasonable prices (and Sabrina wanted a Scanner for old family Photos anyway) so I got to work.

? 1995

Holiday 1995

January 1996

Holiday 1996

Spring 1997

Summer 1997

Holiday 1997

January 1998

Spring 1998

Summer 1999

Fall 1999

The raw files are here on my archive.org account, if you find my (largely imagemagick-powered) PDFing of the files inadequate. If the PDFs appear small just zoom in, they’re about as high-res as they can be without creating artifacts on the screens I tried. I plan on also scanning the ones that I personally saved when I was a kid, and will post those here too.

And the specific catalog I was looking for? Turns out it was Holiday 1997. Twenty one years ago. The page I was looking for in particular turns out to be this one.