Coding Reality

Aside from organizational and time-to-market issues, cutting edge game engine developers must obviously deal with the technology. Writing the software to actually produce the type of games that current hardware is capable of is definitely the most daunting task. Where are we now, and how are we going to get to real time "Lord of the Rings?"

Apparently, John thinks that perfect audio can be done now. Carmack says that we've got the computing power to fully model aural environments and create honest-to-goodness real world sound in games. The focus of id Software's current game development efforts aren't in the aural area because the gap between reality and what we have on the physics and graphics side of the issue is much larger (and therefore more important to fix). One of the main themes of John's speech was that the most important things to do are the ones that have the largest impact on end users.

In fact, John mentioned that he had enough time to go back, clean up code, polish the interface and really put some effort in trying to make the game as close to perfect as he could get it. His verdict after the experience was that it generally sucked. Ultimately, the end user won't get as much value out of a really highly polished interface as he put into it. Of course, being a real "craftsman" with games (as John likened his experience) will satisfy a developer's desire for perfection, but Carmack's motivation, he found, is in delivering satisfaction to the gamer. He said over and over that the focus should be on value to the end user, which is a stance we take when looking at hardware as well.

Game physics are very CPU intensive, and John lamented the sheer volume of physics engines that do many things well but are easily breakable. Computing power and research are the main tools in improving this end of game development, and fluidity is the key to the future here. Mechanical and rag-doll physics are becoming ubiquitous, but things like having real wind, weather, and water affecting all the hair, grass, trees, clothes, and dust (or other particles) in the environment in a real way is a very big problem to solve.

The most difficult issue to tackle in game engine development as outlined by John Carmack is AI. John admits that their games feature very little character interaction because no matter how good a character looks, if it acts retarded or unnatural it will only serve to tear down the experience of the gamer.

On the plus side, academic research has become very relevant to games. In the past, academic research projects were way beyond what could be implemented in realtime. Now though, John sees academic and real world AI research merging in a gaming environment. Rather than requiring all kinds of sensors and inputs, a game world synthesizes all of its data so that core AI algorithms can more easily be tested.

Of course, the final problem with games is content and asset creation. Artists and designers slave over every model animation and texture that goes into a game, and just about every game engine requires that these artists and designers be familiar with its specific tools and idiosyncrasies. This means that artist have less mobility in the market place (and even within a company between projects), and more time has to be spent training people to use very specific tools that may end up becoming outdated when the next engine is released. Unlike the movie industry who can hire hundreds of carpenters to build sets immediately, the gaming industry can't go out and just get assets created fast enough. As with graphics engines in general, John sees the solution to this problem being generality in graphics hardware and APIs. As programmers can do more and more with graphics engines, development tools should more easily accommodate what artists want to do, which should also help speed up the development cycle.
Developing for the Future Final Words


