Forgot your password?
typodupeerror
Quake First Person Shooters (Games)

John Carmack Answers 327

Posted by Hemos
from the his-grace-answers dept.
A few days past, we solicited questions from you folks to ask QuakeLaird John Carmack [?] . We sent the questions over to him, and he answered. A lot. It's definitely one of the best interviews we've had yet - click below to read more.

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

This discussion has been archived. No new comments can be posted.

John Carmack Answers

Comments Filter:
  • by Anonymous Coward
    Haven't you ever seen RMS complain that OReilly doesn't give their books away online? Anything that can be made digital-books, music, paintings- Stallman wants under his license.
  • by Anonymous Coward
    One reason OS X client is taking so long is the new graphics model. It will be very cool. Essentially they have ditched display post script (to get out of paying royalties to Adobe) and have moved to a display PDF-esque system. It will be very fast with native alpha chanels & other fun stuff.

    Also with their agreement with SGI, they have Open GL in their new system.

    ...and the ease-of-coding of NeXTSTEP.

    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

  • by Anonymous Coward
    I think I see what you're getting at. Code can be seen as a tool for creating other stuff. The same is not really true of paintings or music. Making your code open-source has a couple very significant consequences. Not only do you get a lot of help troubleshooting and refining your code, but you also enable others to use the tools you've created. It's sort of like being a latter-day Prometheus.
  • by Anonymous Coward
    Reality, Reaktor, Retro AS-1, SoundForge, T-Racks, and other professional packages.
  • by Anonymous Coward
    Actually that's not true. Try meditation. Shamatha in particular trains your focus. It's hard at first but eventually you develop a clear quiet mind that is able to just focus without effort and tension. Shamatha is taught in tibetan buddhism or shambhala training (http://www.shambhala.org/), but is not buddhism -- so you don't need to be converted or anything. It's just a technique they found useful to train their minds. Good luck!
  • by Anonymous Coward
    Oh that's nice, not a single AC question was submitted once again.

    That's too bad, as there were some good ones.
  • by Anonymous Coward
    it kind of makes sense ... that NT *would* make a good development platform for *games*?

    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.

  • Check out http://crystal.linuxgames.com

    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.
  • by Anonymous Coward on Friday October 15, 1999 @06:36AM (#1611553)
    While Linux kicks NT's behind on many, many things, it stands to reason that it - as a system still very much in development - that it can't beat NT in *everything* - yet.

    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.
  • ..Blender. Although right now it isn't as suitable for game development, since it can't export viable format or skeleton data, it's still a pleasure to use. Can always make 3D-rendered 2D graphics..
  • Say what?

    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.

    ----

  • by Skyshadow (508) on Friday October 15, 1999 @05:44AM (#1611556) Homepage
    As much as it galls the little open-source fanatic in me, it was really good to see someone at last come out with a very well-reasoned decision to use NT as a development platform.

    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.

    ----

  • My GMC Yukon is "heavy and ponderous", I'll take his TR any day!


  • It's perfectly valid to object to Windows NT on the basis of the consequences of such support. Taking a stance of complete moral neutrality and blindness is not necessarily wrong (you have to pick your fights, and leave some other ones alone for people who are more interested or committed), but I disagree that it is in any way ethical.
    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.
  • Feel free to moderate this down too if you want, but exactly why is the idea "total pragmatism does not define ethical, ethical is the consideration of broader social concerns", 'overrated'? I'm aware that's just a single moderator's opinion, but somebody must have felt very strongly about it to bother using a point on it. What is the deal and does that indicate a conscious decision to render social concerns irrelevant?
  • by Chris Johnson (580) on Friday October 15, 1999 @07:40AM (#1611560) Homepage Journal
    I don't know about Windows and would question whether there's much that really hits the professional level like certain Mac stuff, but on the Mac think Digidesign Pro Tools, which also implies specialised hardware. Ensoniq has a digital audio workstation package for several grand called Paris- as usual for this sort of thing, it comes with an outboard patchbay/mixing console. Expect to pay thousands for this stuff.
    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:
    • internal calculations at vastly higher bit depth than your output bit depth (which will be 16 or 24 bit- internal needs to be 32 or 64 or more)
    • seriously great dithering to translate the final output to the desired bit depth, otherwise the added depth is wasted
    • realtime. This is where the Mac shines, as you can starve the OS of cycles with trivial ease. To be professional there must _never_ be a dropout of even one sample in duration. To produce pro-quality DAW software, first work out how to make it realtime, even if you don't think it's necessary. You _have_ to treat it as necessary because eventually something will get tangled up and unless you have it running as realtime priority, able to starve _anything_ in the machine to play continuously, you'll get a hiccup- and have to do it over- at twenty thousand dollars an hour (not unreasonable for the total cost of having a superstar group in a really topflight recording studio).
    That said, there's no reason why Linux couldn't seize this market, given a suitable understanding of its requirements. However, it's important to not make the mistake the GIMP made- to the best of my knowledge, the GIMP calculates internally in RGB color. (If it calculates internally in 128-bit RGB color, downplay this critique, but gamut is still an issue). Its pro-tool competition, Photoshop, calculates internally in LAB color, which exceeds the gamut of RGB color, and this causes every single operation it offers to be done with a broader palette of colors (not necessarily higher resolution! But a broader gamut).
    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 :)
  • Linux is no more free of application interdependencies than NT is; this is something that can only get worse on Linux, IMO.

    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.

  • Terrably sorry to burst your bubble, but the app interdependances on Windows are every bit as bad in that respect (or, at least, not too far from it); I've an NT tool which creates a tree of such requirements, and for an average binary it's very far from pretty. The nice thing is that it's invisible, however -- you (an NT user, I assume) don't KNOW that these dependances exist, because all the updates are done behind your back. Makes for much bigger install files, of course... and the versioning thing IS sorely needed... but there's something to be said for it. Sort of.

    (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).
  • by MassacrE (763) on Friday October 15, 1999 @07:47AM (#1611563)
    yah, they've met, I don't know any details other than Carmack visited Transmeta and they talked about things like 3D on Linux (and things needed for the kernel)
  • It seems to me that the difference lies in the modification rather than distribution. What originally started RMS on the whole Free Software thing, was not being able to fix a program he needed to use.[...] This argument doesn't really apply other digital media.

    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.

  • Well, I think there are few serious people who would not concede that NT is good for *something*.

    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]

  • We run custom aps that talk to Sybase. Our users have to reboot multiple times a day, sometimes even once an hour. Ultimately, moving to web apps, or Linux would help a lot, because one app dieing would be far less likely to force a reboot, thus saving a fair bit of time.

    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.
  • Emacs/Xemacs running any of the mail programs with The Insidious Big Brother Database http://pw2.netcom.com/~simmonmt/bbdb/index.html get version 2.00.06 by the way. I use it with VM, I am moving to Gnus (news reader that does mail under X/Emacs) because it should handle large mail boxes better.

    BBDB should do what you want, I like it well enough.
  • Using MSDev under NT is a mix of wonderful and awful.

    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...
  • My favorite Linux IDE is probably RHIDE. It actually isn't *that* stable under Linux last I checked, but it looks just like an old Borland IDE, and that's what I like. :)

    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.
  • I didn't see it that way at all. Keen was the franchise that got id off the ground, and porting it to the GBC could be a fun sentimental project for the 'original team'. I imagine that level design was what Tom and John did the first time.
  • While, we gotta give OS X a break, it's v 1.0, I think a lot of folks at Apple should be listening to what Carmack is saying -

    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."
  • There IS a time and a place for AC posting - there IS a need for it. But I don't understand why a person needs to be Anonymous to post a valid, non-inflammatory question to Carmack.

    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."
  • I would also have liked him to say what he thinks is the best overall gaming platform - ie: what would he prefer his customers buy to play his games.

    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."
  • Speaking as a Tech Support professional, having started out in the Novell area - dealing with the patch dujour for SPX, CLIB, LOADER, etc. It was basically a full time job just keeping track of all the latest Netware patches for 3.11/3.12. And with 4.0, you then had to worry about DS patches, and patches to TSA and SMDR. Then 4.11 came out, and there were service packs.
    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."
  • I may drop the $500 for Apple Developer Connection just to get a shot at beta testing this thing. (I wouldn't have said that 6 months ago, but I didn't have vested stock options then. . . :)

    "The number of suckers born each minute doubles every 18 months."
  • When you upgrade your machine for the next cool game, you actually get something out of it, great new graphics effects, speed, fun.

    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."
  • When you upgrade your machine for the next cool game, you actually get something out of it, great new graphics effects, speed, fun.

    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."
  • "You're nuts. Jobs absolutely loves the position he's in now."

    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."
  • I believe that the anti-microsoft fud is largely grounded in fact. I work for a company that has WinNT, Solaris and Linux computers. Our WinNT servers that are in normal use seem to have to be rebooted at least once a week (I know this from the outage emails that go out). All the important services for my group have been converted over to our linux server, which has only crashed twice in 2 years due to an air conditioning problem (90F+ in server room). Also, even the Solaris machines have crashed but only rarely (not due to heat though they have a separate air unit). Win98 is worse than all the others combined. Before I reinstalled my machine IE was crashing my entire system several times a day.

    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.)
  • In Windows, you have dozens of things conflicting with each others (something you notice yourself), and make things terribly fragile. I have yet to see a single such conflict in Linux, after having used lots of different distributions on lots of different machines.

    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.
  • Second, in Linux, it's very uncommon to see programs installing their own libraries. This is quite common on NT.

    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? :)
  • by Fastolfe (1470) on Friday October 15, 1999 @08:03AM (#1611582)
    I work in a severe corporate environment, so much that we aren't even "allowed" to upgrade system components (like service packs) or device drivers on our NT systems.

    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.

    • Use mainstream hardware. Hardware that is popular and well-supported in the market will have the greatest chance of having bug-free device drivers under NT. It's usually the device drivers that cause blue-screens. This would be equivalent to using binary-only Linux modules. If these are the least bit buggy, your "stable" Linux kernel thus behaves buggy, and will crash.
    • Don't install experimental, unreviewed software or bug fixes. The reason our PC's are "managed" by the PC support people is that they are constantly reviewing released fixes and the latest versions of major pieces of software (such as Internet Explorer, Office, etc.) to ensure stability. If a product in its current form causes problems and conflicts, it is not permitted to be installed on the PC's. To this day IE's Active Desktop and even Outlook 98 are on this list. Of course, you're free to install these things if you like (I have IE5 and Outlook98 on my PC), but it's generally a Good Idea to trust your PC support folks. If they say a particular application is causing problems, it probably is.
    • If you don't have a PC support department of your own, just be cautious. Don't install a new release/version of an application immediately. Wait a few months to see what the reviews are like. Monitor the release of updates and bug fixes.
    Under Linux, people are under the misconception that things like buggy software don't matter as much, since the Linux Kernel stays afloat.

    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.
  • Err, the programmer does indeed return a value, a couple of days later. This value is eventually flushed, one should hope.

    :)
  • The full suite or just the renderer? The news around the renderer came out ages ago, what we need is the interactive tools.
  • Can't say I'm much of a Houdini guru, but for what we use them, Houdini rules for some kinds of effects, but you wouldn't want to do character animation on it, or at least I haven't heard of anybody who does. Of course, CA is not the be all and end all of a 3d package.




  • was probably the guy we just interviewed (and the rest of id software)

    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....
  • > Just remember Redmond, we'll always be one step behind!

    Is it just me, or does that not sound like something we should really be bragging about?
  • so when is all this biotechnology gonna be put to use for something worthwhile instead of just another release of the same insert-somewhere-moist game we've been playing since humans existed?
  • Yeah, Quake 3 is going to be nice (especially when XFree86 4.0 is released and it goes on my TNT2), but a reissue (Linux port? :) of Commander Keen... THAT I would fork over a big, big chunk of change for. I'd buy a color GameBoy in a heartbeat if there was a Commander Keen game available. God, I love that game.
  • Why was this moderated as flamebait? I could see not moderating it up, but moderating it down?
  • > 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?
    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.
  • That's odd. I use a Rage Pro here at work and it's never caused me any problems whatsoever, and I've had experience with other Mach64 chipsets as well...
  • Really, I don't have a huge amount of respect for Abrash or the book.. Yeah, its good he wrote it, its a decent reference, but Abrash himself isn't that much of an inspiration programmer.. Each chapter in the book starts off with a really stupid story or him saying how Carmack told him how to do this. I'm not impressed. :)
  • Judging by your examples of focusing (studying for exams or reading a text book), it may be that Carmack is discussing a different kind of focus.

    I think you mean the ability to be intense (clear and imaginative) for long periods of time. I would guess that he means the ability to follow through over long periods of time, including the drudge work.

    If I'm right, what you describe is too painful to do for months on end. Meanwhile, his is just saying you have to limit your curiosities in the near future to those that contribute to the project.

    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.

  • 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.
    I know diddly about sound, but I'm curious which are the best windows or mac tools that JC refers to? A quick search of freshmeat brought up tons of sound related stuff (too much--wish you could order by number of downloads), but ecasound [wakkanet.fi] looks impressive for the Linux side, although I'm sure it's missing a lot.

    Certainly, hacking on a sound tools sounds a lot easier than creating a Maya [sgi.com] clone.

  • by Chris Siegler (3170) on Friday October 15, 1999 @07:07AM (#1611596)

    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 agree with JC that focus is extremely important. But it also doesn't seem to be an acquired thing. People seem to have it or they don't.

    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.

  • Maybe rating comments both by how many points they have, bu also by how controversial they are?
    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.
  • 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.

  • There is a small movement among a few electronic musicians that has some parallels to the Open Source movement:

    Musicians Against the Copyrighting Of Samples [icomm.ca].

  • The Speed 12 is a monstrous V12 - hence the name. The Griffith and Chimera have the Buick based Rover V8, although to say it's been slightly modified is an understatement.

    Chris Wareham
  • It would've been nice to know a bit about his personal life(besides cars). I know several of us asked questions centering on that.

  • by Grenamier (12799) on Friday October 15, 1999 @06:59AM (#1611626)
    To me, one of Carmack's greatest traits is his maturity. I've been reading his plan updates for years, along with all the interviews and writings I can find, and I've never felt like he was being a punk, or using his immense talent as a proof of his opinions (e.g. "I'm the best game programmer there is, so I must be right"). He's a person who is willing to stand up in front of a crowd with a different view (I admire that he was willing to say on /. that NT serves his needs better than Linux...others might have tried to "please the crowd"). He can see value in things even when they're not useful for him, and he takes the time to decide properly how valuable something really is for him. I could honestly sit for hours talking about all things I respect about him, and how much he has impressed me with his focus and honesty, etc. but my fingers are tired and I'm starting to sound like I want to have his kid.. :)

    From reading the .plans of other game developers on PlanetQuake and *some* of the comments on places like Slashdot, I wish other technical people could look up to Carmack for more than just his programming skills...respect for that is certainly well-deserved, but there is so much more than that that people could learn from him.

    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.
  • It seems to me that the difference lies in the modification rather than distribution. What originally started RMS on the whole Free Software thing, was not being able to fix a program he needed to use.(A printer driver, I believe. And I know there are philosophical reasons. From accounts I've read this was the trigger) This argument doesn't really apply other digital media.

    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
  • by patSPLAT (14441) on Friday October 15, 1999 @10:22AM (#1611630) Homepage

    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.

  • by sammy baby (14909) on Friday October 15, 1999 @05:39AM (#1611635) Journal
    First off - wow. Great questions, great answers.
    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.

    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. :) )

  • 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.

    WOW, is it just me or did anyone else catch this slap in the face! Whew, definately still some bad blood there huh?
  • I've respected John Carmack for a while now. I've been a big fan of his games. I'm of the opinion that he has revolutionised the FPS genre. Sure, theres been notable games from other people [Half-Life albeit a Quake2 engine was kinda cool. Unreal was quite pretty. Unreal Tournament looks pretty nifty, etc] but it's been the Doom/Quake/Quake2's that have upped the ante.

    In 1998 myself and a few other nutballs organised a Quake/Quake2 comp down here in Australia. It was quite large [for us :)] at the time.

    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.
  • by jilles (20976) on Friday October 15, 1999 @06:52AM (#1611643) Homepage
    For that you will have to look at unreal instead of quake. The unreal engine has been licensed to a wide variety of companies who did all sorts of stuff with it. One of the things I read about a few months back was using it in a tool for architects.

    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 .pkx files. All of it seems so primitive.
    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).
  • I will probably be getting rid of my TR when my next project car is completed.

    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
  • by Wah (30840) on Friday October 15, 1999 @06:34AM (#1611657) Homepage Journal
    "You will feel the need to upgrade your machine every 2 years...simply to play id's latest game"

    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 /. and not get flamed to all hell is a special kind of coder. I was actually looking forward to this one. Good job /.
  • The best comment in this Q&A is when John described his TR as "heavy and ponderous". Amazing how driving an F50 every day can change your world view...
  • Good points.

    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.
  • I have to agree completely with your assessment of John's integrity.

    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 ... before that, at times it was truly tormenting. I'm not saying such a situation is an excuse to act out, I'm just saying there is a common connection. (Here that kids? Being picked on is NOT an excuse for not using your brain when making decisions!)

    Now that he's older, wiser, richer, etc. ... I think his perspective and surroundings have changed a great deal. No longer is he ostracized for doing what he loves, in fact he's highly paid and greatly respected for it. This sort of turn around in one's life can have a very big impact on that person's disposition and thought processes.

    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!
  • by |DaBuzz| (33869) on Friday October 15, 1999 @06:06AM (#1611662)
    ... that I've been a big id fan since I first saw my girlfriend's brother playing Wolf3D on a 286-16.

    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.
  • by |DaBuzz| (33869) on Friday October 15, 1999 @06:33AM (#1611663)
    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.

    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.
  • God, I feel him on being disappointed with OS X. The first code I ever compiled was objC. I've gotten used to it, but no other platform/os I've worked was as simple and elegant. The UI was beautiful.
    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.
  • 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.

  • I very much so agree. I used to use Windows 98 for all of my computing, and while it did crash, it was not near as often as some of the Linux zealots say. And I pushed it. I ran ton's of programs all at the same time, all kinds of stuff. And yes, when X-Windows crashes, I consider it a crash crash because then everything I want to do on the computer doesn't work, it's all X-Windows dependent. And I agree that the Linux zealots don't help at all, no matter how "great" they think they are helping Linux. When I was first hearing about Linux (at Slashdot), and getting interested in trying it out, I was REALLY turned off by all the Linux zealots screaming that all MS products suck for everyone and everything. I mean, how would you respond if I posted, "Linsux bites! Windows is so much better. Ditch your Torbald guy and to Bill Gates!", and all of your computing experiance had been Linux? Yea, I bet you'd really want to try NT I'm not saying that NT is better than Linux, hell, I like Linux more than Win98 now, but you don't persucute someone for using a different OS, especially if your trying to get them to switch.
  • One can easily imagine RMS having gotten bent over not being allowed to record and distribute his own cover version of some song, instead of a printer driver.
    While there are problems with the IP regulation of music (see what happened to OLGA [olga.net]) things are much worse with software.
    • You are allowed to play covers, and even copy existing recordings, if it's not a commercial endeavor. If you're making money at it, you have to give BMI or ASCAP their cut to pass along to the songwriter.
    • There's no practical way to prevent a song from being reverse-engineered.
    • No one sticks end-listener license agreements on audio CDs. ("You are prohibited from singing, humming, or whistling any tune, melody, or song contained therein. Your hearing of the music on this disk indicates your acceptance of the terms of this License.")
    • No one has tried to patent the twelve-bar blues. ("A method for the combination of audio tones to induce within the listener certain changes of mental and physical state, including but not limited to emotional changes, rhythmic body movements, and the Rockin' Pneumonia and the Boogie-Woogie Flu.")
    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?
    As a creator of software (at which I make my living) as well as songs, poems, essays, and stories (at which I might hope to make my living in the future), I pretty much want the same thing for all of my work: use and enjoyment of it by a significant audience, credit for it, and a cut of the money that anyone using it for profit makes. (I suppose that boils down to admiration, recognition, and respect.) So far as I'm concerned you can copy, perform, and redistribute my stuff all you want (helping me meet the first goal) so long as you credit me appropriately (the second goal) and give me an appropriate cut of any money you make from selling, copying, performing, redistributing, etcerta, my stuff (the third goal).

    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-) )

  • > He doesn't seem (like many other companies) to be focussed on making his company the
    > 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!)

  • by Junks Jerzey (54586) on Friday October 15, 1999 @06:27AM (#1611693)
    Hmmm...WinNT? I had a knee-jerk skeptical reaction, but his justification makes sense. Linus and team have done a brilliant job on the kernel. A text-mode Linux box is the system for serving up web pages or running such behind the scenes applications, and it's great for no-nonsense programming as well. But Linux hasn't remained the sparkly gem in the transition to being a graphical desktop environment. Little things have accreted to make Linux less than the dream it once seemed to be:

    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.

  • Thought provoking comments on the differences between the development envirnoments he has used, and it is nice to see that he thinks that Linux is getting there: the games development envirnoment is probably the furthest away from Linux's natural strengths.


    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?

  • Graphics acceleration isn't a primary focus of OS X Server, but it damned well better be at least a consideration when OS X itself ships next year. Apple needs to continue the (admittedly slight for now) momentum it's been building in the game community by pushing for better ATI drivers or working with companies like Nvidia or 3dfx to write drivers for their cards, and delivering on its promise of a system with the ease-of-use of a Mac and the ease-of-coding of NeXTSTEP. Hopefully John will revisit this issue when OS X is available--and hopefully he'll bend some ears at Apple to make sure they understand!


  • It's a nice theory but in practice wrong.

    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.
  • He's more like Wozniak. The guy who did the work and let other people worry about being flashy.
  • Actually, there was an OS/2 version of DOOM at one point. Unfortunately, the port wasn't all that great. It only ran in a little window.

    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.
  • Some of this could be accomplished by moving away from text editors, to "structure editors". The idea is that instead of editing the text, you edit the structure of the program directly. In other words, you are editing the symbol table/parse tree directly. So, for example, if you changed the name of a variable, all occurances of that variable would immediately change.

    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.
  • Though oddly enough, if you built a Flexible structure editor, you could actually modify the language syntax on the fly.
  • It is doubtful that we will even consider SP5 until Q2.

    FYI: There is a SP6 that is due to be released pretty soon, now.
  • I just figured he might not want to waste time dealing with SP5 if he could wait until SP6.

    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.
  • by ucblockhead (63650) on Friday October 15, 1999 @07:06AM (#1611716) Homepage Journal
    Well, it is nice to see some reality about NT around here. I've been somewhat annoyed at the some of the propaganda that seems to infect some Linux advocates. WinNT does not crash hourly. In fact, WinNT is a pretty stable OS.

    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.
  • 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.


    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
  • by Ted V (67691) on Friday October 15, 1999 @05:46AM (#1611720) Homepage
    I am consistantly amazed at John's integrity every time I read something he's written. It seems like everything he says, he's thought about and has a good reason for it. If he's not sure, he says so. He doesn't walk into problems with a preconceived notion of "the best" solution, as exemplified by his choice of NT as their platform for development.

    But hearing his description of his youth, he clearly wasn't always this ethical. :) Was it really the six months of real programming that turned him around? I'm curious how exactly he had a change of heart, because I know many many people who just balk whenever someone tries to teach them anything.

    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
  • Of course, it may be that many who will post "Right on!" comments just to be at the top of the list really want to see their names there at the top. I don't usually see first posts by Anonymous Coward (though more prolific slashdotters may see patterns I have not noticed). An anonymous voting system on the quality of the articles may be useful in and of itself, but I don't know that it would get anywhere near solving the actual problem of idiotic first posts. I thought that was what moderation was for...
  • That was the point I was trying to make. :) It's kind of a joke to call for accountability when you're nothing but a nick.
  • by scumdamn (82357) on Friday October 15, 1999 @06:01AM (#1611732)
    One thing about Carmack that impresses me most is how focussed he is. He doesn't seem (like many other companies) to be focussed on making his company the dominant company, but focussed on making his engine the best engine. If more top people at companies were focussed on that, the open source movement wouldn't be nearly as necessary as it is today.
    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.
  • by jidar (83795) on Friday October 15, 1999 @11:21AM (#1611735)
    "He was engaged in anarchistic activities when he was young (hacking, bombs, thermite etc). But he's bounced back from that, and made a success of his life."

    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..'


  • by supabeast! (84658) on Friday October 15, 1999 @05:19AM (#1611738)
    An interview with Todd Hollenshead, the id CEO was posted today at The World Gamer's Front [tripod.com]. Stop by and check it out now that you have read some words from the mouth of god.

    James Puckett
    The supabeast
    Editor In Chief, The World Gamer's Front [tripod.com]
  • "Myst, the most successful computer game of all time, has no community. "

    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.
  • I remember Carmack talking about lack of an easy-to-use email program under Linux a few months back, and he is ... 100% right.
    I think this is a feeling that comes from being used to a certain email program on another platform. Personally I can't stand bloatware like Outlook. I have used Netscape, Outlook, Eudora and a several others and by far the most efficient, productive email program for me is Pine! It's fast and light, never crashes, and most importantly it never gets in my way.
  • How come that when we talk about Windows someone always complains that
    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.



  • I would have liked to see John expand more on the similarities and differences between coding and art, music and design. It's something that, as a musician, I've been personally giving a great deal of though to. David Bowie has quite a few interesting things to say on this too, however, it seems that he leans more towards "the inevitable end of intellecual property as we know it." Which if it's the case, then so be it.

    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...

  • Focus can be improved greatly with meditation. Certainly, some people do not have the capacity for any focus, but they're usually the subject of a chemical imbalance.
  • by XaOsGoth (103156) on Friday October 15, 1999 @02:09PM (#1611777)
    I hope this doesn't sound like bragging, but I knew John during the days of thermite and D&D. He was my DM for those D&D games. (Incidentally, the best role-playing experience I've ever had, and that was around 10 years ago). When I knew John, his 'crime' days were already over. This was before Shreveport (although he did come back to town once with some S'port friends that he gamed with, for a game. I wish I remember who!) Anyway, I think that John is just damn smart and figured out that he didn't need to resort to illegal means to do the things that he wanted to do, and earn the money that he wanted to be able to earn. I think it actually comes to a well considered and strongly developed moral structure. He is NOT religious by any means, and has put thought to all of those philosophical questions without relying on a religous construct to do his thinking for him. A friend of mine described a situation that resonated with me and my personal experiences, and I bet it did with John too. (Although I could be wrong. As I said before, I didn't know John before about 10 or 11 years ago, so I don't know much about his youth during and before highschool). Here it is. When someone grows up under a belief structure (christianity for example), and they abandon that belief structure, they enter a phase of amorality. A phase defined by the lack of meaning behind the words 'good' and 'evil'. You just do the things you do because you want to. Not because it's right or wrong. Eventually, you begin to figure out that morality isn't directly tied to religious beliefs, and that you can do things that are 'right', or things that are 'wrong', simply because they ARE right or wrong. You don't have to give up your non-religous scruples, or kowtow to a deity just because you're doing the 'right thing'. The doubling of knowledge in 6 months thing was a great example (unrelated to what I'm talking about above). I think I could see John's confidence in his intelligence during the time that I knew him. He didn't have a lot of regard and respect for idiots. (I think I held my own during that time, so he was pretty cool with me). I suppose that during his time in Shreveport, he moderated that opinion as he described above. In any case, I've ALWAYS had a great deal of respect for John, and I love the interview. It brings back a lot of nostalgia for me. I only wish that I had been able to keep in touch with him back then. (And not because of what he's become, but primarily because of the great deal of respect that I have for him. I'd LOVE to have some philosphical discussions with him sometime).

The person who's taking you to lunch has no intention of paying.

Working...