Slashdot Mirror


The Technology Behind ID's Games

orac2 writes: "The current issue of IEEE Spectrum has an article on the groundbreaking technology behind iD Software's games, from the days of Commander Keen through to Return to Castle Wolfenstein. Graphics technologies covered include the original 2-D buffer trick that made side-scrolling games on the PC feasible, as well as the more modern Raycasting and Binary Space Partition Tree techniques. Carmack is quoted extensively."

101 of 323 comments (clear)

  1. Quake I / II by Shamanin · · Score: 3, Informative

    I read this in the IEEE spectrum. They kept mixing up the advances in Quake I with Quake II. They even refer to a picture of Quake II as Quake I. But, there was some interesting history nonetheless.

    --
    come on fhqwhgads
    1. Re: Quake I / II by Doppler00 · · Score: 2, Insightful

      I just received the issue of IEEE recently. I thought it was funny to see an article about id in a magazine like IEEE which usually discusses things like transistor band gaps and such.

      They talk about id's technology in depth, but they really don't understand the gaming culture that was behind creating the games. This was the driving force for the technology and it was far more important than just the latest advances in BSP.

      The original article even mentions that Super Mario Brothers 3 was for the Super Nintendo, which of course isn't true. It was for the original Nintendo Entertainment System.

    2. Re: Quake I / II by Moonshadow · · Score: 2

      There was a version of SMB3 for the SNES, included in the All Stars pack. It was much nicer graphically than the NES version.

      But the game rocked regardless :)

  2. Super Mario Brothers 3 didn't run on the SNES by Ted_Green · · Score: 3, Insightful

    "First, they decided to see if they could recreate on a PC the gaming industry's biggest hit at the time, Super Mario Brothers 3. This two-dimensional game ran on the Super Nintendo Entertainment System, which drove a regular television screen."

    If they can't even get that right, how am I to believe what they say about frame buffering, Hmmmmmmmmmm?????

    I'm going to go get some pie instead.

    1. Re:Super Mario Brothers 3 didn't run on the SNES by Captain+Large+Face · · Score: 2

      What about Super Mario Allstars? That included Super Mario Bros. 3, and was only released on the SNES..

  3. Re:Man... Carmack is 31 by CaffeineAddict2001 · · Score: 2

    Definatly better in Carmack's case. WAAAY Better.

  4. Carmack IS God! by casings · · Score: 5, Interesting

    I mean, hes not only a very good programmer, he looks like a computer dork, has a phat car, and actually cares what the community thinks about his games. As was the case when there was such a backlash about fixing the bug in the engine of quake2 that produced the strafe jump, he changed it, uproar ensued, he changed it back.

    Carmack embodies what every programmer and any kind of computer company should strive to be.

    Carmack has embraced the platform-generic opengl, and even coded his engine to be compatible on every major os. I love you carmack, please have my love child.

    I MEAN C'MON hes the one responsible for such things as the infamous railgun, and the hilarious warnings about piracy on my copied version of wolf3d, which i still play on my 386 laptop.

    1. Re:Carmack IS God! by Pfhreakaz0id · · Score: 5, Funny

      Crap!, I've got mod privs right now, but I can't find my -1, Fawning!

    2. Re:Carmack IS God! by DeltaSigma · · Score: 2, Funny

      So you're a disciple of Quake 3 too?

    3. Re:Carmack IS God! by drix · · Score: 2
      --

      I think there is a world market for maybe five personal web logs.
    4. Re:Carmack IS God! by dimator · · Score: 2
      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    5. Re:Carmack IS God! by kin_korn_karn · · Score: 2

      A WINNER IS YOU !!

      [as I sit here going "duhhh" waiting on the slow down cowboy filter... fucking piece of shit]

    6. Re:Carmack IS God! by junkgrep · · Score: 2

      The Schwarzenegger movie "Eraser" is hardly the first place in which the idea of railguns appeared, nor is it even the first place that famous "corkscrew" effect has been associated with. You might as well accuse "Eraser" of basically stealing Piccalo's signature move from DBZ (in the US, known as "Special Beam Cannon"): it's exactly the same idea.

    7. Re:Carmack IS God! by arkanes · · Score: 2

      I feel your pain. I myself feel this strange twinge in my chest every time I see the Sierra logo.

    8. Re:Carmack IS God! by Simon+Garlick · · Score: 2

      Well, put it this way. One day while drinking beer and talking bullshit about games with Tim Willits, he said to me "...yeah, the railgun was my idea, I was the one who pushed to get it in the game. You know where I got the idea, right? I just completely ripped it from 'Eraser'..."

  5. Excellent diagrams by jukal · · Score: 4, Informative

    This one is particularly good: about binary space partition tree.

    1. Re:Excellent diagrams by jtdubs · · Score: 5, Informative

      Binary space partitioning trees proper have fallen out of use in games.

      All BSP-based games now-a-days use Solid Leaf BSP trees, which are a variation of the original and have many more useful properties for games.

      It is these trees and the sectors that they create that are used for determining portals.

      If two sectors have the same portal then those two portals connect and can see eachother. If a portal has no pair, then it is a portal out in to infinite space and is hence a leak in your map. Assuming, of course, a map based on a single BSP tree.

      Once you have portals, PVS generation is easy. And there you go, BSP and PVS.

      A lot of modern research is shying away from BSP and PVS. They limit you to indoor spaces. Entirely different technology is required for outdoor scenes. And then special hacks and logic are needed to allow for seamless transitions between the indoor and outdoor worlds.

      Some think that octrees with a form of occlusion culling might very well be better as they can represent both indoor and outdoor geometry without making any distinction between them. They are much harder to cull though as no handy PVS information is present and only more difficult methods exist such as Z-pyramids.

      Others stick with BSP and PVS and use the one-sided portals that would normally represent leaks but instead in this case represent windows from the BSP into the terrain, and vice-versa. This combined with some extra lighting and shodow-volume information and you can have your lighting and transitioning between indoor and outdoor be seemless.

      Anyway, just the ranting of a bored man at work.

      Justin Dubs

    2. Re:Excellent diagrams by jukal · · Score: 2
      > I thought i undestood BSP until I looked at that crappy diagram

      Point us to a better ONE - image that is? Here's the FAQ anyway.

    3. Re:Excellent diagrams by roman_mir · · Score: 2

      Noticed that as well, only it is not Halloween Harry, it is Dangerous Dave I believe.

    4. Re:Excellent diagrams by jukal · · Score: 2

      Yeah, probably Dangerous Dave and Haunted Mansion, $9.95 :)

    5. Re:Excellent diagrams by Buzz_Litebeer · · Score: 2, Informative

      The problem is, is that BSP tree's cut a scene up into things that need to be rendered so only what a person can "see" is rendered.

      take for example, if you were looking at a house from the outside, and all the windows were tinted dark, for all intents and purposes there is nothing in the house right?

      This is because you cannot "see" anything inside of the house. Now lets take this a bit further, imagine you were looking down a hallway, and if you went to the end, turned right, then went forward, then turned right again, you would see something else, but before you went forward, and turned around the corner, you do not nececerrilly have to "see" whats around the corner, because essensially it does not exist.

      this is what a BSP tree, and other pruning methods do, a bsp tree trys to break up a map or set of vertices in a way that allows the software to render only what you can see, and what you are about to see, this makes it so that the computer doesnt have to render a lot of extraneous stuff.

      back to the house example, lets say you were rendering a house, and you defined every single possible item in the house as well (ie you could go into the house and look around), but you could see no objects from outside the house (imagine the house is a little box) so a BSP tree algorithm would take the scene, and if you were in some position outside of the house, it would not load all the vertices of the internal components of the house, but just load the vertices for the outside of the house and render them, so that the computer would not have to draw all the items in the house, items that you do not have to see. The smarter algorithms used in quake games for small rooms and small inside areas, will also load and draw things you could see "soon" ie, if you were walking down the hall, it would also render the next section of hall that you are coming up on when you got close to the hall. when you turned down the hall, and moved sufficiently far, or turned another corner, it would then remove those vertices from being rendered until you came back around again.

      Now to why this causes problems for large outdoor scenes. this can be many reasons, many times if an outdoor scene is complex (ie has a lot of vertices) the game engine doesnt really have a lot of options on pruning what you see, and what you might see, so it causes slowdown because it draws EVERYTHING outside, regardless of if you can see it at the moment. if you have high render intensive items such as polygonal tree's it can truly slow the game down incredibly to render it, and causes other problems.

      then open ended nature of outside areas, and having to draw skys can cause problems too. Its a pretty complicated subject, I hope someone can elaborate more, since I just got done (last semester) with a class that basically went over these concepts on inside spaces, I haven't full explored all the reasons for the problems of doing it outside, but thats what I am pretty sure of.

      Buzz OUT.

      --
      If you don't vote, you don't matter, so don't waste your time telling me your opinion
    6. Re:Excellent diagrams by jtdubs · · Score: 3, Informative

      No problem. This is a common question.

      Here's the thing.

      BSP trees work by breaking up the world into arbitrary convex hulls. This is good because you can render a convex hull that you are inside without worry about some of the triangles overlapping other ones.

      In other words, take two cubes connected by a recangular hallway.

      Theoretically the BSP tree could divide this into three sectors. One for each room, and one for the hallway. Each of these individual sectors is a convex hull.

      So, if you are in the sector for a room you can just render that entire sector, without using a z-buffer or any kind of depth testing, and you don't have to worry about things overlapping. I mean, there is nowhere in a room where you can stand where the left wall and the floor will overlap.

      See what I mean?

      Now, while you are rendering the room you render it's portals. It has a portal connecting it to the hallway sector. So, you render the hallway's sector, clipped to the polygon that is the portal.

      Then, while drawing the hallway you draw the sector connecting to the second room. So, you draw the second room, clipped to the portal leading from the hallway to that room, which is already clipped to the original portal.

      So, we just drew the two rooms and the hallway, with no traingles overlapping.

      This is exactly how the original portal-based renderers worked.

      Now, why doesn't this work for outdoor scenes?

      Imagine a large field with rolling hills. Now, try and find a convex hull. It's tough.

      Imagine a hill shaped like a dome.

      This dome forms a conCAVE hull. You can't break it down in to ANY convex hulls. So, every single triangle has to be part of it's own, unique, convex hull.

      So, now every triangle in this hill is it's own sector. Our BSP tree is huge. And we have MILLIONS of portals connecting every triangle to the ones next to it.

      This is HORRIBLY ineffient and slower than just brute force rendering.

      So, to summarize. Indoor scenes tend to be easily decomposable into convex hulls. And hence work well with BSP trees and PVS. Outdoor scenes aren't. They tent to have a lot of concave areas.

      So, hope that helps.

      Justin Dubs

    7. Re:Excellent diagrams by jtdubs · · Score: 2

      Yes, you are exactly right.

      In fact, I'm doing a good deal of research right now into octrees.

      Would you have any good links or books to suggest for occlusion culling algorithms?

      Justin Dubs

  6. Great article by qurob · · Score: 2


    Excellent. I wish I had read it when I was 12! ;)

  7. Truly impressive by aengblom · · Score: 5, Informative
    The truly breakthrough technology is that ID made it possible to spontaneously induce vomiting without noxious fumes! ;-)

    ARRG (offtopic)
    Editors please (as in pretty) fix this:

    User types in comment and submits it (without subject). Is told to type in subject, but then is told "you have submitted to quickly." User loses comment because it is cleared from browser cache and slashdot doesn't put it in the error page.

    ( /offtopic )

    --


    So close and yet so far from the world's perfect ID number
    1. Re:Truly impressive by Mr+Thinly+Sliced · · Score: 2, Funny

      It takes the mod points and rubs them in its skin.

      Else it gets the hose again, doesn't it precious.

  8. Re:Man... Carmack is 31 by EvilTwinSkippy · · Score: 5, Insightful
    You get a lot better. (Speaking as a 27 year old programmer.)

    C code is C code. No new languages, techniques, or processes will ever replace an experienced architect. Crap passes through an IDE every bit as well as the good stuff.

    I have a volunteer who works with me. The kid is brilliant, and has programming mojo pouring out of his eyebrows. But there are so many debugging techniques, algorythems, and habits that he doesn't have. (Yet.)

    I'm not saying older in neccissarily better. Experience is the key. 20 years of experience is 20 years of experience whether you start at 7 or 27. In my case it's 7.

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  9. What I read... by Tall+Rob+Mc · · Score: 5, Funny

    Basically, what I got out of this article was that John Carmack is almost single-handedly responsible for all of my non-productive time over the past 10 years. Thanks John!

  10. The Evolution of the id Engine by death00 · · Score: 4, Interesting

    "There were critical points in the evolution of this stuff," Carmack says, "getting into first person at all, then getting into arbitrary 3-D, and then getting into hardware acceleration....But the critical goals have been met. There's still infinite refinement that we can do on all these different things, but...we can build an arbitrary representational world at some level of fidelity. We can be improving our fidelity and our special effects and all that. But we have the fundamental tools necessary to be doing games that are a simulation of the world."

    This article highlights how far we have come as game developers. id has been the "poster child" of the game development community, with the majority of other game developers following their lead. Doom III will continue this trend.

    The next generation of games is going to be outstanding!

    This article gives a great view of where we can be going with new technology. How realistic will games be in 10 years? My guess is that the graphic reality will become nearly indistinguishable from real life, but the greatest innovations will be in game-play. Interfacing with a keyboard/mouse/joystick isn't realistic. Voice control and force-feedback-like technologies are the way of the future, if our computing power can support it.

    Kudos to Carmack on 10 years of FPS game design. Here's to the next 10!

    1. Re:The Evolution of the id Engine by Art+Tatum · · Score: 2

      I'll tell you what I want. I want integration of FPS, Flight Combat Sims, Strategy Sims, and Tank Sims into a complete multiplayer battlefield. It would be best if we could make enough networking advances to do it massively multiplayer.

  11. Id didn't develop the Keen trick by Junks+Jerzey · · Score: 4, Informative

    Good article, but the Commander Keen scrolling trick was old news by then. Lots of Apple II, Atari ST, and Amiga scrolling games did the same thing. Impressive? At the time, yes. But let's not get too carried away with giving Carmack credit for everything.

    1. Re:Id didn't develop the Keen trick by Russ+Steffen · · Score: 2

      I can't speak for the Apple and Atari, but on the Amiga and C64, screen scrolling was quite different than the technique Carmack had to use on the PC. Both Amiga and C64 had hardware scrolling, and just by incrementing a single register the screen could be scrolled in single pixel imcrements both horizontally and vertically. The point was that Carmack found a way to achieve the same effect on hardware that was not intended to do that.

    2. Re:Id didn't develop the Keen trick by Junks+Jerzey · · Score: 2

      Those machines (and the C-64 also) were primarily game playing machines that had specialized buffers and hardware sprites for building scrolling games.

      No, the Apple II and Atari ST did not. And even on the Amiga, you still had to use the "only update the edges" trick to get good performance.

      I'm not being hard on Carmack here. I just don't think the author of the article knows all that much about game and hardware history.

    3. Re:Id didn't develop the Keen trick by Junks+Jerzey · · Score: 2

      PCs did not have blitters. PC memory addressing system also made this more difficult. Amigas were easy to program graphic applications on, PCs were not. You are comparing apples and oranges.

      Reading comprehension: zero.

    4. Re:Id didn't develop the Keen trick by Tet · · Score: 2
      Both Amiga and C64 had hardware scrolling, and just by incrementing a single register the screen could be scrolled in single pixel imcrements both horizontally and vertically. The point was that Carmack found a way to achieve the same effect on hardware that was not intended to do that.

      Yes, by using double buffering, a well known technique by that point (I'd been using it for many years by then, for example, starting somewhere around 1985 or so). Although the C64 and Amiga supported hardware scrolling, that wasn't always appropriate to the task in hand, and double buffering was used extensively on both systems before 1990.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    5. Re:Id didn't develop the Keen trick by drivers · · Score: 3, Insightful

      Good article, but the Commander Keen scrolling trick was old news by then. Lots of Apple II, Atari ST, and Amiga scrolling games did the same thing. Impressive? At the time, yes. But let's not get too carried away with giving Carmack credit for everything.

      The article doesn't say that The Carmack invented smooth scrolling full stop. It said that he figured out how to do it in EGA mode on the PC. The market for EGA cards was much larger than any of those closed (but optimized for cool graphics and sound unlike the PC) platforms.

      Kind of like how someone figured out how to [kind of] play digital sound through the standard PC beeper. Of course the Amiga, etc. could do that with dedicated hardware but that's not the point.

    6. Re:Id didn't develop the Keen trick by xenocide2 · · Score: 2

      You know its possible to write software blitters. I believe that theres one in Michael Abrash's Black Book of Computer Graphics.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    7. Re:Id didn't develop the Keen trick by neonstz · · Score: 2

      As others have pointed out, Carmack was the first to do this on the PC. I do not have much experience in coding for the EGA, but I've done my share of VGA register-level programming.

      Basically, to achieve smooth scrolling etc you have to have a screen buffer which is larger than the visible part of the screen. By using mode-x on the VGA it is possible to address 256k of videomemory using only a 64k window and setting a mask you select which pixels to address. Another thing which is mentioned in the article is to store graphics tiles in video-memory instead of system-memory. If you set up some registers, you can perform a video-video memory copy with regular CPU instructions without actually moving data from the cpu to video memory and vice-versa. A read followed by a write will just copy the data from one part of the video memory to another part.

      To achieve smooth scrolling, you just set the starting address to somewhere in the buffer + set up scroll registers (in mode-x you can only select every 4th pixel as starting address). In the EGA only bitplane-modes are available., but the same scroll registers/screen buffer start address-registers are available. This is about the same way the amiga does it, but a bit more limited. (The amiga had separate addresses for each bitplane, and two scroll-registers, one for odd planes and one for even. It also had the blitter hardware which could move chunks of data with different logical operations and shifting).

    8. Re:Id didn't develop the Keen trick by CoolVibe · · Score: 2
      Uhm, correct me if I'm wrong, but isn't blitting just dumping some values into an area of memory that just happens to belong to the video card?

      $B800 or $A000 was the address I believe. good enough for MCGA (320x200 256 colors) graphics. I remember the turbo pascal days where one reserved a piece of mem off screen and used Memmove or something to "blit" it in video mem and waiting for vertical retrace to make it smooth.

      Basically, I wrote my own blitter in software. It's not as fast as a hardware blitter, but hey, it does the trick.

    9. Re:Id didn't develop the Keen trick by tgibbs · · Score: 2

      No, the approach of modifying the base of the graphics buffer to achieve smooth scrolling did not work on the Apple II, because the memory location of the Apple II's graphics buffer was fixed by the hardware (well, two locations actually, since it did provide for double buffering. Basically, there was no way to scroll on the Apple II without rewriting the entire graphics buffer.

      However, I do remember an Apple II maze game with a first-person perspective, long before Wolfenstein 3D. And it was lightning fast (unfortunately, I don't recall the name). I'd love to know how that was implemented. However it was a pure maze game, not a shooter.

    10. Re:Id didn't develop the Keen trick by BitGeek · · Score: 2


      And of course its worth pointing out that Doom is actually a 2-D game with the 2.5D rasterization trick.

      I worked on a killer game that was a LOT of fun, was true threeD and came out before Quake. I think its the first true 3D game ever released. The name of the game was Locus.

      It was a great game, better technology than Quake, ran faster, etc. But due to poor marketing on the part of GT Interactive, and a game concept slightly more difficult than the obvious no-thought first person shooter, it did not sell too well.

      So, everyone thinks Quake was the first 3D game (Some even think Doom was!) and history, as they say, is written by the winners.

      There might have been a true 3-D game before Locus (I played ultima Underworld, both kinds, but don't think it qualified).. so I might be wrong. But we certainly beat quake to market.

      So it goes, I certainly enjoy Quake3.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    11. Re:Id didn't develop the Keen trick by BitGeek · · Score: 2


      Where by "Rasterization trick" I meant to say "raycasting trick". A good technology for the time, and also not invented by Carmack, but put to good use in Doom. It just isn't an actual 3D modeled world.

      Descent used the same trick, only it used two raycasts, so instead of boxes, you got tunnels.

      This is not to bash Carmack, his merits speak for themselves. But the perception of him is a bit out of line with reality-- I find no fault with him, but he is a mortal, not a god.

      Hell, the networking in the current version of Quake still sucks even though I showed him a better way well back in 1996!

      So it goes.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    12. Re:Id didn't develop the Keen trick by arkanes · · Score: 2

      the dungeons in Ultima 4 had a first person pseudo-3d perspective, too. Pretty sure that was before Wolfenstein.

    13. Re:Id didn't develop the Keen trick by WNight · · Score: 2

      I believe that Ultima Underworld only had walls at 90 degree angles and only on set grid lines, line Wolf3D. Had they wanted, they could have gived you the look up/down in Wolf3D as well, it's just that the ability isn't that exciting when everything is exactly the same height.

      Doom actually had arbitrary walls. They had to be vertical, but otherwise you could build rooms of any shape.

      The reason Q3 is a benchmark is because not only is it a popular game, but most first-person shooters are based on it. If you can play Q3 well, you can play most PC games well.

      Doom3 will be just as big.

  12. Re:Commander Keen! w00t by unicron · · Score: 2

    I remember Romero's head on a pike behind the last boss in Doom2.

    --
    Finally, math books without any of that base 6 crap in them.
  13. Age has nothing to do with it ... by AHumbleOpinion · · Score: 4, Insightful

    Age has nothing to do with it, it's all about experience and continuing to learn. Older programmers are better as long as they continue to learn and maintain curiosity about "new stuff". Experience + current knowledge > current knowledge. The myth of older programmers not being as good is really that many older programmers stop learning. For a while they are able to outperform younger programmers due to experience but eventually their laziness catches up and they being to underperform.

    1. Re:Age has nothing to do with it ... by geekoid · · Score: 2

      where as lazy young programmers can outperform older non-lazy programmers?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Age has nothing to do with it ... by AHumbleOpinion · · Score: 2

      where as lazy young programmers can outperform older non-lazy programmers?

      Outperforms as in generating more low quality code that gets thrown out and rewritten from scratch? Often by the original author as the author gets more experience and wisdom?

      Coding is partly an art, and art takes time and practice.

  14. Re:Not new or groundbreaking by Anonymous Coward · · Score: 3, Interesting
    You mean where it says in the article "The answer was a technique known as binary space partitioning (BSP). Henry Fuchs, Zvi Kedem, and Bruce Naylor had popularized BSP techniques in 1980 while at Bell Labs to render 3-D models of objects on screen. "


    The point is that Carmack brought it to the world of PC games,

  15. The Gamer's Prayer, according to ID by matastas · · Score: 5, Funny

    Our Carmack, who art in Texas,
    hallowed be thy textures.
    Thy software come, thy games be done,
    on my b0xen as it is at E3.

    Give us this day, our daily FPS.
    And forgive us our camping,
    as we gun down those who camp against us.

    Lead us not into a spawn site,
    but just give me the damn BFG.
    For the gaming market, the GeForce,
    and the booth babes are yours, now and until payday.

    1. Re:The Gamer's Prayer, according to ID by iomud · · Score: 2

      Funniest comment...ever.

    2. Re:The Gamer's Prayer, according to ID by Simon+Garlick · · Score: 4, Funny

      Hilarious :)

      My personal taste would have been to replace the line

      "Thy software come, thy games be done"

      with

      "Thy software come, when it is done" :)

  16. book covering a few of those techniques by r2r2 · · Score: 2, Informative

    you can read more about bsp trees and other graphics tricks on this wonderful online book written my Michael Abrash, an id software programmer: http://gpbb.dk.eu.org:81/
    make sure you check the forewords by john carmack

  17. An opportunity for another slashdot event! Yay! by MadFarmAnimalz · · Score: 2

    I love you carmack, please have my love child

    John, this post demands a response along these lines, methinks...

    C'mon, give us geeks occasion for joy! :)

    --
    Blearf. Blearf, I say.
  18. Softdisk by Sean+Clifford · · Score: 5, Interesting
    For those interested:

    I joined Softdisk in 1995, a few years after the id guys left. The company was stunned by the success of Wolfenstein and Doom, and by Duke Nukem - also born of Softdisk alumni. It was basically a subscription software company, selling a package (card games, screen savers, etc.) on disk monthly. It was a good model for the 80's.

    Softdisk tried to produce a couple of games, one called Greed (later In Pursuit of Greed) which was basically a 3D Doom-clone shooter. There was some neat technology (e.g. curved surfaces), but the art was...uh, well weak. The gameplay was decent, but there were some bugs to stomp and the ship date slipped...and slipped...and slipped. It was released, but didn't live up to the hype. The game was torn to shreds in the reviews. There was a second 3D shooter - developed totally in house, though it was basically a one-man project. The lead (only) programmer left, so it was shelved.

    Softdisk finally shut down its on-disk-monthly subscription software and became an ISP/web development company. It was a necessary move, but sad since the company kicked a lot of ass in the 80's with LoadStar and Big Blue Disk.

    For those interested, I ran Softdisk's online download software stores on CompuServe, Prodigy, AOL while another dude took care of eWorld. We were selling Commander Keen, Dangerous Dave, and a host of other early games the id guys produced at Softdisk. Last I checked, they were still being sold (at $19.95 a pop, even).

    1. Re:Softdisk by afidel · · Score: 2

      Catacombs of the Abys 3D kicked A$$, one of my favorite games of the time, and one I wish I could find to play today.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:Softdisk by Papineau · · Score: 2

      I remember playing Greed... along with a slew of other FPS between DOOM/DOOM II and Quake. And for a change, they had vastly different engines/gameplay/objectives!

      Was it in that game that you had a camera pointing backwards, so you could see if something was happening behind your back? I'm pretty sure it was called the Asscam (no kidding).
      If it wasn't in Greed, can somebody who recalls it can point me to the right game it was in?

    3. Re:Softdisk by John+Carmack · · Score: 5, Informative

      Here is an interesting bit of history:

      Greed was built on the engine I wrote for Raven/Origin's Shadowcaster game, while the other Id guys were working on Spear of Destiny, the commercial Wolfenstein game.

      The reason softdisk got the technology was that they were still making lots of noise about suing us for doing Keen while we were working at softdisk. Our original parting deal was that we were going to continue doing the Gamer's Edge games for a while, basically for free, as penance. We weren't savvy enough to get anything binding down on paper, so even when it was all wrapped up, there was room for twisting our arm a bit. (another trivia bit -- George Broussard at Apogee arranged to have Apogee produce one of the Gamer's Edge titles for us, so we could focus more on Wolfenstein).

      We finally arranged a technology transfer of the latest engine code for free and clear severing of our ties. After they showed that just having the technology was not a guarantee of success, they had the nerve to come back and ask for more, but by then we were able to just tell them to go away.

      BTW, Duke Nukem does not have a Softdisk heritage, it was by Todd Replogle (sp?), who was strictly Apogee-grown.

      John Carmack

  19. Re:Man... Carmack is 31 by robson · · Score: 4, Funny

    Not to troll or anything -- but it did seem quite amazing. I keep thinking he was like 27 or some such.

    Well, it's not as if 31 is that old... I mean, I'm 31, and I'm not "old"...

    ...right...?

    :)

  20. Re:...never mind. by bugg · · Score: 2
    Ever play Super Mario Brothers Allstars? Nintendo released ports of SMB, the english version of the Japanese SMB2 (a.k.a. "SMB: The Lost Levels"), SMB2 (based on Doki Doki Panic), and SMB3 for the SNES. Of course, that's not what the article meant, and we both know it, but...

    I just felt like nitpicking a nitpick.

    --
    -bugg
  21. Carmack's age by ragnarok · · Score: 3, Funny

    Carmack is only 31? Damn, I better get to work.

    --
    Search first, ask questions later.
  22. Re:not quite by Ralph+Wiggam · · Score: 2, Insightful

    So you're saying that a computer programmer has poor social skills and doesn't get along well with people who aren't as smart as he is? I'm shocked...SHOCKED I tell you.

    He's not running for president or trying to get elected prom king. His life goal is to produce the best computer games in the world. He's been living up to that goal remarkably well for the past 12 years.

    Carmack has a special place in my heart because being 24, I have quite litteraly grown up playing id games.

    -B

  23. Re:Funny by GigsVT · · Score: 2

    I don't get it. Carmack said no one had done side-scrolling on an IBM PC, you say your C=64 had it, and that the article is therefore flawed.

    Well, I seem to remember SOPWITH.EXE had some pretty smooth side scrolling, and that was on a REAL IBM PC. They make it out to sound like Carmack invented double buffering, he did not.

    My point was that even the original IBM PC was over 6 times faster than a C64, so smooth side scrolling on it is no feat.

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  24. Carmack's real innovation - 2 3/4 D by Animats · · Score: 4, Interesting
    Carmack's real innovations were in ways to do something that looked like general 3D but wasn't, quite. So his games did things that are easy now, but were really tough on the hardware he did them on.

    Flight Simulator pioneered this sort of limited 3D. Bruce Artwick did the original Flight Simulator on machines that didn't have enough power to fill the whole screen with a solid color in one refresh. He wrote a book about how he did it in 1985. The pain, the agony...

    Artwick seems to have dropped out of game development, but Carmack keeps pushing what's possible with available hardware.

  25. Re:Not new or groundbreaking by mckayc · · Score: 5, Funny

    Oh really, is that so? Hmm, where did I see that, oh right, IN THE ARTICLE.

    Profiting from improvements in computer speed and memory, Carmack began working on how to draw polygons with more arbitrary shapes than Wolfenstein's trapezoids. "It was looking like [the graphics engine] wouldn't be fast enough," he recalls, "so we had to come up with a new approach....I knew that to be fast, we still had to have strictly horizontal floors and vertical walls." The answer was a technique known as binary space partitioning (BSP). Henry Fuchs, Zvi Kedem, and Bruce Naylor had popularized BSP techniques in 1980 while at Bell Labs to render 3-D models of objects on screen.

    (emphasis mine)

    Perhaps READING THE ARTICLE would have saved you the trouble of trying to show us how smart you are.

  26. Re:Not new or groundbreaking by LMCBoy · · Score: 5, Funny

    Everything's stolen these days. Take the FAX machine. Why that's nothing but a waffle iron with a phone attached!

    </abesimpson>

    --
    Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
  27. Re:Man... Carmack is 31 by captaineo · · Score: 2

    Id software is writing Doom III in C++... But yes, that's a rather tiny change after 10+ years of evolution. (there are also the various byte-code languages they've used for non-engine game logic, but most of those are still very C-like)

  28. Re:Commander Keen! w00t by Baikala · · Score: 2, Informative

    This part of the article is wrong.
    That's not Commander Keen it's Dangerous Dave, and that's not Quake it's Quake II.

    I know, I've played them all!

    --
    16,777,216 comments ought to be enough for any forum!
  29. Re:Man... Carmack is 31 by Reziac · · Score: 2

    I'm 47, and you're all a bunch of green young whippersnappers. ;)

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  30. Re:he is a C hacker, that's it by WasterDave · · Score: 4, Funny

    Why people worship him, especially now, is beyond me.

    Well, ummm, you have a go then. Particularly at the 1996 stuff - you have a P75 and 8Mb, render a 3d texture mapped scene at 20fps.

    Dave

    --
    I write a blog now, you should be afraid.
  31. How depressing... by Sludge · · Score: 2
    "There were critical points in the evolution of this stuff," Carmack says, "getting into first person at all, then getting into arbitrary 3-D, and then getting into hardware acceleration....But the critical goals have been met. There's still infinite refinement that we can do on all these different things, but...we can build an arbitrary representational world at some level of fidelity. We can be improving our fidelity and our special effects and all that. But we have the fundamental tools necessary to be doing games that are a simulation of the world."

    So, rendering engine improvement is essentially incremental from here? It seems to be that way, coming from Id's last two or three offerings. This is a rather distressing for someone as forward looking as myself.

    Although the fundamentals have been laid into place, there must be a way or two to leap ahead of the current generation while sacrificing something from the generic style engine such as what Id has produced. For example, if you had a game where you wandered around looking for people to scrap with, you could optimize the 1 on 1 fighting with a different networking model where you are guaranteed to only have one opponent.

    Windows of advantage for things like this come and go, but they certainly do seem to exist to me.

    1. Re:How depressing... by Vulture_ · · Score: 2, Interesting
      So, rendering engine improvement is essentially incremental from here?
      I believe that, eventually, games will use real-time ray tracers as their rendering engines. This is as different from Quake as Quake is from Doom. It also seems inevitable because of what can be done with it -- most notably lighting/shadow effects, but you also get true curved surfaces, as opposed to the (admittedly very good) approximations used by Quake 3's curved surface support. Ray tracing is also easily SMP-able.

      Or perhaps I'm completely off kilter and ray tracing is counterproductive and/or unnecessary. Anyone care to comment?

      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

  32. Lack of historical perspective... by RatBastard · · Score: 2, Informative

    *SIGH*.

    Yes, the Amiga had smooth scrolling before anyone thought to do it on the PC. It took Carmack to do it simply because he was the first to do it. It wasn't all that hard, but someone had to do it first on the PC.

    The important point that many people seem to be missing is the historical aspects of teh IBM PC. While the Amiga was developed with games and multimedia (and developed after the PC, I might add), the IBM PC was designed first as a smart 3270 terminal with the ability to run local programs, and then later slightly retooled to be a "business copmputer". The original PC came with a text-only dsiplay adapter and no ability to play anything but the most primitive of sounds. This was all done very much on purpose. IBM did not want the PC to be persieved as a game box, a toy. They wanted it to be seen as a work machine, an office computer to get work done on.

    IBM didn't even develope the first graphics adapter for the PC, that was a small company called Hercules. Only after the runaway success of the Hercules card did IBM bother to develope the (weak and craptastic) CGA desplay.

    IBM didn't put sound or music into the PC, either. That was done by Adlib, Creative Labs and Advanced Gravis.

    Also of importance is the fact that the Amiga; the Atari ST, 400, 800, etc; the C64, Apple 2, etc... is that these system all shipped with fixed graphics adapters: an Amiga programmer knew that he had a display of XxY pixels and 4096 colors to play with, or the C64 programmer knew what his display was able to doi. In the PC wordld you had MDA, CGA, EGA, and VGA. Each generation of adapter brough new abilities to the PC and programmers had to decide which minimum technology level they were going to require.

    So Carmak was the first to do smooth side scrolling on the PC? Someone had to be first. If nor John Carmack, it could have been Roberta Williams.

    --
    Boobies never hurt anyone. - Sherry Glaser.
    1. Re:Lack of historical perspective... by Zalgon+26+McGee · · Score: 2

      The Atari 8-bit line (400,800, xl and xe models) did not have a set graphics mode. Rather, programmers could create their own "display list", a program for the ANTIC procesor, telling it how to interpret the screen data. Screen data could be located anywhere in system memory.

      The Atari 8-bit computers were well-designed, and had an underlying oS that actually reflected some thought and planning (standard device interfaces etc).

      --

      ---

      Book(n): Utensil used to pass time while waiting for the TV repairman

  33. Re:Amiga??? by mindriot · · Score: 3, Informative
    My theory is that while the Amiga scrolled by changing the pointers to where the screen was in memory, the PC dumb-copies entire screens.

    Well, that's what Id avoided on PC... (did you rtfa? :)) When EGA cards came up, they had enough graphic memory and functionality to change pointers... back then I tried this a little on VGA (320x200 tweaked mode giving four screens, and changing a pointer to scroll/switch screens for double-buffering).

    The Amiga did of course have much better graphics hardware, including a blitter for fast graphics data transfer and accelerated drawing functions, (at that time) lots of video memory, and further hardware acceleration such as sprites support. And, also, support for bitplanar graphics modes, easing smooth scrolling.

  34. Re:Funny by Tet · · Score: 2
    The article is also full of other technical inaccuracies, it's almost as if the people who wrote it knew nothing of the game industry.

    Indeed. The most obvious one (to me, at least) was the claim that gaming in the late 80s was dominated by consoles. At least in the UK, consoles barely scratched the surface of the market back then, which was utterly dominated by personal computers. The C64, Amiga, Atari ST ruled the market, and even the Spectrum was still going strong. Apart from the Atari 2600, consoles barely existed until the Sega Megadrive 2 came along in 1989, and didn't really hit the big time until around 1992.

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  35. What About "Descent"? by SpryGuy · · Score: 2, Interesting

    I seem to recall that "Descent" had arbitrary 3D (along with MAPPING!, which the Quake series simply doesn't have) way way before it ever came out in any id software games.

    How come the Descent series doesn't get any respect? There's some AWESOME graphics in them thar games! Smooth indoor/outdoor transitions, even rain on your windshield, not to mention a full six degrees of freedom in moving about.

    I loved those games.

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
    1. Re:What About "Descent"? by Quantum+Skyline · · Score: 2, Interesting

      Personally, I think the guys at Parallax/Interplay are geniuses, although if I remember correctly, Descent 1 came out after Doom 2. But then I'm biased since I own Descent 1, 2, 3 and the Mercenary add on, as well as Descent Freespace, the Silent Threat addon, and Freespace 2. Anyway, here's my promo for Descent:

      The key to Descent was the fact that you could simultaneously move in three directions with control. You couldn't do that in any of the Doom clones. There was an original way of thinking: a space shooter with constraints on where you could fly. Most shooters and doom have a map which is essentially 2D. Descent forced you to fly in corridors which could bend at any angle. The map was based on a cube instead of a square, and the cube could be modified to look like a 3D trapezoid. Descent had a 3D map which requires being able to view it in 3D at multiple angles to be able to figure out where you had to go. You had an original storyline that went from Descent 1 through 3. Descent 3 went on to allow movement between two environments (inside and out) and was much more of a thinking game than was Quake or Doom or the earlier Descent incarnations. Forsaken tried to copy the original Descent versions, but fizzled quickly.

      Creating a level is easy (anybody remember Devil?) and the newer versions shipped with mission builders. The levels you got from Interplay's Levels of the World contest were hard, but awesome (and in the case of Freespace, those levels were integrated into Silent Threat).

      Its a crying shame...Descent 4 has been shut down. But the Descent series IMHO, was groundbreaking. I'm glad to find someone who agrees with me.

    2. Re:What About "Descent"? by CoolVibe · · Score: 2
      There's some AWESOME graphics in them thar games! Smooth indoor/outdoor transitions, even rain on your windshield, not to mention a full six degrees of freedom in moving about.

      And don't forget the vertigo, and the vomit on your keyboard and the monitor after having gotten motionsickness after playing it for a while...

      But damn... it was worth it :)

  36. Re:Phenominal by CoolVibe · · Score: 2

    Doesn't matter. As long as his spelling errors are consistent, he won't have any trouble :)

  37. One thing I've always wondered... by FyRE666 · · Score: 2

    Was DoomII really ported to an arcade machine over in the States? I remember seeing one in the Film "Grosse Point Blanke" and thought it was probably a fabrication. If it was real, it must have been a nightmare to play with a joystick and XX buttons for weapons, jump, strafe etc etc!!

  38. Re:he is a C hacker, that's it by screwballicus · · Score: 2

    Just as rough (though zooming forward quite a ways in history): Playing Quake on PocketPCs:

    http://quake.pocketmatrix.com/

    On my Casio EM-500, I had 16MB of RAM in which to store the program, store my maps AND run the game. The scary thing is, that was enough. You couldn't play it on the faster StrongARM IPAQs, as the IPAQ engineers (who should all be subject to mass execution) saw fit not to support the detection of multiple button presses. However, on the little MIPS Casio chip, with its proper gamepad and buttons, it ran just fine. A game which still looks modern and can be stored and run in a total of 16MB of storage. Magic.

  39. 80s console gaming by freeweed · · Score: 2

    Gaming in the 80s *was* dominated by consoles:

    In the US/Canada and Japan, you had the original Nintendo Entertainment System. In most parts of Europe and South America, the Sega Master System. Both came out around 1985 (exact date depended on where you lived), and pretty much dominated the gaming scene in their respective areas. Other than the Amiga, there was no personal computer that could stand up to these consoles (try Super Mario Brothers for the C64 if you don't believe me :) - and the Amiga was pretty much out of the price range of most consumers at the time.

    The only time game consoles HAVEN'T the dominant platform was around 1983-4, when the entire video game industry crashed hard, and Commodore and Sinclair provided us with lots of fun. Although the case could be made for the modern era of games...

    --
    Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    1. Re:80s console gaming by Tet · · Score: 2
      In the US/Canada and Japan, you had the original Nintendo Entertainment System. In most parts of Europe and South America, the Sega Master System. Both came out around 1985 (exact date depended on where you lived), and pretty much dominated the gaming scene in their respective areas.

      Nope. Although the Master system was around, it certainly didn't dominate. In fact, it barely made a dent. It wasn't until the Megadrive that consoles in the UK achieved widespread use. In the shop in which I worked, we had racks of Spectrum, C64, Amiga and ST games, and a handful of Master System games because there was just no demand for them.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
  40. Re:Funny by ceswiedler · · Score: 2

    Sopwith...oh, sopwith... with to control... oh sopwith

  41. Say it with me now...! by aztektum · · Score: 4, Informative

    It's *id* Software. Not ID. Not iD. id. as in the psychology term.

    id
    Pronunciation: 'id
    Function: noun
    Etymology: New Latin, from Latin, it
    Date: 1924
    : one of the three divisions of the psyche in psychoanalytic theory that is completely unconscious and is the source of psychic energy derived from instinctual needs and drives.

    --
    :: aztek ::
    No sig for you!!
  42. It was Greed. by Sean+Clifford · · Score: 2
    It was Greed. We got a good laugh with the ASSCam - it was an acronym (a forced one that that), but it was cool. Very useful for those behind you. You could also cloak yourself as different objects.

    A little known fact - our archivist put a build on a server for some of our testers and 'oops' - he mis-set permissions. There were loads of people continuously scanning our site for a demo and 'viola'. The game got passed around - it wasn't done, but it was getting there - and we got a LOT of unsolicited feedback. Our guys also scoured message boards for opinions, etc. The feedback was 'bad, keep working' - and we did. However, the game was a disappointment in my book - good idea, some really cool features, but...it wasn't all that.

  43. Softdisk v. Id by Sean+Clifford · · Score: 4, Informative
    Unsubstantiated company rumor on the Duke thing, I guess. :)

    I remember Al talking about the lawsuit and the source code. One poker night (which I played badly) Dan Tobias went on a long rant (suprise) about the whole ordeal. I share his opinion that moonlight code belonged to the programmer, not the company.

    Absolutely nothing came of the source code. It sat in Jim's office unused.

    1. Re:Softdisk v. Id by CProgrammer98 · · Score: 2

      A lot of job contracts now have the clause about any software developed in your own time still belongs to the company. Mine does, I couldn't get rid of it either. The job market the way it is, it's either sign the contract or we'll give the job to one of the next 100 people in the queue...

      --
      And the people shall be oppressed, every one by another, and every one by his neighbour Isaiah 3:5
  44. Originality, creativity, etc by John+Carmack · · Score: 5, Informative

    I was fairly pleased with how that article turned out - when I first heard about it, I dreaded seeing a trivialized simplification of the issues, but it turned out as representative as you can be in that space.

    However, I really dislike discussions of the attribution of techniques to a particular programmer. Everything is derived from things before it, and I make no claims of originality. I would say that one of my talents is the ability to be aware of what sources are feeding into my work, and be able to backtrack to them. Also, there are always lots of other possible answers for any given problem that can be made to work. BSP vs sector list, Portals vs PVS vs scan line occlusion, tilted constant Z rasterization vs block subdivision vs background divides, etc. Looked at in the proper perspective, individual techniques just aren't all that important. Sometimes it sounds like "Dude, he INVENTED needle nose pliers!!!"

    Heck, I somewhat deride the very concept of originality. Creativity is just synthesis without the introspection. Lots of people will catch on that and start a rant about how Id games aren't original, but they are missing the point - it is possible to set out and develop something that will be received as "original" without ever having an "original" idea spring into your mind.

    The best way to get answers is to just keep working the problem, recognizing when you are stalled, and directing the search pattern. Many of the popular notions of innovation and creativity are in some ways cop-outs that keep people from being as effective as they could be. The little document I wrote about developing a part of the shadow algorithm for Doom that Nvidia has on their website was a pretty good example of my process. Don't just wait for The Right Thing to strike you - try everything you think might even be in the right direction, so you can collect clues about the nature of the problem.

    John Carmack

  45. Van Gogh was just a painter... by MrBlack · · Score: 2

    Mozart was just some guy that wrote songs..

    Newton was just a guy who could look at the natural world and derive laws that seemed to cover what he saw (oh, and co-invent calculus too). I'm not putting Carmack up with these guys, but it's pretty easy to diminish someone's accomplishments by saying they're "just a" something....

  46. Thousands of ZX spectrum games by pommiekiwifruit · · Score: 2, Informative
    prove you wrong there.

    I have just been learning Z80 this last week, and damn it's a cool processor! And still for sale...

  47. Re:The game was Specter by tgibbs · · Score: 2

    No, it wasn't Specter, which was sort of a Battlezone clone. The game I'm thinking of was a pure maze game, with no shooting at all. It did not have a particularly tiny window, although I wouldn't be surprised if they reduced the width somewhat. And it was very fast; presumably, it either used 2D raycasting or some other highly efficient method.

  48. No dice, for me anyway by Sean+Clifford · · Score: 2
    Hey, I understand where you're coming from. The job market is tight and most big companies have a huge cudgel in their contract. Most say 'take it or leave it' and most people grudgingly sign. However, I'm single with no family and am stubborn/lucky enough to hold out for a place that's geek friendly.

    I just absolutely will not sign a contract that has an intellectual property clause that claims ownership of code I develop for non-company-related projects on my own time. I've invested years learning my trade because I enjoy what I do and I won't allow that enjoyment to be crushed out of me.

    Arguably such clauses mean that you cannot participate in open source projects or hell - can't develop for fun at all without your efforts being assigned to XYZ Corp. Hell, arguably you're required to give notice of any such projects or could find yourself being sued b/c the company lost a market window...blah...blah...blah.

  49. On Creativity... by Amoeba+Protozoa · · Score: 2

    "Creativity is just synthesis without the introspection."

    I disagree with this view. You cannot completely decouple originality from creativity. Even if you only combine existing ideas together: for example packages and a kernel into a distribution; a graphics engine and art into a game; or off-the-shelf parts into a rocket you no doubt have to use an introspective process to create. It is the integration process that is the invention, not its indivdual parts, because after all: the individual parts were an integration process at an earlier time to begin with until we go back in human history to where we started to bang rocks together!

    Even if you had only managed to exactly synthesize another persons work but you had beaten them at market, it proves that you had thought of another idea to more effectively share your invention with the world...but you had to think to make this happen. Nothing in this world happens automatically * .

    However, I believe it is the mark of a genius to claim otherwise: I was reading an article on John Frusciante of the Red Hot Chili Peppers and during the interview he was asked where he got his musical ideas. He said (and I paraphrase,) "I don't come up with anything, the music simply enters me from another dimension." I would argue however, that the process becomes so deeply introspective that you are hooked up directly to yourself at such a deep level that the creative process happens nearly automatically.

    Here's a quote:

    "Great minds don't think alike, for that is why they are great." - Derek Weidl

    John, iD, thanks for the innovation...no matter how it happens I'm always entertained!

    -AP

    * : except the fundamental actions of the universe; or so it seams.

    1. Re:On Creativity... by Paul+Komarek · · Score: 4, Insightful

      To add another perspective:

      The mathematicians I have met (I'm one of them) by-and-large feel that new math ideas are *discovered* instaed of *created*. The distinction is important. Truth and algorithms already exist, we're just trying to *find* them and sort through the crap. Just because no human has previously written down some piece of truth or an algorithm before you do, doesn't mean you invented that truth or algorithm.

      We're all standing on the shoulders of reality, trying to decode what we see. John Carmack's comment about struggling with a problem in order to understand it seems very much in line with this view, and very much inline with the academic research process. Academics don't get research done just by sitting around, trying to be creative. We do research by repeatedly struggling with a problem until we figure out which defects in our brain prevented earlier understanding.

      -Paul Komarek

    2. Re:On Creativity... by Jagasian · · Score: 2

      It all depends on the philosophical foundation that you use for your mathematics. Most constructive mathematicians would say that math ideas (truth and algorithms are part of math) are created.

      But yes, because of our public school system what is effectively the Platonic philosophy of math is taught as the one correct understanding. Such a philosophy states that mathematical ideas already exist... Now, in my opinion, such a foundation for mathematics seems to be very irrational and non-mathematical. Assuming that math ideas already exists is something akin to assuming that god exists. Hence it requires faith like a religion.

      This is why L.E.J. Brouwer, for example, put great effort in founding mathematics on constructive foundations as opposed to Platonic foundations. Ideas are created, created again, and again. No, ideas don't already exist... for who created them? Where do they exist? For how long have they existed?

      Finally, such a distinction isn't trivial or meaningless as the philosophy used as a foundation for mathematics greatly influences what can and cannot be proven to be true in your mathematical system. The math that you seem to subscribe to is what is sometimes referred to as "classical", while the math that I am talking about is typicaly called "constructive". Computer Science is part of constructive mathematics, for reasons that I will not go into now.

    3. Re:On Creativity... by Paul+Komarek · · Score: 2

      Heh, you've caught me. I've never studied with constructionists, and in fact have never heard many good words said about that philosophy. Philosophically, I'm definitely an Existence & Uniqueness guy.

      I think that invoking Plato isn't really necessary to justify the non-constructionist view. It's always seemed clear to me that there is something constraining mathematical thought, and that something seems *fairly* universal among humans. For instance, anyone not bothered by certain consequences of the Axiom of Choice is clearly a martian and probably not from our Universe. ;-)

      These unspoken and unspeakable constraints are what drives the notion that we're discovering something and not creating it. It's not that our ideas exist, its that our new ideas are forced to come into agreement with existing principles in order to maintain consistency in mathematics.

      Computer science is not entirely based upon constructive mathematics, as near as I can tell. The first example coming to mind is complexity theory. I believe a lot of complexity theory depends on existence proofs which do not provide a method of constructing the necessary objects. While computers are Turing machines with finite resources and useful algorithms run in finite time, computer hardware is merely a part of computer science. The humans in computer science, though, are often classically-trained mathematicians. In fact, I've never met a constructionist face-to-face, and only if you describe yourself as one have I ever encountered a constructionist.

      Any mathematical system which limited itself to constructive techniques would be less rich than modern mathematics. While the constructionist approach is a useful paradigm, I see it as only a part of mathematical practice.

      At any rate, I don't want you or anyone to take the creation vs. discovery description I wrote too literally. As you probalby noticed, I wasn't particularly careful and didn't define most of my terms. It was meant as an informal summary of a constrasting viewpoint, a viewpoint which allows that ideas may be new but reality already exists.

      -Paul Komarek

    4. Re:On Creativity... by Jagasian · · Score: 2

      Brouwer's Intuitionism (one form of constructive math) admits the existence of some guidelines by which mathematical things are created. In fact, Intuitionism claims that these guidelines are built into our minds, and goes on to claim that such guidelines cannot be written down as the logicists claim. Godel and Church proved the Intuitionists correct.

      So the distinction is found elsewhere... but I see what you are saying. You would just say that one of these "guidelines" has the side effect of the law of the excluded middle in addition to other side effects. As to what that actual "guideline" or "thing that constrains" actually is... well we can't say ;-)

      Limiting math to constructivist foundations results in a math of abstract things that can be computed or calculated. Proofs in formal constructive mathematics can be shown to be isomorphic to algorithms in the lambda-calculus. Of course, incompleteness issues create the need for "more" than what formal constructive math offers. So you are right that CS includes more than constructive math, but the objects of main concern to computer scientists, algorithms, are definitely constructive mathematical objects. ...while the objects of interest to a physicist are inherently not constructive.

      Finally, Hilbert's backstabbing of Brouwer is why most of us only know of classical math as opposed to a constructive math.

  50. Re:Commander Keen! w00t by unicron · · Score: 2

    Remember Duke3d, the map with the guy from doom dead on the ground? And duke goes "That's one doomed space marine"?..too damn funny.

    --
    Finally, math books without any of that base 6 crap in them.
  51. Ultima Underground by SCHecklerX · · Score: 2
    IIRC, ultima underworld was out just before wolf3d, and had a more realistic (albeit slower) 3d engine. The speed didn't matter as much as it was an adventure vs. a shooter.

    comments?