1. The Guild 3
  2. News

The Guild 3 News

Patch notes for EA 0.9.14 “Uprising of the AI” – June 9th, 2021

Build number: 622947

Hello Guild fans,

The team worked really hard on this patch, fighting the constantly shrinking number of bugs, balancing the gameplay and adding new features at the same time. It has been one of our biggest internal milestones and we are very happy that we were able to achieve it! It is not the final iteration of these improvements, though. We will continue to work on them. Nevertheless, we didn't want to keep you waiting any longer and we are also very excited about your feedback :-)

We changed the format of the patch notes and have split them into two parts: the first of which contains the foreword and an overview of the current patch - so in case you just want to skip through the patch notes you will find the highlights in the first part. The second part includes all details to the patch. And as usual, you can find the link to the latest survey at the end of the patch notes.

You might notice that we have removed the passages about our next plans, because from now on, we will reveal some of our plans in the monthly DevDiaries. While we still want to talk a bit about the things happening during development, we will as well give you a bit of a forecast on what you can expect.

Please support us and take the time to give reviews. Thank you very much!

Addition from June 11th 2021
Please note: The game does not display/load save games from outdated patch versions as they have become incompatible due to the rework of core systems.

Overview
New features: With EA 0.9.14, we implemented a feature that allows you to add fan-translated text files more easily to your game. You will also find four different ground texture sets in the game, that give the single scenario maps a much more unique style.
Content & Balancing: The most important updates here are unarguably the changes in the levels of difficulty and the AI. With this patch and with the coming patches, the game will be more challenging, depending on your preferred difficulty setting. The AI will not be perfect in EA 0.9.14 but the AI characters will start to act more like real entities with more defined objectives. We will be constantly working on our AI-tuning for the next patches.
Bug fixes: We have fixed more than 50 major issues and more than twice that number of minor bugs, including 13 bugs that led to a crash of the game.

We value your feedback!

If you have the time, we would appreciate it if you could fill out a short survey regarding the changes we made in patch EA 0.9.14: Google Form Please note: we do not collect any personal information other than your feedback - you will remain completely anonymous. This survey will end the day we release the next patch.

[hr][/hr]

New features

- Over the course of the last months, a number of fan-translators asked for support for their fan-translations. So this feature is especially for you guys :-) All you have to do is copy one of the existing "locdirect_[language].loo" files in the folder "media\localization" and name your copy the way you like, e.g. "myFanTranslation.loo". Then translate the text keys you want and delete the ones that you don't need. You can even split your translation into several files, like "myFanTranslation1.loo", "myFanTranslation2.loo" and so on. When the game starts, all entries in your "*.loo" files will replace the texts in the language you have chosen in the options menu.
-- please note that The Guild 3 supports all characters in the "Basic Multilingual Plane" (BMP)
-- another side-note: as mentioned in DevDiary #18, we will add fully translated texts in all languages in the game in July or August. New texts after that point in time will be translated at a later time, but the bulk of the texts will be translated then.
- our scenario maps now support different ground texture sets. We have implemented three new ground texture sets which you can find in Wenighusen (Tutorial), Heligoland, Paris and in London. We are very curious what you think of that :-)
- transporters are now able to replace their carrying bag or cart with an item of a higher tier - in the options of the game you can enable or disable that behavior

Content & Balancing

