Category Archives: Dev Team

Mark Darrah: An Update on Dragon Age: Inquisition

The Xbox One and PS4 are out, and the dust is starting to settle at the start of a new console cycle. As a result, now is a good time for us to start talking to you, our fans, more about where Dragon Age: Inquisition is at.

What have we been working on? Dragon Age: Inquisition has come a long way in the last three months. Today, I’m going to share with you some of what we have been up to since PAX. That way, when we dig in deeper a little later on, you will be up to speed.

You may have heard some talk about a “Holiday Build” for Dragon Age: Inquisition. So, what is this? These types of builds go way back in BioWare’s history. Effectively, they are builds we create around the holiday break that are packaged in a way that allows the team, and other parts of BioWare, to play the game in as complete of a state as we can get it.

In this case, our Holiday build is focused on these areas:

1. The main storyline completely playable from beginning to end: This allows the story to be experienced in an interactive state, and lets us get pacing and spacing right.

2. All of the gameplay systems working together: This means that you can experience the game as it is intended to be experienced, with each feature feeding into another.

3. Starting VO recording for large parts of the game (More on this later).

4. Getting music in (More on this later).

5. Making sure that each class has a distinctive feel: Making sure that the party is a necessary and exciting part of combat (More on this later).

6. Getting our tech locked down: For example, here is a tarnish shader going in.

IMAGE01

7. Getting a lot more content a lot further along: Things like Trees:

IMAGE02

Dead things:

IMAGE03

Outfits:

IMAGE04

IMAGE05

Faces:

IMAGE06

And, of course, areas:

IMAGE07

IMAGE08

IMAGE09

Areas form a huge part of the content in Dragon Age: Inquisition. It is very important to me that the game cover a large variety of locations. Not only does it expand the possibilities of our storytelling, it also gives us an opportunity to show a lot of different things. In a game that places a lot of emphasis on discovery, this is very crucial.

Part of this process is about getting the areas into a state where they can be fully critiqued. Let me show you an area shot going through this process (can you guess the area?):

IMAGE10

As you can see, an initial screenshot is critiqued and altered to show the goal for the area. This gives the level artist the specific direction needed to take the area to the next level (so to speak).

I’m skiffing off of a lot of topics here today, and I promise we will be back to talk in more detail about some of these topics. For now, though, I wanted to restart the conversation.

Hopefully you like this format. If you have any specific topics you would like us to cover in greater detail, let us know.

Thanks, and happy holidays!

Mark

MarkDarrah

The Effect on Us

Femshep (1024x1024)When he began working on the ending of Mass Effect 2, lead cinematic animator Parrish Ley felt like a fraud.  There were so many issues to sort out, he didn’t know where to begin.

By the start of the Suicide Mission, there were hundreds of player choices to account for that resulted in thousands of possible scenarios. As work on the mission progressed, it was like trying to unspool a spider web.

“It was the kind of thing where you think, ‘I don’t know what I’m doing,’” Ley said. “It was a complex piece of branching narrative. We wanted to make sure it felt right for the players who did it, but at the same time, under the hood there were a lot of things running.”

Because they couldn’t say for certain which characters the player would have in their party, how many of them had completed loyalty missions, or which ones might die, even the most basic questions like who would deliver what lines became a nightmare.

Unfortunately, in situations like this, there’s no real Eureka moment or a silver bullet to take the beast down. In reality, there’s a group of people in a room who’ve missed a couple showers and skipped a few meals, working on the problem over and over and over until it’s solved.

“It started out utterly broken to the point where it was totally unplayable and we looked at each other and thought, ‘I don’t know what’s going on. We’re not going to be able to ship this game. This is crazy,’” Ley says. “And we would play it and go back to our desks and work on it. And every day it would get a little bit better, and a little bit better.”

Normandy (1024x1024)

While players remember the emotional moments and intimate scenes, it’s often the hours that went into crafting them that stick with developers. Creating games is an intensely personal experience, says lead level designer Rick Knowles. You help a game develop over months and years, forging it into something you’re proud of.

