Doom has been ported to an earbud
208 points
6 hours ago
| 19 comments
| doombuds.com
| HN
nehalem
3 hours ago
[-]
Whenever I see another supposedly menial device including enough general purpose hardware to run Doom, I wonder whether I should think of that as a triumph of software over hardware or an economic failure to build cheaper purpose-built hardware for things like sending audio over a radio.
reply
rogerrogerr
3 hours ago
[-]
Or a third option - an economic success that economies of scale have made massively capable hardware the cheapest option for many applications, despite being overkill.
reply
AlecSchueler
18 minutes ago
[-]
Or the fourth option, an environmental disaster all around
reply
cyberrock
2 hours ago
[-]
Also see: USB 3+ e-marker chips. I'm still waiting for a Doom port on those.
reply
tt24
1 hour ago
[-]
Incredible to see people try to spin the wild successes of market based economies as an economic failure.

Hardware is cheap and small enough that we can run doom on an earbud, and I’m supposed to think this is a bad thing?

reply
hashmap
1 hour ago
[-]
I can sort of see one angle for it, and the parent story kind of supports it. Bad software is a forcing function for good hardware - the worse that software has gotten in the past few decades the better hardware has had to get to support it. Such that if you actually tried like OP did, you can do some pretty crazy things on tiny hardware these days. Imagine what we could do on computers if they weren't so bottlenecked doing things they don't need to do.
reply
danielbln
3 hours ago
[-]
It's already very cheap to build though. We are able to pack a ton of processing into a tiny form factor for little money (comparatively, ignoring end-consumer margins etc.).

An earbud that does ANC, supports multiple different audio standard including low battery standby, is somewhat resistant to interference, can send and receive over many meters. That's awesome for the the price. That it has enough processing to run a 33 year old game.. well, that's just technological progression.

A single modern smartphone has more compute than all global conpute of 1980 combined.

reply
ck2
3 minutes ago
[-]
I need that in lunar-lander exponents

(imagine the lunar lander computer being an earbud ha)

reply
varjag
3 hours ago
[-]
Earbuds often have features like mic beam forming and noise cancellation which require a substantial degree of processing power. It's hardly unjustified compared to your Teams instance making fans spin or Home Assistant bringing down an RPi to its knees.
reply
nehalem
2 hours ago
[-]
No doubt, maybe should I have emphasised the "general" part of "general purpose" more. Not a hardware person myself, I wonder whether there would be purpose-built hardware that could do the same more cheaply – think F(P)GA.
reply
daft_pink
20 minutes ago
[-]
If you look at the bottom of the page, it’s an advertisement for someone looking for a job to show off his technical skill.
reply
ornornor
10 minutes ago
[-]
Okay? Is that good or bad or what?
reply
TrainedMonkey
3 hours ago
[-]
> CPU: Dual-core 300MHz ARM Cortex-M4F

It's absolute bonkers amount of hardware scaling that happened since Doom was released. Yes, this is a tremendous overkill here, but the crazy part here is that this fits into an earpiece.

reply
mlyle
49 minutes ago
[-]
This is the "little part" of what fits into an earpiece. Each of those cores is maybe 0.04 square millimeters of die on e.g. 28nm process. RAM takes some area, but that's dwarfed by the analog and power components and packaging. The marginal cost of the gates making up the processors is effectively zero.
reply
Telemakhos
2 hours ago
[-]
I remember playing Doom on a single-core 25MHz 486 laptop. It was, at the time, an amazing machine, hundreds of times more powerful than the flight computer that ran the Apollo space capsule, and now it is outclassed by an earbud.
reply
iberator
1 hour ago
[-]
Can we finally end this Apollo computer comparison forever? It was a real time computer NOT designed for speed but real time operations.1

Why don't you compare it to let's say pdp11, vax780/11 or Cray 1 supercomputer?

NASA used a lot of supercomputers here on earth pior to mission start.

reply
mlyle
39 minutes ago
[-]
These little ARM Cortex M4F that we're comparing to are designed for embedded, possibly hard-real-time operations. And dominant factors in experience on playback through earbuds are response time and jitter.

If the AGC could get a capsule to the moon doing hard real-time tasks (and spilling low priority tasks as necessary), a single STM32F405 with a Cortex M4F could do it better.

Actually, my team is going to fly a STM32F030 for minimal power management tasks-- but still hard real-time-- on a small satellite. Cortex-M0. It fits in 25 milliwatts vs 55W. We're clocked slow, but still exceed the throughput of the AGC by ~200-300x. Funnily enough, the amount of RAM is about the same as the AGC :D It's 70 cents in quantity, but we have to pay three whole dollars at quantity 1.

> NASA used a lot of supercomputers here on earth pior to mission start.

Fine, let's compare to the CDC 6600, the fastest computer of the late 60's. M4F @ 300MHz is a couple hundred single precision megaflops; CDC6600 was like 3 not-quite-double-precision megaflops. The hacky "double single precision" techniques have comparable precision-- figure that is probably about 10x slower on average, so each M4F could do about 20 CDC-6600 equivalent megaflops or is roughly 5-10x faster. The amount of RAM is about the same on this earbud.