- Level of Difficulty
-- the level of difficulty now affects several aspects of the game, like prices for employees and prices for a number of actions
-- reputation changes due to some actions, mostly interactions, are influenced by the level of difficulty
-- the level of difficulty for human players and for AI players are applied contrary: if you choose "easy", the AI dynasties will play with "hard", and conversely.
- AI
-- the AI can and will from now on use all available artifacts - be careful to not be bombed away!
-- the availability and weighting of the actions of the AI archetypes have been completely reworked. AI dynasties should now act more logically and with focus on specific goals. Please be aware that this focus can shift a bit over time and sometimes a dynasty might follow some hidden goals.
-- AI characters can equip special artifacts, like the hare's paw or the rat companion, and get rid of useless items, like the old boot
-- the plot of land where the AI places a new building is from now on chosen in an intelligent way, considering distance to marketplaces or other businesses and dozens of other parameters (see DevDiary #17)
-- from now on, the AI will erect more new buildings on city grounds as well, including higher tier residences
-- possibility and frequency of denounce and praise actions have been reworked in a way that they aren't performed so often anymore
-- the AI now considers own buildings and unlocked skills when receiving a proposal for a dynastic trade
-- the individual building addons are evaluated based on the playing style of the AI dynasty and purchased accordingly
- Dynasty Management
-- the size of the player family and AI families is limited to a specific max size given by the level of difficulty. The bigger the family is the harder it gets to grow the family even more.
-- the current size of a family (adults and children) is displayed in the family tree and in the book of dynasties
-- with patch EA 0.9.14, you are able to own more businesses - we increased the maximum number of businesses given by the title from 15 to 18
-- the Avatar, their spouse and the (adult) heir now have access to most actions and/or artifacts of the family's henchmen, like bombs and poisons; actions like conquering buildings are still available only for henchmen
-- the Avatar, their spouse and the (adult) heir now have exclusive access to powerful actions like "Church donation" and "Oil the wheels of bureaucracy"
-- romancing: characters now have a number of possible preferences when being courted. If you for example choose "sweet talk" for your courtship, they may prefer a present or a more intimate action next. Having approached your romance target in their preferred way, you get a bonus to the success. We also increased the success chances of “sweet talk” and “kiss” a bit.
- Reputation system
-- Aggression radius: with actions like "Kill character" or "Kidnap character", you can from now on get away without negative consequences if no one witnesses your doing. But if you kidnap someone in the middle of a crowded marketplace, do not wonder if a lot of people are angry at you...
-- the reputation changes of all actions in the game have been balanced
-- for some aggressive actions, the character's 'stealth' is considered when the reputation changes
- Moral attitude and Guilds
-- the way actions impact the moral attitudes (the values) of a dynasty has been reworked. If you use the same action over and over again, the impact will decrease accordingly. Additionally, the impact of for example aggressive actions will decrease when you are already considered an aggressive dynasty. This way, most of the dynasties should no longer end up with an extreme negative moral attitude with nearly no chance of changing
-- the impact on attitudes of all actions have been balanced
-- Guild invitations should from now on be triggered correctly. Once you have reached a higher title and your moral attitudes match the attitudes of a Guild, you should be invited to their midst.
- Area map
-- the layer with the details and filters is active by default
-- from now on, you can find the religious beliefs of the inhabitants of city districts and villages in the details layer of the area map
-- surroundings and rivers/sea ways are no longer displayed in the overview of neighborhoods
- 3d Artwork
-- steep terrain has been smoothed out on almost all maps
-- water now has floating algae and we added waves to few water areas (in Heligoland for example). But as those are performance hungry, we have to look into it before we decide if we can add more)
-- new normal maps for mountain rocks and some cliffs (see Heligoland for example)
-- more shadow and some LOD rework for vegetation props
- Sound
-- a new option to adjust the loudness of interface sounds has been added
-- several new ambient sounds and new SFX for characters and carts have been added
-- ambient soundscape has been balanced further
- buildings now have specific construction times and specific renovation costs. The rule of thumb is: the higher the tier of a building, the higher the construction time and the renovation costs. As a consequence, the start buildings in the "Poor fellow" mode have the shortest construction times.
- tutorial: the active quest is from now on pre-selected in the questbook so that its description and details are displayed without the need to select it first
- in case a character in a list of valid targets is for some reason not available, the game shows the feedback "busy"
- you are now able to place items you are purchasing directly into the equipment slots of your characters
- resource producers (mine, lumberyard and quarry) can now have up to 4 fully equipped transporters
- currently working employees get paused if you drop an item into their inventory. This way you can equip your workers or give them artifacts and the automation does not automatically transfer the items back in the storage of your building
- the duration of the actions "Drive your workers", "Spur your transporters on" and "Motivate your workers" (Guild action) are now shorter while the duration of the effects are longer
- we have added new (and cooler :-) ) religion-related icons
- whenever a character changes their faith, a specific particle effect is shown above their head
- "2 years per round'"is now the standard setting in the map selection menu
- a number of new NPC dialogues, like talks about the Sovereign or a specific dynasty, have been added
- more of the actions are now part of the law system and in case they are illegal, you can be brought to court
- the productivity of employees is now displayed for all producing characters and the percentage is colored in red if the value is lower than normal (debuffed) or green if it is higher than normal (buffed)
- from now on, you will receive proper notifications when someone throws a bomb or applies a poison at one of your buildings
- the target selection pop-up for romances, bribes etc. show information as to why the target is unavailable
- the professions of potter, minstrel and preacher are now more economically balanced than before