“As developers, we’re also gamers, and I feel privileged to make games we want to play,” Knowles says. “I think we’d feel we failed if we built a game that we didn’t want to play.”

How you end up can often be miles from where you start out, he says. This was the case with ME3’s multiplayer. The original idea was to have a co-op mode. But the more they tried to hammer out the dents, the worse it felt.

“It took a very long time to settle on a model that we felt worked well. We tried out different layouts, different creatures, different settings,” Knowles says. “We were very conscious from the beginning to not just make a straight-up multiplayer experience. It had to have some narrative context.”

They addressed this by creating objectives, which gave weight and purpose to each mission. And though the stories are smaller and more contained, Knowles and his team built internal narratives into each map that would later inform design decisions. This is why the hazard version of Firebase Dagger features a sandstorm, for instance. It doesn’t just make the map more difficult; it makes sense in the context of downed satellite dishes.

Earth DLC BannerBut while you could put a lifetime of hours into developing a game, eventually it has to ship, and developers then must sit back and watch as players take over and experience it.

The day ME2 launched, Kris Schoneberg and her fellow level designers crowded around a computer screen, watching a live stream of an early playthrough. They were eager to see how the player would react to certain plot points, and how they would handle the challenges the team had so lovingly devised.

“They got to the Warden Kuril boss fight in the Jack mission,” Schoneberg says, laughing. “And I watched the guy just die over and over again, and I thought, ‘I’m sorry. I hope you’re having fun.’”

Patrick Weekes, a writer on all three games, had a similar experience on ME2. “I was watching a playthrough of a super-renegade player doing Tali’s loyalty mission. He was about to finish the trial, and after all his renegade decisions, I really didn’t want to watch him break Tali’s heart. Then he pauses the playthrough, goes to the chat box, and says, ‘I don’t know what to do, guys. I don’t wanna hurt Tali.’ Seeing that something I was part of connected with a fan deeply enough to affect his decisions made me realize how special this series really was.”

As time goes on, the series becomes more and more the property of fans, and they begin to develop their own ideas about what makes and defines Mass Effect, says executive producer Casey Hudson. And while this can at times cause resistance toward new ideas, ultimately it’s a sign that the characters and stories the developers created are resonating.

“You can have characters in a story, but that’s kind of different from building memorable characters that transcend the story,” Hudson says. “These characters that we have in the Mass Effect series, people want to takes these characters further out of the story and see them in comics and books and they want to know more about these characters.”

SquadDLC is among the many good ways to tell new stories, says producer Mike Gamble. Here in these smaller, more contained adventures, the team can take more risks and explore ideas that just couldn’t fit into the main game.

It also gives members of the ME team a chance to get back together with old friends, Gamble says—a big part of what made the series great in the first place.

“When we first start to make games, we have everyone from different departments each with an idea of what the game looks like,” he says. “Being able to work together for a long time, you start to develop trust, and those walls go away and you can drive toward a singular purpose.”

While the Citadel DLC was a farewell to Shepard and the crew of the Normandy for fans, inside the studio, the developers said their own goodbyes.

“We were sad when Shepard’s story was over. There was definitely a solemnness in the room,” Schoneberg says. “The last thing I worked on was the party in Citadel, and the party ends with a group photo. I manipulated my save file to show the guests I’d have on my game at home. When that last screen came up with that group photo, I got a little choked up and a little teary eyed, because I realized, ‘Well, this is it.’”

Weekes has a different memory of the party. “I’d always told fans that the one thing we’d never do was a cocktail party, because how could you handle that much conversation? How do you let the players feel like they’re chatting with people and moving around in a natural way with so many possible permutations? And then on Citadel, our lead, Mac Walters, said, ‘I think we need to do a party,’ and sure enough, he and Kris and some of the other writers actually came up with a structure that made it work. It’s just one more time that people on the team proved me wrong and did the impossible to make something really special.”

Though that party in Citadel may mark the end of Shepard’s story, it’s far from the end of Mass Effect. As the fourth title in the ME universe begins its development, the team is carrying forward all the things that made the Shepard’s trilogy so memorable.

