Technology

The 25th anniversary of the ISS operationally in orbit reminded me the ESA once challenged an Assassin's Creed and Far Cry dev to get DOOM running on a satellite

When the original Doom launched over 30 years ago, you needed a pretty beefy PC to run it well. Fast forward three decades, and Id Software's classic can be powered by a TI-84 calculator (with 100 lbs of potatoes), a USB charging station, and even an Apple Lightning dongle. Beating them all for sheer out-of-this-world coolness, though, is Doom on a satellite, orbiting the Earth. Well, it was. The European Space Agency (ESA) deorbited its OPS-SAT device back in May 2024, but before it was turned into dust motes, Georges Labrèche (engineering manager at ESA) contacted Ólafur Waage, a Norwegian software engineer, to see if he fancied a little challenge. Waage is no random coder, though, as he's a highly experienced game developer, working for Massive Entertainment—makers of Far Cry 6, Assassin's Creed: Valhalla, and countless others. The challenge was simple on paper: port Doom to run on OPS-SAT. This satellite was an experiment by the ESA, which could be used by members of the public directly over the Internet. Essentially, if your access was approved, you could upload code to the little satellite (just 10 x 10 x 30 cm in size) and have it do stuff for science. Of course, there's nothing scientific about having Doom run on a satellite in space, but as a final hurrah for the highly successful project, you'd be hard-pressed to come up with something better. Waage freely admits to not being an expert on Doom ports, but it was a presentation he did on Doom on GitHub Actions that caught Labrèche's eye. Between the two of them, they were hard-pressed to get the whole thing to work in the first place, but not because the cubesat wasn't up to the task. The main platform of OPS-SAT was powered by a Critical Link MitySOM-5CSx, where SOM means 'system on module.' Within this module, there's a dual-core Arm Cortex A9 processor, an Altera Cyclone V FPGA, 1 GB of DDR3 RAM, and 8 GB of storage. That Arm CPU only ran at 800 MHz, and with no kind of GPU present, everything had to be software rendered, so at least it was an authentic, OG port. As basic as all that sounds, it's more than enough to run a port of Doom. However, they had an inspired idea: Use the camera on OPS-SAT to take an image of Earth and use that as the backdrop in Doom, instead of a block Martian landscape. The problem is that the image generated is high in resolution and uses far more colours than the 256 of Doom's built-in palette offers when running in software rendering mode. Cue lots of clever coding and computer science (can you tell I don't fully understand it?), and hey presto! Doom running on a satellite, while in space, and applying some neat shots of our planet in the background. And it wasn't one of those Doom-on-a-carrot projects that just use the carrot as a display: OPS-SAT was running a genuinely playable game. As it turns out, the whole process also accelerated the satellite's demise, as to get the required views of Earth, OPS-SAT needed to be oriented in such a way that its solar panels generated a bit too much drag in the thin wisps of Earth's atmosphere, even at its 500 km altitude. What a way to go out, right? OPS-SAT might be long gone, but it will always hold the record of being the first ever satellite to run Doom in space. The only problem now is how to top this. When are we going to see Doom running at the bottom of Challenger Deep, or Doom running in the volcanoes of Io? I guess if there's a processor at those places, anything is possible.

The 25th anniversary of the ISS operationally in orbit reminded me the ESA once challenged an Assassin's Creed and Far Cry dev to get DOOM running on a satellite

When the original Doom launched over 30 years ago, you needed a pretty beefy PC to run it well. Fast forward three decades, and Id Software's classic can be powered by a TI-84 calculator (with 100 lbs of potatoes), a USB charging station, and even an Apple Lightning dongle. Beating them all for sheer out-of-this-world coolness, though, is Doom on a satellite, orbiting the Earth.

Well, it was. The European Space Agency (ESA) deorbited its OPS-SAT device back in May 2024, but before it was turned into dust motes, Georges Labrèche (engineering manager at ESA) contacted Ólafur Waage, a Norwegian software engineer, to see if he fancied a little challenge. Waage is no random coder, though, as he's a highly experienced game developer, working for Massive Entertainment—makers of Far Cry 6, Assassin's Creed: Valhalla, and countless others.

The challenge was simple on paper: port Doom to run on OPS-SAT. This satellite was an experiment by the ESA, which could be used by members of the public directly over the Internet. Essentially, if your access was approved, you could upload code to the little satellite (just 10 x 10 x 30 cm in size) and have it do stuff for science.

Of course, there's nothing scientific about having Doom run on a satellite in space, but as a final hurrah for the highly successful project, you'd be hard-pressed to come up with something better. Waage freely admits to not being an expert on Doom ports, but it was a presentation he did on Doom on GitHub Actions that caught Labrèche's eye. Between the two of them, they were hard-pressed to get the whole thing to work in the first place, but not because the cubesat wasn't up to the task.

The main platform of OPS-SAT was powered by a Critical Link MitySOM-5CSx, where SOM means 'system on module.' Within this module, there's a dual-core Arm Cortex A9 processor, an Altera Cyclone V FPGA, 1 GB of DDR3 RAM, and 8 GB of storage. That Arm CPU only ran at 800 MHz, and with no kind of GPU present, everything had to be software rendered, so at least it was an authentic, OG port.

As basic as all that sounds, it's more than enough to run a port of Doom. However, they had an inspired idea: Use the camera on OPS-SAT to take an image of Earth and use that as the backdrop in Doom, instead of a block Martian landscape. The problem is that the image generated is high in resolution and uses far more colours than the 256 of Doom's built-in palette offers when running in software rendering mode.

Cue lots of clever coding and computer science (can you tell I don't fully understand it?), and hey presto! Doom running on a satellite, while in space, and applying some neat shots of our planet in the background. And it wasn't one of those Doom-on-a-carrot projects that just use the carrot as a display: OPS-SAT was running a genuinely playable game.

As it turns out, the whole process also accelerated the satellite's demise, as to get the required views of Earth, OPS-SAT needed to be oriented in such a way that its solar panels generated a bit too much drag in the thin wisps of Earth's atmosphere, even at its 500 km altitude.

What a way to go out, right?

OPS-SAT might be long gone, but it will always hold the record of being the first ever satellite to run Doom in space. The only problem now is how to top this. When are we going to see Doom running at the bottom of Challenger Deep, or Doom running in the volcanoes of Io? I guess if there's a processor at those places, anything is possible.

Related Articles