[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The OS wars and DOOM...
> Apps have migrated from Unix to the Mac and the PC before in the
> past. In the further past, this has included curses and
> other-types-of-text-control packages such as PC versions of Emacs
> and nethack and the like.
> Of course, this was not done with graphical programs; everyone
> knows that graphics isn't Unix's strong suit, and what it has is
> so different from the PC, etc., blah, blah,...
> Except that for the past two or three years, it's been WRONG.
> One of the hottest games on the PC, DOOM, was originally written
> in Nextstep (a Unix variant, and a ghetto even amidst the "ghetto"
> of Unix) and then ported to the PC.
Being a resident of the NeXTSTEP ghetto, please allow me to chime in. While
Doom is written on NeXTSTEP boxes, that's about all the game itself has in
common with it. The game is carefully written in strict ANSI-C and any
portions that must be OS specific are separate. They have a VGA emulator
that allows them to run Doom on non-DOS boxes. All of the platform
independance comes from the discipline of the developers (who are extremely
talented, IMHO). In contrast, Lotus Improv was NeXT native and had to be
completely rewritten over a period of at least 3 years to get it to work on
Windoze.
The primary reason Id software (and Trilobyte among others) uses NeXTSTEP
(over DOS or any other unix environment) is because it lets them write
in-house tools like map and monster editors really fast (and really slick
too!). On any other platform it would take much more time and effort to
write the tools and they probably wouldn't be as nice either. Since these
tools aren't being sold to customers, it doesn't matter that they only run on
a dead-end niche software platform that costs $1000 per user (and $5k per
developer!!).
This strategy makes sense for a commercial video game where there is the
opportunity to save major amounts of time and effort through the use of
custom tools (and the incentive of major amounts of cash if it is
successful). However, this strategy definitely doesn't make sense when you
are talking about a cypherpunk donating their spare time to write a freeware
(or copyleft) crypto app. Better would be to just write the app for the
target platform or write it using an environment that is designed to be
platform independant (like Java).
andrew
...able to work cypherpunks relevance into virtually any thread......and uses
Python instead of NeXTSTEP when writing stuff that needs to be
platform-independant...