“It’s the idea of exploring a vast universe: going out and seeing amazing new things. It’s scale: seeing new planets, new species, and having choices that matter. Because it’s a story, and one that you care about,” Hudson says. “It’s going to continue on, and the things people love about Mass Effect they’ll see even better in the next generation of games.”

A Look Back at GamesCom

A few weeks ago, my lead sent out an e-mail to ask if any team members were interested in attending GamesCom in Cologne.  As I’d never been to a big games convention—or to Germany—before, having the opportunity to go to GamesCom was exciting: visiting a new country for a little bit, and being at the largest games convention in the world.  It turns out that GamesCom is pretty cool.  :)

Gamescom1

There was always something fun to do while we were there.  At the convention, we usually had a little bit of time to wander the convention floor to check out other games, and we had the chance to play some pretty fun demos.  (Titanfall is awesome.  :) ) The sheer number of people at the convention made it pretty crazy to just walk around the halls. When I got back from the trip, I read that around 340,000 people came to the convention.

During the rest of the time, we hung out in the BioWare Community Lounge and got the chance to talk to fans.  As a developer, it’s not always easy to see how people respond to the games that we make other than the reviews posted online and reading the forums.

Gamescom2

Meeting fans at GamesCom allowed us to meet and hear from fans directly, and the amount of passion that people have for our games is amazing.  Some really cool Mass Effect and Dragon Age cosplayers came to the community lounge, and they looked awesome!  It’s great to hear that all of the hard work we put into our games is appreciated, and I’m excited for fans to see everything we’re working on for our upcoming games in the future.

-          Justin Yong, Software Engineer (Mass Effect)

Gamescom4

The Dragon Age Keep

Hey, it’s me again,

In Dragon Age, choices matter. It has always been important for us that our fans have complete control and freedom in shaping their Dragon Age world. The decisions you make, the foes you vanquish, the relationships you forge. It’s all important and needs to be honored. Many of you have been wondering how your choices from Dragon Age: Origins and Dragon Age II will be supported in Dragon Age Inquisition. Today, I’m here to give you information on exactly that.

blog-keep

I’m excited to announce the Dragon Age Keep. Within the Keep, you’ll be able to customize a Dragon Age historical world state to your exact specifications. How did you modify your Warden and Hawke? Who were your companions? Who did you choose to romance? Who rose to power, and who fell in defeat? What legacy did you leave?

Within the Keep, you’ll be able to customize as much or as little about the world of Thedas as you wish. Then you’ll be able to import your saved world state into DAI at the start of a new game. Have you lost or corrupted your save files? No problem — remake your world state on the Keep, and preserve it for the future. For those folks new to the Dragon Age franchise, the Keep will serve as a great way to understand the people, places, and events that shaped the world leading up to DAI.

I’d like to give some history on how the Keep came into existence. Very early in the planning of DAI, we began to think about how we were going to address the issue of importing save game files. We were dealing with a brand new game engine, plus the next generation of consoles. It was a priority that our fans be able to have their decisions carry forward, regardless of their past or future platform.

We realized that in order to make this work, we’d have to look into a cloud-based solution. Moving to the cloud allows players to take their unique world state into any platform (present or future) and even other media. For existing fans, an advantage of being in the cloud is that (if you are ok with spoilers) you can fully explore what-if scenarios, and become aware of events and consequences in our past games that you may not have known were possible.  You can then fire up the previous games and go exploring for those moments.

Even if you don’t go back and re-play the previous games, you can still establish that scenario as part of your world state, and import it at the start of a new DAI game to see the consequences of your actions.

What about actually importing your save games? We are continuing to investigate ways in which save files from previous games could be used to populate the initial world state of the Dragon Age Keep. We’ll provide more information on this in the months to come.

An additional benefit offered by moving to the cloud is being able to fix issues in plot logic, which historically we have not been able to do because of client side complexity or platform holder limits. Under the hood, the Keep has a logic validator which ensures you’ll always have a valid world state free from errors and conflicts.

