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?
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.
(imagine the lunar lander computer being an earbud ha)
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.
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.
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.
It's also a triumph of the previous generation of programmers to be able to make interesting games that took so little compute.
We've got a long way to go.
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.
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.)
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.
Filesize matters, especially to people with limited bandwidth and data caps. The increasing cost of SSDs only makes this situation more hardware constrained.
I wonder what his feelings are in this age of AI.
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).
But a very cool link, thanks for sharing! :)
No touch controls though, it just plays the intro loop
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?
Using them for distributed computation though? interesting use of free will xD
But, this probably makes more sense.
- 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.