OPREP: Old Man
UNIT: Václav Kerber, Designer, Design Dept.
TO: Arma 3 Users
OPSUM: Designing total player freedom in an open-world scenario
Hello, my name is Václav "Sarge" Kerber and I've been working at Bohemia Interactive for over 3 years. During the development of Arma 3 Apex: Old Man, I worked as a quest designer, responsible for the story and the scenario's general flow. I'd like to share with you what I learned on the project, including some of the daily challenges we faced and the ultimate goals behind our 'what if' approach to open world quest design.
SYSTEMS MAKES LIFE EASIER
So, I guess I'll just jump right in. The first problem we faced was performance. Although Arma 3 has been with us for more than 6 years, we very quickly discovered that it was simply not feasible to populate a large terrain such as Tanoa with nice, detailed compositions and realistic looking ambient life. At least not without some spawning / despawning system. Also, working on one scenario simultaneously with a group of fellow Bohemians posed issues of its own, on account of dependencies and conflicts in our data. Because of that, we developed a number of systems to make our lives easier.
Populating the world
First, I want to talk about what we called 'sectors'. A designer working on a mission can place a module to handle the behavior of units and objects placed in its range, or in a defined layer. The spawn distances for objects and vehicles can also be selected. Furthermore, a different spawn distance can be selected in an aircraft, because - let's face it - we don't really care too much about objects in a tent when we're cruising in an airplane at 20,000 feet. But we do care about AA batteries guarding a military base, for example. Many additional parameters can be set as well, such as which side a sector belongs to (e.g., CSAT or L'Ensemble) or whether or not a sector is restricted (e.g., a military base). And that's just to name a few things.
Here you can see how we were able to populate large areas with detailed compositions. This wouldn't be possible without our new modules, called 'sectors'.
The next system I want to mention relates to the ability to export and later include more missions into the main one - something that helped streamline mission design. Old Man consists of over 50 missions. In the end, we sorted these based on locations, sides, and quests. Some specific systems like those involving hostels and caches also have their own dedicated mission file.
As you can see here, Old Man contains a lot of separate missions.
These systems were designed to work independently, in keeping with our general design vision. That gave us two major benefits. The world of Old Man is not player-centric. For example, you can witness a random gunfight between L'Ensemble insurgents and a CSAT patrol. If they suffer heavy losses, they'll call a Quick Reaction Force (QRF) to help them out, no matter if the player is involved in this fight or not. The second advantage is when something in one system or quest goes wrong, it doesn't break the whole scenario.
OPEN WORLD QUESTS
Regarding quests, or "super quests" as we came to call them (several tasks with one overarching goal), these presented a unique design problem and really forced us to think outside the box. With Old Man, we decided to choose an approach where the player can go wherever they want and do whatever they want. There are no restrictions or limitations. All NPCs in the world can be killed and the scenario should still continue. There's no such thing as a traditional 'game over'. All quests (if it makes sense) can be finished without being actively assigned, and if the result should have some meaningful impact, it will.
An FSM, or Finite State Machine, showing the flow in one of our "super quests".
Note: minor potential spoilers ahead!
Let's take a case in point, drawing on an example from very early on in the game. It's morning; you wake up in your house and someone's knocking on the door. You open it and there's the local doctor, who you've recently met in Luganville. He reveals there's a group of sick civilians hiding in the jungle, in desperate need of medicine. He explains a meeting's been arranged with the notorious political group, L'Ensemble, at an abandoned warehouse. He is begging you to help him. So, you may say to yourself, 'why not', right? But then comes the question: 'what if'...?
What if you robbed the doctor of his life the previous day? Maybe by accident, or maybe just because you wanted to see what would happen and how the scenario would react to it. Needless to say, if the doctor's fortunes took a turn for the worse, he won't be knocking on your door and the civilians he's been caring for, well, they're as good as dead now, too. But what then, if one of those civilians had a really important task for you? Take Howard, Tanoa's resident archaeologist, for instance. He had some hidden research papers and needed your help to fence them. Of course, they'll be pretty hard to find now. But you can still locate them in the world - and sell them for money!
And what happens if the player isn't even at home? I mean, sure, our dialogue can be the same, but it's over the phone, and that demands a different opening. Now let's imagine the player hasn't been home, and instead had discovered the medicine the doctor needed while out exploring Tanoa. Does that mean we still need to meet the contact and secure the drugs? No, of course not - it wouldn't make much sense; we have to be able to hand them over right there and then. As you can see, these variables can mount up pretty quickly and things get very, very complicated.
Put simply, we wanted to allow for contingencies, while avoiding dependencies. Our mission flow required us to be both dynamic and responsive in terms of design; important characters had to be expendable and any items in the world collectable. In fact, if you know what to do, you can even complete Old Man right from the get-go - there's nothing stopping you! You see, it was our intention to embrace as many options as possible, meaning there's no right or wrong way to play.
ALL FOR YOU
To be sure, there's a lot more we could talk about. For me personally, it's been an unexpected 2-year journey - full of learning and surprises.
We developed a lot of systems to bring Old Man to life; some of them didn't make it into the game for release, others play a much smaller role than we had originally intended. But there are, at least, working modules handling faction relationships, spawning, quests, market economies, fast travel, checkpoints, intel objects, and more. All of these are tools you can play with in the Eden Editor and use for your own open world scenarios.
You can find documentation for these systems on our Community Wiki.
I really look forward to seeing them in your creations!