Hacker News new | ask | show | jobs
by pavlov 1380 days ago
Unlike most games of the era, Quake was designed to be portable. It's not tied to the PC / MS-DOS platform in the same way as many other cutting-edge games were. For example, there was a lot of x86 assembly used at the time, often just intermixed with C code with no clear boundaries to enable porting to a different architecture.

AFAIK, Quake was originally developed on NeXT boxes and ported to PC later. The level editor was a native app using the NeXTSTEP APIs which Apple renamed Cocoa:

https://quakewiki.org/wiki/QuakeEd

So, it's a fun kind of homecoming that it now runs on the wrist-sized NeXT box.

3 comments

Just for a fun comparison.

The original NeXT computer: 25MHz Motorola 68030 plus copro, 8MB RAM, 256MB storage, 300W power usage, $15k in 2021 dollars, weighed a lot

The Apple Watch Series 7: 1800MHz t8301 CPU (but scales up and down), 1GB RAM, 32GB storage, 50-100 mW (I think?), $399, weighs 35g or so

What a difference 33 years makes!

The watch has similar specs to the first MacBook Pro from 2006!
The watch is more powerful than the netbook I'm typing on right now.
I sometimes think we have an 'embarrassment of riches' today - more computing power than we know what to do with!
No, we know exactly what to do with it: run a bunch of Electron apps to use it all up.
If companies can produce software in half the time by doubling the CPU, RAM and disk usage, they will do it if they can get away with it.
It's always Electron apps come up when someone mentions that we have too many resources :)
I think that even Doom was developed on NeXT (the game, not just the level editor), the alpha came out for NeXT before DOS.
Except the little detail that there is very little NeXT on that wrist-sized box, other than Objective-C is still the main language.
...the OS should be quite similar too, assuming watchOS is anything like iOS and macOS, because macOS essentially is the present day incarantion of NextStep due to the NeXT-Apple reverse takeover ;)

...not very relevant for DOOM of course, because that's just plain C for the most part, but interesting little tidbit nonetheless.

Except plenty of stuff has changed since NeXT days.

Objective-C driver kit no longer exists, its C++ replacement is on its way out, being replaced by a userspace version.

The watch uses watchOS UI KIT, is isn't either UI Kit nor Cocoa, so three generations apart from NeXTSTEP UI framework, which is anyway being replaced by SwiftUI.

watchOS uses a customized version of bitcode as deployment format, which is now being transitioned to actual native code in upcoming versions.

Related to Doom, watchOS doesn't do OpenGL, or NIB files from Project Builder.

So almost nothing like NeXTSTEP.

For a brief moment NeXT was trying to spread Openstep far and wide. What a future everyone could have had, rather than those locked into the Mac ecosystem. Which is most in this country, actually, so same thing I guess.
Many Java haters have little idea that Java itself and JavaEE were heavily influenced by Sun working alongside NeXT in such attempts.

https://cs.gmu.edu/~sean/stuff/java-objc.html

https://en.m.wikipedia.org/wiki/Distributed_Objects_Everywhe...