John Carmack Answers 327
1. Inazuma asks:
I know that you and id are
doing simultaneous development of Q3 for
Windows, Mac and Linux. Which of those
is your favorite
OS to use, and which to program
for?
John Carmack
Answers:
I use WinNT, Win98, MacOS 8.x, and linux on a regular basis. I also spend
some time with MacOS X and irix.
There are individual pros and cons to each system, but if I had to choose only a single platform in its currently shipping state to work on for the next year, I would choose WinNT.
I'm going to risk my neck here and actually defend microsoft a bit:
There are plenty of reasons to have issues with MS, but to just make a blanket statement like "everything that comes from microsoft is crap" is just not rational. There are a lot of smart people at microsoft, and they sometimes produce some nice things. There are some damn useful features of MSDEV that I have not seen on any other platform - all the intellisense pop up information and edit-and-continue, for instance.
I chose NT as our development environment because, after evaluating all available platforms, I decided it was the best tool for the job. NT had the added advantage of running the native executables of our largest target market, but the important point is that it would have won on its own merits even without it.
It offered quality 3D acceleration on intergraph hardware, a stable platform, a good user environment, apps for basics like mail and document editing as well as high end media creation tools, and a good development environment.
I made that decision over three years ago, and I think it has proven to be the correct one. NT is definitely going to be the primary development platform for our next project, but I will be evaluating alternatives for a possible transition after that. The contenders will be linux and MacOS X. None of the other unix workstations would be competitive for our purposes, and I don't think BeOS will offer anything compelling enough (they can always prove me wrong?).
I haven't really been using Win2K, but from a cursory glance, it looks like a reasonable evolution over NT 4.0. The only real downsides to NT 4.0 for me are the bad sound latency and poor input fidelity, and these should be fixed in Win2K.
The current MacOS X server is a bit of a disappointment. I really enjoyed NEXTSTEP on a lot of levels, and if it had workstation quality 3D acceleration, I probably would have stayed there. Unfortunately, much of the development effort spent on it during its transformation to MacOS X seems to be steps sideways instead of forward. Macifying the user interface, porting to PPC, deprecating ObjC for java and C++, etc. They probably all had to be done, but it just hasn't brought anything new to the table. As a user environment, it still feels sluggish, and it still doesn't have 3D graphics.
Linux has progressed a lot in usability in the time since I made the last platform decision. Sure, the guts have always been good, but the user environments were very weak compared to windows or the mac. Some people may think six xterms and a few athena apps are all the UI that anyone should need, but I disagree. The Linux user environment still isn't as good as windows, but going from redhat 5.2 to redhat 6.0 was a whole lot more impressive than going from win95 to win98, or MacOS 7 to MacOS 8. If there is another jump like that, I wouldn't feel too bad inflicting another non-windows platform on everyone else in the company.
2. DanJose52
asks:
How'd you start, personally (I
mean on the inside, like emotionally and
morally), and how has Id software
changed you? for better
or worse?
John Carmack
Answers:
I knew I wanted to work with computers from a very early age, but there
were also a lot of other stereotypical geek aspects to my life growing up -
phreaking, hacking (nobody called it "cracking" back then), rockets, bombs,
and thermite (sometimes in not-so-smart combinations), sci-fi, comic books,
D&D, arcades, etc.
I was sort of an amoral little jerk when I was young. I was arrogant about being smarter than other people, but unhappy that I wasn't able to spend all my time doing what I wanted. I spent a year in a juvenile home for a first offence after an evaluation by a psychologist went very badly.
I went to a couple semesters of classes at the University of Missouri (UMKC), taking nothing but CS classes, but it just didn't seem all that worthwhile. In hindsight, I could have gotten more out of it than I did, but I hadn't acquired a really good attitude towards learning from all possible sources yet.
I dropped-out of college to start programming full time, but trying to do contract programming for the Apple II/IIGS post 1990 was not a good way to make money, and I only wound up with between $1k and $2k a month. Not having enough money is stressful, and I did some things I didn't want to. I wrote a numerology program for a couple hundred bucks one time...
Softdisk publishing finally convinced me to come down to Shreveport for an interview. I had been doing contract work for Jay Wilbur and Tom Hall, so I knew there were some pretty cool people there, but meeting John Romero and Lane Roath was what convinced me to take the job. Finally meeting a couple sharp programmers that did impressive things and had more experience than I did was great.
After I took the job at Softdisk, I was happy. I was programming, or reading about programming, or talking about programming, almost every waking hour. It turned out that a $27k salary was enough that I could buy all the books and pizza that I wanted, and I had nice enough computers at work that I didn't feel the need to own more myself (4mb 386-20!).
I learned a huge amount in a short period of time, and that was probably a turning point for my personality. I could still clearly remember my state of mind when I viewed other people as being ignorant about various things, but after basically doubling my programming skills in the space of six months, I realized how relative it all was. That has been reinforced several additional times over the seven years since then.
All the time from working at Softdisk, to founding Id and making the products we are know for has been pretty seamless for me. I have been learning as much as I can, working hard, and doing my best.
I know that most people won't believe it, but a 100x increase in income really didn't have that big of an impact on me as a person. It is certainly nice to be in a position where people can't exert any leverage on you, but it's definitely not the primary focus of my life. I get to drive a ferrari in to work, but my day to day life is almost exactly the same as it was eight years ago. I get up, go in to work, hopefully do some good stuff, then go home. I'm still happy.
3. by moonboy
asks:
I once read, in Wired, an
article that said you have an incredible
headstart on everyone else for making
"virtual worlds" on the Internet using your engine from
the Quake games. Do you have any
intention of doing this? Has anyone
approached you about it?
It would seem like a fantastic
use of the technology with online gaming
being so popular. Entire worlds online
could be created
virtually and very life-like
with many different purposes.
John Carmack
Answers:
Making Snow Crash into a reality feels like a sort of moral imperative to a
lot of programmers, but the efforts that have been made so far leave a lot
to be desired.
It is almost painful for me to watch some of the VRML initiatives. It just seems so obviously the wrong way to do something. All of this debating, committee forming, and spec writing, and in the end, there isn't anything to show for it. Make something really cool first, and worry about the spec after you are sure it's worth it!
I do think it is finally the right time for this to start happening for real. While a lot of people could envision the possibilities after seeing DOOM or Quake, it is really only now that we have general purpose hardware acceleration that things are actually flexible enough to be used as a creative medium without constantly being conscious of the technical limitations.
Two weeks ago, I pitched a proposal to develop some technology along these lines to the rest of the company. I may wind up working on some things like that in parallel with the next game project.
4. justin_saunders
asks:
Many people consider you to be
one of the best programmers in the
game/graphics scene, based on your
ability to keep pushing
the limits of current PC
hardware.
I was wondering what measures you use to gauge the skill of a programmer, and who, if anyone, you look up to and consider to be a "great" programmer.
John Carmack
Answers:
Like most things, it is difficult to come up with a single weighted sum of
the value of a programmer. I prefer to evaluate multiple axis independently.
Programming is really just the mundane aspect of expressing a solution to a problem. There are talents that are specifically related to actually coding, but the real issue is being able to grasp problems and devise solutions that are detailed enough to actually be coded.
Being able to clearly keep a lot of aspects of a complex system visualized is valuable.
Having a good feel for time and storage that is flexible enough to work over a range of ten orders of magnitude is valuable.
Experience is valuable.
Knowing the literature is valuable.
Being able to integrate methods and knowledge from different fields is valuable.
Being consistent is valuable.
Being creative is valuable.
Focus is extremely important. Being able to maintain focus for the length of a project gets harder and harder as schedules grow longer, but it is critical to doing great work. (Side note - every time "focus" is mentioned now, I think of Vernor Vinge's "A Deepness in the Sky", currently my favorite SF novel)
I certainly respect the abilities of my primary competitors. Back in the DOOM days, Ken Silverman was extremely impressive, and today Tim Sweeny is producing much of value.
5. ajs asks:
I read a sort-of-analysis that
you wrote way back comparing DirectX 3D
handling to Open GL (with Open GL being
far
preferable to you). Do you feel
that the tools that you and others will
need to create the next generation of games exist now under
Linux or other Open Source
operating systems, or is that still a
long way off? What would you recommend
that we developers and
developer wannabes dedicate our
time to?
John Carmack
Answers:
To develop a game, you need coding tools, pixel art tools, modeling and
texturing tools, sound tools, and usually music tools.
Coding tools are basically fine under linux, and there is already plenty of force behind their improvement.
Gimp looks serviceable for pixel editing, but I don't know of any professional game developers using it.
I assume there are some basic sound tools available, but I would be surprised if they are equal to the best windows or mac tools. That is probably the most approachable sector to work on improving.
Modeling and texturing tools are the biggest lack, but it is also the hardest to address. They really need to be built on top of solid 3D infrastructure, and that is still in its infancy right now. It would probably be possible to build a simple, focused modeling and texturing program that could get the job done, but full featured programs like MAX and maya have an immense amount of work invested in them. Maybe SGI will get maya ported to linux...
We are going to try to build our next level editor cross-platform, which will probably sort out a bunch of 3D content creation issues. I will be improving the matrox GLX driver as necessary to support the effort.
6. thebrit asks:
Is it possible ID may join Ion
Storm for a future project together , or
are the 'artistic' differences between
you too great ?
John Carmack
Answers:
Future technology licensing is certainly possible, but as for actually
working together, there is very little chance of that for a project that we considered important.
If I decided to spend a little discretionary time whipping up, say, a color gameboy port of Commander Keen (an idea I have sort of been toying with), then I might ask Tom and John if they wanted to make some levels for it.
7. Scott Francis[Mecham
asks:
Recently someone posted about
their experience in determining the file
structure of the Doom WADfile. How did
you feel when
people were discovering how to
modify Doom, from building new levels,
to changing the executable
itself(dhacked) originally
without any information from
id? In your opinion, is the modding
community a valuable place for creating
future game developers?
John Carmack
Answers:
The hacking that went on in wolfenstein was unexpected, but based on that,
DOOM was designed from the beginning to be modified by the user community.
The hacking that went on with the leaked alpha version was obviously not approved of, but after the official release I did start getting some specs and code out. I had sent some things out early on to a couple of the people that had done tools for wolfenstein, but in the end it was pretty much a completely different set of people that did the major work with DOOM.
The original source I released for the bsp tool was in objective-C, which wasn't the most helpful thing in the world, but it didn't take long for people to produce different tools.
Dhacked was a bit of a surprise to me, and I always looked at it as something that maybe shouldn't have been done. I'm not very fond of binary editing an executable. It clearly showed that people were interested in more control, so it probably argued for the greater freedom given with quake.
I still remember the first time I saw the original Star Wars DOOM mod. Seeing how someone had put the death star into our game felt so amazingly cool. I was so proud of what had been made possible, and I was completely sure that making games that could serve as a canvas for other people to work on was a valid direction.
A doom/quake add-on has become almost an industry standard resume component, which I think is a Very Good Thing. The best way to sell yourself is to show what you have produced, rather than tell people what you know, what you want to do, or what degrees you have.
In the modern gaming era, it is very difficult for a single person to produce a complete looking demonstration game from scratch. It does happen, but a much more reasonable scenario is to do an add-on that showcases your particular talents, whether they are in coding, design, or media. You want to be able to go to your prospective employer and say "There is a community of ten thousand people actively playing a mod that I wrote in my spare time. Give me a job and I will be able to devote all of my energy to gaming, and produce something vastly superior."
8. jflynn asks:
Many people think that the
extreme sucessfulness and longevity of
DOOM and Quake was partly due to the
internet communities
that sprung up around them, to
discuss playing them and write new
levels for them.
How important do you feel a viable gaming community is to the success of a new game today?
John Carmack
Answers:
I have always been a strong proponent of supporting the gaming community,
but arguments can be made that it isn't that important for success.
Most entertainment media is designed to be throw-away, where people buy something, have a good time with it, and move on. Myst, the most successful computer game of all time, has no community.
A lot of companies would prefer to look at their games like movie releases. Every couple years, you go see the latest by a director you like, then don't think about it too much until the next one.
The game-as-a-lifestyle type of community that has sprung up around a few games is an interesting phenomenon. The plus side is that there is a lot of wonderfully creative things going on, and it does attract more attention over the years than any single media blitz.
The downside is that it breeds a lot of zealotry, which can be a bit ugly. I get some fairly hateful email from people that are too wrapped up in it and disagree with some direction I am taking.
At this point, I think it is clear that the community has been a positive thing. I was very pleased when, earlier this year, Kevin Cloud came around and agreed that the community has indeed been good for us. For years, it felt like I was just being humored by the other owners at id when I pushed for all the code releases.
9. mpav asks:
This is a break from the usual
questions from this group, but I thought
it would be interesting to know.. You
have a couple of exotic
sports cars, one being a 1000
horsepower/750 ft-lbs of torque
(insane!) ferrari, and I was wondering
which one you generally
drive to work?
John Carmack
Answers:
I drive my twin-turbo F50 almost all of the time. It took a while to get
all the bugs sorted out, but it is almost a perfect combination right now.
It is light, nimble, and responsive, and 600 hp at the rear wheels is just
about perfect for a street car of that configuration.
I only drive my testarossa now when I am low on gas in the F50 or if I need to drive someplace where I think the extra inch or two of ground clearance is important. It is heavy and ponderous, but every time I do drive it, I am impressed again with the power. 1000 hp at the rear wheels is excessive. It takes a while to spin the turbos up to the full 24 psi of boost, but when it has a full head of steam going, it moves like nothing else on the road. It runs away from superbikes on the highway. However, when exercising it, you have a very clear sense that you are taking your life into your hands.
I will probably be getting rid of my TR when my next project car is completed. It is a custom carbon fiber bodied ferrari GTO with a one-of-a-kind billet aluminum twin turbo V12. It is going to make a bit more power than the TR, but only weigh about 2400 lbs. I have a suspicion that we will wind up detuning the engine, because 1 hp / 2 lbs is probably quite a bit past excessive and into the just-plain-stupid realm.
It was supposed to be done two years ago -- mechanics are worse than programmers.
I also have a little MGB that I am theoretically working on myself, but I haven't had time to touch it in six months?
10. Hobbex
asks:
Though it unlikely that games
will ever be free (ala beer), since so
much effort goes into them from all
angles (not just code, but
also art, music, design etc),
but that does not necessarily preclude
open source game engines.
Admittedly (and I don't mean this as a slam against you) game engines today do suffer from many of the same problems that Open Source activists attack in Operative systems and other software: bugs, instability and sometimes even bloat and vaporware.
Do you think that Open Source will play a part in the future of game development?
John Carmack
Answers:
I have spent a lot of time thinking about that.
I was trying hard to get an article together about game code licensing to go out with the interview questions, but I just didn't make it in time. I had written three pages of article and four pages of other stuff that I had ripped out because it was going off on various tangents.
First, it is interesting to examine how coding is similar or dissimilar to art, music, design, etc. Most GPL works don't have to face the issue, because the work is clearly dominated by code. A few little icons aren't enough to make people really think about it. The argument is significant for games, because coding is only about a third or less of the work in most cases. The arguments that RMS puts forth for the ethical rightness of free software also seem to apply to all digital media. If you take them seriously, the spirit of the GPL seems to want to say that all digital media should be free. That isn't a pragmatic battle to try and fight.
If you just focus on the code, I think there is indeed a viable business model for a line of titles based on open source code with proprietary data. It will take either a very small company, or a very gutsy big company to take the first step. The payoff won't be until the second product.
I think open source is at its best with games (and probably most other things) in a post-alpha model. Fixing, improving, and building upon an existing core is obviously extremely fruitful in an open source model.
Going open-source from development day one with a game probably doesn't make much sense. Design by committee doesn't work particularly well, and for something with as much popular appeal as games, the signal to noise ratio would probably be very low.
I tagged along at the beginning of a from-scratch open source gaming project (OGRE), and it more or less went how I feared it would - lots of discussion, no code.
While the mod communities may not be exactly OpenSource?, I think they work very well. There is some value in having focused areas to work in, rather than just having the entire thing dumped in your lap.
I am going to be releasing the majority of the code for Q3 soon, but there will still be proprietary bits that we reserve all rights to. We make a fairly good chunk of income from technology licensing, so it would take some damn good arguments to convince everyone that giving it all away would be a good idea.
Something that is often overlooked about Id is that Kevin and Adrian together own 60% of the company. They are artists, and most definitely do not "get" free software.
John Carmack
of course they apply to all media (Score:1)
Re:A call to arms for Apple (Score:1)
Also with their agreement with SGI, they have Open GL in their new system.
I think that they can only do this if they start pushing Objective-C into the main stream. I have not seen any recent Objecive-C books published by Apple. Admitly, they've been a little busy on the hardware side. But, now that they are getting their house in order, they should really start to get the word out on Objective-C (its in gcc/egcs). Once you use Objective-C, I have never seen anyone want to go back to C++ or Java.
NY AC
Re: Prometheus and the tool metaphor (Score:1)
Re:Sound tools? (Score:1)
Re Focus (Score:1)
No AC's again. (Score:2)
That's too bad, as there were some good ones.
Re:Hate to admit it, (Score:2)
Well, no, not really; NT4's DirectX support is not brilliant, and never will be. It's the quality of the developer tools that's so attractive. DevStudio is a bloody good piece of software for developing anything.
The most frustrating thing with NT is how installing one program seems to incur a 20% chance of breaking something
Linux is no more free of application interdependencies than NT is; this is something that can only get worse on Linux, IMO.
Kernel panics happen, too; crap hardware is still crap, even if it's running Linux; I've had my share of machine lockups (usually X-related) and kernel panics (usually SCSI-related). NT on the same hardware was rock-solid, BTW, because the drivers were that bit more mature. That's nothing to do with the OS.
Linux may or may not surpass NT in the future; BeOS might pip both of them, but what's important is the toolsets available and right now the big problem area for OSS development is native application support for file formats. IMO this is far more important than how big your uptime is.
If you're looking for an open source 3D engine.... (Score:2)
Here's a great list of 3d engines, some of which have source:
http://cg.cs.tu-berlin.de/~ki/engines.html
A good programming reference for your "How do I program Quake" questions is Michael Abrash's Black Book of Graphics Programming. It's a huge book which has a lot of cool stuff on BSP trees, Quake data structures, etc. at the back of the book. To be fair, it also has some outdated info on programming in DOS and assembly programming for outdated processors, but Abrash is one of those rare talents who can write and program extremely well. And he worked on Quake, so he knows what he's talking about.
jeff s.
It's not "Pro-NT", it's a Linux Bug Report. :) (Score:5)
The good Mr Carmack has just pointed out an area where Linux could be improved.
More importantly, he has just created the Mother Of All Opportunities for some hackers in search of some ego-boo. How'd you like to be the guy that wrote the game development environment that converted **Carmack**?!!
I expect we'll see a flurry of coding on this very problem, and NT will lose again.
Neat how this works, huh? The better our friends in Redmond do, the more they provide us with material to learn from. You cannot, in the long term, out-feature Open Source.
There's also... (Score:1)
Come Again (Score:2)
Okay, go find a mirror and look yourself in the eye. Now,say, "A computer is a tool, not a way of life or a religion" one hundred times. Repeat as needed.
What would be unethical in a case like this one would be for Carmack to not tell about his positive experiences using and developing with Windows NT. It would be unethical to sell your business on using Linux (or any OS) if you knew that there was a better option available that you can't stomach for purely philosophical reasons.
I notice a lot of people on /. recently who seem to think that Linux and OSS got to where it is today via either refusing to admit its faults or mindless advocacy. Sitting on your butt and yelling, "MS might be better, but they cheated and used buyouts and corporate sabotage to become so!" is a useless response. Refusing to admit your own weaknesses is a sure path to defeat. Victory, be it in war, software development or table tennis, comes from knowing your own strengths and weaknesses and being able to embrace them, to work on them.
Anyone being paid by a company to choose a platform for a specific task has a moral obligation to provide the best platform for that task. You need to accept that blind advocacy is not a Good Thing(tm).
Read my .sig for starters.
----
Hate to admit it, (Score:5)
It's usually easy for people in the OSS community to bash Windows because the people who make the decision to use it generally do so because they're uninformed sheep, following whatever PC Week told them. Overall, I think this ease of attacking leads us past some of the actual advantages of using NT. We sit here and back Gartner or ZD, moan about how much Bill pulls down, and all the time we are blind to those certain places where MS still "ownz" Linux.
But you can't really argue with what Carmack said, and even if you do you've got to have the creds to stand up to frickin' John Carmack (I can think of a half dozen names at best who'd even get that sort of time of day, and they better have a damn good arguement).
Overall, I give Linus and Carmack the most points for being the most grounded hackers out there; whenever they take a stand on an issue, you generally realize (either then or later on when all the pieces have fallen into place) that they were right -- I remember Carmack talking about lack of an easy-to-use email program under Linux a few months back, and he is (or was, this new KDE email program looks pretty hip) 100% right.
One last thing that's a little off-subject: Why do we have to put up with people posting comments like "Right on!" just so they can be in the top few comments? I'm not sure what can be done about it, but it's really starting to cheese me off. Maybe just saying out loud that they're morons in enough, but I'd really rather that people started posting more intelligent, though-out and well reasoned comments that at least demonstrate that they've read the article. Rant mode off, sorry.
----
Re:Relativity and Ferraris (Score:1)
Counterpoint (Score:1)
I would say this decision of Carmack's was courageous, gutsy, but not in the slightest ethical. He could have chosen to base the decision on ethical grounds, at which point endorsing Microsoft products may not have seemed like the winning move. Instead he decided to go with total pragmatism based on the current snapshot of the industry, and when it changes he'll re-evaluate. On the one hand I believe and respect that, on the other he has personally taken action to impede its changing- Carmack endorsing NT at the current moment _is_ valuable to MS, make no mistake, and that value and advantage will be spun and used as a weapon whether he meant it that way or not.
So it's not really about whether Carmack can identify the optimal platform for his needs at the moment- if that's all it was, then NT could always be that platform, thanks to MS sabotage and buyouts if necessary. The question is whether that alone is enough, and that's a personal question that everybody must answer for themselves.
I know that for myself, I've already thought about this question a lot (obviously, since I'm a Mac/LinuxPPC user), and my answer is that I'm ready to be inconvenienced in some ways in order to get other conveniences, and in order to feel like I have options in the industry. If I chose to endorse Microsoft products, that would mean that I had intentionally changed my mind and decided that it was best to encourage a situation where only one vendor won, and everything else was basically crushed, because that's what Microsoft does. Currently I'm not ready to 'endorse' that, and for me these concerns are inextricably bound up with the more pragmatic concerns: for this reason I was completely unmoved by Carmack's perspective. I'd considered that already, and it lost to 'broader social concerns' or however you want to phrase it.
I hope other slashdotters are able to take this in the proper context. There seems to be a sense of 'Carmack says NT, therefore everybody should use that until Linux is better', and I don't consider that a sensible position.
OK, I'm curious now (Score:2)
Re:Sound tools? (Score:4)
As for the _software_ specifically, again, look at Pro Tools. It's possible that you might go with a GIMP-like 'zillion add-ons' scenario, but there are certain things that must be there, and without them you're nowhere professionally but with them platform means nothing to a DAW:
As far as I know, there _are_ no other pixel editing tools that calculate in LAB (Luminance, A and B) color, so the GIMP can basically beat everything else, but this core design decision is limiting. A comparable digital audio opensource project would be well advised to overdesign from the start. On the bright side, there's nothing quite the same as the gamut problem in digital audio, so the main thing would be to calculate in a high enough bit depth and make sure there are never dropouts or error-corrections- given that, future amazing dithering algorithms could be done as plugins, and the project could rival or beat anything commercial
Re:Hate to admit it, (Score:1)
I'm not sure how to parse that. Are you saying that the only place where application interdependencies can get worse is Linux (as in, that NT is certain to improve in this area), or that linux is certain to get worse?
I'd hope the first to be true; Also, I'd hope that the second one wouldn't be. With GNOME/KDE and its ilk, however, I'm concerned that this second hope may be a bit less than certain (Modify the version of your gnome-core and all sorts of interesting things are liable to happen, I've found). On the other hand, NT's been due to improve its library versioning for quite a long time. Though I hear that Win2K will have significant improvements in this area, I'm not certain that it's quite what it should be (anyone better-informed care to comment?).
Btw, what SCSI hardware do you use? I've had no prolems whatsoever with my BusLogic/Mylex drivers.
Re:Hate to admit it, (Score:1)
(Arbitrary platform bigotry: As a UNIX type, I personally like knowing what library versions I have installed, and being able to install a 50K file, letting apt-get or rpmfind worry about the dependances as needed -- rather than having most install programs be 10MB).
Re:doh.. (Score:3)
Re:Open Source, RMS, digital media (Score:2)
I agree with Carmack, RMS's arguments naturally extend themselves to all other media. One can easily imagine RMS having gotten bent over not being allowed to record and distribute his own cover version of some song [jwz.org], instead of a printer driver.
If you believe in the philosophical underpinings of the GPL, then you believe that intellectual property is morally wrong.
I prefer a more pragmatic approach: intellectual property is a construct we invented for the betterment of society as a whole. Does it work? Which parts help more than they hurt? Which hurt more than they help? For example, I think the copyright system works pretty well, and (today's) patent system is a horrible botch.
Re:Hate to admit it, (Score:2)
And, it kind of makes sense, doesn't it, that with Microsoft's concern for things like DirectX on NT (Yes, I realize Quake uses OpenGL), that NT *would* make a good development platform for *games*?
Of course, many of us have to do other things with our machines (particularly servers) than gaming (bummer, eh?). In those cases, there are few areas where NT really excels, IMHO.
It does have a pretty decent interface (though not as good as OS/2's), but the inconsistency of its behavior makes it unsuitable for most server tasks, IMO. The most frustrating thing with NT is how installing one program seems to incur a 20% chance of breaking something, somewhere in the system. Example: a guy who installed SQL Server, and it broke his InterDev menus. Just weird stuff like that.
And, there is one thing that I know from having to maintain NT machines for the past 3 years: Blue Screens Happen. Not on every machine, but consistently on some. And situations like the horrific SP2 release make it hazardous to even install fixes.
I hope id continues to use NT, as long as it really is the best solution for them. But, I hope they keep looking at Linux, because it will surpass NT in even these areas in a few years.
--
Interested in XFMail? New XFMail home page [slappy.org]
Re:Hate to admit it, (Score:1)
Yes, I know, it is our custom apps.
But last time I ran NT4 (SP3) I had to reboot twice a week, with Linux, I still have to restart Netscape twice a week, but that is it. Not X, not other apps.
Re:Why Outlook is Good (Score:1)
BBDB should do what you want, I like it well enough.
Re:Hate to admit it, (Score:2)
Wonderful:
Edit and continue: quick recompile while the program is running, and keep running it. It doesn't always let you do this, and it has once (only once) given me an incorrect interim result, but most of the time it's terrific.
Information displays: at first these seemed a little annoying, but now I find it so convenient to know the parameter types for a function just by mousing over the name, tab-completion of variable/function names, and so on.
Navigation: easy to use the mouse, the keyboard, or a combination to get around. Maybe Unix/GNU tools is as easy to navigate if you're good at it, I never was.
The Awful:
Drive letters: Drive letters are an abomination, and they make it hard to do things like use a removable hard drive for the project on multiple machines.
MDI (Multiple Document Interface): while it seems handy for arranging things, you end up using small parts of even a big monitor. Something like CodeWarrior (at least on the Mac), with multiple sub-windows that can all be hidden at once, is a much better use of screen real estate. MSDev tries to act like this, with the ability to drag some of the sub-windows off the main one, but they are always in front of the edit window.
Compiling: if you interrupt its first-pass compile, you will have to restart from the beginning. You saw an error? Gotta wait until the first pass is done before fixing it.
Priority: As far as I can tell, there's no way to "nice" the compile. Furthermore, it seems to use honkin' great amounts of memory, so even if the compilation is set to lower priority through the task manager, things are still godawful slow. (And this with 128 megs.)
System hooks: I've tried several virtual Window managers, and MSDev's debugger will screw all of them up, presumably by hooking into the system in ways no normal app can. This doesn't happen to me with KDE.
Search: while kind of nice, the inability to do a multiple search or the equivalent of -v really limits it as a useful tool. The "whole word only" option is nice though, for finding instances of a variable.
I'm rather astounded, really, at just how bad all dev tools are. You would think that programmers would have spent more effort improving the tools they use. But I know of only one (proprietary) file differencing tool that will show word differences when two lines only differ by a small amount. And I know of none that will allow you to ignore certain differences, such as when a class name gets changed, or differences that are in comments/commented out. I know of no tools that allow you to replace every instance of a variable name with a new name (sed won't work with duplicate names in different scopes, etc.). Syntax color highlighting generally doesn't showed #if'ed out code in a different color. No tool allows you to replace all const references to a member variable with a const accessor. No compiler is smart enough to skip recompiling files that aren't affected by a particular header file change (for example, adding a new function prototype -- it's only an issue if the name is overloaded). No compiler allows you to "break" during compiling to see what #defines are defined at the point of a problem, or to see what header files are included (and from where). There's just so many things an IDE (including emacs/vi+gcc+xterms) could do to make the life of a programmer easier and more productive, but they don't. Maybe someday...
Re:NT/Linux for Game Development (Score:1)
RHIDE for DOS is wonderful, it's a TurboVision IDE for gcc/g++/gpc/gwhatever, and it makes a lot of sense to me due to all that programming I used to do in Turbo Pascal 7...
However, I still end up using pico a lot. Even a simple text editor is good enough for simple coding. I've tried Visual SlickEdit, and it tends to annoy me by attempting to do things for me that I don't want. I guess I could turn that off, but I'd rather just not use it.
Re:Wow, THAT musta hurt! (Score:2)
Nice comments on OS X (Score:1)
This guy is making a decision to standardize on a development platform. A leader of the game industry. This is BIG time here. And he's made some valid points about the future direction of OS X. Points I've heard made by many others. (esp. the Java vs. Obj-C argument).
One of the rumors currently circulating is that Apple is on the move, looking for a permanent CEO - Jobs will either go back to Pixar, or stay on as a consultant. Either way, I think Carmack's the man for the job, because as technical as he is, I think he's got his finger on the pulse of what's going to make or break the future of Mac OS.
"The number of suckers born each minute doubles every 18 months."
Re:No AC's again. (Score:1)
Although, I DO believe that for these interview threads, moderation should be done differently. A much wider moderation base should be selected (many more moderators), and more points given, and the highest rated suggested questions should be selected. Then all AC-whining would be moot. Questions would be selected on the basis of merit, not identity.
I still don't see why it would kill ya to just log in for this.
"The number of suckers born each minute doubles every 18 months."
Re:Hate to admit it, (Score:1)
The ideal answer should be "whatever suits them - hopefully I'll hit all platforms".
I hate to see his selection of NT as a development platform become justification for placing NT as the best GAMING platform. 'cause it just ain't.
"The number of suckers born each minute doubles every 18 months."
Re:Hate to admit it, (Score:1)
While, in some cases, bad fixes were bundled in with good fixes, it was a huge help in keeping systems up to date. However, Novell at least did it better than MICROS~1, because if Novell later found out that one patch was bad, you could easily disable it by editing the loading script (NCF), but in the case of NT service packs, you're stuck with the whole lump of sh1t if something isn't right, and there are HUGE numbers of patches in these NT service packs, even thousands, which makes the probability that you've hit some "fix a bug, make two more" code increase.
I don't think it's a marketing decision as much as a "simplify support" decision. Microsoft's whole gimmick is lower cost of ownership through cheap support (MCSEs). IMO, not a bad thing to aspire to, but at the expense of allowing a more experienced admin tweak a service pack to eliminate a bad fix, is not a good idea. Oh, there's a reason for that too though. Overly paranoid admins might only enable certain of the fixes they know they need, and leave the others out. When this admin has a problem and calls support, there is an extraordinary burden on the support person, because that's that many more variables to track when troubleshooting.
The only way to resolve that issue is thorough, thorough testing, and thorough thorough documentation, and, of course, open source code so people can tell what the hell your fixing, and how, and whether the fix was a polished and painted weld, or a crusty pussy used-bandaid.
Cold day in hell when any of that happens.
"The number of suckers born each minute doubles every 18 months."
Re:A call to arms for Apple (Score:1)
"The number of suckers born each minute doubles every 18 months."
Re:A question... (Score:1)
When you upgrade your machine for the next cool OS upgrade, you get the same lackluster crap performance you had before you shelled out $99 for the OS upgrade, and $200-$2000 for the hardware.
"The number of suckers born each minute doubles every 18 months."
Re:A question... (Score:1)
When you upgrade your machine for the next cool OS upgrade, you get the same lackluster crap performance you had before you shelled out $99 for the OS upgrade, and $200-$2000 for the hardware.
One thing I can say in Apple's favor - OS 8.1 was a great speed improvement over 8.0, 8.5 over 8.1, and 8.6 over 8.5. Though I think that was the result mainly of incrementally more native code, and some fixing of bugs in VM. I understand that they recently fixed some bug in AppleScript that resulted in like a 20x performance improvement over previous PPC versions. (8.5 time-frame?). At least for your $99, you get something from Apple.
"The number of suckers born each minute doubles every 18 months."
Re:Nice comments on OS X (Score:1)
I said it's one of the rumors that's circulating. It would make sense. Obviously, there are some loose cannons at Apple. It really looks like Steve Jobs had nothing to do with the order cancellations (though he may have been the reason the orders were taken in the first place - supposedly he announced the G4 earlier than Motorola had recommended - he had been warned).
- -
As for your other points about Carmack, you're probably right - but he did make some really good valid points, and that kind of thinking is what Apple needs right now, not this "Delay OS X so we can shoehorn Java in because Java's hip" garbage. yeah, I know, there are a LOT of other factors keeping OS X in the oven right now, but Java just should NOT be one of them.
Maybe I just want Carmack to "slap that Apple bitch around"
"The number of suckers born each minute doubles every 18 months."
Re:Hate to admit it, (Score:1)
So although I believe NT is a very unstable OS, if anyone says "NT crashes hourly" then they are either installing it incorrectly or have very bad hardware. That said, it seems if you do have a problem in NT it is much harder to fix the system than under linux, usually the only way to correct the problem is to reinstall NT.
BTW - I use Debian so that may have affected my opinion on how easy it is to fix problems in Linux.
(I hope that didn't sound too much like anti-microsoft fud.)
Re:How to build a stable NT system (Score:2)
It's not uncommon that I find incompatible libraries (especially in the early days of GTK/GDK). The transition to glibc was a painful one, and resulted in lots of broken apps. I've had more trouble in the past with Linux library incompatibilities than I've ever had with Windows DLL incompatibilities. Of course, since I started using RPM's exclusively and stopped compiling my own stuff when I didn't need to, those have largely been eliminated, since the RPM system keeps track of versions of things like that and knows when something needs to be upgraded and when not.
Second, using `mainstream hardware' isn't always feasible. Some PCs simply don't come with mainstream hardware, and you'll just have to live with it.
Oh, I agree, but if you're building an NT system, this needs to be a consideration. If you feel you need to cut corners, you do so at the potential expense of stability. Like I said, I'm mentioning this from the POV of a large corporate structure, where the resources exist to get lots of PC's with precisely the hardware we need.
BTW, a crashing module does _not_ crash the kernel.
Back when people were talking about the GPL and how Linus had made an exception re: the kernel that allowed vendors to supply binary-only kernel modules, I always heard one of the major arguments against this was the fact that, since there was no code/quality review of the modules, there was a good chance of inserting buggy code into the kernel and causing the system to crash. I've never personally had a module crash on me (but then I tend to stick with production kernels), but I was always told that the introduction of a buggy module meant the kernel could become unstable.
But if things work as you say they do, then I agree, this isn't so much of a problem. I guess I was misinformed. Though I do imagine that some of these binary/buggy modules could leave hardware in an unstable state, where simply re-loading the module won't bring the services back. Things like video cards and multimedia devices tend to be relatively tempermental like this.
Third, what's the point of a bugfix if you shouldn't install it?
The PC support folks treat service packs like any other new version of software. They wait until it can be thoroughally tested on reference machines and don't introduce instability (as has been the case on occasion). It's all about caution.
While it's important to have stable software, you should also keep in mind that the time spent recovering from a crashing program is much lower than that of a crashed machine.
In the "extreme" corporate setting like where I work, this isn't necessarily the case. A relatively small amount of testing and evaluation by a relatively select staff combined with the fact that all of our PC's are essentially homogenous when it comes to brands and type of hardware lets us do this rather effectively, since we have a lot of employees under this umbrella.
Re:How to build a stable NT system (Score:2)
This is very true. I think the practice of applications shipping with their own hacked up versions of pretty standard DLL's is a horrible practice.
I rather like the method RPM uses, by versioning everything and using a list of dependencies to discover when something can/can't be installed or removed. Very effective, but potentially cumbersome for use in Windows where installations are typically pointy-clicky.
Mainly I was just pointing out that a poorly administered Linux system can be just as difficult as a poorly administered NT system. Fortunately for Linux, though, learning how to use the tools and how to run the system will get you ALL the way to stability (since you CAN prevent conflicts mentioned above), whereas the same under NT will only get you half-way there, since the applications themselves are responsible for the conflicts, and it's currently a pain in the ass for any administrator to track it down and repair it.
But the last NT machine I saw still needed reboots 4-5 times a day.
5 reboots a day, at, say, 5-10 minutes of lost time per reboot is 25-50 minutes/day of lost time. With a salary of $30k, that's upwards of $12/day in lost revenue, or about $4400/year. You'd think this would cover the cost of "more mainstream" hardware and perhaps, depending on the number of machines, the salary of an extra PC support guy specifically to test the reliability of software and fixes, yes?
How to build a stable NT system (Score:5)
You might at first think this is horribly inefficient and a sucky way to manage (or let others manage) their systems, but it does have one tremendous payoff:
Our NT systems are collectively as stable as any Windows-based PC I've ever seen. I am forced to reboot my PC on average once every month, sometimes longer. Usually this is due to a memory leak of some kind (source unknown) where I start getting messages about insufficient resources.
People constantly bitch and moan about daily reboots (it's frequent that they're exaggarating, but that's beside the point), but if you manage your system cautiously, things like this don't happen.
This isn't entirely the best way to look at things. Sure, the kernel is A-OK, but is your WORK ENVIRONMENT the same? If you tickle a bug that brings your KDE/Gnome desktop down, is this really all that different from a Win* crash? You've still lost your GUI applications' data. In all fairness, though, if a large application dies under NT, there's a pretty decent chance you're about to experience some more evilness from NT, whereas under Linux, if a non-critical application dies, you're usually pretty safe. This may change for the worst, though, as we start seeing more "core" applications running providing services to other user applications. If there's a bug in the core or a bug in an application that the core doesn't know how to handle, it could just as easily bring your environment down.
Re:To Serve (Score:1)
:)
Re:Maya (Score:1)
Re:High End Linux Modelling Tools (Score:1)
the real killer of os/2.... (Score:1)
for at least a year or two, the biggest criticisms i heard about os/2 was "it doesn't run doom!!!"
while this probably wasn't an issue for commercial settings, i imagine that hurt it as much as anything else as an alternative on the home desktop....
Re:It's not Pro-NT, it's a Linux Bug Report. :) (Score:1)
Is it just me, or does that not sound like something we should really be bragging about?
Re:great (Score:1)
Re:Cool (Score:1)
Re:Interview with id CEO Todd Hollenshead up at.. (Score:1)
Re:WinNT!?! First angry, then understanding. (Score:1)
> no crashes" reputation that Linux has built for
> itself. Sometimes this is because
> of buggy servers or window managers, but more
> frequently it's because of driver problems. The
> common advice is "You can still recover. Just
> ssh in from another machine and skill the server
> processes." But what about the single machine
> home user?
I disagree. For a project of its size, X is a marvel of stability. I've been running it (under Linux) now for about 5.5 years and I've had *one* segfault from X in that time - *one*. Then again I've never had to deal with a poorly supported video card (ET4000, then S3 968, then Matrox G200 and now a G400). Are there any real troublesome drivers left? ATI is all well supported in 2D as is Matrox, and I'd imagine that covers 75% of the market right there.
Re:WinNT!?! First angry, then understanding. (Score:1)
The Blackbook isn't that good. (Score:1)
Re:Attributes of great programmers (Score:1)
A better example would have been Einstein working on his General Theory of Relativity. What did that take him, three years? That's an extreme example, but he had to spend nearly every day, all day, trying to solve that one problem.
Likewise, JC has to spend a year or so working on developing a game. And although there are many aspects--networking, 3D graphics, drivers--that he must work on, it's is similar enough to get boring real quick. But even debugging requires a level of ingenuity to do right, so it's a little more demanding than just not doing anything else
I guess what I'm saying that there are two kinds of focus--you're right--but that they are intertwined and inseperable too.
Sound tools? (Score:2)
Certainly, hacking on a sound tools sounds a lot easier than creating a Maya [sgi.com] clone.
Attributes of great programmers (Score:3)
I personally have never been able to maintain focus for long periods of time. Short is easy. I can study hard for finals and learn a lot in a short period of time, or read a textbook cover to cover, but a year seems impossible and a month is stretching it. And I don't know if it's possible to change.
The frustrating thing is that it's not a physical act that you can will yourself to do. I can push myself to run another mile, or swim another lap. But maintaining focus means being able to think clearly and imaginatively and all that (see, I'm already losing focus ;-).
Perhaps focus is like IQ, and can be improved upon but not conquered, although I certainly hope not.
Re:Hate to admit it, (Score:1)
1. Perhaps moderating down high controversiality would knock all these one- and two-sided holy wars comments off the 3+ score filter.
2. Or maybe high controversial comments should get an extra point if they have low score (say 2) and lose one if they're high? Controversiality probably indicates that the comment's final score is being influenced most strongly by how popular or unpopular is the oppinion expressed. This would push both back to the average score.
It's hard to tell what the effect would be... But Malda can conduct "experiments" on assigning different values according to where a comment is located on the two-dimensional score vs. controversiality map.
Re:Sound tools? (Score:1)
Certainly, hacking on sound tools sounds a lot easier than creating a Maya clone.
Probably, yes. :-)
But, Carmack may be talking about things like SoundForge, CoolEdit, Logic, Aural Illusion, Nuendo and the like. These are not insignificant. I'm not sure there's even a good "SoundTracker" type program (creator, not player) for Linux.
Re:Open Source, RMS, digital media (Score:2)
Musicians Against the Copyrighting Of Samples [icomm.ca].
Not the Buick V8 (Score:2)
Chris Wareham
Well Crap. (Score:2)
Carmack's Maturity (Score:4)
From reading the
He isn't just a great programmer, he's grown into one heck of a complete person. Congratulations to him...I hope he enjoys continued success.
Re:Open Source, RMS, digital media (Score:2)
Software is demonstratably improved by allowing users to modify it. Does anyone really think that would be the case with art, books, music etc. You can make a change to a piece of software that increases speed, stops a crash, add functionality etc, and there can usually be a reasonable concensus that it is an improvement. There are no similar hard and fast improvements that can be made to the other categories.
The argument that the cost of copying is zero so the cost should be zero applies, but with software there is a return to the author in the form of improved code, with creators of art, music, books etc, I strongly doubt most would consider any changes an improvement.
(Documentation and technical/reference manuals are probably an exception to this. They could profitably be made free.)
thejeff
Re:Open Source, RMS, digital media (Score:4)
GPL would be great for art, and here's why:
Copywrite creates a contradiction between the creative and economic activities of an artist. Furthermore, copywrite favors the rich artists who can afford the lawyers. And finally, in general artists don't make money from copywrite: galleries, museums, record companies, film studios, etc. make money from copywrite.
Most people think artists create something. Being an artist, I think it is more accurate to say that artists combine things in unusual ways. They take this experience and that, and then get you to see both experiences. This combination is a new experience in many senses of "new", but it is always composed of a number of "borrowed" elements, along with maybe a few truely "new" ideas. All creative individuals must build upon other peoples contributions -- thus the "fair use" clause in copywrite law, which states that certain types of quotations are legal (parody, etc.)
However, "fair use" is a legal term. Let us use Disney as a main example. If I made a painting using the image of Mickey Mouse in a comprimising situation, Disney would do everything they could to bury me under a stack of lawsuits. Doesn't matter if it is "fair use", because I've got to got to court. And that fact means that Disney has already won -- I'm not making any art, I'm writing legal documents and going into debt.
Finally, let's do a rundown on a few different kinds of artists, and see if they really make money from intellectual property:
Musicians: they have the greatest potential to make money off of IP. They make the software that runs our walkman, stereos, etc. But the record companies eat most of that income -- most smashingly successful musicians make 1-2 dollars off of each each cd they sell (i think). The solid income seems to be touring -- playing clubs, doing shows, traveling around. No digital media will replace the live show (and if it does, yer either smart like kraftwork or formulaic like NKOTB / Backstreet Boys).
Gallery Artists (Painters, Sculpters, etc.): They don't make a cent off of IP. They make their money selling products, physical works of art. IP only serves to hinder them, as in the Disney example above.
Internet/Digital Media Artists: Well, since a copy is made everytime you download the piece, I don't see how copywrite would apply... But seriously, most successful internet projects (Slashdot) are ongoing projects which provide a service to their readers. Doesn't matter if I copy slashdot's stories, cause its the threaded comments that make the difference.
There are many other unmentioned types of artists, but I'm sure there is a way for them to make their bread without depending on IP. Also, I know any commercial artist would be very protective of his/her IP, but I would expect the same from any software company. They would have to change their business plans, just like a software company would.
Basically, I don't think any form of IP rewards the creater. It always seems like a way of indenturing the creater to some capitalist who happens to have money.
Open Source, RMS, digital media (Score:3)
I'm particularly intrigued by Carmack's comments about open source game licensing, and his observation that RMS' comments on free (as in speech) software seem to apply equally to all digital media - art, music, sound effects, models, what-have-you. Personally, I don't think that's the case, because code has applications (no pun intended) that music and art don't, but I'm not sure I can articulate my point of view any better than that.
I'd like to hear what you guys think about it. (Particularly if you're RMS, for curiosity's sake. :) )
Wow, THAT musta hurt! (Score:2)
WOW, is it just me or did anyone else catch this slap in the face! Whew, definately still some bad blood there huh?
My little Carmack story... (Score:2)
In 1998 myself and a few other nutballs organised a Quake/Quake2 comp down here in Australia. It was quite large [for us
We emailed John telling him about the event, and asked for a novelty-type prize. We [being nerds] had envisaged a signed page of Quake2 code or so.
He was quite nice about the whole thing, and ended up sending us a blown piston from his Testarossa [I think.. it might've been the F50]. An expensive lump of metal with a gaping hole through it. I thought it was impressive
There were two of these, one went to us, and the other went to some event in Canada, I believe. While the piston no doubt meant nothing to John, it was a remarkably nice gesture on his behalf to ship it half way across the world to some goons in Australia.
Anyway. Thats my 2c Carmack story.
Re:great (Score:3)
The reason the unreal engine is chosen for these things is not so much its graphic superiority but more its superior flexibility. The unreal engine is highly customizable. From a software engineering perspective quake's customization capabilities are a bit clumsy. Clearly Carmack's talents are focused on the graphic side. I really hate the way you have to customize the game with the
Examples of cool unreal stuff: Unreal has some really cool scripting capabilities, a nice way of installing user mods & levels (basically fool proof), a nice way of varying game behavior (mutators are really cool). All these features make it easier to customize the unreal engine for other stuff than "point & shoot" style games.
Don't get me wrong, quake is great. Personally I prefer Quake II above Unreal since it has better gameplay. Unreal looks better though. I'm not sure about UT & Q3 yet. I played both of them a lot lately. I probably need better hardware to make a final decision (though UT is superior when it comes to visual quality).
Cars (Score:2)
So John's giving his car away in a Q3 contest this time too.. right??? hint hint nudge nudge (note: I'm trying to suggest he should.. the last one kicked ass) Maby thats what the Q3 arena is all about, its sposed to be a contect arena right?? so the whole point is to win john's car??? hehehe
id's Law (Score:3)
at least thats how it worked for me
Before id's FPS 386-16
Doom-486-25 => DoomII-486dx2-50 => Quake-p100(voodoo1) => QuakeII-p200 => Quake3-pII450(voodoo3)
Not that I'm compaining, JC should be getting kickbacks from every 3d card manufacturer for creating a market for them. Great interview. Anyone who can say NT is better, for game developement than linux, on
Relativity and Ferraris (Score:2)
Re:Hate to admit it, (Score:2)
The system I was thinking of would not fix the problem you speak of, it would simply give those who want to participate a way of doing it without having to write a quality essay on the subject.
Many times I've hit "reply" only to have nothing of real substance to say besides that I agree or disagree, hence I cancelled the post. It would be nice at times like those if I could still interact and give my opinion without clogging up the thread.
I too never really see first post or "right on" posts anymore, but I also never look.
An additional benefit to a mini-poll system would be that it would help the slashdot admins gauge what's popular and what's not with the GENERAL readers, not just those who are outspoken enough to comment on every article. It's a way for the silent masses to not be so silent anymore.
Just more random thoughts, carry on.
Re:John Carmack's Integrity (Score:2)
I am of the opinion that integrity of a person is not a locked constant set from birth. I think he, like many others in this industry of his age had a "rough" youth due to their interests. It's only recently that being geek was sheik
Now that he's older, wiser, richer, etc.
While I don't think the 6 months of programming made him come full circle, I do think it may have been what got him turning in the first place.
And yes, he does make seriously kick ass games!
Just like to say ... (Score:3)
I've been following the FPS/Action3D genre for many years now and Carmack is one of the only guys who has stayed consistent throughout. There are many egos and one-hit-wonders out there while Carmack just churns along producing unbelievable technology combined with an ultra-enjoyable gaming experience.
I honestly believe he is the biggest driving force behind PC games today, both directly and indirectly.
Thanks John.
Re:Hate to admit it, (Score:4)
Work that threshold baby!
If anyone who codes this stuff is reading this, maybe an option like Everything has where people can agree/disagree with the overall article without having to post "yeah, what he said!" or "this suck". Maybe each article should have its own mini-poll along with comments.
Something like:
What's your reaction to this article/feature:
A) This Rocks!
B) This Sucks!
C) It was interesting
D) ZZZZzzzzzz
E) Cheese.
Show a mini-poll results box up at the top so people can gauge some reactions without having to wade through each "This rocks!" post.
Just an idea, do with it what you wish.
Bring back NeXT! (Score:2)
Of all the 20 or so people I know who used NeXT, one of them is excited about OS X and is planning on developing for it. I don't understand where apple is going, what would have been wrong with supporting NeXT as a development platform, or even opening up parts of it to open source.
Oh yeah, that was rhapsody...I got the rhapsody developer kit in my email one day. I really can't decide if I'm more pissed at mac users that were just terrified by the thought of losing that stupid smiley face and their windowshades and their GODAWFUL memory management, and....(do I sound bitter?), or Apple for listening to them and watering down rhapsody into rhapsody II then watering it down to OS X.
Ethics and Morality (Score:2)
I find it fascinating that so many of the comments here have focused upon Carmack's ethics as a programmer. This is something that is difficult to maintain in a world that changes as quickly as ours does. Shortcuts and kludges are easy to do, and chances are they will frequently make our bosses happy. Standards, while they exist, sometimes get in the way more than they help.
But Carmack is a prime example of how to maintain the balance between ethics and slick code. Ethics in programming is not easily defined, but I think it goes hand-in-hand with the focus he spoke of. He is dedicated to making a superior game engine. And while Ayn Rand might say his motives are purely capitalistic, I'm not so sure this is the case. He just happened to make a crapload of money doing what he does, but that doesn't mean it's his motivation.
The ironic thing about it is that I doubt he plays Quake nearly as much as most people do. He doesn't seem to write good games because he enjoys playing them. He writes it because he simply likes to write good code.
Re:Hate to admit it, (Score:2)
Re:Open Source, RMS, digital media (Score:3)
There is a group of musicians following the Free Music Philosophy [ram.org], which is interesting. I will probably do something like that with my own music when I get enough good stuff together to make it worthwhile. (That may take a while. B-) )
Know Your Business vs. Know Your Job (Score:2)
> dominant company, but focussed on making his engine the best engine.
Carmack knows the difference between doing his business and doing his job. Consider the folks who ran the railroads 60 years ago - they saw their job as "building faster and better trains", but their business was "moving stuff from A to B". When someone came out with a better way to move cargo and people from A to B, they were bypassed completely and lost horrific sums of money.
Most technology firms, IMHO, are making the same mistake. The "portal" trend is a prime example of these kinds of mistakes - not "diversification", but "di-worse-ification".
Selling games is a job. Building technology is a business. By building the best engine he can, he ensures ongoing revenue from licensing, and keeps his firm in the running for the "if someone builds Snow Crash, or an immersive 3D environment to replace the desktop paradigm, it might run on our engine" prizes. The really kewl games are a wonderful bonus.
Contrast this with a lot of gaming firms whose idea is "to produce a hit game every year or so, we don't care if it's an ultra-wow-3D-thriller- with-gibs-flying-everywhere or another copy of Trivial Pursuit, in fact, we prefer Trivial Pursuit since it's cheaper to develop", and you'll see where the smart money is.
Making a hit game is fun, but it's hit-and-miss; it's only a job. Building a technology with broader application, and releasing really cool games (or licensing the technology) to showcase it, is a business. It's fun enough to be worth doing, and it also pays the bills that allow you to keep improving that technology, ad infinitum.
Far be it from me to speak for Carmack - but judging from the quality and consistency of his releases - he not only knows the difference between his business and his job, he's using that knowledge of the difference to make a difference. (And having a damn good time at it too!)
WinNT!?! First angry, then understanding. (Score:4)
1. X servers don't hold up the "solid as a rock, no crashes" reputation that Linux has built for itself. Sometimes this is because of buggy servers or window managers, but more frequently it's because of driver problems. The common advice is "You can still recover. Just ssh in from another machine and skill the server processes." But what about the single machine home user?
2. There are beautiful window managers, but most X apps are still butt-ugly and inconsistent.
3. The new wave of desktop environments, like KDE, seem to be bent on being "like Windows, only better," which makes one wonder why he or she just isn't using Windows in the first place. Bad Windows user interfaces, like the reliance on multi-level pop-up menus--are being duplicated, despite the cries of human interface designers and sites like The User Interface Hall of Shame.
4. XWindows is becoming reliant on a good drivers, but the general driver philosophy in the Windows world is "get something that will hold together until the next generation product comes along, then who cares?"
Somehow we need to rewind and re-gain the rock solid reputation.
Carmack's coments on development environments (Score:2)
I'd be interested to see what Carmack thinks of tools like VMware: does he see it as bing useful to have NT and Linux on the same machine? Would it make his life easier?
A call to arms for Apple (Score:2)
Re:Open Source, RMS, digital media (Score:2)
For example in the add-on levels written for DOOM it could be extremely useful to reuse texture art from the game with small modifications, to fit it to a corner, flip it, change it's color, or make it tile better in some direction.
In fact this was frowned upon and creating totally new textures was considered better. Similar things were going on with levels, sounds and music, plus a whole different controversy from using copyrighted sources like movies and TV for new level ideas, sounds, music, and textures.
I've always felt that ultimately it's id's right to decide what can be done and can't, but there are certainly issues aplenty with respect to being able to modify and reuse portions of the game other than code. It makes those with only smaller artistic talents able to have fun customizing their levels more completely, and widens the base of art available to the community. But it does violate copyright as things stand now.
One of the more disappointing things about the DOOM level community was that new art wasn't shared as much as might be expected. Many authors disallowed reuse. If they had gotten that act together there might have been a better basis for complaining that id wasn't sharing those too.
Re:See Id Run ... Go Id Go (Score:2)
But it did run doom! (Score:2)
Of course, you could always use "Dual Boot", which is pretty much what Win95 required you to do for all those old DOS games.
The real killer was that OS/2 never really got Win32 support.
Structure Editors. (Score:2)
The idea has been around for a long time (I first heard about it in 1987) and Stroustrup talks about it briefly near the end of The Design and Evolution of C++. Unfortunately, no such project has ever gotten off the ground. I'd dearly like to do something like this myself, but I don't have the time, alas...
Anyway, to the particulars of your comments, I agree mostly with your negatives, however, I thought I'd let you know one thing: If you use the mouse to grab a pane, and drag it to the editor window, you can make it into a floating window. (It takes practice as it will keep trying to stick to an edge.) If you then right click on it, you can make it go away, temporarily, by choosing "hide". Selecting from the view menu then brings it back.
Re:Structure Editors. (Score:2)
Re:Hate to admit it, (Score:2)
FYI: There is a SP6 that is due to be released pretty soon, now.
Re:Hate to admit it, (Score:2)
Nothing is more annoying then finding out about an upgrade just after you spent a ton of effort getting the last one to work.
That's what we're doing. I haven't upgraded to SP5 for exactly this reason. I'd rather wait for SP6, so that I can get all the Y2k upgrades at once.
Re:Hate to admit it, (Score:3)
I code for WinNT for a living, so I push it pretty hard. My box crashes maybe once every couple weeks. Now, that's not perfect, but given what I do to the thing daily, it isn't too bad, either. (Hell, I remember working in the old DOS days when a mere wild pointer could force a reboot.) Machines in our lab have little trouble running for months.
I used to code for OS/2, and that OS was slightly better than NT, but only slightly. I haven't worked full time on Linux yet, but my experience so far seems to be that it is also better, though not by any means perfect. I've crashed that box, too. (And yes, they were really XWindows crashes, but that doesn't really mean much when you are swearing at the screen!)
In my mind, all of this "Linux never crashes, NT crashes hourly" stuff hurts Linux far more than it helps. It hurts because anyone who has worked with NT much knows that that it is not true. Knowing this, one doubts anything these advocates say. The danger is that it isn't so easy to tell the good advocacy from the bad from the outside. The tendency is to ignore them all and discount any claim for the new OS. I saw that happen with OS/2, and IMO, that is one of the things that killed OS/2.
You are so right about the danger of "Service Packs", though. My personal opinion is that this is caused by the desire at Microsoft to tie everything together for marketting reasons. Very, very bad in an industry where modularity is important. With something the size of an OS, it is impossible to test all combinations, so you should be damn sure that all parts are discrete and modular. This is a great opening for Linux to succeed, but currently, Carmack is right. WinNT is a better platform for certain sorts of development.
Re:Counterpoint (Score:2)
You seem to be suggesting that everyone switch to a non-MS OS regardless of whether that is the best option for what they are doing. This is the highest degree of shortsided OS Religion. The man is using the OS as a TOOL, not as a lifestyle. If he said Hammer X is better for hitting big nails than Hammer Y, but hammer Y works better for small nails. Would you advocate he use hammer Y because it was non-MS, even though he was hammering big nails all the time? I hope not...
Kintanon
John Carmack's Integrity (Score:5)
But hearing his description of his youth, he clearly wasn't always this ethical.
I guess what I'm asking is, "To what extent is John Carmack's integrity a natural extension of born love for the 'best solution'? To what extent did he learn integrity?"
Incidently, I think that John's ethics are one of the two main reasons he's *universally* beloved by gamers (unlike John Romero). The reason is that Carmack makes really kick ass games.
-Ted
Re:Hate to admit it, (Score:2)
Re:and... (Score:2)
Focus (Score:3)
I wouldn't be at all surprised to see a Quake engine be the basis of the first successful virtual reality engine. I think Carmack's legacy will not be the games, but something altogether more impressive.
Re:A Role-model... but is it really a change? (Score:3)
This is a popular train of thought in this discussion and I figured I would address it. Everyone seems to be surprised when they find out brilliant people were 'not good kids', despite the fact that it seems to be a frequent occurance. Maybe this says something about societies view of good kids.
The things John did as a child that make him 'bad' seemed to have been his expressing himself as 'different'. Its tough to be a freethinker as an adult, imagine how much more difficult it is to be one as a child.
The point is;
If you look at John becoming a mature and well adjusted adult as him 'changing' you might be barking up the wrong tree here. The things he does now (thinking out of the box, and forming his own opinions on virtual every aspect of his life, as well as questioning anything put forth to him), those types of things, while hallmarks of a brilliant mind, are not valued at all in children. These same children aren't having things explained to them as much as they just being told what to do.
Its not all a fault of the parents (or authority figure) as allot of what parents pass on to their kids they can't explain themselves.
Given the fact that they are expected to just swallow everything as truth, It's a small wonder that brilliant children rebell against parents, school, and the community.
Think about that the next time you tell your child 'you have to because I said so..'
Interview with id CEO Todd Hollenshead up at.. (Score:3)
James Puckett
The supabeast
Editor In Chief, The World Gamer's Front [tripod.com]
Myst has a community (Score:2)
Actually we do. It's not quite as big as quake's (/understatement), but it's there. It basically revolves around a web site called RivenGuild (www.rivenguild.com [rivenguild.com]), and especially the RivenLyst -- a mailing list devoted to "hardcore" M/R/D fans.
We actually have plenty to discuss -- Myst, Riven, the three Myst books, two soundtracks, lots of online fanfiction and art, the culture and language of the civilization invented as a backstory to myst and riven, stuff Cyan releases on 'secret' parts of their web page to humor us (information on upcoming products), and other random stuff.
-------------
The following sentence is true.
No good email program? (Score:2)
A question... (Score:2)
Windows forces everyone to get faster and more powerful hardware?
It is actually games, like iD's, that makes it so.
And why should only games be limited to use new hardware and not new "features" for Windows?
Sure, I don't want, or need, those bloated features... or Windows for that matter,
but someone obviously do.
Just curious.
I'm interested to see what you all have to say about this subject.
Art, Music and Design & GPL (Score:2)
But the spirit of GPL and even more the OSS is one of complicity and willing sharing of intellectual property, rather than just accepting the ability to rip off an original piece of work. And what's fascinating to me is that software and hardware, indeed most technology can be reverse engineered.
But how would one reverse engineer a song? Or a painting? Sure you can borrow/steal elements and style; you can sample bits from a song, or just sample the whole damn thing and rap over top of it. But have you actually accomplished the same overall effect that you'd have by reverse engineering Photoshop? I don't think so.
And so the other 2/3s of the iD packages that Carmack refers to really is vitally important to the outcome of DOOM, Quake, etc. and the impact that it has on the player. So allowing users to access those parts of code that control the artistic look and the sound of the game does not put iD in a weakened position, since those aspects can only be carried off by someone (i.e. artists and composers) who knows what they're doing through experience, talent, or both. Anything else would simply come off as cheap and tawdry.
I think I'm rambling now and don't know if I'm even still on topic...I think I am...
Re:Attributes of great programmers (Score:2)
Re:John Carmack's Integrity (Score:3)