Bug fixes

- multiplayer: several connectivity bugs and crashes have been fixed
- multiplayer: a crash could occur when trying to access the options via the main menu
- multiplayer: a crash could occur if you clicked on 'back' in the list of available games
- multiplayer: fixed a crash when loading a MP savegame while the system tried to set up the order list of a building when the owning dynasty was switched from human player to AI player or counterwise
- on the Paris map, a crash could occur after a short playing time
- a crash could occur when AI characters calculated their decision in a political vote on an NPC
- a crash could occur if an action was to be carried out by an invalid character or an invalid building
- a crash could occur when loading a saved game with an invalid item; this was caused by an error in the save function
- fixed a crash that could occur when the AI tried to spend attribute points on a character who died in the same moment. We hope that we were able to fix all causes of this specific crash and we will monitor possible crash reports with EA 0.9.14 - fingers crossed :-)
- if a player character was banished, it could lead to a crash
- fixed a crash when an AI character tries to change the prison sentence of a jailed character who has no family/dynasty
- AI dynasties sometimes offered too much money in the lease auctions of resource producers
- in case a catholic or a protestant married a secular character it was possible that the spouse did not become catholic or protestant - fixed
- fixed a number of bugs in the system that applies birth traits to newborn
- when selecting an item for children the inventory slots of adults were highlighted as well
- it was possible to equip adults with items which were allowed for children only
- it was possible to drag equipped items from adults to toddlers when inside the residence
- multiplayer: the models (bodies) of the previously defeated NPCs were still present after saving and loading the saved game
- the family wide action cooldown hadn't prevented multiple identical actions from getting started in parallel
- a bug allowed the Powder Of Hygeia to be applied to foreign buildings
- fixed a bug in actions with an audience - e.g. begging or playing music - that caused under specific circumstances the actor to become a valid target of their own action...
- fixed a number of calculation issues with the score of the dynasties; please note: we will invest more time to the balance the score and the three connected achievements
- removed raw materials and intermediates from the list of relevant goods in the front store section in businesses in which they cannot be produced
- surrounding regions are no longer shown in the list of districts and villages on the area map
- multiplayer: fixed a number of occasions where tooltips of actions and/or buffs weren't shown on the client's side
- fixed a number of bugs related to AI dynasties constantly praising and denouncing other dynasties; we finally got rid of this spamming :-)
- fixed a bug that allowed preachers to be affected by the religious speeches of other preachers and therewith sometimes converted
- re-organized the categories of several items so that they now appear in the right categories at the marketplace
- the sounds of birds and other ambience sounds were wrongly assigned to group "sfx" instead of "ambient"; we fixed that so when you now switch off ambient sounds, the birds will be silent ;-)
- the disease immunity buff of the workers of the hospital was missing
- fixed a bug where the list of customers would fail to update when a customer started getting treated/served
- city guards sometimes reacted on actions where an audience gathered, like when minstrels playing music
- a bug has been fixed that prevented transporters to upgrade to a better transportation item a second time
- fixed a number of bugs with the notifications and alerts when conquering a building or when someone conquers a player's building
- fixed several bugs that broke the price trend and the needs trend graphs of markets in longer games; we additionally had to limit the history for the graphs to 20 rounds
- fixed a bug with the bandages; a success now also shows a particle effect
- budget book: the income through leased resource producers was not added to the family's total
- budget book: the wrong building level was displayed (actually it was the level of the unlocked skill...)
- fixed a bug that made exotic wares like amber or brocade available at the ports; players now have to go on far trade missions again to get those wares
- the audience of a preacher's church service didn't donate money - we taught them good behavior now :-)
- pedestrians now have to decide if they want to listen to the minstrels on their stage or to a preacher performing a holy church service
- fixed a bug that allowed own minstrels to perform a stage show in every own minstrel tent; same went for preachers and preacher huts
- fixed a bug that caused the workers of neutral preacher’s huts and minstrel tents to idle instead of working
- non-producing business buildings had an incorrect productivity buff set
- multiplayer: fixed a bug where the economy stock and market inventory would go out of sync when a character sold something to a trade market
- henchmen who are protecting a building should from now on react accordingly to aggressions against that building
- several animations have been reworked and/or bug fixed
- several smaller bug fixes and tweaks in the area map
- several bug fixes and tweaks on all maps

