![](/Content/images/logo2.png)
Original Link: https://www.anandtech.com/show/1283
Game Developer's Conference 2004: Carmack Addresses the Masses
by Derek Wilson on March 30, 2004 3:34 PM EST- Posted in
- Trade Shows
Introduction
If the Game Developer's Conference is the Mecca for all those who write video games, then surely John Carmack is like the prophets. Founder of id Software and creator of incredibly long lived and just plain good games, John is arguably the most brilliant programmer of our time. For years the IDGA (International Game Developers Association) has been trying to get John to come speak. This year they pushed the right buttons (they convinced his wife it was a good idea) and the king of game programming, himself, descended upon GDC.The focus of the keynote was on the difficulties with bleeding edge game engine development. Obviously this isn't something most of us face on a day to day basis, but knowing what John Carmack thinks about game development is almost like looking into the future of computing. Either through amazing foresight or incredible influence, John Carmack has well understood the direction computer hardware would take throughout the past few years.
To illustrate just how far computing has come, John informed us that he first started coding on an Apple IIc. He pointed out that the computing power we have now is about one million times that of his first Apple machine. Further, 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 in a 3D content creation application like 3D Studio or Maya. Essentially, the master of video games is predicting what he called "Lord of the Rings" quality rendering in real time within the next ten years. How does a video game developer stay on top of it all? Well, it's not easy...
Developing for the Future
In the beginning, there was John and a few friends who wanted to make a cool game while sitting around and programming. The fate of id Software was to grow into the position of a giant software development firm. In describing the transition, John joked about essentially becoming The Man against which all indie game developers fight. While (of course) very happy with the position of id Software in the industry, John realizes that it takes those small teams of friends writing games to innovate the next breakthrough in video games, as the large firms are almost locked into a type of game based on their current assets.John Carmack will always be the creator of the first person shooter genre, and id Software will be one of the best developers of first person shooter technology on the market because that's what the people that work there do. Of course, though the next breakthrough in game play may come from your neighbor's garage, the next big breakthrough in game engine technology will come from companies like id who have the money, man power, and influence to develop software for hardware whose concept barely exists.
With expanding complexity and difficulty, it takes a lot to keep up with hardware. Game development cycles are generally much longer than a generation of graphics hardware. Doom III, for example, has been in development for four years, while every six months we get a new set of graphics cards. In the early days, John would be involved with every bit of code that went into his games. Quake III was the first game where John didn't have control over every section of code, as bot AI was developed by someone else. With Doom III, id planned from the beginning to have four lead developers on the project. It just takes more than one person being in charge to push the envelope to the max (though John still feels guilty that there are some files in the Doom III source tree that he hasn't even opened).
Obviously, the gap between software and hardware is of the utmost interest to us. We rely on those on the bleeding edge to help us understand the actual performance of new hardware. Even with all the resources John Carmack has at his disposal, and eventhough he had a very good idea of where the hardware was going, he let us know that it would still take about two and a half years from now for game developers to come out with games that took full advantage of NV4x/R4xx generation hardware. Developers are just starting to get these parts into their hands (John mentioned that he just plugged an NV40 into his personal development system), and getting the most out of this technology and putting it into the hands of consumers is something that John has been struggling with.
To combat the problems with long development cycles, John is looking at ideas like tweaking an older engine to take advantage of current hardware and doing something like a Quake II remix where it's the exact same game but with awesome graphics and targeted at a bit of a niche audience. The cost and development time are lower on such a project since the assets and structure for the game already exist and just the core engine code would need to be reworked. Even this solution would take some time, but sooner is definitely better than later.
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.
Final Words
Seeing John Carmack speak was an amazing experience. There isn't another person in the gaming industry with as much knowledge and influence as John Carmack, and id Software is definitely one of the leading game development houses in existence. Everything from Commander Keen to the upcoming Doom 3 has been a testament to John's talent.Even though we have an eternal chicken and egg situation with games and hardware chasing each other around, it is good to hear from the horse's mouth that we will be seeing real time movie quality rendering become a possibility in the next decade. With games like Doom 3 and Halflife 2 on the horizon (and having seen glimpses of some other totally unreal realtime 3d at GDC) it's easy to see we are well on our way. The second generation of DX9 hardware, coming down the pipe Real Soon NowTM, is also bringing some much needed speed to the table, and what we will see from PC game developers over the next few years should prove to be very awesome stuff.
We wish all luck and skill to those warriors on the forefront of game engine development. The place where creativity, diligence, and mathematics meet is a strange and wonderful land. Here's to few timetable slips and ever more powerful debuggers. The future looks as bright as the sun after being run through a high dynamic range shader.