Control flow, integer math, etc, being much faster than that.

Just a few more pennies gets you a microcontroller with a double precision FPU, like a Cortex-M7F, which at 300MHz is good for maybe 60 double precision megaflops-- compared to the 6600, 20x faster and more precision.

reply
tadfisher
47 minutes ago
[-]
And perhaps more fittingly, that PC couldn't decode and play an MP3 in real time.
reply
gpm
1 hour ago
[-]
Neither - it's a triumph of our ability to do increasing complex things in both software and hardware. An earbud should be able to make good use of the extra computing capacity, whether it is to run more sophisticated compression saving bandwidth, or for features like more sophisticated noise cancelling/microphone isolation algorithms. There are really very few devices that shouldn't be able to be better given more (free) compute.

It's also a triumph of the previous generation of programmers to be able to make interesting games that took so little compute.

reply
buildbot
1 hour ago
[-]
Plus there’s actually less waste, I would imagine, by using a generic, very efficiently mass produced, but way overkill part. vs. a one off or very specific, rare but perfectly matched part.
reply
echelon
1 hour ago
[-]
There are enough atoms in that earbud to replace all of the world's computers.

We've got a long way to go.

reply
mlyle
55 minutes ago
[-]
Marginal cost of a small microprocessor in an ASIC is nothing.

The RAM costs a little bit, but if you want to firmware update in a friendly way, etc, you need some RAM to stage the updates.

reply
notarobot123
53 minutes ago
[-]
It's intuitive to think of wasted compute capacity as correlating with a waste of material resources. Is this really the case though?
reply
mathgeek
11 minutes ago
[-]
Waste is subjective or, at best, hard to define. It's the classic "get rid of all the humans and nothing would be wasted" aphorism.
reply
__MatrixMan__
3 hours ago
[-]
If it can run Doom it can run malware.
reply
arin-s
6 hours ago
[-]
Hi, I ported DOOM to the Pinebuds Pro earbuds. It's accessible over the internet, so you can join the queue and play DOOM on my earbuds from your PC! More info as well as links to the github repos can be found on the site.
reply
shevy-java
2 hours ago
[-]
I am a bit said that it is always Doom.

Now ... I played the game when I was young. It was addictive. I don't think it was a good game but it was addictive. And somewhat simple.

So what is the problem then? Well ... games have gotten a lot bigger, often more complicated. Trying to port that to small platforms is close to impossible. This makes me sad. I think the industry, excluding indie tech/startups, totally lost the focus here. The games that are now en vogue, do not interest me at all. Sometimes they have interesting ideas - I liked little nightmares here - but they are huge and very different from the older games. And often much more boring too.

One of my favourite DOS games was master of orion 1 for instance. I could, despite its numerous flaws, play that again and again and again. Master of Orion 2 was not bad either, but it was nowhere near as addictive and the gameplay was also more convoluted and slower.