Known issues

- sometimes an AI character may perform the same action multiple times in a row, even when it may make no sense; e.g. applying a bandage when the character is not hurt.
- dynastic trades may be a bit tricky at the moment, because AI dynasties will not accept offers of businesses they don't need or where they have no skills unlocked for; at the moment AI dynasties will not sell businesses they need for their skill tree no matter how high the offer is
- the AI could be a bit too peaceful even in feuds - please give us feedback of how you see that
- guarding and escorting henchmen are sometimes not released from their duty when the building changes the owner or when the escorted character is in jail etc.
- inhabitants/employees don't leave a burning building and too few of them are attending in extinguishing the flames
- a number of newly added NPC actions have no icon yet

Important information

The game does not display/load save games from outdated patch versions as they have become incompatible due to the rework of core systems.
If you are experiencing difficulties with loading and saving the game, you may attempt to delete all files from the folder “%userprofile%\Saved Games\Guild3” (C:\Users\[USERNAME]\Saved Games\Guild3).
Multiplayer: If you have a restrictive firewall then you may have to manually open the following outgoing ports to be able to play in multiplayer: 61111 TCP & UDP, 36895 TCP & UDP, 36975 TCP & UDP. You can find this information in the FAQs Multiplayer on our webpage as well!
It is quite possible that some problems that you have in your game are caused by missing or corrupted files. In this case, the following might help: right-click on "The Guild 3" in your Steam library, then Properties - LOCAL FILES - VERIFY INTEGRITY OF GAME FILES...
If you still have issues afterwards, then we recommend uninstalling the game and then manually delete the folder “%localappdata%\Guild3” (C:\Users\[USERNAME]\AppData\Local\Guild3). Then re-install the game.
Crash dumps for bug reports can be found in “%localappdata%\Guild3\sentry\reports” (C:\Users\[USERNAME]\AppData\Local\Guild3\sentry\reports) per default.
Join our official Discord server (link) where you can meet us (that is, when we take a break from developing games) and other players to chat about the game.

News about Patch EA 0.9.14

Hello The Guild fans,

During our tests of the final patch EA 0.9.14 we noticed some loose screws with the aggressiveness of the AI, which we had fastened at the beginning of this week - once the AI had reached the citizen title and had enough money, all AI dynasties started with "all out war". With a few changes, we brought a little peace back in the game. But we have to test our last changes extensively, so we have to delay the launch of the patch to next week.
We are very sorry for this inconvenience, but the waiting time will be worth it - here's a little spoiler on the patch notes for you:

- the AI is now a lot more active and acting with own objectives
- we upgraded the level of difficulty
- the moral attitudes system has been bugfixed and balanced further; invitations into Guilds should be incoming again :-)
- the reputation system has been bugfixed and balanced
- we fixed more than 150 bugs, 13 of them were crash bugs
... and much more

DevDiary #18 - “About the next game update” - May 2021

Hello everybody,

With this developer diary we want to start to give you more information about the current development and to answer more of your questions. Please be aware that we sometimes still have to give development priority over a DevDiary and that the latter then appears either belatedly or on a smaller scale.

We have been working flat out on patch EA 0.9.14 since March. The patch is very important to us and is expected to be finished and ready for you at the end of May/beginning of June! But what will be in there? Quite a lot, we can assure you!