Choices in our games are immense, and on occasion subtly perceived.  In some cases, the consequences of decisions you’ve made in a past game won’t reveal themselves until some future story.  Handling all these permutations is complex. Really complex. Tracking all possible prerequisites and potential knock-ons, even just to create the simple acknowledgement of a choice is very detailed — and prone to error.

As an example, an import from DAO to DA2 brought across something in the order of 600 different data points, most requiring complex logic solving to answer correctly the question of “how did the player settle this choice at the end of the game.”  As a result, some current save imports are buggy, which is our fault, and something we’re committed to fixing. Permanently. The Keep allows us to do just that. Users of the Keep won’t have to suffer with these types of logic inconsistencies any longer.

Starting today, you can visit the Dragon Age Keep and register for its beta, set to kick off early next year. We’re eager to hear your feedback and get your impressions before it launches publicly in 2014. The Keep will be available to everyone a few months before DAI gets released, in order to give fans plenty of time to experiment with scenarios and make their history exactly how they want.

More to come soon, and thanks for reading.

Mark Darrah
Executive Producer
Dragon Age

———————————————————————————————————————–

Всем привет, это снова я.

В Dragon Age выбор очень важен. Мы всегда стремились к тому, чтобы у игрока был полный контроль и возможность изменять мир Dragon Age. Решения, которые вы принимаете, враги, которых вы уничтожаете, отношения, которые вы создаете, – все это имеет важное значение. Многие из вас интересуются, как решения, принятые в Dragon Age: Origins и Dragon Age II, будут отражены в Dragon Age Inquisition. Сегодня я готов поделиться этой информацией.

Я рад представить вам Dragon Age Keep. С помощью Keep вы сможете настроить историю и состояние мира Dragon Age. Как вы изменили вашего Уордена и Хоука? Кто вас сопровождал? С кем у вас возникли романтические отношения? Кого вы возвысили, а кого разбили? Какое наследие вы оставили?

В Keep вы сможете изменить мир Тедас по своему вкусу, а затем импортировать сохраненный мир в DAI в начале новой игры. Ваши сохраненные файлы повреждены или утеряны? Ничего страшного – воссоздайте состояние мира в Keep и сохраните его на будущее. А пользователям, которые только открывают для себя серию Dragon Age, Keep поможет узнать о людях, местах и событиях, которые произошли до событий DAI.

Пожалуй, стоит рассказать историю возникновения Keep. На раннем этапе планирования DAI мы стали думать, как быть с импортом сохраненных файлов – ведь мы имели дело с совершенно новым игровым движком и новым поколением консолей. Необходимо было дать поклонникам способ перенести в новую игру принятые ими решения, независимо от того, какие платформы использовались в прошлом и будут использоваться в будущем.

Мы осознали, что решение нужно искать в облачных (cloud-based) технологиях. Переход на «облако» позволит игрокам использовать их уникальный мир на любой платформе (прошлой или будущей) и на других носителях данных. Для ветеранов игры преимущество хранения в облаке заключается в том (если вы не против спойлеров), что вы можете исследовать самые разные варианты развития событий и узнавать о всех происшествиях и их последствиях в наших предыдущих играх – возможно, вы и не догадывались о существовании некоторых таких вариантов.  Можете запустить предыдущие игры и исследовать такие моменты.

Даже если вы не хотите переигрывать предыдущие игры серии, вы можете выбрать один из таких сценариев, как часть состояния мира, импортировать его в начале новой игры DAI и увидеть последствия ваших действий.

Вас интересует возможность импорта имеющихся сохраненных игр? Мы все еще исследуем возможности использования сохраненных данных из предыдущих игр в качестве начального состояния мира в Dragon Age Keep. Мы еще расскажем об этом в будущем.

