John Carmack Talks Graphics
Next Generation is running a short piece detailing some highlights of an interview with John Carmack, set to run in the February issue of PC Gamer UK. From the article: "For the last year I've been working on new rendering technologies. It comes in fits and starts. Our internal project that'll incorporate it hasn't been publicly announced. We're doing simultaneous development on Xbox 360 and PC, and we intend to release on PlayStation 3 simultaneously as well, but it's not a mature enough platform right now for us to be doing much work on."
I think the major limiting factor in game rendering systems at the moment isn't the programming, but the content.
Where a room in a Doom map could have been a single rectangle with simple textures on the walls, floor and ceiling, a single lighting value and a simple sprite-based barrel for decoration, an equivalent room in a modern FPS might have thousands of triangles, per-pixel lighting from multiple light sources (each placed manually for the best visual effect), high-resolution textures with multiple components (albedo, specular, normal maps), decal textures with complex shaders, and highly detailed barrels with thousands of triangles and their own unique, complex textures...
The rendering hardware might have become massively more powerful, but for a typical indoors FPS the environments haven't become any more complex in their layouts, only in the detailing. F.E.A.R. is a brilliant example of this - the demo brought my PC to a juddering standstill when rendering some incredibly lacklustre scenes - generic alleyways, rooms with pipes, warehouses...
Strip the fancy shaders, props and lighting away, and the layout is pretty similar to a game from perhaps ten years ago.
What I'd be interested to see would be a game with relatively simple textures, geometry and so on, but rendering so much of it that it actually gives modern hardware a decent workout. Wild examples - a game where you're trying to escape a crime-scene in a city with realistically busy streets; FPS games with genuine swarms of monsters (instead of methodically shooting individual enemies placed by the designers, perhaps you'd be carefully clearing your route, blocking potential entrances where monsters could get in); an RPG city with crowd scenes involving hundreds or thousands of procedurally modified characters (imagine Elite, but with people instead of star systems...)
Instead, we keep getting Doom with fancier graphics.
Tedious Bloggy Stuff - hooray?
Have you gone back and actually played Doom I or II recently? Compare that to almost any modern game and tell me it looks just as good. Many parts of Doom were up to the player's imagination (remember the "Suburbs" and "Factory" maps in Doom II?).
The real limiting factor is development time. The more stuff you build into each level, the more time and money it takes. The brown boxes in Doom were pretty easy to make, but these days they won't do at all. You need to add details like windows, roofs, etc... to make your maps compete with the rest of the industry.
That said, there are things that work better with raster graphics than they do on polygons. You can draw in lots of details like ammo packs, cigars, and the like when doing raster graphics that just look bad when plastered on a polygon.
However, there is a catch. As development tools get better and better you can create more complex scenes with less developer time, so over time the situation should improve. In fact I'd argue that this is already happening as you see games that look way better than stuff from even a couple of years ago.
One final note: If you really want to see what happens when you give your deveopers unlimited time to work on maps, check out Second Life, which is sort of a MOO with graphics. The world is almost entirely user created and the build system is powerful enough for people to do some fantastic things.
I read the internet for the articles.
carmack is used to developing for the PC. the xbox1 was basically a pc specialized for games. x360 builds on the xbox1 ideologies.
/that/ easy, why does x360 quake4 suck so badly? a rush job will always suck, no matter how easy the development tools are to use.
microsoft built half of the tools that carmack's crew is used to using. of course the ps3 is going to be "immature"; specs were only finalized last year. sony is starting from the ground up. big shocker here: "pc game developer sides with microsoft and plays it safe with the company that all of their products depend on rather than side with sony a company that they have no loyalty to. news at eleven!" =)
microsofts development goal was always to make things easy for pc developers to port things over to the xbox line. if its easy, carmack just needs to shovel his latest and greatest hit to xbox and voila! instant profit. hey, it worked for the unreal, doom, far cry, halflife franchises.
look at quake4. if it was
What I'd be interested to see would be a game with relatively simple textures, geometry and so on, but rendering so much of it that it actually gives modern hardware a decent workout. Wild examples - a game where you're trying to escape a crime-scene in a city with realistically busy streets; FPS games with genuine swarms of monsters (instead of methodically shooting individual enemies placed by the designers, perhaps you'd be carefully clearing your route, blocking potential entrances where monsters could get in); an RPG city with crowd scenes involving hundreds or thousands of procedurally modified characters (imagine Elite, but with people instead of star systems...)
You just described GTA 3, Serious Sam, and World of Warcraft.
OK, not exactly, but the essential scenarios are the same. These games do all have comparatively simple graphics with large environoments and lots of AIs (or actual people for WoW).
I quit!
Agreed!
:) But really, I can enjoy a game that uses the same old FPS model as long as the content is interesting enough.
I still have vivid memories of Wolfenstein 3D looking so amazing. The same with Doom and Duke Nukem 3D. But load one up right now and there's no comparison with today's graphics. Heck, you don't even have to go that far back. Even Unreal and Quake II look silly compared to games coming out today. The graphics we'll be seeing five years from now will make today's games look corny. That's the way it goes.
The problem here for people like us who have been around this long is that we're, ahem, growing up. I've really started to notice that the older I get, the more it takes from a game to hold my interest. It's an odd moment when you're playing Monopoly with your kids and you suddenly realize: "what the hell did I ever like about this game?"
And yes, of course some of this has to do with the rehashing of old game ideas. If come across another jumping puzzle in an FPS game at this point it'll probably sour me on video games for the rest of my life
P.S. - I really wanted to like Second Life, but...what the heck? The ability for the players to create all the content is pretty amazing, but after that it's like a giant chat room with...3D graffiti.
Try playing games that aren't first-person shooters (i.e. 75% of the libraries of current consoles and 99% of the libraries of the previous generation).
John Carmack is, among other things, a performance expert, and the most interesting thing he says in this article is this:
"The difference between theoretical performance and real-world performance on the CPU level is growing fast. On, say, a regular Xbox, you can get very large fractions of theoretical performance with not a whole lot of effort. The PlayStation 2 was always a mess with the multiple processors on there, but the new generations, with Cell or the Xbox 360, make it much, much worse. They can quote these incredibly high numbers of giga-flops or tera-flops or whatever, but in reality, when you do a straightforward development process on them, they're significantly slower than a modern high-end PC."
He's putting programmers on notice that the days of writing single threaded code for a simple virtual von Neumann machine are over. The hardware designers bent over backward for years to support that programming model, and they've given up. They've hit the wall and moved on to other things. The smart programmers (like John Carmack) are figuring out how to follow them.