The SIGGRAPH conference continues to evolve with the times. Ten or fifteen years ago, it was very academically driven, solving problems that nobody had solved before just for the sake of doing something different or more realistic. Today, SIGGRAPH has a much more pragmatic character. Most solutions and techniques presented have been developed out of a need for movie rendering, model authoring and manipulation, or even real-time graphics applications. At the same time, SIGGRAPH has retained the same rigorous background that it always had, making it quite a change from what we’re used to in game development.
Unfortunately, whereas for the last couple of years real-time applications, and games in particular, had a relatively strong presence in SIGGRAPH (at least compared to past conferences), this year they were nothing more than a blip on the radar. I really hope that SIGGRAPH can correct that and continue the trend they had been setting for the last couple of years and continue including some real-time and game content.
Even so, SIGGRAPH is a great conference to attend. Unlike GDC, you can’t expect to apply what you learned in every session directly to your game. Most of the time, we’re years away from even starting to consider most of the solutions presented. The true value of SIGGRAPH comes in the form of giving us a different perspective on graphics, explaining a different set of problems, and using a different set of tools to solve them. So what you’re likely to walk away with are new ideas, different thoughts, and lots of excitement.
SIGGRAPH has a variety of session types: papers, sketches, panels, and courses. Papers are the more traditional sessions, in which a group of three or four papers are presented by their authors along with some videos of their results. The paper sessions range from outstanding to almost useless (usually when somebody simply repeats the formulas in the paper without offering a different perspective). Sketches are very interesting because they are early looks at some of the work in computer graphics. They often feel much more natural and fresh than the paper sessions.
This year I had the pleasure to attend what I considered to be the best paper presentation I’ve ever seen: “Wavelet Noise” by Rob Cook and Tony DeRose. The paper was an attempt to improve on Ken Perlin‘s classic noise function. From the very start, they showed why it needed improving, and proposed a new function. It was all done in a very clear, intuitive way, showing very clear plots of the Fourier analysis of the different noise functions and why one was more desirable than the other. The best part of the presentation was when Rob Cook explained how, with only two weeks to go before the paper submission, they discovered a major flaw in their function, and how they desperately looked for solutions and finally found a good fix in the nick of time. The presentation had it all: a solid theoretical foundation, a good speaker, excellent visuals, and a touch of drama.
As an aside, it is interesting to see how different some paper presentations are from others, and what a huge difference the speaker makes. It seems that the more experienced the speakers are, the less they rely on formulas and equations, and instead they can just say what things are about in a more natural way, whereas most students tend to rely heavily on the math to carry their message. Coincidentally, I was reading Surely You’re Joking, Mr. Feynman! on the train in my way back from SIGGRAPH. In one of the chapters Feynman reflects on his early experiences giving talks at conferences and reaches a similar conclusion.
A theme that was ever present in this SIGGRAPH was that of natural phenomena: fluid dynamics, deformable models, plants, etc. I particularly enjoyed the papers on deformable models (“Animating Sand as a Fluid”, “Coupling Water and Smoke to Thin Deformable and Rigid Shells”), and dynamics of solids, and in particular the “Meshless Animation of Fracturing Solids”. The implementation of those papers were still in the range of 20-30 seconds per frame, so there’s a ways to go before we can implement them in a game, but they were very interesting nonetheless and might even result in some partial implementation relatively soon.
Interestingly, a lot of the implementations mentioned in this year’s SIGGRAPH were done in Java. I thought that was really interesting because I kept assuming that most of them were done in C++. For something that is as computationally expensive as what they’re working on, it seems like an odd choice of language. But on the other hand, if they value development time over performance, then it might be a good choice. It can also be a result of changes in the curriculum of universities over the last several years shifting towards Java.
The other set of extremely interesting presentations was on character animation. As in the past few years, data-driven character animation was well represented, and it seems like a great way of going forward in the future. Physically driven animation was also present, but I don’t see it having much future on its own. It’s the perfect complement to data-driven animation, but by itself, I don’t see it creating good, stylized human motion any time soon. There is a group at UCLA working on combining physically based human motion with kinematics-based techniques that looked quite promising.
One of the few game-related sessions was the one on believable AI-driven characters, in which panelists (mostly from EA) discussed the future of characters. The good news is that all the questions raised in the panel are the questions we’ve been asking ourselves for a while, so the problem is real and other people are working on it. The bad news is that there were no real answers to the problem.
Another game-related session was titled “Jump! Shout! Dance! Sing!”, and dealt with alternative input devices for games. During the presentation, panelists showed some of the upcoming games that use new input devices (Guitar Hero, Karaoke Revolution Party, which combines karaoke with the dance pad, and a Sony music game with a synth/DJ input device). I’m a sucker for music games (like Amplitude or DDR), so I loved seeing what’s coming down the pipe.
Graphics hardware also had a big impact in SIGGRAPH, with lots of courses and presentations dealing with GPUs. Somehow, even though a lot of those talks were intended for real-time rendering, I found them a lot less interesting (it seems I can read plenty GPU tricks-du-jour in books or whitepapers).
A big draw for a lot of people for this year’s SIGGRAPH was undoubtedly supposed to be George Lucas’ keynote. The room was certainly packed (I can’t even estimate the number of people there–maybe 10,000?). I’m sorry for everybody who was there with high hopes. After some interesting and insightful keynotes by some big names in past years (like Bruce Sterling in 2004), I also had high hopes. However, as soon as it started (after a loooong award ceremony where everybody patted themselves in the back) it was clear that Lucas only agreed to show up and answer questions for a while, without having prepared any speech or insightful comments. The most interesting thing to come out of it is that Lucas wants to see games that we can talk to and they talk back. Given how ubiquitous headsets are in consoles these days, that might happen sooner rather than later.
The Electronic Theater had a lot of good stuff. It had fewer big blockbuster movie snippets than other years and more independent, really creative shorts. Some of them were an absolute blast. If you have a chance to see the Electronic Theater DVD, make sure you check it out.
The emerging technologies area is getting wackier and wackier every year. This year’s top contenders for the wackiest technologies were a straw-drinking simulator that gave you the feeling of drinking different drinks just by pushing air into your mouth, and a device that allowed people to be remote-controlled by altering their sense of balance. That last one looked somewhat disturbing so I didn’t end up trying it on myself (but it was really fun watching other people bobbing around the floor).
All in all, SIGGRAPH was an excellent experience again. SIGGRAPH is a window into a different world, and as game developers, we can only benefit by trying to look through that window and even participate and share some of our own experiences.