А еще облачные технологии позволят нам исправить логические ошибки в сюжете. Ранее мы не могли этого сделать из-за необходимости модифицировать игру на стороне пользователя, а также из-за ограничений платформодержателей. Внутри Keep имеется встроенная система проверки логики, которая следит, чтобы у вас был действующий мир, свободный от ошибок и противоречий. Важность выбора в наших играх имеет огромное значение, даже если этого не видно на первый взгляд. В некоторых случаях последствия решений, принятых в предыдущих играх, проявят себя только в будущих играх. Как вы понимаете, отслеживание этих решений – сложная задача. Очень сложная. Учет всех возможных требований и потенциальных последствий, хотя бы для того, чтобы хранить информацию о сделанном выборе, требует множества данных – и может привести к ошибкам. В качестве примера можно привести импорт данных из DAO в DA2. Для того чтобы правильно ответить на вопрос «Какое решение игрок принял по данному вопросу в конце игры?», необходимо порядка 600 разных блоков данных, для многих из которых требуются серьезные логические расчеты. Неудивительно, что имеющиеся сохраненные данные таят ошибки. Это наша вина, и мы намерены исправить этот недочет. Исправить раз и навсегда. И Keep позволит нам этого добиться. Пользователям Keep не придется сталкиваться с подобными логическими затруднениями.

Начиная с сегодняшнего дня вы можете зайти в Dragon Age Keep и зарегистрироваться для бета-тестирования. Выпуск финальной версии запланирован на начало следующего года. Будем рады получить ваши отзывы и предложения до запуска открытой версии в 2014 году. Система Keep будет открыта для всех желающих за несколько месяцев до релиза DAI, чтобы вы могли поэкспериментировать с различными сценариями и создать историю, которая вам нравится.

Ждите новых подробностей, и спасибо за внимание.

 

Марк Дарра (Mark Darrah)

Исполнительный продюсер

Dragon Age

Staff Blog: Graham Wihlidal, Senior Software Engineer

IMG_0143

My name is Graham Wihlidal, and I am a Senior Software Engineer at BioWare.

I started programming with LOGO in elementary school. Over the years I picked up Perl\CGI\SSI, AppleScript, PHP, SQL, HTML, graphic design, and other skills to allow me to contribute to the infant Internet. As I honed my craft, this led to the realm of dedicated server hosting, RedHat\Cobalt Linux administration, BIND8\DNS management, and even commercial Web hosting and contracting on the side while still in junior high.

During high school, I dabbled with Turbo Pascal, but began to develop complex desktop applications with REALBasic. When it seemed like I was hitting a wall, at the mercy of the virtual machine, I started to teach myself C and C++ in order to write native plugins for the complex processing I needed to perform. The natural progression was to abandon REALBasic and move to pure C\C++ with Metrowerks PowerPlant as the UI framework, and to develop 2.5D Isometric sprite-based roleplaying games and engines with Apple GameSprockets. Around this time, I was determined to work for BioWare. Nothing was going to stop me, although the release of Neverwinter Nights tried to sabotage my efforts to work on my own projects.

From that point on, I focused on honing my abilities with low-level x86 assembly, C\C++, and OpenGL\Direct3D, by developing my own 3D-graphics systems, game engines, and content tools. A wonderfully frustrating cycle began: trying “the next most awesome architecture ever envisioned,” watching it crash and burn after months of work, razing most of it to the ground, salvaging the parts that worked well, and going back to the drawing board. This cycle is the best piece of advice I could give to any aspiring (or even expert) programmer. You do not become a great programmer by finding the right solution from thin air; you do so by knowing through experience all the approaches that failed miserably in the past, and then choosing one of the remaining successful or untried solutions for that particular problem.

While we’re on the subject, another piece of advice specific to debugging problems of any difficulty: always verify your assumptions! You may assume that some function you are calling does one thing, but how do you know if it works correctly in all cases or if it was quietly rewritten underneath you? I have seen many occasions where developers spent hours or days looking over a piece of code, only to realize they were assuming things worked a certain way when such was not the case. Debug the entire stack from your code, all the way down to the lowest level. In some situations, I have even done this unsuccessfully, and then gone into the hardware and found the problem there! Those are really fun.

Finally, a common misconception is that great code is paired with complexity and bragging rights; nothing could be further from the truth. Great code is paired with elegance, complexity broken down into simplicity, and being readable on a single page. The best code will accomplish a difficult problem in the fewest lines of code; the best optimization is code that never executes. There will always be a programmer better than you; listen and learn from them, because it’s a team sport.