Balancing: We continued our efforts to further balance the game. Since every screw that you turn in one direction or the other can have an effect on completely different areas in the game, we will of course continue this after the patch. At this point, we would like to thank everyone who helped us a lot with their bug reports, their suggestions and their constructive criticism. You are great!

Difficulty level: Many of you criticize that the game is too easy. Yes, unfortunately this is still the case in EA 0.9.13.5. The level of difficulty actually has little effect on the game and we had to a) first make the AI ​​“smarter” and b) among other things, enable our designers to use advanced formulas to calculate costs and reputation. Additionally, with patch EA 0.9.14, the handsel and salaries of employees will scale with the level of difficulty, as well as the chances of success with performing especially social actions.

AI: While we're at it, AI will see the vast majority of improvements, and AI dynasties will now become serious entities and adversaries. And if you play hard or impossible, then you will really have to nibble. Of course, there is still room for improvement here and we will continue to turn one or two screws in the future to make AI even smarter. But we look forward to your feedback as soon as you've played the patch.

Sound: In March we already presented you with the first iteration of our SFX revision. In patch EA 0.9.14, we not only continued where we left off, but we also added a lot of new sounds. For example the noises that handcarts and horse carts emit and the sounds in the village and in the city :-)

This is only a small glimpse into patch EA 0.9.14. We would like to address one more thing that has nothing to do with the patch at the end of May/beginning of June and is only relevant for those of you who do not want to play in English or German: We are planning to translate all so far untranslated texts and to include them in a patch in July or August - depending on how long the translation into French, Italian, Spanish, Polish, Russian, Korean, Chinese and Japanese takes. We have waited until now to take this step, as a lot of new texts on the basic functionalities of the game have been added up to this point in time. The new texts that come into play from then on will be translated at a later date.

In the next DevDiary in June we will talk about our further plans. Stay tuned :-)

H. Meyer
Producer, THQ Nordic

G. Holzer
Project Manager, Purple Lamp Studios

DevDiary #17 - "Location, Location, Location" - April 2021

Hello fellow Guildians,

This time around, our DevDiary #17 will concern itself with a small piece of a very large and complex system of The Guild 3 - the AI. The Guild 3 is a very complicated game, offering a vast amount of actions to take and choices to make at any point in time. In order to present a challenge to the player, the AI has to be able to pick a reasonable course of action, and follow it.

We’ve previously presented some areas of the AI, so this time we will concentrate on one system we recently improved upon for the coming patch: Where the AI places its buildings!

This might initially sound like a trivial task: “Just pick a good spot and build there!”. For a human it’s easy to pick a free spot for a new building, but for an AI, unless completely random placement is acceptable, several considerations have to be taken into account. We recently looked at where our AIs put their businesses and residences and determined that we needed something better. To understand what we arrived at, we must first see where we started:

The old building placement was very simplistic. It basically followed three separate rules, based on what type of building needed to be built:
- Residential buildings are simply built close to existing residential buildings. The average position of all owned residences is taken as a starting point, and nearby streets are searched for a free spot. This will cause families to build clusters of homes. The only time a family will “break out” of their starting area is when they upgrade to a house that can only be built in a city - they will then simply search for a buildable spot until they reach a city, and build there.
- Warehouses are built in the middle of all owned businesses. This follows the same logic as above: Take the average position of all businesses, and start looking for a free spot on the closest street.
- Businesses are built close to existing warehouses. If the family doesn’t own any warehouses, they will try to build close to a market instead. Similar to warehouses and residences, all businesses are close together, with the only outliers happening once city exclusive businesses are getting built.

It is pretty obvious that this will always manage to find some valid spot for placing a building, the construction sites will likely be far from optimal. A fishing hut, for example, should try to build close to a fishing spot, and a herb hut should be placed close to a source of herbs, while a barber or preacher should try to find a spot that is in the middle of a highly populated area.

Therefore, we set out to improve on the old building placement logic, and came up with a few key aspects that should be supported:
- It should be possible to specify individual rules per building type.
- It has to be possible to specify buildings you want to build close to (e.g. resource providers, markets, etc…).
- It has to be possible to specify buildings that you want to avoid (e.g. the competition, arsenals, robbers, etc…).
- There should be no limit on the number of rules you can specify per building type.
- The process of finding a spot that satisfies all those rules should be fairly quick (so that the game doesn’t hitch whenever an AI tries to place a building).
- The process of finding a spot should be fault tolerant (so that if you specify e.g. rules only for buildings that don’t exist on the map yet, we still find a valid spot).