View All Comments

  • BenSkywalker - Wednesday, April 7, 2004 - link

    "**if I have to do any sort of math involoving a distance from the viewpoint calculation or a projection, its realtime 3d.**"

    By that standard SuperMarioWorld for the SNES was was realtime 3D, as was FZero for the SNES(along with a slew of other games). I'm also looking at this from a graphics engine standpoint, but pretty much any definition based on your stance(any 3rd dimension factor) will include dozens if not hundreds of games prior to DooM(ignoring actual 3D titles like the original StarFox).

    IIRC Carmack himself calls DooM's engine 2.5D, a real 3D engine has objects that take up space, DooM does not have this.
  • TrogdorJW - Monday, April 5, 2004 - link

    #34 - Coming on strong as in the Ziplock distribution method was common in about 1980-1982. By 1984 there were plenty of places that sold boxed, retail games with nice graphics, etc. By the time the Nintendo console debuted, you would have been hard pressed to find anything other than Shareware shipping in plastic bags.

    Back in the 80s, *everything* was advancing quickly. I mean, what was the first arcade game? Gun Fight? Amazing Maze? Something like that, I'm sure. Released in the late 70s, I believe. The quality of those titles really wasn't any better than the plastic bag games like Akalabeth, and arguably worse.

    Anyway, I stand by my statements as well. Computers would have come to be with or without games, and once they came to exist in the home, it was inevitable that someone would make games for them. The stuff done by early hackers on main frames is testament to that fact. Without Miyamoto, about the only thing I am willing to guarantee is that Nintendo wouldn't be around today. Someone else would have filled the gap in hardware and software, though, as the existence of electronic toys was just a magnet drawing all geeks to it.

    In 1984, Origin and Electronic Arts were already producing games and making money, and other companies were entering the computer gaming market. Miyamoto and Nintendo had nothing at all to do with PC gaming surviving. You can stand by your statements all you like, but I'm stepping aside, Mr. Zax, and going happily on my way.
  • DerekWilson - Sunday, April 4, 2004 - link

    first off, I'm gonna appologize if I came off insulting when i said that the games mentioned weren't 3d. bad day plus passion (and different perspective) about subject equals bad combination :-) sorry.

    #33 - KF -- I'm not sure where john came up with the factor of 100 number, but I do know that he was including the added processing power of the GPU in his factor of a million statement. I know he wasn't talking about pure MIPS or FLOPS performance, so its going to be a question of percieved usable power available to a game engine ... it might be a bit subjective, but we'll give John the benefit of the doubt.

    Back to the 2d vs 3d question ... last visit for me :-)

    I think we've got a definition issue. I'm coming at this from a graphics engine standpoint (and what I used to do in my spare time). From a graphics engine standpoint, whether i'm working with geometry, sprites or an array that holds wall data, this is what it comes down to:

    **if I have to do any sort of math involoving a distance from the viewpoint calculation or a projection, its realtime 3d.**

    even raycasting (orig wolf3d engine) involves taking some data and creating a 2d projection based on tracing rays from the viewer to an object (causeing depth to affect the final rendering). there's that 3rd dimension :-)

    just because the guys at id represented their 3d world with two dimensions of data doesn't mean that their graphics engine was 2d. it just means they didn't store data they didn't need.

    from an interface perspective, you only had 2 degrees of freedom in early games, but this still doesn't say anything about the graphics engine.

    What I meant by the "environment [those games] are in" was that what we end up seeing is a 2d projection of a 3d rendering (as is true with all current 3d computer graphics from wolf3d to Doom 3).

    If you want to restrict labeling 3d games to games with: true 3d physical interation with the world, true 3d levels characters and objects, and a true 3d "environment", then I don't think we can call any games 3d games until we have display technology that doesn't require a 2d projection. Unless you wanna look at the possibility of stereoscopic 3d with 2 2d projections for each frame (one for each eye) and some nice goggles...

    But as long as we can recognize that those games had all had 3d engines, it can be acceptible for the first few games on the list to not be called 3d games, but rather games rendered in 3d.

    But ... duke3d and the build engine? 6 degrees of freedom for motion, almost free looking (the viewer couldn't tilt his/her head sideways, but could look left right up and down at any angle). So levels are built with a bunch of "2.5d" shapes ... I don't think I could stop calling duke3d a 3d game :-)

    again, I'm sorry if I got lines crossed and reacted less than optimally. I hope I've clarified where I was coming from though :-)
  • BenSkywalker - Sunday, April 4, 2004 - link

    [q]Those games are 3d games because the environment they are in are 3d.[/q]

    The environment they are in is not 3D however, try looking up. He pulled off some extremely impressive tricks with those engines, but they are 2D based.

    [q]However, C64 and Amiga were coming on strong, and the PC was just starting out.[/q]

    Strong? Games distributed in zip lock bags is strong? The comments thread isn't a good place to have a discussion as lengthy as this one would require, but I was there for the early computer gaming days too. I'm not speaking as someone who is new to either end of the spectrum, and I stand by my statements.
  • KF - Saturday, April 3, 2004 - link

    >the computing power we have now is about one
    >million times that of his first Apple machine.
    Did John Carmack explain "a million."
    Apple II's original 6502 processor was pobably 1 MHz, although it might have been more. The Apple IIc, with the "c" was later I think, and so a higher clock. 4G/1M=4000. Getting that up to 1 million is tricky. We need another factor of 250 Let see, 32 vs 8 bits is a factor of 4. I'd guess instructions per cycle was 1/4 for a 6502, and maybe 2 for a P4, for another factor of 8. We are up to a factor of 32. It's only short by a factor 8, but maybe John Carmack has one of those 8 processor computers.

    >...with about 100 times more power, Carmack thinks we will be able
    > to do in real time what it currently takes four and a half hours to render...

    4.5 x 60 minutes x 60 seconds x 60 frames comes close to a factor of 1 million. So, did John Carmack explain why a factor of 100 going to be enough?
  • TrogdorJW - Thursday, April 1, 2004 - link

    #27, I think you're entirely wrong. I remember the early 80s quite well. Consoles were dying in the wake of Atari problems, true. However, C64 and Amiga were coming on strong, and the PC was just starting out.

    My point isn't that Shigeru isn't influential, it's that he wasn't exactly innovative. He has had zero impact on the world of PC gaming, and in fact you could argue that if anything he has *hurt* the world of PC gaming. In the land of the consoles, however, it's a completely different story. He created/saved Nintendo, which then allowed Sega and later Sony to enter into the competition. With or without him, though, PC gaming would have continued.

    The problem with console games is that they discourage innovation, because there is a much larger barrier to entry. PC games have shareware (although not as much these days), demos, betas, etc. You can also create mods, map packs, etc. There is no real way to enter into the console game creation world without a significant investment of capitol, and that means that crazy and innovative ideas are less likely to come from that realm of gaming. Yes, some titles are still innovative, but overall, consoles steal ideas that were successful elsewhere more than they create them.
  • DaveNCheez - Thursday, April 1, 2004 - link

    I would love Quake2 Remix. Quake 2 is probably my favorite ID game... And I have been playing since the Commander Keen Days hehe...

    Just hard to get a game going.. Most friends don't want to play it or don't know about it. And there is no in game server browser...

    Quake2 Remix would be a blast.
  • mvt3 - Thursday, April 1, 2004 - link

    just cause it's personally interesting to me...
    define influence in the game industry...i think carmack has a hell of a lot, as did shigeryu

    hmm ed logg one mentioned him. also perhaps find this of interest:

    there are many people that had incredible influence just a little more subtle than the overly publicized ones.

    carmack's engines rule though. must say it.
  • CrystalBay - Thursday, April 1, 2004 - link

    Q2 remix does sound interesting... Reply
  • DerekWilson - Thursday, April 1, 2004 - link


    "umm...wolfestein 3d, doom, heretic, hexen, duke Nukem 3d umm....AREN'T 3d"

    Woah! do0d. That's the most wrong thing I've seen in a while.

    In the grand scheme of things, we have as much left to render "correctly" now as we did then. Its all about approximations, optical illusions and doing whatever is good enough and fast at the same time.

    billboarding sprites is a valid way to represent 3d objects in 3d virtual environment without sacrificing polygons. Its still done today in some cases.

    Those games are 3d games because the environment they are in are 3d.

Log in

Don't have an account? Sign up now