3 ms·
I love how Carmack and Id since its inception has not only defined the cutting edge of game technology, but also repeatedly utterly disrupted industry business
by johnyzee 15y ago
I love how Carmack and Id since its inception has not only defined the cutting edge of game technology, but also repeatedly utterly disrupted industry business models (pioneering shareware distribution, the 'free demo' model, engine licensing), all the while making an absolute killing doing so. Most inspirational hackers out there, imho.
- sammysamsam 15y agoHe didn't pioneer shareware distribution or the free demo model. This is a good write-up on the history of shareware: http://www.loonygames.com/content/1.24/feat/ http://www.loonygames.com/content/1.24/feat/ (Has this been posted to HN before? Good stuff in there.)
- deleted 15y ago[deleted]
- jebblue 15y agoWhen I think of shareware I think of id Software, Apogee, McAfee and PKZip. It might not be official but to me that is as close to pioneering as it gets.
- Fliko 15y agoCan you elaborate on why you think of Apogee? When I think of Apogee I think "Gee, I wish my Apogee product worked on Windows"
- georgemcbay 15y agoDifferent Apogee. Presumably you are thinking of Apogee Electronics, he is talking about Apogee Games, which more or less* became 3D Realms (of Duke Nukem infamy), and who back in the day published a lot of the classic shareware games from other developers as well, including id's early stuff like Commander Keen and Wolf 3D. * "more or less" because the business structure is more complicated than that and there was still an Apogee Software alongside 3D Realms, but for all practical purposes, what was Apogee Games became 3D Realms and then died due to the Duke Nukem Forever project.
- Fliko 15y agoAhh yes I was thinking of Apogee Electronics, thank you that clears things up.
- ajross 15y agoDepends on the meaning of "pioneer" I guess. Certainly Doom was the first real shareware hit that matched sales numbers with commercial titles.
- jiggy2011 15y agoYes , exactly. Whilst I have been so-so on id games since Quake 3 (Actually Quake 3 was excellent but it was just so overshadowed by the jaw-droppingly awesome Unreal Tournament) I have huge amounts of respect for Carmack as a programmer and also for the way id generally do business. I remember scanning through the source code for the original quake some years ago (not really reading in depth) but I couldn't help but assume my download was borked and I was somehow missing 90% of it , the core of the engine is tiny, I get the same reaction when I look at the Linux kernel. I've written business systems that are orders or magnitude larger in terms of code than probably all the id games put together but have nowhere near the awesomeness and variety in terms of functionality. I wonder whether this is just how he programs from the get go or whether he writes something much larger and clunky in the beginning but is just ruthlessly disciplined at rewriting things to make them smaller and more efficient.
- i_c_b 15y agoI think Quake's code represents a design methodology you almost never see in the wild. Essentially, Quake's code operates on the same principles that Apple's physical interface designs do (or perhaps singular programming language designs like Scheme or C). Carmack, as dictator of id code (and thus id design) had the ability to say "we are not adding the following feature to our game because I don't like the compromises it will force in our technology and, thus, in other features we want to add down the road." It's basically as simple as that. In almost all other organizations, someone holding the pot of money will trump the programming overlord at that point and say, "I don't care, XML is the buzzword this second, and all objects in the game need to be serialized to XML as web services - that's what the market is clamoring for right now" (or whatever the buzzword du jour is). And over time those political technical decisions add up to so much cruft that adding any new thing becomes a technical, jenga-style nightmare. Not so with id's engines. I actually worked on beta versions of both Quake 2 and Doom 3 code bases while those games were in development, and one striking thing about getting updates from Carmack was his ruthless willingness to eliminate working, finished features / code if he didn't think the complexity or dependencies they introduced were worth whatever feature they added in the overall technical context. Quake is what you get when a genius programmer who has mastery of his knowledge domains leads. Institutionally, there aren't too many other circumstances where similarly talented and sure-footed and, well, fundamentally, _right_ programmers get to specify requirements like that. I think the comparison to the Linux kernal is apt.