Those are a lot of constraints! After we gave it a lot of thought, we decided to implement this via a building placement heatmap.

Essentially, we are now filling the entire street network with values that represent how ‘good’ the street is. Are buildings on the street that you want to build close to? Increase the value of the street! Are there buildings that you should avoid? Lower the value of the street!

After assigning these values to the entire map, we order the streets by their accumulated value, and then try placing the building on them one after another.

So how does this measure up against the criteria we established above?

To adjust the placement of a building type, the designers can specify a list of rules, which looks like this:

PlacementRules = array 
{
("Grove", false, 2.0),
("Market", false, 2.0),
("*", true, 1.0),
("Warehouse*", true, 2.0)
};


Each line specifies one building type that is of interest to the placement. Wildcards are supported, so while “Grove” will really only match buildings of the type “Grove”, “Warehouse*” will match buildings of any type that begin with “Warehouse”- like the “Warehouse”, and the “WarehouseCountry”. A simple “*” will match ANY building.

The next parameter, true or false, specifies if we are only interested in our own buildings of that type, or in all buildings of that type. So while the rules above are interested in all groves and markets on the map, the last two lines specify that they only apply to all of our own buildings, and all of our own warehouses.

The final parameter determines how important it is for us to be close to that building type. Higher values make the buildings more “attractive”, while lower values mean that they are less important to us. Negative values can even make buildings repulsive, pushing building placement away!

Entering numbers and hoping that everything will work out can only get you so far, so we also added a development switch that allows us to see the importance heatmap while placing buildings. So what does it look like, for example for the rules above?



This shows the heatmap for placing a herb hut, which uses the example rules.There is a grove at the end of the bright red street, which causes this location to be especially attractive for placement. There is no free spot immediately next to the grove, so the AI would likely place a herb hut at one of the free spots along the orange colored streets.

To demonstrate how e.g. warehouses affect building placements, we added two warehouses in the lower right corner of the depicted area. This moves the “attractiveness” to somewhere in the middle between the grove and the warehouses:



Finally, here’s what the same area looks like when finding a good spot for a fishing hut:



There is a fishing spot located at the end of the dark red road in the upper right corner, so the AI would try to find a spot very close to it.

We hope that DevDiary #17 gave you a bit of insight into a tiny part of the AI code in The Guild 3! As mentioned above, this will be part of the coming patch end of May / beginning of June. The patch will include a lot of other AI improvements, but that is another story.

Purple Lamp Studio

DevDiary #16 Part 2 - "Squeezing the world through a pipe" - March 2021

In part 1 of this DevDiary we provided you with a brief overview of the architecture of the Multiplayer mode of The Guild 3. We also explained how the communication between Host and Client can fail when things go wrong.
If you haven't read part 1 yet you can find it here.

Today, we want to continue with another issue that is difficult to solve: the raw amount of data that needs to be sent over the network to keep all players up to date about what is happening in the game world. Whenever a character executes an action, the Host needs to broadcast the changes that occurred to all Clients. The more characters there are actively running around in the world and executing actions, the more network traffic will be generated. When too much traffic is being generated, the Clients will start to lag behind which means that there is an increasing delay between requesting an action to be executed and seeing the character actually doing so.

To diagnose this type of problem, we have a tool that records and visualizes all the traffic that is sent. As you can see in the image, the tool visualizes in a graph how much data was sent over time. The height of a bar indicates the total amount of data. The colored sections in the bar show which type of objects (characters, buildings, items, etc.) are associated with the data. The numbers next to the labels indicate how many of these objects were updated.



In the graph above the buildings stand out for producing too much traffic. Buildings are in second place regarding the total amount of traffic generated with only 29 updated instances. In the same timeframe it took 315 updated characters to produce a similar amount of traffic. This means that buildings produce much more traffic per update than characters. After digging deeper, we were able to find out that buildings are sending needlessly data about locally stored paths to other nearby buildings along with each update. We were able to fix this issue in patch EA 0.9.13 and significantly reduce the amount of network traffic that is generated by buildings.

