Star Wars: Empire at War Designer Diary #5 - The History of Empire at War
With this exciting Star Wars real-time strategy game hitting stores this week, Petroglyph's president and lead programmer looks back at how Empire at War came together.
One of the more anticipated strategy games of the year arrives in stores this week in the form of Star Wars: Empire at War. Set prior to the events of Episode IV, Empire at War will let you take command of the armies and navies of either the Galactic Empire or the Rebel Alliance as you attempt to conquer or liberate the galaxy. There's a lot of buzz around Empire at War, thanks in large part to last month's
The History of Empire at WarBy Michael Legg
Lead Programmer and President, Petroglyph
With the development of Star Wars: Empire at War, the last two-plus years have been a wild and fun thrill ride of nonstop challenges and intense teamwork for both Petroglyph and LucasArts. It's been a labor of hard work and dedication for both companies. Empire at War is now officially "gold mastered" in all of its languages and will be arriving February 16 in the hands of gamers around the world.
A high bar was set for this game from the beginning: Create an all-new Star Wars real-time strategy experience for the PC with a brand-new cutting-edge game engine. Empire at War had to feature both amazing tactical real-time space and planetary surface battles, which then needed to be elegantly integrated with a strategic galactic map that represented the Star Wars planetary systems from the movies and lore. It all had to be created from scratch, and it had to be done in roughly two years. There was going to be a ton of work to do. In October 2003, we made the jump to light speed and development was under way.
Both companies agreed that the game could not be a formulaic, me-too real-time strategy game that was just "more of the same" gameplay. It had to take a creative risk to be innovative while still being accessible, fun, and deep with strategy. It would take place in the classic Star Wars universe, just before Episode IV. We agreed upon three major features for the gameplay to advance the real-time strategy genre.
The first is the idea that persistence in a "living universe" would allow our infantry, vehicles, structures, land bases, star bases, fighters, and star ships to live on after surviving battles. Retreating from a battle became a viable tactic, as units could escape and regroup. Losing a major (and expensive) unit in battle would actually mean paying a price. Every unit that was produced would now have lasting value.
The second big feature is the idea that tactical offensive and defensive "hard points" on large units (such as the Star Destroyer) would provide more tactical depth to combat, making these units a sum of their parts. Is it better to target the hyperspace engines, shield generator, fighter bay, or a bank of weapons? Large capital ships and orbital star bases would become not just large art models with a single health bar, but rather formidable forces with multiple strengths and potential weaknesses to strategically attack and defend.
And the third feature is the idea that the strategic galactic map would be where income is generated from occupied planets, bases are established, vehicles and ships are constructed, infantry are trained, and forces are mobilized. This map mode would be the glue to smoothly bond tactical space and land battles together, while making persistence truly matter. Units travel between the planets and can be stationed on the ground or in orbit. And it would all run in real time rather than being traditionally turn-based as with other strategy games.
To round out the design, the massive scale and scope of the game would be incredible. We would give the ability to amass units from small infantry platoons, ground vehicles, speeders, assault vehicles (AT-ATs), and land structures up to starfighter squadrons, corvettes, frigates, capital ships, and multiple levels of star bases. All battles would occur on or above planets. We would even be able construct the Death Star, which could travel across the galactic map and demolish entire planets into asteroid fields. Empire at War was going to be a game of seriously epic proportions.
Through the preproduction process, we wrote the bulk of our core technology and tools from scratch. We began staffing up on the programming team so that we would reach our technical design review (TDR) goal and begin production in the spring of 2004. We originally evaluated two third-party graphic-rendering engines. Though architected very well, neither gave us the specific rendering power that was required for the game. To satisfy our high requirements, we wrote our own proprietary Alamo graphics engine. When implemented, Alamo quickly proved to look stunning and perform solidly. The new graphics engine would allow Empire at War to play well and look good on lower-end systems, while also looking amazing with a full DirectX 9 feature set on high-end systems. When the technical demo was presented for TDR, there were stormtroopers, AT-ATs, and AT-STs assaulting a rebel base on Tatooine. It was mind-blowing to see walking AT-ATs on the sands of that famous desert planet. It all looked incredible!
Smarter StormtroopersThe artificial intelligence of the game needed to be extremely well planned and architected to allow design flexibility through XML data and LUA scripting. First, there needed to be great tactical unit AI during the space and land battles; not just scripted reactions, but really logical and sometimes tricky tactics. Next, there needed to be unit-pathfinding AI to traverse troops, vehicles, and ships across their maps while avoiding hazards and not running into each other. Both space and land modes posed their own unique challenges for pathfinding. Finally, there needed to be well-crafted strategic AI at the galactic level. The AI would need to create plans, execute goals, and perceive what was going on across the galaxy. It needed to play a chesslike game similar to a human player, and if it was flawed, the galactic game experience would crumble. There was a team of people dedicated to AI for just about the entire course of Empire at War's development.
Multiplayer technology was also planned and implemented from the very start of the project. Connected games with other players (over the Internet or LAN) would need to be synchronized with each other on all machines. With the wide array of connection speeds, PC processors, and multiple varieties of Windows, this would continue to be a challenge throughout development. Adding multiple game modes (land, space, galactic), object persistence between them, and AI added to the complexity of the task. To have working multiplayer technology was an ongoing effort throughout the entire course of development.
As the game engine technology, development tools, and asset pipelines became developed enough for actual game data implementation, the art, audio, and design teams began to grow. Over time, the art team created the models, textures, user interface, visual effects, and map objects that would contribute to everything visual in the game. The Petroglyph audio team was made up of just audio director Frank Klepacki. The design team wrote stories, created new characters and units, designed and implemented maps, and did everything else involved with making the code, art, and audio all come to life.
When Empire at War was finally unveiled at E3 in May of 2005, the reception could not have been better. The LucasArts booth looked incredible, it was constantly packed with guests, and Empire at War showed beautifully. The LucasArts public relations and marketing teams did a phenomenal job in creating a massive buzz. It was at E3 where Empire at War was nominated for four Best Strategy Game of E3 awards, and ultimately won three of them. We were thrilled--it was time to finish the game.
As we hit the homestretch of development, both companies worked closely together to wrap everything up for the launch of Empire at War. A huge effort went into quality assurance (QA), where the QA team helped us track and fix bugs as we gradually stopped adding new code, assets, and features. Voice actors were recorded and text was localized in countries around the world for Empire at War to have a simultaneous, worldwide launch in all supported languages. Our team crunched for four weeks to hit our alpha milestone, which involved working longer hours during the week and on Saturdays, without getting burned out. With coordination from LucasArts, we hit the alpha milestone date and were heading for beta.
As we frantically worked toward the beta milestone (with the game being feature, content, and code complete), we also assembled the Empire at War demo, which would be released in January 2006. After the demo was finished and signed off by QA, we then raced toward beta, hitting the milestone on time.
Final work to the balancing, polishing, and bug fixing was completed by the QA team. And then, as February arrived, it was announced that all versions of the game had gone gold for worldwide release, meaning that gold master disc images were en route to the mastering labs for mass production. It was a great day for the Empire at War team.
We are thankful for the support and goodwill that the community has given to Star Wars: Empire at War, and we hope that everyone enjoys playing our game as much as we have enjoyed creating it. We feel that LucasArts and Petroglyph have taken a creative risk in innovating beyond the traditional real-time strategy formula, and we are encouraged by the feedback we have received.
May the Force be with you, always!
Got a news tip or want to contact us directly? Email email@example.com