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 to receive these accolades and vindication of our decision to make a game that has at times, been the development equivalent of climbing Everest.
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?” It doesn’t get any better. For us though there is just the sense of relief at having scaled yet another hill on a 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 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 costs of attending such events can pay substantial dividends.
It is also important to build up a personal library of useful code resources – both in printed form and as a collection of online 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.
However, on many occasions the problem in hand has no ready-made solution, and this is where some ingenuity is required. This process is the most intellectually demanding yet rewarding aspect of the job. I'll illustrate this point by outlining a particular challenge encountered during the development of 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!
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.
The vision behind Republic: The Revolution has demanded that Elixir develop its own lighting techniques