Dev Blog 25/04/19



Greetings warriors of Calradia!

Conducting trade runs between towns as a merchant has always been one of the most fun and profitable activities for players in our games. Bannerlord’s trade system improved on this aspect of the game in many ways, by displaying trade rumours on the inventory screen, tracking player profits, awarding trade XP accordingly to characters, etc. which makes playing as a merchant much more fun and rewarding. However, we still had the feeling that something was missing, so we decided to dedicate more care and attention into the economy and trade system.

We like making everything in the game connected to each other, however, trade and item prices felt like it was only there to make the game playable as a merchant (and to be honest, it kind of was). We had implemented a rather thorough production system where everything in the game, from food to weapons to cows and horses, were produced in villages or town workshops. This created an uneven distribution of different trade goods in the world, and consequently, there was sufficient price variation across the map. However, we had a rather simplistic system for the consumption of goods where each town consumed a certain percentage of all available items, regardless of scarcity. This, of course, was quite unrealistic. (When faced with a shortage, people don’t tend to politely reduce their consumption to a lower level, they rush to hunt for and grab the last item on the shelf, prying it from the hands of a nice old lady if needs be!). So, while the system was suitably connected to other mechanics, it was grossly unrealistic. We needed a new system!

For our new system, we started by creating a table outlining how much a typical town would spend on different categories of trade goods and items. For example, a town with a prosperity of 5000 will allocate, say, 500 denars to spend on grain, 400 denars to spend on meat and 200 denars to spend on butter each day. The town then uses the budget allocated to each category to purchase items of that category from the market and consume them. Moreover, every time an item is consumed, it will give a bonus to one of the town stats. Consuming food items, for example, will increase towns food stores, consuming tools will increase productivity, consuming cheaper weapons and armour will increase the number of militia, while more expensive arms will improve the garrison. This mechanism means that low prices are quite beneficial to the town’s development and consequently its lord since towns with cheaper goods can obtain much higher bonuses with their budgets.

This system nicely ties town stats and management to the price of goods, but it is also great for merchant gameplay as it allows us to gauge prices in a realistic way. Instead of the rather simplistic price model we used to have, we now have a rather detailed model that determines prices based on supply and demand for each category in a given town. Higher demand from town consumption, workshops requiring raw materials, etc., will increase demand and push prices up, whereas the availability of higher quantities of items will increase supply and deflate prices. As a trader, you will hopefully feel that prices behave realistically during peacetime, as well as, in response to actions such as wars, village raids and sieges.

During the development of the new trade system, an interesting point came up. As you probably know, in Warband, as in many other trading games, the price point changes every time you purchase an item from or sell an item to the market. This sometimes feels counter-intuitive since as soon as you purchase a desert horse for 100 denars, you see that the price jumps to 106 denars. And once you pay that for the second horse, the price now becomes 113 denars. You were perhaps expecting a discount for buying multiple items in one go, but instead, you got a price hike.

We considered whether we should keep using the same mechanic for Bannerlord, and in the end, we decided that this was actually entirely realistic and therefore opted to keep it. Think of this not as how the price of goods change in a single shop (with a particularly annoying shopkeeper!), but rather as prices of the same type of good in different shops across the town. One horse merchant may have a pack horse for sale for 106 denars, another could offer one for 113 denars, and yet another who perhaps needs cash urgently will let you buy his pack horse for a mere 100. Being a wise shopper, you, of course, choose the cheapest offer. However, if you want to purchase a second horse, you will now need to take the next best offer, and so on.

And that concludes this week’s blog. Thanks for reading and hope to see you next week!

Join the conversation and comment on the forums! (101 comments)