Drakan: The Ancients' Gates
Why do we do it?
Nearly every game developer has experienced that moment when a family member posed the dubious question, "Oh, you're still doing that game thing?" the implication being that one has yet to find a proper job. In a culture which defines a person by the work they do, being a game developer is the equivalent of moving to Never-Never- Land: we don't want to grow up, and we don't care who knows it.
Despite the public perception that "it must be fun to play games all day," those of us actually in the business know how labor intensive it can actually be. The key difference between having fun and working is that you can stop having fun whenever you like. In particular, lay people fail to understand the nature of the "crunch" periods that game developers have come to accept as the norm. Why is it that game developers are willing to put up with unpaid overtime that goes on for months sometimes without any foreseeable conclusion? During these periods friends tend to forget we exist, family members start speaking of us in the past tense, and we become fast friends with the folks who deliver the take-out food. Yet we keep doing it, project after project. And though the lessons we learn from previous development experiences help us try to make those crunch periods shorter and shorter, we all enter our new projects knowing, despite our best attempts at willful self-delusion, that another crunch period awaits us in the not too distant future. Yet each game brings a new spark, a new world to be created, a new play-space to be architected, and somehow we are driven on, back into the fray.
To Hell and Back
Drakan: The Ancients' Gates, or "Drakan 2" as it was known for most of its development, is the PlayStation 2 sequel to the original PC game Drakan: Order of the Flame, released in September of1999. Due to the shift in platforms, it is hard to consider the game a proper sequel, especially since the game in no way assumes that its audience has played or even heard of the original Drakan. However, Drakan 2 started its existence as a PC project that picked up right where the original left off and was due to ship about a year after the first game's release. Interestingly, development on Drakan 2 actually began before the original had shipped. Then publisher Psygnosis realized they had a hit on their hands and wanted to start building a franchise immediately. Since most of the people who had been instrumental in the creation of the original Drakan were still very much involved in shipping that project, Surreal hired a number of new individuals to head up development on the sequel.
Aerial combat on Arokh’s back was one of the most visceral parts of Drakan’s gameplay.
Unfortunately, team discontent grew over the direction of Drakan 2, and it became clear that starting a sequel with a brand new team before the original game was completed had not been the best plan. With a few months to look back on the release of Drakan and to assess the critical and fan feedback, the game was significantly redesigned and taken in a new direction that the whole team was happy with. Meanwhile, Psygnosis, long owned by Sony, closed its US office and was fully absorbed into Sony Computer Entertainment Europe. They subsequently got out of the business of publishing PC software, choosing to focus on bolstering the company's phenomenal success with the PlayStation. Surreal had already started experimenting with PlayStation 2 technology on another project in development at the time, and thus it seemed logical to SCEE that we transmogrify Drakan 2 into a PS2 project.
As a result of the shift in platforms, the game's original ship date was pushed out by a year, and Surreal again adjusted to developing an entirely different type of game from what had originally been planned. Faced with the challenges of a new technology, drastically more complex art content, and a different style of gameplay, we set to work. The largest hurdle turned out to be technology, and the much- hyped power of the PlayStation 2 did not arrive in any tangible form for a very long time. During this period Surreal also switched to being published by Sony Computer Entertainment America, a publisher in our own time zone who were extremely understanding of the troubles we were facing and supported us through our darkest hour.
When the technology finally arrived, we were suddenly pushing more polygons than the more cynical among us had ever thought possible. There was a sea-change in morale at Surreal, and we undertook a massive push to get two levels ready to be shown at the game's unveiling at E3 of 2001. This was by far the most satisfying part of the project for many team members, as the game finally became playable with a beautiful high polygon count look and a solid frame- rate. It was extremely satisfying to a team that had been burning the midnight oil for the last two months to hear enthusiastic comments from the passers by at the show: "Wow, what's this game? It looks so good! Look, you can fly a dragon!" E3 was truly where the project turned around, with the team's spirits buoyed by the enthusiastic response the game received.
With the technology finally established and our E3 demo a rousing success, the project now needed to ship for the Christmas season. Though the time that proceeded E3 had been intense for the team, the period which followed leading up to the game finally going gold in January of 2002 was brutal, with people pushed to their breaking point. Amazingly, no one actually broke, and the game came together in a final incarnation of which the team is extremely proud. But, as proud as they are of the final game, some remain more proud of surviving the development that lead up to it.
In addition to flying around on Arokh, Rynn engages in combat on the ground quite a bit.
In the March 2000 issue of Game Developer, Stuart Denman wrote a postmortem article about the original Drakan: Order of the Flame. In that article, the "Rights" included Strength with Graphics, Green Team with Fresh Ideas, Engine and Tools, Compelling Design, and Indoor/Outdoor Environments. All of these proved to be strengths again of Drakan 2, though the team was no longer quite so green. In its place is a group that has grown and matured into a much more seasoned organization. On the other hand, the "Wrongs" from that original article included Staying on Schedule, Inadequate Testing, Collision Detection and Response, Multiplayer, and Badly Executed Story. The story and particularly the script were improved dramatically in Drakan 2, and as a console title we jettisoned multiplayer entirely. Our collision system was vastly improved, though still proved to be one of the largest sources of bugs, but for entirely different reasons: our far more complex world led to all manner of new collision issues. Drakan 2 had extremely thorough testing and shipped far less buggy than even the final patched version of the original Drakan. Unfortunately we did not do internal testing early enough during the project's development, which, coupled with the game's massive size, lead to an extremely long QA cycle and the game not staying on schedule. It is the consensus of the team that Drakan 2's development was a vast improvement over the original Drakan's, yet, as the problems we encountered testify, we still had a lot to learn.
What Went Right
1. The Dedication of the Team
With the technology unfinished for a large period of the game's development and with a resulting crunch time that lasted nine months, Drakan: The Ancients' Gates could not possibly have been completed without a dedicated team that gave up their summer to see this game through to the end.
Despite doubling in size from the team that developed the original Drakan, Surreal remains a tight company of friendly people. Employees who have not gotten along with the rest of the company have tended to quickly depart for one reason or another. There is a distinct lack of bureaucracy and office politics. Company outings are regularly undertaken and generally relaxed policies allow for a remarkably enjoyable workplace. While definitely knowing how to have a good time, the team remains extremely professional and in possession of a strong work ethic. Through the stressful development cycle, there were a surprisingly small number of blow-ups and a distinct absence of fist fights. Everyone was too busy working their asses off.
So what made the team survive through the crunch? First and foremost was a feeling of responsibility that everyone needed to pull together for the common good, so as not to let the other people in the company down. With a company culture such as Surreal's, the feeling of camaraderie is palpable. Second was a belief in what we were building. Drakan 2 was a high-profile project from a major publisher and though there were moments of doubt, by and large the team felt that the game was destined to be a great if only we could manage to finish it. Given the number of problems that befell the game, Drakan 2 turned out better than it really should have because of the people who gave years of their lives to make it come together.
2. The Flexibility of the Tools
The entire Drakan 2 game-world was rebuilt in nine months. Given the massive size of Drakan 2, this is a staggering statistic, and was only possible because of the flexibility of our proprietary tools. Drakan 2 was built using a slightly upgraded version of the tools used for the original Drakan, and it is a testament to their continued flexibility that we were able to build a vastly more complex game using tools that are now several years old.
The Riot Engine Level Editor provided the team with a lot of flexibility in terms of building the environments and setting up the gameplay.
Our primary tool, the Riot Engine Level Editor was built to be completely modular, allowing for the game to grow to a massive size while still staying manageable. The Editor allows for easy maintenance of a collection of databases which store models, animations, textures, sounds, scripted sequences, and movies. Designers are able to trivially add and replace assets, making getting art into the game extremely simple. The 3D View window allows for the easy placement and movement of a camera in the game-world, allowing designers to watch real-time as they make changes to the environment. With all of the rework that was necessary over course of the project, the flexibility of our tool set allowed us to adapt our content on the fly with a minimum of difficulty.
The tools were also perfect for balancing the gameplay, allowing designers enormous flexibility to quickly tweak weapons and creatures to suit specific situations. Since the game mechanics were finalized so late in the project, the degree to which the tools facilitated balancing was key to the game turning out as fun as it did. All told, our tools are such a boon to our work-flow that the development of either of the Drakan games would have been inconceivable without them.
3. The Redesign
A few months after Drakan: Order of the Flame shipped, the team from that project had properly recuperated from the arduous process of that game's development. Around the same time Drakan 2 lost its original lead designer and lead artist. As the original Drakan team stepped in to take over production of the sequel, they assessed the state of development and found that no one was particularly happy with where the project was heading. With the public reaction to the original Drakan now available and with time providing valuable perspective, the team decided Drakan 2 was headed in a direction that did not play to the game's strengths. The situation was rectified by a complete redesign of the game.
A swimming creature that was a remnant of the cut underwater section of the game.
It seems that the mistake was starting a sequel to a game before the original had shipped, before there was a clear understanding what was most compelling about Drakan. For example, the most visceral aspect of the Drakan games is the ability to ride a fire- breathing dragon, Arokh. But the original Drakan 2 design had Arokh only in a single level of the game, with various other mounts available in the other levels, including a rhino, a sea dragon, and a gryphon. Unfortunately, none of these other mounts were as exciting as Arokh. The redesign of Drakan 2 included plenty of new game mechanics but based them on the strengths of the original game, with Arokh available in nearly every level.
Concept sketch of the “Death Cactus,” which didn’t make it into the game.
This redesign resulted in throwing away a lot of work that had already been done, including art, levels, and partially implemented game mechanics. Though this early work had merit, it was agreed that it was not appropriate for the sequel to Drakan. The new game tried to use assets from the original design as much as possible, such as character types and locations, but not everything could be saved. Throwing away so much quality content was a bold move, but looking back, team members universally feel that it was the right decision and one that truly saved the project.
4. A Sequel Done Right
Many franchises have suffered when subsequent games in the series introduced little in the way of new technology or game mechanics, resulting in players feeling like they've been cheated into purchasing the same game twice. Drakan: The Ancients' Gates improved over the original in the power of the engine it used, the gameplay mechanics it employed, and in the overall presentation of the game.
Both Drakan games feature a distinct, hand-drawn art style.
From a graphical standpoint, Drakan 2 continued in the distinctive visual style of the original and upgraded it to take full advantage of the PlayStation 2. To look at the two games side by side, one obviously looks superior, with the highly detailed objects found in Drakan 2 blowing away those found in the original game. At the same time, the games are definitely of the same lineage and art style, both employing a distinctive hand-drawn look that has been almost universally praised.
From a game design standpoint the game delivered the features of the first game that everyone had liked, while adding new elements that deepened the player's experience. In particular, the game was made less of a strict action experience and more of an action/RPG hybrid. Rynn's skills were split into three distinct disciplines, melee, archery, and an all-new magic system. A simple experience system was added through which players gained skill points that they could allocate to any of the three disciplines, forcing players to decide how they wanted to play the game and thereby adding a lot of replay value. Finally and perhaps most significantly, an economy was added which allowed players to collect gold and then exchange it for better weaponry or spells. While the original game's mechanics were a bit more free-form in their implementation, Drakan 2's game mechanics were more carefully thought out and as a result provided a much deeper experience for the player.
Rynn’s ability to cast spells was one of the many new gameplay mechanics added for the new Drakan.
The team was also careful to listen to the feedback we got from the first game. One of the biggest complaints from the original was the writing and story. This time we kept a single, talented, in- house writer on the project, and secured vastly superior voice acting, resulting in a much better game from a storytelling perspective. In the end, Drakan 2 became far more than "just" a sequel, bringing significantly improved graphics, more interesting game mechanics, and a much more involved story, ensuring that players get a truly new experience and not just a level pack.
5. The PS2 Technology
Though our PS2 technology was an extremely long time in coming, when it finally did arrive it blew us all away. The result is a polygon limit per scene which is orders of magnitude greater than the original Drakan's. In the original Drakan we had a scene limit of 3000 polygons, while in Drakan 2 Rynn alone is made of that many polygons.
Our stripping system allowed models to be calculated in terms of contiguous strips of same-texture polygons which could be uploaded to the PS2's Vector Units for extremely efficient rendering. We developed an instance renderer that allowed us to take small objects, such as a clump of grass, and render them in extremely large quantities basically for the cost of a single object. Similarly, an on-the-fly instance renderer dynamically determined which larger models occurred multiple times within a given scene and rendered them simultaneously on the VU, saving us still more cycles. Our quaternion- based skeletal animation system allowed for blending between complex animations with a minimal memory footprint. We came up with a "splat" texturing technology that allowed us to have procedurally blended textures on the landscape, freeing up precious texture memory and creating far more varied and interesting results than traditional texturing. And finally, our dynamic data loading system allowed us to continually stream models, textures, sounds, text, and animations off the DVD, enabling us to have absolutely enormous levels packed with content.
A number of key technologies allowed us to get the most out of the PS2. The instance renderer allowed us to draw large fields of grass, while the “splat” system allowed us to procedurally blend landscape textures together.
Coupled with this was a range of visualization and debugging tools which allowed developers to easily see what was taking up processing time in a given situation so levels could be optimized to peak efficiency. Our Riot Engine Data Analyzer allowed us to track the use of each piece of memory, providing easy navigation of memory dumps to see what line of code was allocating what block of memory. This allowed us to easily track down memory leaks and identify what parts of the code were using up more memory than appropriate. The use of this tool was crucial to squeezing our massive game into the PS2's 32MB of memory.
In the end we found we had amazing PS2 technology which was robust enough to be immediately put into use on our new PS2 projects. Though we could have used it a lot sooner, its sheer power made up for its late arrival.
What Went Wrong
Drakan: The Ancients' Gates was built on the code of the original Drakan, code that is now upwards of six years old. Many of these older systems were known liabilities going into the project, but it was never thought that there was enough time to scrap them and start from scratch. Since the project was originally supposed to ship within a year, there was barely enough time to add the desired new features. When the project was shifted to the PS2 and a year was added onto the schedule, by then we were already a year into development and, though the dated systems were still causing problems, there still didn't seem to be enough time to throw them out and start fresh. As a result of the constantly moving deadlines, programmers were forced to bandage ailing systems instead of putting them out of their misery. Our AI system in particular was the bane of the programmers' existence. Instead of being modular it was monolithic, with a seemingly simple change likely to break twenty other behaviors.
Another unanticipated problem that lead to bugs was some of our older systems not scaling well. FX, collision, and AI systems that worked fine in low polygon, low object-count environments were brought to their knees or broke completely when placed in the more complicated world of Drakan 2. For example, while traversing the vertices of a four hundred polygon Wartock is a reasonable run-time expense, traversing the polygons in a 3000 polygon Wartock is not. Many of these systems caused bugs for ages before finally being ditched and rewritten from scratch, while others continued to cause bugs and performance hiccups right up to the end.
Our bug problem was magnified by the lack of any sort of testing early on in the project. Programmers would implement systems that would then not be used by the designers or even other programmers for months. By the time problems were found with these systems, the programmers were now several tasks down the road. Furthermore, not all of the bugs were even programming related: half of the game-breaking bugs in our database were design/art issues. Our tools put a lot of power in the designer's hands, allowing them to change behaviors with a minimum of hassle and to create cool new effects that programmers never anticipated. But with great power comes great responsibility, and when not used carefully the flexibility of our tools had a tendency to create bugs.
For our post-Drakan 2 projects, we are starting out with a completely clean slate of gameplay code. Systems that we need are ported over from the old code one by one, with programmers going over them with a fine tooth comb, standardizing them and ripping out or re-writing poorly architected code. In particular, the AI code was stuffed in a gunny sack with concrete blocks and tossed into Puget Sound. Furthermore, we have implemented a strict code review system where all code is gone over by multiple programmers before it is added to the project. We are now much more dedicated about testing the systems that are created as soon as they are added to a build. As a result, our early-in-development projects are much less buggy now than Drakan 2 was when it entered Beta.
Concept sketch of one of the aerial combatants, the Gryphon.
2. Technology was a Long Time Coming
For almost a solid year, "When are you going to get the frame- rate up?" was the mantra intoned by the art and design teams to the technology team. The initial conversion of the Riot Engine to the PS2 had gone extremely smoothly, with the original Drakan up and running at 15fps within a few months, with all rendering occurring on the PS2's core processor. Initial estimates said that with another two months of work numerous systems could be moved to the VUs and we would have fully unlocked the "Power of the PS2." Since then the PS2 has become a notoriously challenging system to develop for, but when we started everyone had bought into the Sony hype machine and its startling technical demos.
Unfortunately, those two months turned into a year. No one on the programming team anticipated just how difficult it would be to get a powerful engine running on the PS2. In essence, the PS2 requires the developer to write their own 3D hardware driver, much like the ones that NVIDIA provides to developers who use their 3D chipsets. The PS2 simply does not have the linear development curve Surreal was accustomed to on the PC. The PS2's curve is more exponential, resulting in a long period of minor technological improvements before the engine suddenly becomes extremely powerful. During this early period of development, it is extremely hard to predict just how many polygons an engine will eventually be able to push. As expectations about what we would be able to do shifted, the art team first built too- high polygon objects and then too-low. This meant that once the technology was solidified, all of the art that had been constructed thus far had to be rebuilt. In the end it became clear that the estimates Sony had hyped, for example about character polygon counts, were more appropriate to relatively simple titles such as fighting games than something as vast and complex as Drakan 2.
Given how much we knew at the time, there is not much we could have done to avoid our technology delays. Ideally, we could have delayed development on the game itself and shifted more of our programmers onto conquering the PS2. But since we switched to the PS2 midway through the project, this was not an option. We may have also made things harder on ourselves by demanding that our new engine be backwards compatible with the old Riot Engine so that all of the levels that had already been built would continue to function, again a side-effect of switching platforms mid-project. Fortunately, as I mentioned above, once our technology was finally done, it turned out to be quite powerful. The steep PS2 learning curve was simply something we had to overcome.
3. Lack of Planning
From a game design and art production standpoint, Drakan 2 was planned out to a much greater extent than the original Drakan. Furthermore, the early redesign of the game correctly identified many problems with the initial design and rectified them. But at the same time, the redesign did not go far enough to fully plan out the game. Systems were implemented and whole levels were built before the team realized that something was never going to work from a gameplay standpoint. For example, a massive underwater section of the game, in which Arokh was able to swim, was jettisoned when it turned out to be fundamentally flawed. Unfortunately it was only cut after a lot of work went into it in terms of art, programming, and level design.
The rhino was one of the three alternate mounts Rynn could ride in the original design.
Certainly game design is an organic process, and no team is ever going to be able to fully plan out a game in a design document. Good ideas will come up that no one thought of before the game was actually running, while systems that seemed like good ideas in pre- production turn out to be tedious in practice. Nevertheless, some amount of planning, even if it is only 75% accurate, is better than a plan which only fully considers 25% of what will take place in the game. More improvisational game design can work with smaller teams, but with a team of thirty plus, it is invariably a scheduling nightmare.
Since Drakan 2, Surreal has starting using a much more intensive design process in pre-production. Levels are fully mapped out on paper before the design is finalized, giving designers a chance to fully plan where various mechanics will be used and allowing artists to assess how difficult each environment will be to build. This allows us to better realize what will work both it terms of gameplay and scheduling and make adjustments before any actual implementation has begun.
4. Lack of Approval Process
Over the course of Drakan 2's development, content was often built for the game without anyone properly looking it over to see that it matched the game's overall vision. As a result, art, code, and levels would be added to the project and would remain in it for months before someone would notice that it was inappropriate for one reason or another. Full characters were modeled and animated before it was decided they were conceptually unacceptable. Of course this lead to a massive amount of code, art, and programming that was completely wasted.
Part of the problem was that artists, designers, and programmers alike were given too much freedom to take their part of the game in whatever direction they thought best, without anyone checking for overall consistency. Though game developers appreciate and thrive on some amount of creative freedom, they prefer to work within limitations if that means their work will not need to be redone several times over.
Our problems were compounded by the growth of our team and game size. In a smaller team environment with a not-too-large game it is significantly less work for everyone to know what everyone else is doing and to keep an eye on all aspects of development. For Drakan 2, our team size doubled and the game size quadrupled without any change in the amount of oversight.
The experience of Drakan 2 matured us to realize that large scale game development is not a purely creative process, and that it requires a strict production pipeline where problems can be discovered early and fixed quickly. Toward the end of Drakan 2's development, Surreal implemented a highly structured Content Review Process with a number of different stages for any given game asset. For example, models go through conceptual, blocked out, modeled, textured, and final approval stages. At each stage a piece of content must be reviewed and signed off on by all the senior members of the team, assuring that everyone is clear on the nature of the content and eliminating any surprises when it shows up in the game. Furthermore, once the content is approved, everyone knows that it is truly complete and won't need to be reworked or thrown out in the future. This all but eliminated redo during the final months of Drakan 2's development and has been a boon to our current projects.
5. The Scope of the Game
The sheer scope and massive world of Drakan 2 is something that truly sets it apart from other action/adventure games available on the consoles. Its fantasy setting and RPG trappings almost demand a truly epic experience. Though its gameplay is very different, Drakan 2 aspires to match the size and scope of the much loved Ultima games. Yet many wonder if, for our very first console project, Surreal wouldn't have been better off developing a smaller, simpler game.
In addition to the gameplay from the original game, Drakan: The Ancients' Gates added many RPG elements such as an economy.
Making such a massive world with enormous levels and extremely far draw distances meant our technology had to be pushed above and beyond what most games require. Furthermore, having such a large game-world meant that building all the art content took twice as long as it would have on a more reasonably sized project. The sheer size of the game also meant there was a similarly colossal amount of bugs, compounding our problems in that department. All this left us with less time to polish the game or even to catch up on some sleep. It is impossible for anyone on the team to look back now and not admire how huge and epic the game is, yet with a similarly epic crunch period, team members are forced to wonder what compelled us to make such a damnably big game.
Last Call, Last Call
Is it worth it?
A person's time and labor are the most precious thing they can give. As game developers, we give a lot of our time to the teams we work with, to the games we develop, and in turn to the gamers who play the games we make. It's well nigh impossible to explain to people outside the game industry why exactly why we do it, yet many of us barely give it a second thought. What else would we do with ourselves?
There's something extremely exciting about creating something from nothing. All artists do this to some extent, but game developers are the only ones who create worlds which are built for others to explore and discover in their own way. For all the advantages that games have over media, there is an equal trade off in terms of the enormous commitment that they require from their teams. For game developers, the payoff in the final product makes all the time invested worth it. Otherwise, we wouldn't still be here.
The Storm Djinn enemy as color concept, model in 3D Studio Max, skeleton in Softimage, and in-game.
Early concept sketch of the Flesh Mage boss.
Concept sketch of one of the Flesh Mage’s many brides.
Concept sketches of some of the many friendly human characters in the game.
Concept sketch of the game’s heroine, Rynn.
Drakan takes the player to many fantastic locations, such as the “floating islands” level, Stratos.
As in the original game, Rynn does a lot of adventuring through cave systems.