It's that time of year again! Another clever clogs has got Doom running on a device that isn't designed to run Doom. But this one's a little different from the usual stories, where hobbyist coders jury-rig an ordinary object like a player piano, a pregnancy test, or a Lego brick to support id-Software's demon-blasting classic. In this instance, it's the European Space Agency who is responsible, having devised an experiment to get one of its satellites to 'play' the 1993 shooter.
As explained by 'Icelandic Nerd' Ólafur Waage (who also contributed to the project), the experiment involved the ESA's OPS-SAT satellite, which the agency describes as a "flying laboratory" roughly the size of a wheeled cabin-bag designed "with the sole purpose of testing and validating new techniques in mission control and on-board satellite systems." The crucial component involved is the satellite's "experimental computer", which is "ten times more powerful than any current ESA spacecraft".
As Waage explains, OPS-SAT is used for all manner of software related experiments, from playing the first in-orbit game of chess, to conducting the first stock market transaction performed in space. Getting Doom to run on the satellite was another one of these experimental firsts.
In theory, OPS-SAT is perfectly capable of running Doom, it has the required specs, and runs on what Waage describes as a "modern operating system". Instead, the primary obstacle was that the team had to "either use the libraries that already exist on the satellite, OR build them into the binaries that we were going to send up". They were also limited in when and how often they could use the satellite to run the experiment, due to lag and the position of the satellite above Earth, so they couldn't just send up the whole of Doom for OPS-SAT to run.
The solution was to send up a demo recording built on a version of Doom called ChocolateDoom, that the game engine could then play back (much like what you see when you load doom up).
Waage says he worked with the ESA's Machine Learning expert Georges Labrèche on the experiment "over the Christmas break", and got a successful run of demos on the satellite on December 28 last year. But they weren't happy with receiving just a text confirmation that the satellite had played Doom. They wanted a screenshot of the satellite actually playing the game.
This involved building a new version of Doom in a sourceport called doomgeneric, which let the scientists capture image data from the satellite while it ran the game in software rendering mode. As an added bonus, the ESA got OPS-SAT to take an image of the Earth at the same time as it took the screenshot, with the Earth then replacing Martian landscape in Doom's skybox.
You can 'watch' OPS-SAT's playthrough of Doom in Waage's video above, as the video running in the background are the demos that were run by the satellite (though not the specific runs from the satellite). Waage notes that, while this is the first time a satellite has played Doom, it may not be the first time Doom has been played in space, as it's possible an astronaut smuggled a copy of the game onto the ISS for a sneaky bout of Zero-G deathmatch. In any case the next step is clearly to run Doom on Mars itself. So if the Perseverance rover suddenly starts making the noise of an imp taking two barrels of buckshot to the chest, NASA will know who's to blame.