Carmack: Lord of the Games 427
seer writes: "This article on Red Herring is a nice look at the interworkings of id software, most specifically their famous employee John Carmack. It delves deeply into the fact that id has stayed a very small company and dabbles with other topics such as Carmack's tendency to stay away from Microsoft 'standards' and the whole DooM ]I[ debacle. An interesting read."
Yeah ... ok Bill .... (Score:2, Funny)
This is the funniest thing Bill Gates has EVER said.
Has Bill Gates written any code... (Score:2, Offtopic)
Re:Has Bill Gates written any code... (Score:2, Informative)
Re:Has Bill Gates written any code... (Score:4, Informative)
Gates' claim to being able to write tight code is not without support: he did, after all, write much of MicroSoft's original code, which were BASIC interpreters that ran on systems with very very little RAM.
Re:Has Bill Gates written any code... (Score:4, Funny)
Bill Gates programs people now... (Score:2, Funny)
Re:Has Bill Gates written any code... (Score:2)
The Model 3 [kjsl.com] didn't come in a laptop. It was a battleship-grey "desktop." The Model 4 [nbnet.nb.ca] they had a luggable [kjsl.com] version (the 4p: p=it will rip your arm right off!).
The TRS-80 laptop line started with the Model 100 [trs-80.com].
Re:Yeah ... ok Bill .... (Score:5, Funny)
Thank you, have a nice day.
--
Damn the Emperor!
Re:Yeah ... ok Bill .... (Score:4, Insightful)
Jeremy
Re:Yeah ... ok Bill .... (Score:3, Informative)
Here's an interesting thought... (Score:3)
Article needs a little help with math... (Score:2, Insightful)
So basically they only need a six-fold increase in polygons to reach what Shrek had- not to mention that the environment is constantly changing as characters interact with it, whereas Shrek was always the same. Oops.
Re:Article needs a little help with math... (Score:2)
When moving from 10,000 to 250,000 polygons, you are increasing the computational requirements 25 times.
6 times this level? Three years maximum for hardware to catch up.
Re:Article needs a little help with math... (Score:2, Informative)
but this is also inaccurate because they compare the full number of polygons per SCENE in quake3 and doom3, to a CHARACTER in shrek. a full scene in shrek i would imagine is a very very large number.
Re:Article needs a little help with math... (Score:2)
I mean that in three years, we'll be doing that 1.5 million no sweat, and in three more I'm sure games will look like Final Fantasy.
It just takes time....
Re:Article needs a little help with math... (Score:2)
Granted, I'm not saying that will happen, but it could.
Re:Article needs a little help with math... (Score:2)
If they do that with the next engine, their next game will have images comprised of 6,250,000 polys
Man, I'd hate to be the artist that has to make the content for that.
Re:Article needs a little help with math... (Score:5, Funny)
I think that you're confusing Shrek-the-movie with Shrek-the-poster.
Re:Article needs a little help with math... (Score:2)
Thats one of the best comments I've seen all day.
Well done!
Where's the moderators when you need them?
It gets better. (Score:5, Informative)
Having seen Shrek, I know there is more onscreen at any given moment than a single character.
Those apples are nowhere near the size of those oranges.
Could they use actual technology names? (Score:4, Interesting)
Re:Could they use actual technology names? (Score:2, Insightful)
Also, you have to think about the readers of Red Herring. An article written for that magazine would be best targeted toward the average business professional that likes learning about different businesses, industries, and methods - to be somewhat familiar with them. OpenGL is something that would be fairly obscure for them to learn about while reading on a couch in the reception area.
All in all, it would have been nice to see them give direct publicity to OpenGL, but I thought the article was very readable without its mention. Hence, it's a well written article partly for that fact.
Its the tone, not the buzzword. (Score:4, Insightful)
I can agree that a business publication would want to avoid technical discussion, I think you're missing the tone that the article presented. Read it again:
The message is plain. Carmack avoids an industry standard developed by Microsoft called DirectX. Everybody else uses it. Instead, Carmack is some kind of technological religious zealot who uses his own system.
Granted... the article does go on to point out that his decission allows his software to run on many platforms. Something Microsoft's technology does not allow. But its possible that someone unfamiliar with the industry might miss this message and attribute Carmack's refusal of microsoft as another aspect of his ecentric personality.
It would be different if the writer had reported Carmack has adopted an open graphics standard over a more restrictive standard provided by Microsoft... despite Microsoft's professed incredulity over the choice.
Re:Could they use actual technology names? (Score:2)
I wonder about that comment. Microsoft certainly didn't refuse to adopt OpenGL initially as it was included in the first versions of Windows NT and promoted as a big feature. They saw this as an important aspect of future computing, and they wanted to support it.
Microsoft is not a company to just go off and create new software from scratch if they can obtain it elsewhere for cheap. So, something happened to encourage Microsoft to go off and work on Direct3D. A license dispute or something.
Re:Could they use actual technology names? (Score:2, Informative)
Re:Could they use actual technology names? (Score:2, Informative)
i couldn't have said this better myself, except you should have left off the 'elsewhere for cheap' part.
here's microsoft's own homemade company plan:
1. obtain technology, using whatever means necessary (if it's an illegal way, request to speak with Bill in a private meeting, he might be interested).
2. once new technology is obtained, close it up and cloud it up with a bunch of bloaty code.
3. give millions to other companies to 'influence' them to adopt this technology for their products, further locking the technology into some sort of twisted 'standard'.
but wait, let me ask you a few questions:
does all this mean that the obtained technology is the the best solution to any problem?
NO
does this mean that if a better technology becomes available, then it has a chance to become the standard?
heheh, NO (isn't it beautiful?)
does this benefit the customer in any way, shape or form?
NO
i refuse to support corporations who practice bad business ethics.
where would science be today if Isaac Newton or Einstein failed to share their discoveries to other scientists?
open source mimics evolution in computing science. it's just a matter of time before Gates and his anti-customer business practices cease to exist.
Re:Could they use actual technology names? (Score:3, Insightful)
As much as these (and many others non cited in your post) are giants of science, they discovered fundamental principles. Most fundamental science today is still shared in much the same way.
Would Newton and Einstein have been so generous to the world if their discoveries had been readily exploitable for commercial use and financial gain? I'm not so sure. Look at another giant - Edison. On the one hand, he did a tremendous amount of research, but on the other hand he tried to aggressively market his work and was a heavy user of the patent system.
Imagine if Einstein's discoveries led him directly to the design of the first atomic powerplant. I suspect he would have patented the sucker as fast as he could have.
The real issue is that fundamental discoveries (like gravity and E=MC squared) typically aren't the same as applied ones (like OpenGL, Java, and almost anything in computing since the early days). The fundamental discoveries lay the groundwork for the applied discoveries - but the applied discoveries are where the money is.
Re:Could they use actual technology names? (Score:4, Insightful)
The "won" in your sentence makes it seem as though there was ever a question. It was less a war than it was "ramming down the throat" of the developer.
OpenGL is a niche market
That may be true, but in my opinion, Carmack is the reason there's even that niche market. If he didn't choose OpenGL in the Quake1 days, no 3D chip/boardmakers would have given supporting the spec a second glance, and now non-Windows users would be left in the cold, software- and hardware-wise.
OMG Thats great (Score:4, Insightful)
I've worked at alot of companies and one thing is for sure. Everything starts to go to shit when you can't walk over and talk to all the other developers.
This would be the ideal company to work for and they make the ideal product. Then they let the community do the beta testing. I love this man. His ideas are harsh on the MS way to do things which is probably why they work so well. Instead of employing rediculous amounts of people inefficently turn a mediocre product and then either market it to hell and back to make everyone think they need it, or force all of their existing customers onto it.
They keep a small number of really smart people in one room and turn one of the best products out, and let the product practically sell itself. This is how things would be in an ideal world, but the idea of making the best product so that people will pick it over others is wearing thin, esspecially now that Microsoft has bought most of the GL patents from SGI.
Re:OMG Thats great (Score:2)
But they only need 17 people. One sort of begets the other, I think...
-B
Request for new /. feature: (Score:2)
Seriously, this would be cool. Shoot, granted already his postings make front page news on many gaming news sites (yes the front page news thing is a joke, of course it is on the front page. ^_^ ) but I want to know RIGHT AWAY!
*IDEA!!!*
Hey, how about we all get some funds together and pay Mr. Carmack to develop the next version of Nethack?
Oi! Hands off my favorite game! (Score:2)
With significant respect to mr. carmack... no. He's welcome to design supsersexy fps or whatever interface, but I (and I think a lot of nh players share the sentiment) like nethack just the way it is. The current interface really can't be beat for straightforwardness. Besides, we all know that it's not appearances that matter.
And the devteam does a damn fine job on their own.
:) Excuse me. I'm... easily excitable... about these things.
Re:Oi! Hands off my favorite game! (Score:2)
Re:Oi! Hands off my favorite game! (Score:2)
Re:Oi! Hands off my favorite game! (Score:2)
Make him keep the current game design, just have him write an underlying graphics engine, hehe.
Actualy the original Quake (and Quake 2?) have been shown to be able to run in text only modes, so hey, a Carmack version of Nethack may very well support terminals as well!
Gameplay vs. Technology (Score:4, Interesting)
By the time Quake 3 Arena came out, I think a lot of people realized that id had basically become a brilliant game engine company that should just cast off the illusions that they were experts in creating innovative gameplay. Because I think, while you can debate the merits of the technology behind id's products until the end of time, it became clear to many that the innovative gameplay was happening somewhere else. While the engine was brillaint, Quake 3 the game was the same old, same old. Deathmatch in a brown castle.
While many people had not-so-kind things to say about the multiplayer aspects of the origional Unreal, when Unreal Tournamnet came out, Epic was pushing the bounderies of online gameplay, while id was left in the dust, cranking out the same thing yet again.
Not to say Quake 3 was a crap game, a hell of a lot of people enjoyed it then and enjoy it to this day. I'm just saying that it was part of a downward trend at id, one that they seem to have addressed, and I commend John Carmack for that.
Re:Gameplay vs. Technology (Score:3, Insightful)
But seriously, what does UT (in an unmodded state) offer that Quake 3 doesn't? I'm talking signficant gameplay things here that are NEW. I am well aware of the differences, I just don't think UT is new and revolutionary.
Re:Gameplay vs. Technology (Score:2)
Domination and Assault. Okay, so the game types were not terribly new (the Domination game type was first seen in the old Team Fortress mod for Quake 1, with the excellent map canalzon; Assault was again seen first in a primitive form in Team Fortress, with the map hunted), but they were types that had not been previously available out of the box in a commercial game, and they were definitely not types available in Quake 3 (q3 had only deathmatch, team deathmatch, and CTF). As far as anybody playing the games in the default state, I wouldn't expect that. These games are pushing three years old. There have been many and more mods for them that extend the gameplay quite farther than the original default modes. It may very well be that Q3A has surpassed UT when you count the quality mods (I don't know, I haven't stayed on top of the communities for either).
However, both id and Epic are better engine developers than game designers. Witness the sheer number of games that have been based on their technology -- for Epic, there's DS9: The Fallen, Deus Ex, Wheel of Time, Rune, the never-to-be-released Duke Nukem Forever, and probably a few more I'm missing; for id, there have been games ranging from the early Wolf3D days (IIRC, Blake Stone was based on the Wolf3D engine), to Doom/Doom2 (Hexen and Heretic), to Quake (Hexen 2, Half-Life, DNF was going to use this originally), to Quake 2 (Daikatana, Anachronox), all the way up to Quake 3 (Elite Force, FAKK2, Alice, RTCW, MOH:AA, and more). id knows this, which is why they worked with Grey Matter and Nerve to make the recent Return to Castle Wolfenstein. Epic also knows this, which is why they're working with Legend (the guys who did Wheel of Time) to make the next Unreal (unimaginatively named Unreal 2). Expect to see more of this happening in the future -- as games keep getting bigger and more expensive to produce, companies will begin specializing. I don't think it'll be uncommon to see collaborations of three or more companies on a single game (like RTCW), where each company does what they're good at (single-player gameplay, multi-player gameplay, engine, art, design, marketing, etc).
Re:Gameplay vs. Technology (Score:2)
I keep forgetting about this until someone mentions it again. 3D Realms has had a press-blackout for what, over a year now? Seems like it was 2-3 years ago that DNF development was switched from the Quake 2 engine to the Unreal engine. Now Q3A and UT have come and gone, Unreal 2 and a new Doom are on the horizon and still DNF is MIA.
Either that is going to be one hell of a game or they've had to start over a couple of times? How can you ever hope to sell enough copies of a game to make back what has been spent in development this many years?
ID engines (Score:4, Insightful)
The norm at Lan parties are mostly ID engines based games. RTCW, MOHAA Demo, Q3A, Q3A Urban Terror, Action Quake2, the only 2 games that wasnt, where Counter Strike and Ghost Recon. The main game for money was CS, but we had so much fun playing Q3A UT, we had to push back the CS tourney.
-
Amiga OS [amithlon.com] is out for your x86
Re:ID engines (Score:2)
Re:ID engines (Score:2)
Re:ID engines (Score:2)
Re:ID engines (Score:3, Insightful)
id software and open source (Score:5, Insightful)
Take a look at the FTP site [idsoftware.com]: Wolfenstein 3D, Doom, Quake, and Quake 2 are all available. You still have to have the map files and other game data from a "real" copy of the game in order to play it, but all of Carmack and Co's magic is up there for study.
In short, they have quite a history of "giving back to the community." Even for games (such as Q3) where the full source isn't released, id always releases SDK's (for lack of a better term) to allow anyone that wants to the chance to create add-ons, extensions, and "total conversions" -- new games based on the existing code.
Very, very, cool.
Re:id software and open source (Score:3, Insightful)
Sounds good to me. I need to go to the bargain racks and get some of the data files for these src packages.
Re:id software and open source (Score:2, Interesting)
But that's the cynical side of me, I love the fact they release the source code too.
Re:id software and open source (Score:3, Interesting)
I've given Carmack more money than I've given Gates, for this very reason. Q3A isn't more fun than Q1, or at least it wasn't before the speedhack killed it. Neither is RTCW really more fun than Q3A- although I guess I'll buy it soon, right about the time people start flying in Q3A.
Open Source works great for projects which began as open source and had meaningful feedback from the beginning. For games or other applications which have finished their development cycle it is a nightmare; it combines the worst features of security through obscurity with the worst features of open source software.
IMUHO if Carmack was really a supporter of open source, Doom III/RTCW would be open NOW so that when they came out they would be unhackable. I think his rationale for releasing his source is simply that he wants to sell more cd's, while masturbating to the egoboo he gets from being worshipped on slashdot.
If I'm wrong about this, and he is really just a brilliant but naive programmer, I apologize; the reason I keep buying Quake instead of half-life or one of the other clones is because I believe the innovators like carmack should be rewarded. He gave us the fps genre, and I always get my money's worth from a game he makes within a few days of buying it, so in my mind the upgradaing is worth it. However, the open sourcing is not something I think is good for either the quake community or the open source community, and is not something I think he deserves kudos for. The day the source for a game is released while still in beta I will join y'all in celebrating his altruism.
Re:id software and open source (Score:3, Interesting)
So many software companies (and not just MS, mind you) are content to sell code at full price that they've written years ago and just require periodic maintenance now.
It seems to me that one way to prove beyond a doubt that you have skills it to write a program, make your money off of it over the course of a few years, and then give it away because the stuff you've written since then is actually worth more to people.
required to work long and hard.. (Score:3, Funny)
Re:required to work long and hard.. (Score:4, Informative)
I no longer have the url but John Carmack said Romeo would blow off the day by playing and not coding and would not listen to other employees about idea's for the games. He basically wanted a game with a story and intereactive plot while John Carmack did not. The split grew worse and worse and he eventually refused to work on the same assignments as Carmack and he would do his own thing anyway. Carmack got so pissed that he went to the CEO and made a case to fire him. The CEO who was behind John Carmack all long fired Romeo and another co-worker to set an example. John Carmack is a perfectionists and doesn't like other people getting in his way. But what made it worse was that the whole team went one way while Romeo refused to go with the flow. THis and not the hours is why is he left.
Re:required to work long and hard.. (Score:2)
You can tell the story without explicitly demonizing anyone:
Romero did not quit, he was fired.
I no longer have the url but John Carmack said Romero would blow off the day by playing and not coding and would not listen to the other employess about ideas for the games. [fine, since this is hearsay] He and John Carmack held two different visions for the games they worked on. This got to the point where he [Romero] would not work on the same assignments as Carmack and would do his own thing. Carmack and the CEO fired Romero and another coworker [since it's very clearly lack of team effort, inability to perform adequatley, refusal to work, etc, no need to mention getting pised, or seting an example. Nor is it necessary to mention JC's perfectionism, which has no bearing on the story.] The whole team would go one way, and Romero refused to go with the flow. This, and not the long hours, is why he [Romero] left.
Re:required to work long and hard.. (Score:2)
Well maybe. If you were locked in a cupboard somwhere. However, you have to get on with your boss and co-workers. Most great feats of hacking are done for the love of it: I don't believe that most people could carry it off once they lost faith in what they were doing.
offspring (Score:3, Funny)
eh? (Score:3, Insightful)
I actually thought Adrian Carmack was Johns brother as I remember reading it somewhere, one of the articles was obviously wrong. I'm sure someone will give an autoritive answer on that one.
Re:eh? (Score:3, Insightful)
Poor Article (Score:2, Insightful)
"is sticking to his own graphics technology" It's called opengl.
I didn't bother to read further, obviously the article is written by someone who is clueless.
This is why I don't trust news sources... (Score:5, Insightful)
Mr. Carmack, cofounder and lead programmer at Id Software, is sticking to his own graphics technology. He is an absolute techno-purist who seeks to produce a common code that can run on Windows, Linux, and Macintosh operating systems--something he can't do with Microsoft's technology.
It's not his own graphics technology, it's OpenGL, which is used by many programmers around the globe. And he doesn't do it because he wants to have portable code. That's a part of it, sure, but he uses OpenGL mainly because it's easier to code, which means less development time and less debugging time. Also, it allows for greater flexibility. Not to mention, with Direct3D, can we say, "namespace pollution"? I thought so.
And by being such a purist, he delights hard-core gamers and graphics experts.
Oh yes, I get every id game simply because he "sticks to his own graphics technology". Did the author actually consider that he delights hard-core gamers simply because he creates realistic games that have fun gameplay and stunning visuals?
The new Doom likely will require a no less powerful chip than the soon-to-be-released Nvidia GeForce3.
Newly released about a year ago...
He told a faithful crowd that the new Doom will have images comprised of 250,000 polygons, compared with only 10,000 or so in Quake III. That's not far away from the 1.5 million- polygon characters in the animated film Shrek, which set a new standard for realism for computer-animated cartoon characters.
Notice he said "images comprised of 250,000 polygons", and "That's not far from the 1.5 million- polygon characters in...Shrek". This isn't like comparing apples to oranges, it's comparing apples to Mack trucks.
Geforce3 not released yet? (Score:2, Funny)
Did they mean GeForce4 or are all the GeForce3 cards on the market right now fakes?
gotta love this line wish others would read it (Score:5, Insightful)
Now if only the RIAA and other places would read that and understand that sometimes when done properly that such things do work in a internet world.
Now that I think about it... (Score:2, Insightful)
Although I think that's more of Romero's fault IIRC.
Ironic (Score:4, Funny)
... is written about, and posted on slashdot.
Coding is NOT art? (Score:2, Interesting)
I totally disagree with this statement. I view coding (particularly coding for games) as something that straddles the gulf between work and art. It may not be 100% pure art, but it's certainly not aggrandizing to say that there is a fair amount of artistry in well conceived and written code. The first 25 years of my life was spent pursuing a variety of artistic endeavors (writing, music, visual arts) and I get nearly the exact same feeling in me when I'm writing code as when I'm composing music or drawing. There is definitely some link between those activities. I feel the same creative impulses firing when I'm programming as when I'm doing any other art form and I feel that same sense of artistic fulfillment or satisfaction when I'm finished with a project. It probably sounds a little fruit-loopy, but it's the truth. There is an element of artistry in writing code. I have no doubt about that.
--Rick
I don't think so. (Score:2)
Not quite. Descent was out before that, and it is even more 3-D than Quake.
A few corrections (Score:5, Interesting)
"My own graphics technology"
is OpenGL.
"Mr. Carmack also plays computer games in the office with his coworkers"
I played Q3 quite a bit, but not much since then. The team focus of TeamArena and Wolfenstein just isn't my favorite type of game.
"Polygon counts"
The Doom engine is not an ultra-high poly count engine, because it is built around dynamic lighting and shadowing, but it is still a large step up from our previous games. Typical scenes will have around 150,000 polygons, versus 10,000 for Q3. There will certainly be other games with higher raw polygon counts, but that is really focusing on the trees, not the forest (image quality). The large numbers that have occasionally been tossed around are the polygon counts for the high detail characters that are used in the generation of normal maps for the real time rendering. Some characters are over 500,000 polygons in their original form.
"It looks like the type of game that is so thrilling to play that gamers will do so over and over again, even though it lacks a narrative plot."
Unlike everything we have done before, the new Doom actually DOES have a real plot, and I think it is going to be presented well. I don't really expect most people to believe us at this point, but wait and see...
"The new Doom likely will require a no less powerful chip than the soon-to-be-released Nvidia GeForce3"
It is designed for full impact on a GeForce-3, but it still runs on a GeForce-1 or Radeon.
They didn't reproduce the graph of our revenues from the print version, but that was also way off base. I guess they estimated them based on our title sales, but while Doom II remains our best selling title, we have much better royalty arrangements now than we did back then, so we make more money today.
John Carmack
Re:A few corrections (Score:3, Funny)
Your porkrib eating buddy,
George
Re:lord (Score:3, Funny)
so
Please, somebody, mod this as funny for the first time on my life !!!!
Not another Java (Score:5, Interesting)
Java is all about interoperability, then ease of design, then speed.
Id software's game engines are all about speed, then interoperability, then ease of use. All the same, they STILL tend to be pretty easy to use, since they aren't motivated by business decisions as much as they are by making a really, really cool game engine [while this has positive business ramifications, obviously, that's not why they do it].
Quake 3 is a SUPERB game engine on all platforms. I can write my own game as a Quake 3 mod, and without any recompiling, have it instantly work, at high framerate and with no bugs or glitches, on three different platforms. Show me how Java can do that.
Id software's game engines ALREADY surpass Java. It's not going to get worse from here; it's going to get better.
Re:Not another Java (Score:2, Interesting)
I'm not sure speed is java's real problem for something like that--I would be really surprised if java managed to be slower than the homemade language used in Quake I (QuakeC)...
Probably has more to do with java's bondage-and-discipline aspects (absolutely zero control over memory management, for example) or the great difficulty making java code interoperate with C.
--
Benjamin Coates
Re:Not another Java (Score:2)
I don't know about Quake3 scripting. But Unreal
Script in (what else) Unreal and Unreal tournament, looks like a very nice language, very
java-ish, but compiled (once per level entry i think), and with the addition of "states" to the Object Oriented language. Because depend on what state the object is in, method with the same name, but in different state blocks are called. Really nifty.
Apples & Oranges (Score:3, Informative)
Java, on the other hand, is a GENERAL PURPOSE PROGRAMMING LANGUAGE. You could use it to write ANY of the above kind of games, or a client-server application, or a spreadsheet, or pretty much anything else.
You also need to remember that the Java Programming Language and the Java Runtime Environment (JRE) are totally and completely different things. Java source code can be compiled into native machine code, which will run as fast or faster than comperable C++ code. Other languages ( like Python) can be compiled into Byte Codes and run under the JRE
Re:Apples & Oranges (Score:2, Interesting)
Re:Apples & Oranges (Score:2)
> You could use it to write ANY of the above kind of games, or a client-server application, or a spreadsheet, or pretty much anything else.
You could, you could..
Do you know the differences between theory and pratice?
In theory you're right, in pratice do you know a Java compiler which produce native code which is as fast as C++, without any memory increase?
No? Then your point means nothing.
Re:Not another Java (Score:3, Informative)
Yep. Compile once, run anywhere =).
(well, it won't work if the mod is distributed as a
Re:Oh dear, not again... (Score:5, Informative)
This is really an unfair comparison -- you're comparing oranges and apple pie.
From a compatibility perspective, Java is all about cross-platform-binary-compatibility. To do that, it essentially needs to emulate a consistent set of machine-interfaces -- that's where the Virtual Machine comes in. Beyond that, Java is also supposed to be a "next generation" "idiot-proof" language, and to that end it sacrificed speed for safety (of code).
Carmack's code is about source compatibility. So far as I know, the primary language for ID Software's 1st-person shooters is C/C++. That language, to the bane of novice programmers everywhere, has a tendency to make absolutely no assumptions for you, and as a result well-written code can be highly efficent [gaining an immediate speed advantage over comparably well-written Java code]. Of course, it does mandate some level of system-speficic code somewhere in there, but a good programmer (like, for example, Carkack) will encapsulate it behind an #IFDEF or two.
The only thing that really stops people from writing cross-platform code is system-specific libraries (Like DirectX). Once your code is built around something that tends to be as fundamental as DirectX, a transplant to another library for a different platform is no easy task.
Carmack's "common code," is therefore merely smart design. As the article says, he shies away from the system-specific libraries, so porting becomes a much easier task.
Porting OpenGL code written in C++ (Score:3, Informative)
For my graphics class in college we had to write an Asteroids program in OpenGL. I decided that it was kind of lame to do all the work to render asteroids and ships in 3-D only to shoot them in a 2-D plane. So I implemented a 3-D space shooter involving asteroids. It soon became apparent that in order for there to be enough asteroids to hit you there had to be A LOT of asteroids. The number that sticks in my head is 400. Since shooting 400 asteroids was pretty dumb I added some Tie-Fighters to the mix and had the objective be to shoot the Tie-Fighters.
All the work in this class was done on Macintosh computers. I was the proud owner of a Mac Performa 6200. It ran at 66 MHz, with no 3-D graphics card. I actually got my little game to run at a reasonable speed on it. Everybody else in the class wrote games that were played in a 2-D plane and many of them didn't run fast even on the brand new G3s that were showing up around campus.
Now for the point of my story. After graduation I went to work for a certain company and they gave my a nice laptop. It ran Windows. I decided it would be nice to try to play my game on it. The port was EXTREMELY easy. I had to add a crappy Win32 main and I had to replace the keypress codes since I hadn't used GLUT for kepresses since it didn't work with multiple keypresses. I also yanked the sound code out since it was Mac specific. But it took only a few hours to have the game up and running.
If you want to see the result you can get it here [angelfire.com]. Source is there too.
I later loaded Linux on my laptop and ported the game to Linux. It took a bit longer to find working keypress calls. I ended up using SDL without porting the whole game to SDL. The result was a little ugly but the game worked just fine. I haven't invested the time needed to polish up the Linux version is all.
Looking back I know that it would be very easy to write this OpenGL based game in such a way that it would run on all three of these platforms with a simple recompile if I had used #IFDEFs. Being lazy and busy with other things I haven't done that. But it is impressive how portable a game written in OpenGL can be.
Re:Oh dear, not again... (Score:3, Interesting)
Re:Oh dear, not again... (Score:2)
Java is (sort of) slow because Java uses a virtual machine, basically emulating everything. Id Software's code runs natively on each platform, so it runs at full speed. It's easy to port to new platforms, because it's designed with cross-platform compatibility in mind from the beginning. Some other games and apps are written just for win32 on x86 with no thought given to other platforms, so when they decide it'd be nice to have a Mac or Linux version, major chunks of code have to be completely rewritten. Companies like Loki and MacSoft specialize in exactly that. Ever notice that a lot of games are released for win32 6 months before other platforms? Quake 3 was released simultaneously for win32, Linux and Mac OS.
Re:Directions for Id (Score:4, Interesting)
You may be missing the bit that says "Mr. Carmack, a multimillionaire."
Once you're able to buy just about anything you want, the ability to buy more stuff isn't that attractive. Beyond that, "more money" would come with an inevitable loss of control -- to take ID Software to a large company would mean hiring legions of programmers and managers.
At that point, it becomes what most large buisnesses become -- merely brand names. When that happens, it's no longer Carmack's baby, and it probably wouldn't be something he enjoys.
Ergo, ID Software stays small.
Re:Directions for Id (Score:3, Redundant)
Re:Directions for Id (Score:3, Insightful)
You just answered your own question: Carmack is a programmer, so probably he just enjoys the "technical achievements". No small thing to me.
It's sort of what OS people does, but making a bit more money.
Re:Directions for Id (Score:3, Insightful)
It's about specialization, people doing what they are really good at, instead of trying to do everything and selling mediocrity.
-If
Re:Directions for Id (Score:2, Interesting)
At least they're not making the kind of tame that their title also implies: porn.
BlackGriffen
Give Id a break! (Score:2, Insightful)
Id can produce an action game with a minimum of man hours. I think once you start to move into say, the RPG genre the man hours increase significantly.
Think of all the media that comes with a Square game. CGI movies, voice acting, the presence of a script with dialogue, a plot, the list is very long. In order to do something like this Id would have to expand, which they're very much against. In short, don't expect Id to change genres anytime soon!
Re:Directions for Id (Score:2)
You've misquoted the article. He said that "more money" isn't a motivator. But Id is a business, and in order for them to stay in business they must remain profitable. If Id becomes unprofitable then it goes out of business, which means that Carmack can't spend all of his time writing the really cool code that he does now (which appears to be his motivation).
Re:Directions for Id (Score:2)
Kintanon
good grief (Score:2)
If Id's actually going to sell games to end users, though, then they should expect to face criticism for them. The engine's nice, no argument about that. But the game themselves are extremely repetitive, which is why so many people have left Id after getting bored with the Same Old FPS With Better Graphics©.
And to everyone complaining about how Carmack himself would rather focus on game engines, please note that I didn't name him in my post; I criticized Id.
Re:Directions for Id (Score:2)
Re:Directions for Id (Score:4, Insightful)
He obviously wants other things more than he wants to get richer than he already is. I'm not a mind reader, but I'm guessing those things include personal satisfaction, public recognition, love, health, and probably the ability to maintain his current standard of living. This is just an example of how money can only take you so far on the road towards happiness.
Re:Directions for Id (Score:3, Insightful)
You left out a word there. It's not that money isn't a major motivator. He said that "more money" wasn't a major motivator. There is a difference.
Carmack is already a multi-millionaire. More money would only make him more of a multi-millionaire. Which is better, being a multi-millionaire or a bigger multi-millionaire? How are any of your basic needs being fulfilled any better if you have $40 million in the bank versus $20 million?
It sounds to me like Carmack has already realized that Id gives him all the freedom and financial security he could want. The thing that he seems really interested in is writing "better code" and a "cooler 3D graphics engine." How does having more money help him there?
Re:Directions for Id (Score:3, Interesting)
Money not a major motivator? I wonder how honest that statement is. More importantly, where can Id be going with Carmack's other "attitudes?"
No, money isn't a major motivator for Mr. Carmack, and as for his attitudes, I've found him to be one of the most even tempered people I've ever met.
Re:nice tits (Score:4, Funny)
Re:No, Carmack has the mail order bride... (Score:2, Insightful)
I'd write more, but I'm sure Carmack could correct this himself. You did know he reads this site, right?
I suppose if you insist on bashing KillCreek's not-so-impressive surgical augmentation, that's your thing. But ripping on Carmack's wife, in a thread about him? Man, that's low....
Re:Wolf3D the first FPS, don't think so... (Score:2)
B0w d0w|\| 2 m3 for 1 @m the FP$ GOD!
Or something to that extent.
I even have an advertisment for a Porno Doom mod. (the advertisment says it has drivable vechicals! Somehow I doubt that but. . .
The article says he does not like the whole entire hero worship thing. . . .
He may need us to come to his defense though when Bill Gates kidnaps him and demands that Mr. Carmack uses DirectX in his next game.
Re:Wolf3D the first FPS, don't think so... (Score:3, Informative)
Not really. The game Dark Side [c64.com] for the Commodore 64 [c64.org] was a fully polygonal, first person shooter, that was released in 1988, i think. The only problem was that it had a framerate of about 3 or 4 fps.
On a sidenote, the engine Catacomb Abyss used was written by John Carmack, and share alot of code with the younger Wolf3D.
Re:Wolf3D the first FPS, don't think so... (Score:3, Informative)
That's right, id Software. Seems it all keeps coming back to them. Sp00ky, eh?
Re:Mr Men (Score:3, Funny)
"Dr. Evil. I didn't spend four years in evil medical school to be called Mr., thank you very much."
^_^
Re:GeForce3??? (Score:2)
Re:Id created the first true 3D game? (Score:4, Informative)
BattleZone in the arcade, and Stellar7 on the Apple ][. same thing.
Spectre VR, not Stellar7 (Score:2)
Also, it was one of the first (if not the first) multiplayer LAN games, too