I graduated from Computer Systems Technology (Honours) at the Northern Alberta Institute of Technology, and studied a number of mathematics, artificial intelligence and 3D-rendering courses at Game Institute. Trying to learn as much as possible about 3D rendering and game programming, I also studied and completed a number of challenging Microsoft Certifications, for designations as a Microsoft Certified solution developer, large-scale distributed systems architect, and database administrator.

During college and afterwards, I was a self-employed software engineer with most of my contracts out of the United States. These contracts included the development of systems in C#, ASP.NET, Java Servlets, C\C++, 64k\x86\PPC assembly, PHP, BizTalk Orchestrations, SharePoint, Oracle, SQL Reporting, and HTML. Independent contracting was an excellent experience for me, as it allowed me to develop skills in learning new languages and systems at a rapid pace, and improve on entrepreneurial soft skills.

Later, I was hired as a lead application developer at a private company, developing workflow automation software; the project was a suite of products deployed in small to large businesses, designed to minimize or eliminate inefficiencies due to human error or manual processes. Companies like IBM, Adobe, Sun Microsystems, and others had developed an XML Meta language called BPML (Business Process Modeling Language) that could describe the day-to-day processes of any company, small or large. Our software took BPML further by developing a software layer around this innovative concept.

After this, I moved on to a software engineer and consultant role at CGI, developing innovative and robust business and intelligence software for the government.

In 2006, I published a 640-page book titled “Game Engine Toolset Development.” I signed the contract with my publisher at Game Developers Conference in 2005, and the book had to be on shelves at the same conference the following year; during this time, I was still employed full time at CGI. Having a demanding full-time job alongside an accelerated writing deadline was an interesting lesson in time management and prioritization, to say the least! Seeing my book on shelves at the Game Developers Conference in 2006, and hearing praise from industry was extremely exciting, justifying the blood, sweat, and tears that I put into the book.

While marketing my book at the Game Developers Conference in 2006, I participated in a number of informal interviews with BioWare Corp (pre-EA). It seemed to me that BioWare would be a good environment to work in, so I returned home to Edmonton and participated in formal interviews and programming tests. I was offered the initial role of Art Tools Programmer on April 10th (my birthday! – how’s that for fate?), and the rest is history.

Over my 7+ years at BioWare, I have worked on almost every type of core engine, game system, and hardware. My specializations include 3D rendering, low-level memory and CPU optimization, transitions to new hardware, and scalable parallelism; however, I take a great deal of pride in a reputation as a reliable generalist, being able to deep dive into any system at any point and understand how it does or does not work, getting it into a shippable state on a tight deadline. Because of this, I bounce between projects quite often to help optimize them. The titles I have contributed to include Mass Effect, Mass Effect 2, Mass Effect 3, Dragon Age: Origins, Star Wars: The Old Republic, Dragon Age: Inquisition, and Battlefield 4.

Part of my skillset also includes some competency with DCC tools like 3D Studio Max, ZBrush, Maya, and Adobe Photoshop. As a result, I work closely with artists and art directors to develop workflows and pipelines, troubleshoot visual artifacts and fidelity, help establish guidelines and budgets, and act as a liaison between the art, design, and programming departments.

In addition to my day-to-day work, I frequently travel to the United States, Japan and Europe to work with DICE, first-party vendors, attend conferences and trade shows, and present our cutting-edge technology and processes.

My current assignment has been a close collaboration with the excellent rendering and core engine teams at DICE to develop Frostbite 3, which is powering the next generation of high-fidelity, immersive titles from EA, including Battlefield 4 and Dragon Age: Inquisition. This work includes feature development, rendering improvements, low-level optimizations, and bringing the engine to new, cutting-edge platforms like the PlayStation 4 and XBox One.

I absolutely love my career; I work with extremely talented people who also love what they do, and am lucky enough to say honestly that I have found my dream job.

BioWare is an amazing place to work; there are incredible role models, exciting projects, admirable core values, and aggressive career growth opportunities.

Finally, for the aspiring programmer: innovate, try, fail, learn, and repeat.