Additionally we noticed that on large maps, the number of supply caravans could become very high. The large number of characters moving around was also generating a problematic amount of network traffic. Because of that, we reduced the number of supply caravans that restock markets in regular intervals. Each supply caravan carries more goods, so fewer caravans are required to keep the markets stocked.

With these improvements the Multiplayer mode should run much more smoothly on larger maps. Nevertheless, the total amount of network traffic is still the biggest technical issue for the Multiplayer mode. We will do our best to further improve it in the future.

Character Movement
We also want to shine a spotlight on how character movement works in Multiplayer. It is a good example to demonstrate how certain features that are straight forward in a Singleplayer mode can be hard in a Multiplayer mode. In part 1 of this DevDiary, we have described the usual approach for executing an action in Multiplayer. It is to have the Host perform the action and broadcast the resulting changes to the Clients. When applied naively to character movement, the Host would calculate the path for the character and, over time, update the position as the character walks along the path. In this scenario, each change in the character’s position needs to be broadcasted to each Client. This approach has two problems. For one, it requires a very large number of position updates that need to be sent over the network. And secondly the character’s movement would appear to stutter on the Client because all data that is sent over the internet is always subject to an inconsistent delay.

There are different ways to solve this problem. The Guild 3 approaches it by transmitting primarily the movement destination. The Host will send a message that says “Alice is now running towards position X” or “Alice is now running towards Bob”. Each Client will then independently perform all the steps necessary to move Alice to her destination. That includes calculating a path and moving Alice along that path while trying to avoid collisions with other characters on the street. Once Alice has reached her destination, the Host will send a final message: “Alice is done moving. Her final position is X”. When this message is received on the Client, they will accordingly finish the movement process and place Alice on that position. With that approach, the characters will move smoothly on the Client with only a minor correction at the very end that ensures that the positions of standing characters remain accurate.

Recent Problems aka “Where did my friends go?”
Many of you have noticed and reported connection issues when trying to join multiplayer games in the past couple of weeks. In order to properly explain those problems and how we tackled them, we have to take a little detour into how our matchmaking system works.

The first important part of this system is the matchmaking backend, which enables us to connect between Steam players with players from GOG. The backend is developed, hosted and maintained by another team at THQ Nordic. Secondly, The Guild 3 uses a software library, which communicates with this backend to create, maintain and make your games visible and joinable from all around the world. When you host a game, we send a command to create a so-called lobby for you in the backend, which in turn takes care of making it visible (or invisible) to other players and also enforces player limits. Other players can then see your game in our game listing window, which retrieves this information from the backend. When you decide to join a session, we send a command to the backend that you intend to join this specific lobby. Once this is successful, the backend then notifies the hosting player’s game that someone wants to join and their game instance will then initiate direct communication between your game and the hosting player to make your session possible.

Now let’s have a look at the recent connectivity issues many of you have experienced. We received reports from you and our internal testers, that joining of multiplayer games would sometimes not work or behave in a weird way. With the help of your feedback, the work of our testers and our own experiments we could analyse the issue and see that the underlying problem was in the backend and was most likely introduced with a recent update. As with every piece of software, bugs often surface when implementing new features and this was exactly the case here. We then provided the backend team with all the information we could gather about the problem and they then worked tirelessly to resolve it. In the meantime we also did some small improvements to make the connection process smoother. Patch EA 0.9.13.5 then included an increased connection timeout and a little fix for disconnecting from lobbies. The increased timeout was necessary, because the backend is also used by other games from THQ Nordic and may experience heavy load from time to time.

For the upcoming version of the The Guild 3 we are currently working on some more improvements, which should make the multiplayer experience a bit smoother. E.g. we are upgrading the library we use to interact with the backend (the new version contains a couple of bug fixes and improvements) and we are also remodeling the multiplayer connection process a bit to provide for a nicer experience.

We hope that this DevDiary was able to give you another interesting insight into the multiplayer mode of The Guild 3 and why it is so difficult to solve all problems quickly. We will do our best to continuously improve it.