https://www.gamedeveloper.com/design/deep-dive-roadwarden's Game Developer Deep Dives are an ongoing series with the goal of shedding light on specific design, art, or technical features within a video game in order to show how seemingly simple, fundamental design decisions aren’t really that simple at all.
Earlier installments cover topics such as designing combat to match the beat of music in Metal: Hellsinger, gamifying the process of learning to code with One Dreamer, and curating meaningful choices in multiplayer narrative games in Doomsday Paradise.
In this edition, Aureus of Moral Anxiety Studio discusses Roadwarden, explaining how the game's systems created variance and meaningful impact.
I'm Aureus and I designed, wrote, programmed, and illustrated Roadwarden, the first successful game developed by my Moral Anxiety Studio. While I was working, I had a rare luxury in disguise. I was adding new pieces of content to the game without the need to justify myself, or to split the tasks between the crew members, nor maintain the flow of communication and documentation. And since the majority of the project is text-based, making even grand-scale changes and fixes took me no longer than a few days, and usually just a few hours.
For teams of developers with advanced visuals, such a scenario is not replicable. I’ll put aside personal examples and anecdotes, and stick to the toolbox I used as I tried to fulfill my objective: making an RPG that notices and reflects the player’s role-playing.
To be more specific, I was pursuing a game that feels responsive, adjustable, avoiding epic linear tales that abruptly shift into a single “save everyone / become powerful” decision in the epilogue. I believe that making meaningful choices at different stages of the player’s journey is one of the most significant experiences that RPGs have to offer, and my game was meant to keep those in the foreground, compromising more complex systems to give players access to all of the quests, events, and conversations, no matter their character’s skill set.
The structure and the alembic
While the major decisions in Roadwarden require selecting specific lines of text during dialogues or other interactions, the game involves many more choices that are not as dramatic, but have great impact on one’s experience. Not unlike in combat-oriented RPGs, the player makes choices about the ways they spend coins, which items they use, and which stats they prioritize.
Of great importance is the order in which the player reaches new areas and speaks with NPCs. One player’s starting village will be another’s last visited settlement. I wanted to offer the freedom to travel as one pleases, and therefore I needed to make each settlement somewhat fresh, but also open to the newcomers, giving it a comprehensible structure—the introduction, the initial distrust, lower-difficulty quests that encourage the protagonist to explore the world further, and finally more advanced quests and more beneficial interactions.
Having so many possible directions, I needed to simplify as much as I could. I had divided the interactions into ones that were hand-crafted in their entirety, and ones that would do with the alembic. By this, I mean that the player wouldn’t be forced to stick to the predetermined order of tasks, and instead would be required to reach an amount of points tied to a pre-established threshold of success. Because of this, the player could reach the next part of a quest while maintaining some amount of freedom.
The most basic strict quest would require the player to go to a specific place, do a specific interaction, and return to the quest giver. The quests using the alembic are a bit more difficult to explain. A good example would be the one that requires the player to feed the dark altar with magic. They can use blood, spells, or magical items, and even fail other quests in the process, but no matter what they put into the alembic, it distills all of the offerings into +1s, +2s, and so on, until the desired threshold of completion is reached.
The alembic helped me organize and maintain the game’s grand structure. If a PC needs to complete three out of five different interactions to progress a quest, and these interactions are spread across the entire map, it allows me to pace the quest depending on how easy it is to reach and complete these interactions. The early game encourages the player to follow the main roads and to visit all the major settlements. The midgame closes most quests, including the ones that involve greater knowledge of the game’s systems. The late game involves the most difficult, dramatic quests and interactions, often concluding a story that had started hours earlier.
Over the course of the game, the protagonist gathers friendship points that are compared against arbitrary trust thresholds. As the player puts more effort into interacting with NPCs, they unlock new interactions, quests, and hints, advancing the stories, but it’s also a camouflaged character progression. Many of the rewards open new opportunities—shelters, better prices, free services. Both the friendship points and the trust thresholds are hidden from the player, though the changes in a relationship are often expressed with the way characters greet or address the protagonist, adding to the more significant shifts of the grayed-out dialogue options into interactable ones.
In the worst-case scenario, it leads to awkward results when the protagonist befriends a complete stranger in five to ten minutes, or meets angry scowls as they ask for help even though they just participated in a friendly exchange.
There are ways to limit these jarring moments. Having a low friendship level can boost point gains, and I introduced exceptions and more nuanced interactions that either lower trust thresholds or force NPCs to return the favor (or admit that they’ve been lying). At the same time, having a high reputation in a village adds to the friendship with an NPC, and vice versa.
Using the alembic feels unavoidable to me on a large-scale project, and the best I could do is try to avoid gamifying such interactions too much. Some games, for example, introduce “gift” systems that turn one’s enemies into lovers after showering them with loot. In Roadwarden, such situations are minimized.
The fluff, the spice, the floodgates, the burnt bridges
It would be insane to make each decision memorable and of comparable significance. Not that it’s something anyone wants—pacing is key, and keeping each element stressfully crucial and epic would lead to exhaustion, making the stories taste the same.
I allowed myself to put different levels of importance onto various sections of the game, starting with the fluff—interactions that don’t influence the stories but are meant to pull the player into the game’s world. Some of these serve as a vibe check, allowing the player to state directly what their character thinks about a specific situation, character, or place, in hopes that it will flesh out the protagonist.
Other fluff pieces helped me limit the game’s purple prose, replacing long, detailed narration by giving the player an opportunity to select which detail about the world feels most fitting for them. For example, instead of explaining how there are countless stories tied to various cultures, the game lets the player pick a vague tale about the moon, simultaneously giving the taste of the game’s inhabitants, and of the character’s background or personality.
Sometimes, the game remembers the selected fluff, referencing it further down the road. Once the player reaches the game’s final section, the features of the city they visit are affected by the choices made while describing it to NPCs.
The spice affects the game more directly. Such choices remain minor but have greater significance when it comes to gaining friendship points or affecting the character’s stats. The most notable examples are the attitude scenes. They occur when the protagonist meets NPCs of greater significance.
The player is meant to select one of the five different approaches (friendly, playful, distanced, intimidating, vulnerable) while introducing themselves. Some of these attitudes lead to similar outputs, while others differ significantly, increasing or lowering the friendship level, offering new clues, or giving instant access to quests or interactions that are usually unlocked later on.
The spice moments are more gamified than the fluff, and therefore the more beneficial choices get more clear as the player collects more clues. The in-game journal stores hints gathered from various conversations about the attitudes preferred by different characters. The game also indirectly hints at the more inappropriate choices by making them more misaligned with the current mood of the conversation. The player needs to choose if they want to stay painfully honest, or would they rather manipulate others into liking them more.
A cool thing about the spice is that it can be inspired by the older content, such as items. If the protagonist purchases an armor-fixing set, they can use it as the spice to help one of the NPCs and get some friendship points. Similarly, if the player sells a bunch of expensive healing potions to one of the traders, the game acknowledges the found “exploit” and blocks the interaction, commenting on it with a bit of fluff and a new achievement. Building these moments is time-efficient, yet makes the game feel more organic.
If the spice grows in significance, it becomes a floodgate. Sometimes the floodgates are wide open, aiding the player. Other times, they limit the player’s options significantly, but can be either fixed or bypassed. A character may be angered so severely that gaining their trust is no longer an option, but there may still be ways to get on their good side, usually by sacrificing valuable resources. A “failed” quest may still give the player access to some advanced interactions, just in a different, disadvantageous way.
In rare cases, a floodgate can’t be fixed. If the player does everything they can to decrease their friendship level with an NPC, it’s unlikely they can swing the entire relationship in the opposite direction, and may at best reach a “neutral” state.
But if the outcome is intended to be more harsh, like an either / or choice, this is when I think of it as a burnt bridge. An NPC dies or leaves the realm for good; a village collapses; the player supports one community, but weakens another. Burning a bridge means the player shouldn’t expect that putting in extra effort will reverse the outcome. Instead, they’re meant to accept the consequences of the changed world.
While some burnt bridges have no positive outcomes, those that do are more interesting. Still, it would feel artificial to force each one of them to be somewhat rewarding. The pre-written freedom
I wanted each scene in Roadwarden to feel natural, as if it treats the player’s path as the “canonical”, linear, intended story, even though no such thing exists.
The game acknowledges a significant part of the choices made by the player, referencing them and bringing them to their logical conclusion. The floodgates should be significant at least locally, getting mentioned whenever they’re relevant and changing to the game’s systems. The burnt bridges need to leave a mark on the world, affecting the stories and gameplay in major ways. Leading to a village’s collapse will also fail (or resolve) any potential quest tied to it, and will block the access to merchants and the shelter that it used to offer.
The most important burnt bridges have such a significance that even if left untouched, ignored, or abandoned, they should at least influence the epilogue. In their case, inaction is action.
Bringing attention to the spice and the fluff at every opportunity is an impossible challenge, but it’s good to keep them at hand in your notes, referencing them when writing or editing new content. Even short callbacks are of great worth as they add to the illusion that the game truly keeps track of everything.
One of the fun parts of the aforementioned categories is that they have vague boundaries. The player can’t know which interactions will lead to a butterfly effect, so they need to decide how careless or thoughtful they want to be at any time, getting surprised with the ways the seemingly “pointless” interactions affect their further journey.
The class, the religion, the personal goal
Among the most significant floodgates of the game are the character attributes selected during the opening section. I didn’t want to treat them as burnt bridges. The three classes (warrior, mage, and scholar) allow the players to receive or save resources, solve a puzzle, access unique systems, defeat an opponent, or impress an NPC (therefore, they spark their own spice and fluff), but there are no quests or major plot threads restricted to only one or two of them.
It was important to me that no class would be punished for getting picked. The protagonist is somewhat good at fighting, great at riding, and better at survival than most. The class is just a bonus, not the core of their character.
The character’s religion has little impact on combat or the character’s stats, but matters during some social interactions, hindering or aiding the protagonist. Depending on the player’s action, their religion will work either as the fluff, spice, or a floodgate, changing the game more severely the more the character follows the teachings of their faith. The PC’s fate is measured with the alembic.
The personal goal is both a spice and a burnt bridge as the player can’t change it once they select it at the start of the game. It’s meant to provide the player with a sense of direction and hint at the PC’s past, but is rarely referenced in dialogues, and has no side quests tied to it. At the same time, the way the player approaches their quest is of great significance both for the character stats and the game’s epilogue.
Once again, personal quests tend to use the alembic—most of them gather vague points by completing interactions or gathering resources. The game keeps track of some of the player’s actions and references them upon the quest completion or in the epilogue, but knowing the many paths the player can take before reaching the quest’s end, I knew I couldn’t do each possible playthrough the justice, and it was better to use a more abstract tool.
The problems
My approach wasn’t free of issues, some of which could have been solved with more time or better testing, while others put into question the core design and would likely end up being an effort-sink if I were to meaningfully improve them instead of rebuilding them.
I stuck to the assumption that everything in Roadwarden is interconnected, with many characters having something to say about each important topic, and as they added more information to the pool, I had to keep all the details cohesive, or at least purposely contradictory. It was difficult to turn around from the once-set course. Adding new characters or new story threads was complicating things even further.
To navigate through all of this, especially as I was scanning the code to see which parts of the game are tied to specific quests or interactions, I was forced to use thousands of variables, so testing was a nightmare—some interactions require the protagonist to reach distant areas and speak with multiple characters before they can push a quest forward. Even three years in I was simplifying my code, learning from previous mistakes. In the end, it worked for Roadwarden, but won’t fit most games, especially ones that require input from voice actors or face animators, or ones that can’t afford to introduce large-scale changes years into development.
It would be easier to put the villages even further apart from each other and assume that they’re tied only to their closest neighbors, with some small exceptions. There’s a good chance it would maintain the illusion just as well while keeping the door open for additional quests and interactions without inviting the flood of obligatory updates each time I tried to spice things up.
I already mentioned the example of the altar that eats magic. The “convenient” alembic lost a lot of its charm as the game got larger, as I had to connect to this area every single piece of equipment. Similarly, the innkeeper who has something to say about each NPC, or the one who has something to say about each area, required more and more updates as the game grew.
The deadlines brought their own limitations. Some of the characters are underdeveloped, lacking interactions or tasks despite their role in larger quests, while the settlements that can be either doomed or saved offer no deeper content in the case of the latter. There was no time to make helping them more impactful, considering many players wouldn’t reach this part of the game anyway.
Between abstractness and vividness
As it’s impossible to make an RPG truly organic and completely non-linear, there are parts of Roadwarden that had to be left simplified. The villages tend to feel the same no matter on which day they are reached. The fluff and spice rarely mention the PC’s appearance, despite having a whole system tied to it. I had to constantly balance between handcrafting all sorts of immersive scenes and unique interactions, and using the alembic, maintaining the game’s general structure while accepting it may sometimes lead to less-than-ideal results, jumps in logic, or awkward simplifications.
After all, aside from having the grand dreams of building a complex, convincing tale told with the player’s assistance, a story in which “each choice matters,” there’s also another goal: to actually release the game once it gets “Good Enough,” and to give others the opportunity to experience it before I burn out.
🎯 [Misc] Enabled the Fleet Commander game mode for the Act 4 test build 🎯 [UI] Changed map sprites for dungeons in Act 4. 🎯 [UI] Revised various texts. 🎯 [Bug fix] Fixed an error related to bots in PvP modes. 🎯 [Bug fix] Fixed an error related to random seeds. 🎯 [Bug fix] Fixed an error in the content unloading system for large maps. 🎯 [Bug fix] Fixed a race condition in the physics engine.
Aha! You thought I was only holidays or something didn’t you! Well, nope! I haven’t had a holiday in about 10 years! Updates will be getting larger but with longer time in between from now on since the game is somewhat stable… (Touch wood) Enjoy the cool new stuff!
Added
New farm animal – Pig
(note: screenshot taken in development test level, not a production game level)
Breedable in the pig farm
needs to be protected from predators, enemy NPC’s and other players.
Gives plenty of meat when harvested.
New craftable Pig Farm
Spawns pigs when there’s pig food in the farm (max 50 pigs per map total and 5 per Pig Farm). I recommend building fences and gates to keep the pigs safe and stop them wandering too far from base.
New Pig Food Resource – craftable on the food preparation bench with raw meat, berries and tomatoes.
Pig farming system is quite basic at the moment but will improve over time. Later I will work out a way to make them start off small and as they grow they give more meat but there’s complexity with the save system for this.
Character customizer
Change your character on the main menu screen.
Move your mouse to the right near the character and the buttons will show.
Clothing options are quite limited at the moment but this will be improved over time.
Characters save automatically and will be persistent over all single and multiplayer games until you change it.
Male and female character options (spent a lot of time adding that just for you Catia 😉)
Character view by pressing “J”
(note: screenshot taken in development test level, not a production game level)
You can get a reverse camera view by pressing J.
It’s basic for now but I will probably build on this and make it the character stats and skills menu.
As always, we continue to share the changes and new features planned for the upcoming update.
Please note that all balance changes indicated in this news are current at the time of publication and may not be final or may not be included in the game at all. Some additional changes can be implemented after the announcement if necessary.
Special parts
Machine gun "M-37 Piercer"
Damage reduced by 7%.
Comment: "Piercer" was showing excessive effectiveness at 4000-6000 PS.
Epic parts
Crossbow “Varun”
Base damage reduced by 10%.
Base impact impulse increased by 25%.
Perk no longer increases the impulse from the hit.
Ammunition reduced from 60 to 50 pts.
Durability reduced from 589 to 529 pts.
Mass reduced from 780 to 700 kg.
Accuracy reduced by 25%.
Now the weapon has a reload that lasts for 0.3 sec.
Comment: “Varun” stands out because of its high effectiveness, which it didn’t show before the updated co-drivers and the “Omamori” module appeared in the game. The changes are intended to simplify the gameplay against this weapon, while also preserving its competitiveness.
Cabin “Ermak”
Damage resistance bonus received from the perk reduced from 10% to 7%
Bonus active time reduced from 7 sec. to 6 sec.
Bonus boost delay increased from 0.4 sec. to 0.5 sec.
Comment: this cabin’s perk was highly effective and easy to use which, combined with other ways of increasing damage resistance, provided too much durability to the builds with this cabin. These changes are aimed at reducing the effectiveness of stacking up the bonuses and maintaining them.
Mechanical legs “ML-200”
Maximum speed increased from 40 to 50 km/h.
Comment: “ML-200” were too slow when used without the “Steppe spider”, which noticeably reduced the variability when building vehicles with those parts. The perk of “Steppe spider” was changed, and the mechanical legs received the speed previously provided by the cabin’s perk.
Cabin “Steppe spider”
Changed the cabin’s perk: now course rocket launchers deal 30% less damage, but have less spread and their projectile speed is increased by 50%.
Tonnage increased from 7000 to 7600 kg.
Mass limit reduced from 16000 to 14500 kg.
Mass reduced from 3250 to 2900 kg.
Maximum speed increased from 65 to 68 km/h.
Comment: changes in the perk and parameters are aimed at “unlinking” the cabin from a single type of movement parts and bringing its characteristics closer to other medium cabins.
Engine "Oppressor"
Maximum rotation speed bonus reduced from 100% to 70%.
Comment: "Oppressor's" perk was making too much of a difference for heavy, slow-turning weapons, making some such builds too strong.
Automatic weapon "Caucasus"
Rotation speed reduced from 77 to 60 degrees per sec.
Comment: The gun continues to show inflated effectiveness in battles at 6000-8000 PS. The change is intended to make the gameplay with the "Caucasus" deeper, prompting the user to think about their positioning in combat.
Cabin "Ghost"
Damage boost from perk increased from 4% to 7% per sec.
The time to accumulate the maximum boost reduced from 5 to 4 sec.
Comment: We're enhancing the perk to increase the popularity of the cabin.
Hover "Icarus VII"
Tonnage reduced from 900 to 700 kg.
Comment: The change is intended to reduce the excessive efficiency of vehicles with hovers at high PS. Now, one has to find a compromise - either install more hovers, reducing maneuverability, or remove some armor, reducing survivability.
Legendary parts
Cannon “BC-17 Tsunami”
The perk now stacks if the speed of the vehicle doesn’t exceed 15 km/h.
Comment: the perk of “Tsunami” was almost impossible to use on armoured cars with hovers. The change is designed to both correct this situation and simplify the use of the weapon in other types of builds.
“Aegis-Prime” module
Energy drain reduced from 3 to 2 pts.
PS reduced from 1200 to 800.
Cooldown reduced from 25 to 20 sec.
Durability of the protective field reduced from 1000 to 600 pts.
The penalty to the operation of other “Aegis-Prime” modules increased from 30% to 40%.
Comment: the module wasn’t very popular and showed low effectiveness when compared to “Omamori”. Reducing the durability of the shield and increasing the penalty to the active time of other “Aegis-Prime” modules will compensate for the decrease in energy.
Cabin "Machinist"
Weapons' durability bonus for every 1000 hitpoints of the vehicle increased from 8% to 10%.
Maximum durability bonus for weapons increased from 25% to 35%.
Comment: "Machinist" lacks effectiveness when compared to other heavy cabins.
Cabin 'Kami"
Vehicle mass' impact on acceleration increased by 17%.
Comment: the "Kami" showed too much effectiveness and popularity on vehicles with hovers at high PS.
“Omamori” module
Absorption capacity reduced from 360 to 300 pts.
Cooldown to the capacity recovery increased from 3 to 4 sec.
Capacity restoration rate reduced from 60 to 50 durability per sec.
Comment: “Omamori” showed excessive effectiveness, overshadowing other similar modules.
Relic parts
Disk launcher “Ripper”
Durability increased from 581 to 655 pts.
Mass increased from 648 to 734 kg.
Reload time reduced from 5 to 4.5 sec.
Rotation speed increased by 80%.
Optimal firing distance increased from 100 to 200 m.
Disk hit damage type changed to melee.
Damage from a stuck disk increased by 2.5 times.
Durability of a stuck disk increased from 50 to 100 pts.
Melee damage upon hitting a frame is reduced by 70%.
Comment: The main change here is that when hit, the enemy now takes contact melee damage — the same as from a disk stuck in the surface. This means that now the disk doesn’t fly through penetrable parts, but at the same time its damage is reduced by parts with resistance to melee damage. Damage to frames was additionally reduced in order to prevent the weapon from being too effective when hitting them. The remaining changes are aimed at improving the overall effectiveness of the weapon.
For more information on Crossout, follow these channels:
We are kicking off events this month on the right foot! We are excited to tackle November with exhilarating events and profound prizes!
Want to know more?
No hat tricks here! We’re spilling all the beans on our Twitch livestream, November 15, 2022, at 10 AM CST, 7 PM CET, 1 PM EST!
Tune in to the gamigogames livestream and get all the delicious details about what to expect from the events, as well as how you can participate in them. Can’t catch the livestream? No worries! We are posting all the details on our website so you don’t miss out on any of the fun!
Escape From Ithara, its our first project as an Indie Company, and everyone can be part of it! Submitting feedback will help us to improve and make the game better!
At this moment, this game launches as an early access, but there's a few things we are planned to do in the future:
More Rooms, more levels and more depth Adding more rooms and secret entries, so the game will last a little bit longer, so we can expand the history behind the temple.
Adapt the game to other platforms At this time, this project is only avilable on pc (steam), but we hope with your help we can launch it on Android,Ios and Switch!
Virtual Reality Mode The cool thing about first person puzzles, are the possibility of adapting the game into Vr!
Multiplayer What's better than explore a temple full of mystery? Playing it with a friend in a coop mode!
2) Missions ※ The data of players who have experienced the following issues will be fixed accordingly:
‘The Leas-chan Rescue’ – not being able to progress to the next step → will be returned to the first step of the mission
‘The Sea People Village's Trust’ – not progressing to the next step → will move to the next step of the mission
‘Pet Squid Sergio’ – not progressing to the next step → will move to the next step of the mission
‘Curious Child’ – not progressing to the next step → will be returned to the first step of the mission
'Beyond the Rock Pile' - backing away from the bomb → will be returned to the first step of the mission
'Into the Deep' - not being able to progress to the next step → fixed to progress normally
'Seaweed Collector's House' - not progressing to the next step → fixed to progress normally
'Catch Clione' - not progressing to the Boss phase → fixed to the state of having 4 Cliones * If any problems occur while doing the mission, restarting the game will fix the issue.
3) Underwater Exploration FIXED - seahorse being captured repeatedly in certain situations
[Other Improvements] 1) Improved the pouring speed of green tea and beer in some devices that experience an abnormal slowdown 2) Changed the grade from 1 → 3 of the registered fishes in MarinCa after being taken photos from Photo Zone.
◈ Please Note: * We will update you through this notice if there are changes to the details. * Please update DAVE THE DIVER on Steam to the latest version for the changes to be applied.
Thanks to all Divers who reported issues besides the below! 승현 / Suji / 김사람 / 큰입멍개_1 / Oswan / 이정민 / 영준 / 돈주면따라감