John Carmack again kicked off this year's Quakecon with an extended technical discussion about nearly every topic bouncing around his head. These speeches are somewhat legendary for the depth of discussion on what are often esoteric topics, but they typically expose some very important sea changes in the industry, both in terms of hardware and software. John was a bit more organized and succinct this year by keeping things in check with some 300 lines of discussion that he thought would be interesting for us.
Next Generation Consoles
John cut to the chase and started off the discussion about the upcoming generation of consoles. John was both happy and sad that we are moving to a new generation of products. He feels that they really have a good handle on the optimizations of the previous generation of consoles to really extract every ounce of performance and create some interesting content. The advantages of a new generation of consoles are very obvious, and that is particularly exciting for John.
The two major consoles are very, very similar. There are of course differences between the two, but the basis for the two are very much the same. As we well know, the two consoles feature APUs designed by AMD and share a lot of similarities. The Sony hardware is a bit more robust and has more memory bandwidth, but when all is said and done, the similarities outweigh the differences by a large margin. John mentioned that this was very good for AMD, as they are still in second place in terms of performance from current architectures as compared to Intel and their world class process technology.
Some years back there was a thought that Intel would in fact take over the next generation of consoles. Larrabee was an interesting architecture in that it melded x86 CPUs with robust vector units in a high speed fabric on a chip. With their prowess in process technology, this seemed a logical move for the console makers. Time has passed, and Intel did not execute on Larrabee as many had expected. While the technology has been implemented in the current Xeon Phi product, it has never hit the consumer world.
There are other advantages for AMD with their domination of next generation consoles, and it will come in the form of software optimizations for AMD's CPU architectures. These console APUs are not entirely HSA compliant, but they do implement some shared memory advantages. Over time, we will see a lot of the gaming software (and physics) become more optimized for AMD which will improve their position in gaming circles.
The consoles both features gobs of usable memory, especially compared to the last generation of products. 8 GB for a console is very roomy and should allow a lot of flexibility with programming and in-game art assets. It will allow the use of a lot more uncompressed textures and will really simplify the development of games since there is greatly less memory pressure.
Sony had a reputation for being not-so-developer friendly with their tools. While guys like Carmack might have enjoyed the very technical tools that Sony provided with PS3, it was not popular with other developers who just wanted to code and ship products as efficiently as possible. Microsoft on the other hand had very user and developer friendly tools that allowed game development to proceed at a greatly accelerated pace as compared to PS3. Now the tables have turned. Sony has released very developer friendly tools to help accelerate game design flows to allow better looking and playing games in much less time.
Carmack is not entirely sold on Kinect. Even though the next generation of Kinect is a big jump up from the previous edition, it still has some issues in his eyes. The biggest problem revolves around latency. In fact, he succinctly termed this as a "zero button mouse with latency". Eventually we might see a product with with enough resolution which can differentiate finger gestures, and therefore allow much greater control for users and their gestures. That is still a while off and will require much more processing power than what they have available at this time.
The latest backlash against the upcoming XBox One is somewhat overstated. He believe some things are inevitable, and as a society we are slowly, but surely getting used to the idea of our lives being an open book for anyone looking to read it. Facebook, Instagram, FourSquare, and other applications track our movements more than most current spy programs do. We all carry around a GPS enabled device with our cell phones. We deal with DRM now with Steam Games, but because they exist in what is essentially a curated garden it is easy to access and typically is updated to work on modern operating systems.
He feels that these upcoming consoles will last a long, long time. Probably a little longer than current models (the first XBox 360 was released in late 2005). The combination of eight x86 cores, large amounts of stream units in the GPU portion, and the relatively fast memory busses feeding 8 GB of memory should hold us in stead for quite some time. We also will see a larger expansion of cloud style gaming. In a few years we will see console models come without optical drives as all content will be either stored in the cloud or streamed from there.
Android vs. IOS
John has been an IOS user since the iPhone came out and he started to develop for it. He has stayed with IOS enabled products for the past few years, but he is finally seeing Android catch up in terms of development tools and ease of use. Android still needs lots of work, as the underlying Linux still has some "goofy issues".
I do not believe that they are still actively pursuing mobile gaming, nor will they port their current IOS titles to Android anytime soon. John seems to like to tinker now and then with different projects, and diving into current Android releases is far less painful than it was in years past. Products such as Shield will advance Android gaming and is a nice change from "some crappy Bluetooth controller you attach to your phone". This will again help move Android gaming ahead and could make things more interesting for iD to develop for in the future. Carmack did not mention how successful he thought Shield would be, though.
The variety of topics that John covers here is impressive. I will try to organize them as much as possible.
John is pretty happy about where PC graphics are. A lot of subtle things can be done to improve image quality and approach offline rendering, but the return on a lot of this work is truly minimal. He does not believe that we will see any significant jumps in terms of quality over the next few years, at least compared to when the first true 3D renderers were released. He believes that developers should not try to spend most of their time on technical issues, but rather there needs to be more creativity. Yes, graphics are important, but why waste a lot of time implementing some complex piece of rendering technology that will only improve a scene by a small amount? Gameplay and creativity are going to be much more important going on.
Currently immediate rendering is really good at what it does vs. offline rendering. Yes, offline rendering will still look better, but that divide is certainly decreasing. Current tools and technology are really "good enough" for what the majority of people expect. I am somewhat paraphrasing here, but it seems that John is more interested in making it easier to create games rather than just implement technology to improve a scene by a couple of percent, in which only a handful of people would really notice a difference.
He is also unhappy that quite a few developers are still aiming at 30 Hz gameplay vs. 60 Hz (and at some extremes, 120 Hz). While getting 60 Hz out of the XBox 360 and PS3 was a pretty complex issue, it is not so on this upcoming generation. 60 Hz is pretty easily accessible, so it is puzzling to him why some are still developing at 30 Hz. He really feels that developing for that low number does have an impact on playability and enjoyability for users. Especially when we have pretty good display technology as well as graphics performance both on the PC and upcoming console parts.
Raytracing will eventually take over. We will have the horsepower to do this type of rendering some years down the road, and it will "just win". There is obviously a lot of merit to what he says, as it is a more accurate way to simulate a scene with lighting and interactions. We are getting closer to that day, but it will still be a while. The hardware requirements to do this are very steep, as it is incredibly computationally challenging.
Unified memory is going to be a great boon for the industry. Add in cards are fighting against this, but again this is an area that is essentially an inevitability. The complex interactions of memory accesses on both CPU and GPU, and the ability of the two to work synergistically, are made more complex by two memory pools (one on the CPU and the local memory on the add-in GPU). AMD and Intel are working towards unified memory with their respective CPU/APU technologies, but so far it does seem like AMD is ahead in this area. Especially with the adoption of AMD parts in these upcoming consoles.
John took us a bit back in time when talking about Tiled Renderers. At the dawn of 3D we saw a great fight between the PowerVR people (tiled) vs. 3Dfx (immediate mode). The Voodoo won that fight by being a more trouble free as compared to tilers at the time. PowerVR made a good go of it, but by the time the Voodoo 2 came out, PowerVR just could not compete. Tilers are very efficient when it comes to memory usage and bandwidth, but the initial compatibility issues they faced were too daunting. This is not the case today. PowerVR still lives on in a large variety of cellphones and all, if not most, of those issues that crippled the technology in the past are gone.
Having said that, there is still a lot of life for immediate mode renderers. PowerVR has done very well in the mobile market, but that is an area that they are staying put in. It is just nice to see that tiled renderers do in fact have a very important place in the industry, and we should expect to see more from them in the future.