[diary twenty eight]
I recently spent three days at E3 in LA surrounded by acres of flesh - Texan programmer rather than LA beach babe, I'm sorry to report. If the industry's health is directly proportional to the number of babe booths at E3, this isn't a vintage year.
Luckily I didn't have to concern myself with such things and spent the entire show at the Elixir stand in one of the side halls looking after journalists. We gave 45 back-to-back demonstrations of Republic: The Revolution to the world's press. It was a spectacularly successful show, a testament to the hard graft and long hours put in by the team in the months running up to the show.
Every developer wants to win awards and this year we did. Republic: The Revolution won Best of Show from gamespy.com and Best Technical Game from pc.ign.com, two of the largest games sites. In The official E3 awards, the winners of which are yet to be announced, we have been nominated for Best Original Game and Best Strategy Game. It's a tremendous honour for the team to receive these accolades, small return for the lost weekends and frazzled synapses.
The highlight of the show was when Warren Spector (Deus Ex, Ultima Underworld and System Shock) brought Gabe Newell, head of Valve (Half-Life) to our booth to see the game. Gabe said to Warren: "Have you shown Sid (Meier) this yet?" It doesn't get any better. For us though there is only the sense of having scaled yet another hill on a long and gruelling journey. There's so much to do and so many trials ahead: There is no time for complacency.
No one who attended E3 could be in any doubt of the terrifying speed at which games technology is progressing. Right now the industry is at the cutting edge of many areas of programming, notably graphics and artificial intelligence. A by-product of this is the number of talented programmers now turning their back on more traditional industries - whereas once the best programmers flocked to the City to get their hands on fat pay-cheques and the humdrum of database programming, now they're coming the other way. Academics are joining them for similar reasons. Here Dr. Alan Murta, one of our engine team, discusses some of the challenges and similarities between the two disciplines:
I joined Elixir Studios as Senior Graphics Programmer in mid-2000, following a ten-year career as a Lecturer at the University of Manchester where I undertook research into computer graphics. There are many parallels between academia and games development. Here, I focus upon two particular disciplines common to both jobs - the development of professional knowledge and the creative process of problem solving.
Both disciplines require extensive knowledge of programming, particularly in terms of current and new thinking. The importance of keeping up-to-date with the latest technological advances cannot be overstated. In particular it's vital to look out for the publication of new algorithms, to track the feature sets of the latest hardware and API releases, and to look at upcoming games as a potential source of technical inspiration. One of the best ways to keep up with cutting edge research is by attending respected technical conferences - in my own field these include the annual SIGGRAPH event in the US along with various Eurographics events. The financial costs of attending such events can pay substantial dividends. Be aware that many so-called 'developer' conferences are primarily business oriented, and may have little to offer techies in search of algorithmic gems.
It is also important to build up a personal library of useful code resources - both in printed form and as a collection of on-line bookmarks. The development of any game presents the programmer with a long series of technical challenges to overcome. Fortunately many of these tasks can be broken down into a set of previously solved problems. Sometimes the solution isn't so readily apparent, and a little lateral thought is needed to re-map the given problem onto a known algorithm. Knowing where to look for pieces of the solution jigsaw can be of enormous benefit, saving the reinvention of the proverbial wheel many times over.
However, on many occasions the problem in hand has no ready-made solution, and this is where some ingenuity is required on the part of the programmer. This process is the most intellectually demanding yet rewarding aspect of the job. I will illustrate this point by outlining a particular challenge encountered during the development of our upcoming game Republic: The Revolution. Regular readers of this column will be familiar with Elixir Studios' Totality graphics engine, which can deliver unprecedented levels of visual detail to the gamer. Republic differs from other titles on general release in that it will feature massively complex free-form worldviews - for example city street scenes that may extend several miles into the distance. Drawing this amount of detail at interactive rates poses considerable challenges in its own right. Applying lighting to these models is another matter altogether!
Unfortunately it is just not possible to employ commonly used illumination shortcuts such as light mapping within the Republic world. It is our desire to present in-game vistas with arbitrarily complex arrangements of scene geometry and illumination sources (imagine flying over a city at night with hundreds of glaring streetlamps and building shapes on view simultaneously). It is this sheer combinatorial complexity which makes light mapping a non-starter. Our novel solution involves an analysis of how individual light sources contribute to specific sub-parts of the world. There may be 100 streetlamps in our field of view, but it is likely that only a tiny subset of these casts significantly upon the telephone kiosk in the foreground. By carefully considering each light's sphere of influence it is possible to reduce the local illumination description to the point where it can be rendered using simple surface shading methods. Our new custom lighting techniques are already providing us with thrilling atmospheric renditions of the Republic world. It's this sort of applied challenge which makes games development such a satisfying career.
Next
|