(Sometimes semi-new games are also ok such as Warcraft 3. I am not saying ALL new games are bad, but it seems as if games were kind of dumbed down to be more like a video to watch, with semi-few interactive elements as you watch it. That's IMO not really a game. And just XP grinding for the big bad wolf to scale to the next level, deal out more damage, as your HP grows ... that's not really playing either. That's just wasting your time.)

reply
RadiozRadioz
2 hours ago
[-]
It's Doom in part because it's a significantly popular game, that was open sourced, with low resource requirements (but not too low to be trivial), with an innovative custom engine that people find interesting, originally created by a person who many respect or admired growing up, and the game itself is cool. And now there is enough inertia to keep choosing it.
reply
m-p-3
2 hours ago
[-]
I wish there were more ports of Duke Nukem 3D :(
reply
Guvante
2 hours ago
[-]
Most people don't realize that games were small back then because they had to be.

The value of being small for most users almost doesn't exist. If you have bandwidth limits then yeah download size is important but most don't.

So the only meaningful change optimizations make is "will it run well enough" and "does it fit on my disk".

Put more plainly "if it works at all it doesn't matter" is how most consumers (probably correctly) treat performance optimizations/installation size.

The sacrifices you talk about were made at explicit request of consumers. Games have to be "long enough" and the difference between enough game loop and grinding is a taste thing. Games have to be "pretty" and for better or worse stylized takes effort and is a taste thing (see Wind Waker) while fancy high res lighting engines are generally recognized as good.

I will say though while being made by indies means they are optimized terribly the number of stylized short games is phenomenally high it can just be hard to find them.

Especially since it is difficult for an hour or two game to be as impactful as a similar length movie so they tend to not be brought up as frequently.

reply
bitmasher9
37 minutes ago
[-]
Storage space is at a premium. The PS5 has about 650gb of usable space. At ~100gb/game which is not uncommon you can store 6 games on the console without needing to free up hard drive space.

Filesize matters, especially to people with limited bandwidth and data caps. The increasing cost of SSDs only makes this situation more hardware constrained.

reply
dclowd9901
2 hours ago
[-]
Im with you. I want to play Freespace 2 on earbuds.
reply
catlifeonmars
15 minutes ago
[-]
As an aside, I really like the style of the page. I wish it was available as a classless css dropin stylesheet.
reply
7777777phil
4 hours ago
[-]
reply
WXLCKNO
1 hour ago
[-]
A few more years and some more ram on these earbuds and we'll be able to run some nice local earbud kubernetes clusters
reply
npsomaratna
3 hours ago
[-]
On a tangent: I remember reading John Carmak saying that as game engines became more complex, he had to relinquish the idea of writing all the (engine) code himself, and start to rely on other folks contributions as well (this was in an interview after the release of Doom 3).

I wonder what his feelings are in this age of AI.

reply
Insanity
3 hours ago
[-]
John is now on a mission to make AGI a reality. I’d say given his own investment there, he’s probably positive about it.

Just speculation on my part of course.

Also, “masters of doom” is such a good book. Recommend it for anyone who wants to peek behind the scenes of how Carmack, Romero, and iD software built Doom (and Wolf3D etc).

reply
nortlov
2 hours ago
[-]
Carmak made extensive use of AI during Doom development: Approximate Interpolation.
reply
KellyCriterion
3 hours ago
[-]
Im waiting for the post "Doom ported to disposable Vape chip" :-D
reply
primitivesuave
2 hours ago
[-]
The Puya PY32 series MCUs found in most vapes have 3kb of RAM and 24kb of ROM, whereas Doom requires at least 4MB of RAM. Assuming Moore's law also applies to the computing power inside a disposable vape, we should be seeing that post in around a decade :)
reply
DJBunnies
3 hours ago
[-]
reply
KellyCriterion
3 hours ago
[-]
Good catch! Though it misses my primary condition: "disposable" - ha! :-D (this one is a refillable one, and it looks like he is streaming the content from his PC?)

But a very cool link, thanks for sharing! :)

reply
branon
4 hours ago
[-]
How are the PineBuds Pro, anyone have them? The Pine64 IRC network doesn't have a channel for PineBuds discussion so I haven't had an easy opportunity to ask.
reply
arin-s
4 hours ago
[-]
To be honest, I've never actually used them for their intended purpose. No idea what the comfort or audio quality is like. There's a Pinebuds channel on the Pine64 discord, you can ask questions there :)
reply
utopiah
4 hours ago
[-]
Was using them just this morning. I've been using them since they are out. Great device but battery is quite limited, ~2hrs top with ANC on.
reply
TheCraiggers
4 hours ago
[-]
I'm also curious. I used to be a big supporter of Pine64 but the e-ink tablet and phone debacles have kinda soured me on them.
reply
arin-s
3 hours ago
[-]
The standalone viewer (connected directly to the earbuds) also works on mobile: https://files.catbox.moe/pdvphj.mp4

No touch controls though, it just plays the intro loop

reply
neurostimulant
2 hours ago
[-]
> Earbuds don't have displays, so the only way to transfer data to/from them is either via bluetooth, or the UART contact pads. Bluetooth is pretty slow, you'd be lucky to get a consistent 1mbps connection, UART is easily the better option.

Does this means you can run a doom instance on each bud? Is it viable to make a distributed app to use the computing power of both buds at once?

reply
arin-s
2 hours ago
[-]
This was a stretch goal, multiplayer. One earbuds versus the other. It's not that hard to implement but I've got a few other things to clear away first.

Using them for distributed computation though? interesting use of free will xD

reply
automatic6131
4 hours ago
[-]
Do we have Doom on a USB-C plug microcontroller yet?
reply
KellyCriterion
3 hours ago
[-]
Disposable Vape CPU!
reply
TheCraiggers
4 hours ago
[-]
At first I thought you found a way to control/view the game acoustically and I was very curious how that worked.

But, this probably makes more sense.

reply
moktonar
2 hours ago
[-]
We should definitely send a playable copy of doom to aliens on a golden record on the next Voyager mission
reply
listeria
1 hour ago
[-]
and risk having them interpret it as a declaration of war?
reply
anthk
35 minutes ago
[-]
It's possible to run Zork I-III Frotz under a pen, some FPGA and even interpreting a PostScript file. Even the Game Boy, the C64, MSX... So, Doom is not the most ported game ever.
reply
jurakis
6 hours ago
[-]
This is awesome! the amount of devices doom has not been run on shrinks by the day haha
reply
epenn
1 hour ago
[-]
In light of this I propose "Doom's Law" as the ultimate expression of late stage capitalism:

- Society continues to produce more and more powerful devices.

- More and more of these devices begin running Doom.

- When this reaches the saturation point, society becomes Doom.

reply
optimalsolver
2 hours ago
[-]
Relevant SMBC, "Computer scientist vs computer engineer": https://www.smbc-comics.com/comic/2011-02-17
reply
lombasihir
3 hours ago
[-]
can we run doom on water pump?
reply