Sponsored By

How CD Projekt Red made crafting work with Witcher 3's dynamic economy

At GDC Europe, CDPR's Matthew Steinke offers a behind-the-scenes look at how he led design of The Witcher 3: Wild Hunt's crafting system and how he made it play nice with the game's dynamic economy.

Alex Wawro, Contributor

August 3, 2015

5 Min Read
Game Developer logo in a gray background | Game Developer

Much has been made of The Witcher 3: Wild Hunt's open-world design, but less attention has been paid to its intriguing crafting system and how well (or not) it ties into the game’s dynamic economy.

At GDC Europe in Cologne today CD Projekt Red senior gameplay designer Matthew Steinke said his dream in designing the economy of Wild Hunt was to create “a gameplay mechanism to bind the world together,” but the reality of doing so proved difficult. 

“Money isn’t want the player actually wants,” said Steinke. Much like in the real world, it’s only a method of measuring value and attaining things the player wants — more powerful gear, certainly, but also vitality (through the purchase of food and healing items) and character progression (by turning items in for quests, or buying items to make difficult quests easier.)

Learn to love spreadsheets

For fellow designers trying to create believable, dynamic economies, Steinke recommends that you first figure out a single value that you can assign to every item in the game to allow you to measure them against each other and weight them for distribution throughout the game. Spreadsheets are your best friend.

“I may be preaching to the choir here, but…learn to love spreadsheets," says Steinke. "Spreadsheets make it easy to maintain complex lists of game items and properties. They are good for generating random numbers, creating formulas, and running statistical simulation. Whether I am ramping up on a new design or looking to close on an existing one, the spreadsheet is one of the most powerful tools in my arsenal.”

For Wild Hunt, Steinke simply used “price” to assign a value to everything in the game by factoring in parameters like protective value, damage potential, and healing power. If you're not sure what value to give something or how to change it, says Steinke, try abiding by his "Rule of Two: If you’re not 100 percent sure what that value should be, double it or cut it in half.” The idea is that such large changes will give you a better idea of how changing that value will affect the rest of your game, and so even if doubling/halving it is the wrong answer, you’ll be closer to finding the right one.

Eventually, Steinke  had plotted out the value of every item in Wild Hunt and its relative value to the player based on their level; by layering in additional complications like locational value (herbs that grow abundantly in one region are worth more in another region where they don’t grow at all, for example) he had the skeleton of a functional dynamic economy.

Make your crafting system work inside a dynamic economy

But that economy didn’t yet account for Wild Hunt’s crafting system, which CDPR designed to try and afford players more agency in how they overcome in-game challenges.

The basic idea was to create a system where almost every useful item in the game could be crafted from other items in the world; to hear Steinke tell it, this empowered players to use “junk” they find in the world to create meaningful upgrades instead of selling it to the nearest vendor.

But one of the challenges CDPR faced was how the crafting system would impact Steinke's “price” system of item valuation and distribution. What an item costs, what it’s worth to the player, and what a player can sell it for at a vendor are, says Steinke, often very different values.

For example, to eliminate exploits with the disassembly process, he had to make sure that an item’s price was equal to the aggregate cost of its dissambled components.

But, says Steinke, so often your items are worth more than the sum of their parts; a magical sword is far more valuable in practice than the fancy reagents used to build it, but if you price it based on the value of those ingredients a player could buy it too easily and if you price it according to what it's actually worth a player making and selling magic swords would make too much money.

One way to solve this, says Steinke, is by building your game's economy with a tilt factor that you can use to swing prices up or down in order to ensure the player never has too much (or too little) money. In Wild Hunt Steinke designed an "economic drain" price modifier for all transactions that's designed to drain the player's budget over time; for example, merchants in the game will almost always sell players items for more than their value and buy them for less.

A big economic drain factor in Wild Hunt is item durability; Steinke recommends it as a way to keep players from getting too rich and creating interesting decisions for the player when they must decide whether to keep using a weapon until it breaks, expend resources to repair it, or swap it out for another weapon.

Of course, you'll also have to deal with the problem of tuning durability so items don't break too often (frustrating your player) or too rarely (negating the system's existence), something Steinke says CDPR struggled with.

Another problem the studio faced encumbrance; during the design process CDPR decided to eliminate an inventory limit in Wild Hunt, but that led to players often exceeding their encumbrance limits. Steinke says he tried to solve this problem by setting the weight of crafting items to zero, which worked — but also tended to confuse players.

Another problem with unlimited inventory size was that it made finding specific items difficult for players. CDPR has been patching the game to address this issue, says Steinke, but it still hasn’t arrived at an ideal solution. As it continues to iterate on Wild Hunt, Steinke closed out his presentation with recommendations for fellow designers; chief among them, at least when it comes to designing complex in-game systems like a dynamic economy, was to “make one change at a time."

"It may sound obvious, but…if something breaks after a change, you’ll know exactly why. If something breaks after ten changes, you don’t know exactly which change or combo of changes is to blame,” says Steinke. “Make one change at a time, and test often.”

Read more about:

event-gdc

About the Author

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like