We recently had an opportunity to touch base with Claude Langlais, a technical director at Ubisoft and a key figure in the development of the Scimitar Engine. He provided insight into the engine, the first implementation (Assassin's Creed), and some of the issues developers face when bringing a new engine to market.
GamingExcellence: Can you describe your position at Ubisoft, and role in the development of Assassin’s Creed?
Claude Langlais (Ubisoft): Claude Langlais - Technical Director Ubisoft Montreal
GamingExcellence: Why was the decision made to make a new engine instead of using one that is already out there? What challenges did you meet when creating your own engine from the ground up?
Claude: Most of the engine & tools used for Assassin’s Creed were built from scratch. We have reused some internal common libraries (sound, menus, etc.) and some external middlewares (physics, IK), but the entire pipeline was built from the ground up with next-gen architectures and reusability in mind. A critical part of the development was having a dedicated tools team (peaking at 7 programmers) to build, support and evolve quality tools all along the project. Modeling is done in 3dsMax for environment and ZBrush for characters. We have about 43 programmers on the project right now, a bit less than half working on QA & core technology applied to the game, the rest focusing their effort on game content.
GamingExcellence: What kind of risks are involved when introducing a new game engine into the market, such as the Scimitar engine that Assassin's Creed will utilize?
Claude: There are many risks when developing a new game engine. The risk of developing “pure technology” is often diminished when the game engine development is paired with a game. Of course, that brings other risks of impacting game development due to delayed tools and functionality, but it often ends up in a game engine that can ship an actual game. For scimitar, we had enough resources and support to develop an engine with a specific example in mind while keeping the technology reusable by other internal games.
GamingExcellence: What is the main focus of the engine? Are you shooting for higher enemy counts; larger open-ended range of exploration; graphical details; the way the player interacts with the environment? What feature of the engine would you say most sets this game apart from others?
Claude: The first focus earlier on was on tools, i.e. streamlining the asset creation pipeline to make content creators as efficient as possible. Animation was also one of the main concerns, getting fluid & precise animation was one the key aspects early on. Good tools and a lot of animation also means a lot of data to process at runtime, which is where multi threading comes in, the engine takes full advantage of the multi processing architectures of the current hardware platforms. The engine then allows many more animated & simulated characters on screen. And the whole world is loaded dynamically, resulting in a rich & vast environment.
GamingExcellence: Talk a little bit about how the crowd mechanics integrate with the middleware. What steps did you have to take to build a system that could handle complex AI and collision detection, one that allowed NPCs to freely interact with each other and with the player?
Claude: We had a lot of work to do with our in-house AI & animation paired with middleware collision detection and IK. It really is a combination of animation, animation prediction, IK, path finding, environment & dynamic object detection… all while think that all of that has to be processed by about 150 characters at a time. It involved a lot of skilled programmers and artists to make it work in a way that is meaningful to the player.
GamingExcellence: To what degree is the player able to interact with the environment? Can tables be kicked aside? Can walls be pierced by swords or other objects? Does the vegetation react to nearby characters?
Claude: The main character can grab on to anything that stick out more than a few inches from wall, he can jump around “free-stepping” from one point to the other. He can throw enemies in scaffolds that collapse, jump through merchant stands, breaking stuff and/or making it collapse. It’s also possible to interact with physics objects in different ways, but for any given game, it really depends on how it serves gameplay. For example, we had rope physics in the game at some point, and it was hard to integrate fluidly in the game so it was set aside so all the existing elements could be tweaked to offer the best experience to the player.
GamingExcellence: Quality physics are becoming an expected system in many games, but especially third-person action titles. How much emphasis does Assassin’s Creed place on representing real-life physics, and what are some examples of how players will see them acted out?
Claude: You can definitely see some quality physics in Assassin’s Creed, but first and foremost, priority was given to “playability” and best player experience. The physics ingredients of the game were tweaked to be something useful and meaningful to the player, as well as some eye candy when it has no chance of interfering with gameplay.
GamingExcellence: Assassin's Creed takes place over some sprawling medieval cities. How much does next generation hardware like the PS3 and Xbox 360 limit what you can do in terms of draw distance, if at all?
Claude: Being able to process more things at the same time is definitely an improvement over previous generations. Graphical horse power has also helped crank out a lot of polygons, but we still have to be creative to find ways of drawing far away without coming to a crawl. Memory is also an issue, the current generation is gifted with a lot more than before, but I think game developers will always find a way to fill that memory. Having fixed constraints brings out “technical creativity” in finding ways of fitting as much assets in memory at a time without sacrificing (too much) quality.
GamingExcellence: How much more difficult is it to build an engine that accommodates free-roaming, sandbox environments than more traditional, linear ones?
Claude: Free roaming really changes the way you can predict what is and is going to be loaded in memory. In more linear games, you can assume that player will either go “forwards” or “backwards” from where he currently is. In a more open environment, he can go and see pretty much anywhere, there aren’t any actual or virtual corridors that can simplify loading. The dynamic loading and rendering system must therefore assume the worst conditions and be able to load & render everything in a given range of the player. Paired with the technical challenge of making this area available to the player, there is the added challenge of populating that open area with gameplay and interesting things to do/discover.
GamingExcellence: Thanks so much for your time. Assassin’s Creed heads to retail this November on the Xbox 360 and PlayStation 3. Special thanks to Evan Lahti, Rick Poulin, Nicholas Bale, Sophia Tong, Andrew Sztein, and Michael Calva for their insightful and well-researched questions, as well as Katia Aubin at Ubisoft for co-ordinating this Q&A.