CiF-Bannerlord, a Social Artificial Intelligence System for
Mount and Blade II: Bannerlord
Filipe Miguel Dias da Silveira
Thesis to obtain the Master of Science Degree in
Information Systems and Computer Engineering
Supervisors: Prof. Pedro Alexandre Sim
˜
oes dos Santos
Prof. Jo
˜
ao Miguel de Sousa de Assis Dias
Examination Committee
Chairperson: Prof. David Manuel Martins de Matos
Supervisor: Prof. Pedro Alexandre Sim
˜
oes dos Santos
Member of the Committee: Dr. Joana Carvalho Filipe de Campos
November 2021
This work was created using L
A
T
E
X typesetting language
in the Overleaf environment (www.overleaf.com).
Acknowledgments
I would to start by expressing my appreciation to my supervisors, professor Pedro Santos and pro-
fessor Jo
˜
ao Dias. Thank you for all the guidance and advice throughout the whole project. Thank you to
my colleagues, Joaquim Quadrado, Marco Cabral, Marcos P
ˆ
ego and David Ricardo, that accompanied
and helped me through this journey. Thank you to my friends for providing me with the encouragement
to complete my studies. A special thanks to my girlfriend Cristiana Rodrigues, for always helping me
with everything I needed. Thank you for the endless support and for always believing in me. Last but
not least I would like to thank my family. To my grandparents for raising me and helping me grow into
the man I am today. To my parents for giving me their unwavering support, love and care throughout my
whole life and providing me with everything I needed. And to my brother for being my best friend and
always being there for me.
i
Abstract
Mount and Blade II: Bannerlord is an intricate and complex game that aims to simulate a realistic me-
dieval world. Although Bannerlord offers an immersive world that allows for engaging role play, there
are some aspects that can be improved in order to provide the full experience, such as character re-
lationships and social interactions. Developing a Social Artificial Intelligence System system for a AAA
game improves the player’s immersion and overall gameplay experience. The purpose of this thesis is
to create a set of engaging Non Playable Characters (NPCs) with unique personalities, beliefs, desires
and struggles, by applying and improving existing social models. In order to achieve this, the Comme il
Faut (CiF) model was considered and developed for the game Mount and Blade II: Bannerlord.
To test the success of the implemented model, User tests were performed. These measured the
users Immersion and their NPC Believability when playing the game with the CiF-Bannerlord changes.
The tests acquired positives results, demonstrating an improvement of the determined metrics.
Keywords
Non-Playable Character; Social Artificial Intelligence; Mount and Blade II: Bannerlord;
iii
Resumo
Mount and Blade II: Bannerlord
´
e um jogo complexo que procura simular um mundo medieval e real-
istico. Este jogo oferece um mundo extenso e imersivo que permite interpretar personagens criadas
pelo jogador e conversar ou conviver com personagens virtuais. Apesar disto existe certos aspectos
que podem ser melhorados de modo a oferecer uma experi
ˆ
encia mais completa atrav
´
es das relac¸
˜
oes
e interac¸
˜
oes com estas personagens virtuais. Este projeto procura desenvolver um sistema de In-
telig
ˆ
encia Artificial Social para um jogo AAA de modo a oferecer um mundo mais imersivo. Este sistema
consiste em criar um grupo de personagens (Non Playable Characters (NPCs)) com personalidades,
crenc¸as unicas e com vontades e problemas pessoais. Foi desenvolvido e aplicado um modelo social
existente chamado Comme il Faut (CiF) (Comme il Faut). Para testar o sucesso das mudanc¸as trazidas
pelo modelo CiF, foram feitos tests com utilizadores. Houve um total de trinta e um participantes nos
testes. Com base nestes testes foi poss
´
ıvel deduzir o sucesso positivo que a implementac¸
˜
ao deste
modelo social revelou no jogo Mount and Blade II: Bannerlord.
Palavras Chave
Personagens; Intelig
ˆ
encia Artificial Social; Mount and Blade II: Bannerlord;
v
Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Document Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Mount and Blade II:Bannerlord 7
2.1 Campaign Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Non-Playable Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Code Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Module Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 Important Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Bannerlord Modding Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Related Work 15
3.1 Social AI Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 CiF (Comme il faut) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 Ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3 CiF-CK (Comme il faut - Creation Kit) . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 CiF-Ex (Comme il faut - Exiles) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.5 FAtiMA Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Games with Social AI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1.1 The Sims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1.2 Fac¸ade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1.3 Prom Week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1.4 Persona 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Current Bannerlord Mods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
vii
4 Comme il Faut: Bannerlord 33
4.1 CiF-Bannerlord Additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 CiF-Bannerlord Removed Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2 CiF Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1 Desire Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2 Intent Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2.1 Intent based on Personality . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2.2 Intent based on Social Feelings . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.2.3 Determine desired Social Interaction . . . . . . . . . . . . . . . . . . . . 42
4.2.3 Exchange Realization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.4 Exchange Fallout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 CiF-Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1 CiF Player Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5 Social Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5.1 Social Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5.2 Social Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.6 Rumor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6.1 Creating Rumors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6.2 Spreading Rumors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7 Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7.1 CiF-Bannerlord Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5 Implementation 57
5.1 Behaviours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.1 SubModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.2 NPC Dialog Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.3 Player Dialog Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.4 Rumor Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.4.1 Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.1.5 Microtheories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2 Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2.1 Character Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2.1.1 Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.2 Rule Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.2.1 Condition Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
viii
5.2.2.2 Influence Rule Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2.2.3 TriggerRuleManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2.2.4 Social Interaction Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.2.5 Dialog Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6 Evaluation 69
6.1 New Lords Mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.1 Online Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 User Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2.1 Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2.3 Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2.4 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.4.1 Demographic Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.4.2 Player Immersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2.4.3 NPC Believability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.4.4 Interaction Enjoyment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2.5 Participant Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.3 Results Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7 Conclusion 89
7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Bibliography 93
A Appendix 95
ix
x
List of Figures
2.1 Campaign Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Screenshot of a conversation in a keep . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Visual representation of the module system of Bannerlord . . . . . . . . . . . . . . . . . . 12
3.1 CiF Architecture Diagram [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Data flow of schema package components [17] . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 CiF-Ex Structure [15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 The Sims 4 Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 Screenshot Fac¸ade’s gameplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6 Screenshot of Prom Week’s gameplay [12] . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7 Persona 5 conversation screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1 CiF models and their addition to the architecture . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Visual representation of the CiF cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Visual representation of the thresholds and outcome determination . . . . . . . . . . . . . 43
4.4 Example graph for the token based dialog system in Bannerlord . . . . . . . . . . . . . . 53
5.1 Visual representation of the manager system in CiF-Bannerlord . . . . . . . . . . . . . . . 64
6.1 New Lords mod data as of 20th of October 2021 . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Questions present in the questionnaire and their respective metrics . . . . . . . . . . . . . 75
6.3 Graph detailing the procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4 Playtime in hours of gaming per week intervals and their count . . . . . . . . . . . . . . . 78
6.5 Usual emotional attachment to characters in-game . . . . . . . . . . . . . . . . . . . . . . 78
6.6 Likelihood to skip dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7 Boxplot illustrating immersion question comparison based on version . . . . . . . . . . . . 80
6.8 Boxplot illustrating believability question comparison based on version . . . . . . . . . . . 82
6.9 Count of the Nice question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
xi
6.10 Count of the Annoying question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.11 Count of the Friend question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.12 Count of the Enemy question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.13 Boxplot with enjoyment difference regarding version . . . . . . . . . . . . . . . . . . . . . 86
xii
List of Tables
3.1 Conversion of social exchange into quest [3] . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1 CiF-Character Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Personality Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Social Interaction Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Social Exchange Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5 Base game Dialog Lines Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.6 CiF-Bannerlord Dialog Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1 Character Manager Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1 Metrics and their respective cronbach’s alpha . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 Wilcoxon signed-rank test with their respective Z-values, p-values and r-values . . . . . . 80
6.3 Wilcoxon signed-rank test with their respective Z-values, p-values and r-values . . . . . . 82
xiii
xiv
Acronyms
NPC Non Playable Character
RPG Role Playing Game
MMORPG Massive Multiplayer Online Role Playing Game
CiF Comme il Faut
SI Social Interaction
SE Social Exchange
AI Artificial Intelligence
xv
xvi
1
Introduction
Contents
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Document Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1
2
The gaming industry is currently one of the most considerable markets in the entertainment industry,
even surpassing movie and music industries, while still growing with a swift rhythm [6]. Thousands
of games are released every year, adding new entries to every genre in the market. By improving
mechanics, features and content, players all around the world look forward to additions to their favorite
genres and series of games. One of the most important features of games is immersion, since it is a
distinguishing features when compared to other entertainment mediums. Immersion is often viewed as
critical element to game enjoyment and refers to the outcome of a good gaming experience [5].
Games have evolved over the years, improving their immersion either by graphic fidelity, with a re-
alistic capture of the world or by creating interesting and engaging narratives that the players can be a
part of. Developers create specific worlds to envelop their story and current games are even capable
of generating new random worlds, different each time the game starts. One of the struggles of game
development is adding content or mechanics while saving time and work. All games have some sort of
reuse on content but there is an important balance to look for in order to not seem repetitive.
Mount and Blade II Bannerlord is a free roam single-player campaign Role Playing Game (RPG)
where players can engage in battles, economics and politics. In Bannerlord, there are several of unique
villages, differing from culture to culture. However two villages from the same culture are equal, therefore
it can get repetitive while battling in an area with the same culture. Even though TaleWorlds announced
to work on this problem, it still proves as a big authoring burden. A reliable solution is procedurally
generated content, creating different level layouts and items automatically. This provides a significant
boost to replayability while saving developers time and effort to work on other aspects of the game.
1.1 Motivation
Non Playable Characters (NPCs) have the same authoring issue: creating features by the developers
can become a bit too linear and predictable. Nowadays, most games have two sets of characters,
a small group loaded with dialog and personalization and a large group of really simple dialog with
repetitive lines. This second group that consists of the majority of NPCs encountered in the game,
effectively breaks the immersion since players feel they are not speaking to some other person or entity,
but are instead reading repetitive dialog. The NPCs are devoid of personality and players are never
compelled to explore the world in search of characters and develop relationships with these due to the
lack of complexity in the social interactions. The game would be more believable and immersive if the
characters and their dialog lines were procedurally generated to fit in the environment and the story.
Another potential issue related to NPCs is the lack of impact in the player or the story, which boils
down to the choices a player can make throughout the game. Most games have a linear story and
progression and the characters do not have much impact. The player can usually do whatever they
3
desire, such as breaking everything inside a store, and the NPC will, regardless of what happened,
maintain the same dialog. If a player is rude or disrespectful towards certain characters, they shouldn’t
feel welcome around them and the NPCs should convey this clearly. As a result, the game would be
more immersive with a lively reactive world, where the players can feel the consequences to their actions
and observe the consequences of the NPCs actions as well.
1.2 Goals
To improve the overall gameplay experience, we decided to tackle player immersion and NPC believ-
ability. For this purpose we explored Social Artificial Intelligence (AI) models, like Comme il Faut [14],
to improve and develop emotional non-playable characters with satisfiable interactions. The ultimate
success of these characters is that the player will not only search for the items, locations and points of
interest but will also search for new relations with the residents of the world, to try to make friends or en-
emies and get to know new characters because they are engaging enough and can provide meaningful
social interactions. Thus this system requires that:
NPCs should be believable, one of the most important things for people to understand each other
is their emotions. In order to feel empathy and form a relation people try to perceive other’s desires and
beliefs. Therefore, to create believable virtual characters, they should have beliefs and desires in order
to transmit emotions to the player. A believable character is defined as the one who seems life-like,
whose actions make sense, who allows for suspension of disbelief [2].
NPCs should be reactive, to world events, other characters and the player’s actions should affect
the respective NPCs, depending on what they do, how they speak and are treated, characters should
behave towards others respectively. NPCs should have a notion of others based on their interactions
and should respond to events like war.
Social environments should be immersive, with a set of believable characters, virtual social en-
vironments should replicate real social environments making the player perceive other NPCs with their
own worries and interests, by talking to each other. A group of unique personalities allows for the player
to choose the characters to align and speak to further improve the player’s bonds with them and raise
their perceived immersion and emotional connections.
The ultimate goal of this project is to create a believable set of Non-Playable Characters in Mount
and Blade II: Bannerlord in order to improve the immersion and provide satisfactory social interactions
for the player.
4
1.3 Document Outline
The document is divided into seven chapters, including the first which is the introduction. The second
chapter is the description of Mount and Blade II: Bannerlord, how the game works, important concepts,
how it will be to work with and why it is a good choice for modding and developing Social AI. The third
chapter is about Related Works, where we will discuss in the first section, current Social AI architectures
and in the second section, current mods for Bannerlord and games that implement Social AI, some of
which are previously discussed architectures. The fourth chapter is about CiF-Bannerlord, the main
chapter, where we will explore the Comme il Faut (CiF) architecture developed within the game Mount
and Blade II: Bannerlord. The fifth chapter explains the implementation and design choices of CiF-
Bannerlord. The sixth chapter is the study about the results from the modifications brought by the
CiF-Bannerlord model and the results from the user tests performed. The seventh and last chapter is
the summary of this project as well as considerations of future work to further improve it.
5
6
2
Mount and Blade II:Bannerlord
Contents
2.1 Campaign Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Non-Playable Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Code Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Bannerlord Modding Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7
8
Mount and Blade II: Bannerlord is the second game on the Mount and Blade series, developed by
TaleWorlds Entertainment. The first is Mount and Blade, with a few expansions released from 2008
to 2011. Bannerlord is a very recent game, released as Early Access on March 30th, 2020. The
game is still in development so there are currently a lot of patches and updates to improve and add
features. Bannerlord is also a game with a booming modding community, due to modders coming from
the previous installment or because the game has a robust engine that supports all kinds of mods.
The developers also made the game not only easy to mod but also, easy to add existing mods. It has
both multiplayer and singleplayer modes, the latter being a campaign where players can role-play and
discover the world of Calradia.
2.1 Campaign Description
Bannerlord’s campaign is a RPG (Role Playing Game), where the player assumes the role of a character
inside the virtual world. RPGs are a very broad genre that a lot of people enjoy. It is the oldest game
genre, which has started as written stories the players could partake in, for example, Dungeons and
Dragons
1
. Usually, the RPG worlds are filled with characters and locations for the player to explore,
thus making these interactions an integral part of the game. There are several sub-genres in RPGs,
one of which is Massive Multiplayer Online Role Playing Games (MMORPGs), that have both NPCs and
real players in a massive world, appealing a little more to players looking for social interactions [20]. In
the Bannerlord’s campaign, the player starts with the character creation, they pick from several options
describing the character’s early years which determines the first traits and skills unlocked. Afterwards,
the player enters the world in a specific location and chooses the course of action, where to move and
what to do.
Figure 2.1: Campaign Screen
1
Dungeons and Dragons, Gary Gygax, Dave Arneson, 1974
9
The main objective is to grow the character’s clan and eventually, transform it into a kingdom.
Through quests, battles and tournaments, the player is awarded points. Quests provide relationship
points, to signify how friendly or not the player is with each character. Both tournaments and battles
award influence points and renown if they are won. The bigger and more impressive the battle, the more
points it awards. Influence points are the relative power the player has inside the kingdom they belong.
Renown points are more important, as they determine the player’s clan level, serving as one of the main
objectives of the game.
Combat is a pretty important part of the game, although simple it can be very satisfying and addictive.
In battle, the player only accounts for one soldier and it leads the army from within the battlefield. The
main restriction is money, usually, a bigger army is better, however, some balance is required, regarding
the troop costs, funds, food and available party size.
The player is the one who decides what is the best course of action, though. They can become a
merchant, buying and reselling items in towns, a war commander, to fight battles and conquer land, a
bandit, to steal and raid villages or be roaming in the world, helping the NPCs through quests. There
is also a story related to the player’s character and a story related to the world recent events for the
player to find out. These have no time constraints nor obligation to complete, therefore, they can be
done whenever, or even if, the player feels like it.
2.2 Non-Playable Characters
In Bannerlord’s campaign the player can interact with several NPCs on different occasions. There are
some types of NPCs in the game such as:
Figure 2.2: Screenshot of a conversation in a keep
10
Townsmen have limited interactions and no possibility of relationships. In this group of characters,
there are merchants, that sell products and services to the player, guards in prisons, castles and keeps
and filler NPCs to make the villages and taverns look more crowded.
Important Town folk have more complex interactions since they can form a unique friendship re-
lation with the player. This group includes quest givers present in towns that allow the player to recruit
units. This allows the player to recruit more or less based on the relation value. Currently, this relation
is described by a number from -100 to 100, positive actions to the character, for example, helping it
with quests, raises this number while negative actions, such as raiding the village, will lower it. Another
kind of NPCs that have a friendship relation with the player are companions. Unfortunately, most of the
interaction between the player and companions is at the tavern, where they are met and recruited. The
overall interaction is lackluster, as some of these often accompany the player in their party while still not
interacting much.
Lords are from noble families, which comprise of the leader of the clan and their family members.
They can command armies and fight either alongside or against the player. They also have a friendship
relation that, in extreme cases, can cause them to declare war. The player can interact with lords in
castles, or the player can approach moving parties and armies commanded by these lords to interact with
them as well. These groups of NPCs are important because the player can form romantic relationships
with them. They can court lords and ladies with a simple “mini-game” where they try to persuade
the receiver into liking the player. This interaction is luck-based and it is affected by both the player
character’s and the receiver character’s traits. These romantic relationships can develop into marriage
and eventually provide children. This mechanic is surprisingly important since the player can continue
the game through children characters when their main character dies, therefore, having children can
prolong the player’s “legacy” in the world.
2.3 Code Architecture
The previous installment of Mount and Blade had a strong modding community and TaleWorlds wanted
to maintain this community. Therefore, Bannerlord was developed to be very extensible and easily
moddable. Even the official game launcher allows for the selection of several mods.
2.3.1 Module Organization
The access to the game code was enabled by using a tool to decompress the binary files called dnSpy.
This tool is very helpful because, not only to decompress and access the code without having the source,
but also to debug and edit files. The code obtained from this tool is not the original one, meaning there
are no comments nor documentation hampering the understanding of the architecture.
11
Figure 2.3: Visual representation of the module system of Bannerlord
The code is separated into two parts, the base and submodules. There are five submodules, how-
ever, the game considers these as mandatory mods. Mods are added to the game as modules, and
any number of them can be added at the same time. In the figure 2.3 we can observe how the module
system works, considering Module 1 and Module 2 as mods. The main reason behind this organization
is because there is a load order to the submodules that can be modified for custom mods to replace
certain assets or code present in the base game’s submodules. The most important submodule for the
campaign is SandBox, which contains most of the logic behind the campaign system. There is also
SandBoxCore which contains campaign assets and StoryMode, only responsible for the story’s logic
and assets. This architecture can be extremely effective to work within mods. Creating a submodule is
very simple in Bannerlord since the game already loads a few as part of the base game.
2.3.2 Important Classes
As mentioned before, the developers made the code very extensible, with several interfaces to facilitate
modding. There are two prevalent classes that help to easily work on features, the base for Submodules,
which gets automatically loaded and the base for Behaviours, which function as a simple and effective
way to add new classes.
The characters in the code are represented by two classes, Agent and Hero. The agent class deals
with most of the logic regarding characters, especially in battle. The Hero class is responsible for the
character logic regarding the campaign system, while Agent contains most of the general character
logic like moving and data. There is also an interface named AgentComponent which can be used to
add new features or roles to the Agent in an easy and elegant way. The Hero and Agent classes are
rather detailed and complicated.
Fortunately, in the architecture, there are managers enveloping a lot of the logic, for example, the
character relation manager, that stores and updates all relations between characters. Modding these
specific classes, besides being more simple to understand, are a better way to to implement desired
modifications.
In chapter 5, we will review how these classes are connected to the project developed.
12
2.4 Bannerlord Modding Tools
On the 1st of October, 2020, TaleWorlds released an official beta version of Modding Tools aiming to im-
prove the quality of modding development. However, these Modding Tools are simple and currently more
focused on visual and asset based mods. These tools just enable the user to change and customize the
map and other assets in the game.
13
14
3
Related Work
Contents
3.1 Social AI Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
15
16
In the first section of this chapter, we will discuss what are some important concepts in AI, existing
social AI models, how they work, their weaknesses and strengths as well as their uses. Furthermore,
in the second section, it will be discussed games that implement social AI and both popular and social
mods existing for Bannerlord.
3.1 Social AI Models
Games are being released every day, with current the huge search and demand in the industry, it is not
uncommon for people to look forward to a game they desire at any given moment. Most people look
forward to AAA games, which have a massive budget and a great deal of work put into from sizeable
game companies. AAA games are very balanced, focusing on most aspects of the game, graphics, story
and gameplay, trying to please most people.
They are also, however, very undeveloped on AI, in particular, on social AI. Most people can un-
derstand how frustrating escort missions with slow or buggy companions can be. Games praised for
their AI are only praised for their effective decision making, like The Last of Us
1
and F.E.A.R
2
or praised
for tactical prowess like the Total War games
3
. However, there are very few AAA games distinguished
for their social AI, engaging characters without scripted dialog. The standard is just dialog choices or
a relationship value to receive bonuses from the character (like the case with Bannerlord). Games with
social AI (like Prom Week [14] or Fac¸ade
4
are all designed around this feature, lacking in aspects AAA
excel in and that the majority of players enjoy. Thus, adding this specific characteristic to an AAA game
would complement it.
3.1.1 CiF (Comme il faut)
CiF, Comme il faut, is a french expression and it translates to “as the standard” or “as it should be”.
The main objective of the CiF Social Model is to reduce the authoring work load developers have on
working with NPCs and their narrative. In order to create a dynamic social environment, CiF empowers
the NPCs with a set of characteristics that allow complex reasoning and pursue individual gain.
CiF is rule based system. CiF manages to lower the authoring burden and allow developers the
need to only develop rules for the environment. One example of a rule in natural language might be:
a character who is vengeful will more likely do something mean to someone who has recently done
something mean to them [10]. The interaction between characters in CiF is called a social exchange.
It encapsulates a social action a character takes with another character (with the intention of changing
1
The Last of Us, Naughty Dog and Sony Computer Entertainment, 2013
2
F.E.A.R. - First Encounter Assault Recon, Monolith Productions, Vivendi Universal Games, Warner Bros. Games, 2006
3
Total War series, Creative Assembly and Feral Interactive, 2000-2020
4
Fac¸ade, Procedural Arts, 2005
17
their relationship) as well as how the other character responds [13]. Social exchanges have an initiator
and its intent, the responder and its response, as well as possibly a third element. An example of social
exchange is, John wants to be friends with Mary and so does Mary, therefore, John asks Mary to be his
friend and she accepts.
Figure 3.1: CiF Architecture Diagram [11]
In CiF each character contains:
Desires, characters are motivated by theirs desires, they will try to achieve these through social
interactions and serve as the primary reasoning for their actions. As an example, John, who wants
to be friends with Mary will try to be nice around her.
Basic Traits determine the character’s response to the situations they encounter. Even though
Mary wants to befriend John, she is too shy (a trait) to start a conversation (social exchange).
Temporary Statuses are the character’s internal private feelings that have an impact on their
actions. John after successfully befriending Mary is happy (happiness is the temporary status).
Social Network is the collection of feelings the character has regarding the others. All the opinions
the character has on others, for example, John liking Mary as a friend.
There is also a public database that all NPCs can have access to. It contains:
Relationships in CiF are the known relations between two characters, all the NPCs have access
to this. These can change at different rates depending on the character’s traits, desires and tem-
porary statuses. After John and Mary become friends, every agent in CiF receives that knowledge.
Social Fact Database is the collection of the social exchanges that occurred. For example, when
John initiated a conversation with Mary to become her friend.
Cultural Knowledge Base is the storage for the general opinion on the objects present in the
world as well as the individual opinions on that specific object. For example, in a certain setting,
18
movies are considered cool, however, John does not like movies. Both these opinions are stored
in the Cultural Knowledge Base.
CiF works in a set of simple processes on each social state.
1. The first process is desire formation, this determines the character’s inspiration to execute a social
exchange with another. Every character determines its volition on all its available social exchanges
with every other character.
2. Then the character, which is now the initiator chooses an exchange to perform with another.
3. The next step is to determine the outcome of said social exchange. Similar to the volition in the
desire formation, the responder calculates a value based on its rule set and this determines if it
accepts or rejects the social move.
4. Since the aftermath of the social exchange is dependent on the social state and its outcome, the
system creates something called effects. Then the system will choose the situation with most
effects and instantiate it.
5. An instantiation is a set of template-based dialogue acts and associated animations. After the
instantiation is realized, the social state change associated with the chosen effect is applied [10].
6. Lastly, a set of trigger rules over the new social state is run. These rules account for the changes
performed in the previous step, updating the characters’ statuses and relationships.
CiF is based on a rule system and these can be added manually or dynamically at runtime. Predi-
cates are a very important characteristic of these rules, as they function as representational primitives
that can be evaluated for truth in a social state [11]. The main ruleset in CiF is influence rules, these
alter the desires of the character to engage and to respond to social exchanges. Influence rules have a
social condition and a weight associated with them. For example, since John is friends with Mar, he will
be more likely to want to do something nice to her. Another set of rules is trigger rules. These are very
similar to the effect changes associated with instantiations, however, unlike the effect changes, these
rules actually change the social state if the condition holds true and they are not associated with the
instantiation, meaning they can run independently and in a more broad manner.
However, as the system grows in complexity, a few problems arise. The authoring problem is still
troublesome, although less pronounced, as well as the problem to keep track of the existing rules since
they can become repetitive or contradictory. To help address this problem, CiF breaks rules into sets
called microtheories, unified by a precondition [11]. Microtheories contain a group of less general rules
that apply to one predicate on the social state. There are a set of rules that only apply to friends, for
example, not lying to friends. Since John and Mary are friends, they will not lie to each other.
19
3.1.2 Ensemble
Ensemble was developed as an upgrade of CiF, as such, it is also a rule based social physics model
with the aim to transform CiF into a more expressible and accessible system, providing a family of AI
techniques to developers and promoting the spread of social physics. Ensemble expands on a few key
features of CiF, namely the social exchange, now called social practice, and instantiations are now a di-
alog set between characters instead of scripted dialog and animations resulting from a social exchange.
Ensemble also upgraded the rule system to be capable of describing and referencing complicated social
situations involving any number of characters [17].
Figure 3.2: Data flow of schema package components [17]
Ensemble added an important feature called schema, which is a simple way of developers to cate-
gorize the state of the system. CiF’s social state was not a reliable solution, since it was hardcoded and
inefficient. Ensemble tried to make a more generalized version. Schemas are the proposed solution
for the authoring burden present in CiF. Developers design a schema package that defines the system’s
properties and contains rule definitions. These schemas are then validated in order to create the world’s
backstory, rule sets and more importantly, Categories, a generalization of the CiF’s traits, relationships
and temporary statuses. Categories have a direction type, which means what the category affects if it
is between one, two or several characters. This change transforms the character’s traits and statuses
into “undirected” categories, relationships into “reciprocal” categories and turning the social network into
“directed” categories. These upgrade the engine to be more customizable since terms such as “rela-
tionships” and “statuses” can be named [17]. Categories are very broad and have several attributes to
help define all kinds of categories, such as duration, an interval, a string to declare a type, or a boolean
value.
A social practice is defined as a normative pattern of social interaction that captures the nuances
that result from the individual agent’s situation in the social state [19]. The dialog between characters
is now interactive, being generated after each action taken. Social practices are made up of a series of
linked stages with an active character that is alternated by the two participants. This stage is selected
20
based on the social state as well as the previous actions and microtheories. The Stage is comprised of
a group of actions that contain a character performance and updates to the social record. For example,
on a stage “reciprocate compliment” could contain several actions where participants reciprocate the
compliment in different manners. There are a few special stages like event stages that are triggered on
specific circumstances and entry stages that are used to start the social practice.
Actions express the character’s intent and performance regarding it is calculated, the highest score
will be the chosen action. Like CiF, the action is calculated based on microtheories, influence rules
and new in Ensemble, practice-specific bias. This bias is a weight on the equation to account for the
most common path taken through a practice, that is independent of the characters’ relation or emotions.
For example, a practice-specific bias may be introduced in a “How’re you doing?” social practice where
agents almost always respond with “Good! How’re you doing?” [19].
3.1.3 CiF-CK (Comme il faut - Creation Kit)
CiF-CK is a CiF implementation in a RPG environment. Similar to Ensemble, it is an improvement
on CiF, with a focus on generalizing its characteristics, however, CiF-CK also has an emphasis on
quests, since it is dedicated to RPGs. In CiF the player has access to control all the NPCs, which
is not the norm in games. In RPGs, the player plays with a single character and CiF-CK developed
the model accordingly. This model was implemented in the game The Elder Scrolls V: Skyrim
5
, which
was developed in Bethesda’s engine, the Creation Engine, like a few other games. Therefore, it is
immediately extendable to these games, the lastest being Fallout 76
6
. Skyrim has a modding tool called
Creation Kit, that helps developers mod the game and CiF-CK was implemented with this. Although
Mount and Blade II: Bannerlord does not have modding tools this useful, they would not be required
since the game is already very accessible as mentioned in section 2.3. CiF-CK has an architecture
very similar to CiF’s, with the main characteristics being social exchanges, characters, social state and,
added in CiF-CK, beliefs.
Social Exchanges: In Skyrim everything revolves around quests [4]. Both the main storyline and
small sidequests are quests, but they can also be used to store variables, dialogue, actors, performances
or even locations. The adaptation of CiF into Skyrim transformed the social exchanges into quests. An
adaptation to the characters was also made in CiF-CK. In CiF agents have a collection of their desired
social exchanges, this was converted into a collection of quests with targets.
5
The Elder Scrolls V: Skyrim, Bethesda Game Studios and Bethesda Softworks, 2011
6
Fallout 76, Bethesda Game Studios and Bethesda Softworks, 2018
21
CiF Function CiF-CK
Name Unique Identifier Quest ID
Intent Pretended social state
change
Used once the quest has fin-
ished
Pre Conditions Conditions for it to happen Quest start conditions
Initiator Influence
Rules
Character’s desire to initiate
the exchange
Set of rules
Responder Influ-
ence Rules
Target’s reaction to the ex-
change
Set of rules
Effects The resulting consequences
of the exchange
Applied in the final stage of a
quest
Instantiations Performance of the social ex-
change
Dialogue between NPCs
Table 3.1: Conversion of social exchange into quest [3]
The social state is one of the most important characteristics of CiF. This is a representation of the
state of the world, however, the world in CiF is relatively small compared to RPGs, like Skyrim. There
are public attributes like relationships and social networks in CiF, that all agents have access to, which
is possible in small scenarios, in CiF-CK that is not possible though. To tackle this problem, instead of
loading all values and attributes, CiF-CK only loads the ones close to the player, like other things in the
game such as assets and scripts. Relationships, Cultural Knowledge Base and Social Facts Database
are all the same as CiF. Social Networks, which are the feelings each character has for another were
converted from public access to private.
The last main feature of CiF-CK, which was an addition instead of a transformation, is beliefs. This
feature comes in tandem with the fact that the feelings the characters have are now private (Social
Network), since other characters no longer have access to these private feelings, they can only speculate
on each private social network. For example, John likes Mary, which is documented in his social network,
but, since Mary doesn’t have access to this knowledge, she might think John does not like her, that is
her belief. This creates more realistic scenarios where agents do not know the other agent’s intention,
feelings or reasoning.
Social NPCs was the mod release with the implementation of CiF-CK and it was a big success within
the community, proving as a useful improvement to the game. Using CiF-CK adds something new to the
NPCs present in Skyrim and that is something players clearly want [3].
3.1.4 CiF-Ex (Comme il faut - Exiles)
Comme il Faut - Exiles (CiF-Ex) is another extension of the CiF model, using CiF-CK as a baseline, it
set out to improve even more the model. It extended CiF-CK by exploring more the characters’ emotions,
extending the belief system, improving the temporary status of the characters, adding another outcome
for the social exchanges and adding the ability for the player to respond to social exchanges. CiF-Ex
22
was implemented as a mod for Conan Exiles, a game developed by Funcom and released on May 8,
2018. It was developed in the Unreal Engine 4 and was made available for mods with some tools called
blueprints. However, these tools were not the most adequate and brought some problems by lowering
the access and freedom modders had for development.
Figure 3.3: CiF-Ex Structure [15]
Although Social Exchanges had no major changes compared to CiF-CK, the characters did. They
can now be busy for social interactions and they also have a more detailed version of temporary statuses.
To avoid excessive social exchange initiations, characters in CiF-Ex have a cooldown, that is reset
when it initiates the exchange. The attribute is called On Cooldown and it is influenced by the character’s
traits, such as shy, where the cooldown is much higher than an extrovert. Agents can also be occupied,
they then have a flag called Busy. The character can be targeted for a social exchange, marking them
as busy and forbidding other characters from interacting with them, however, the player can bypass this
flag, basically being able to interrupt any existing exchange.
Statuses were improved on the previous iterations by grouping them in categories, Emotion Status,
what the character is feeling, e.g. happy, Social Emotion Status, which are the character’s feelings
towards others, e.g. worried and Physical Status, that are the physical needs, like tired or hungry.
Social Exchange Memory stores representations of the social exchanges that happened in the
vicinity of the character [15]. This virtually replaces CiF’s relationships, by having these private and in
each character’s memory. Instead of having access to all relationships existing in the world, the entries
only include the agent’s relationships and the ones it witnessed. Social State is categorized by the
same four attributes as CiF, Social Networks, Social Networks Beliefs, Relationships and Social Facts
Knowledge Base.
Social Networks are the character’s private feelings. It has a reference to how it feels towards the
others, with a current value, the goal of the character on the relationship and the belief, what the
23
character believes the other feels about itself. In John’s case, regarding Mary, he likes her as a
friend, his goal is to continue as friends and, since they are friends, he believes Mary likes him as
well.
Social Network Beliefs are similar to the beliefs on the Social Network, though, it stores external
relations as well, what some character thinks of another one. As an example, John has seen
another character, Ana, being friendly with Mary, consequently, he believes Ana likes Mary.
Relationships in CiF-Ex are no longer public knowledge and can be inferred from social network
beliefs.
Social Facts Knowledge Base is the archive of all social exchanges that occurred.
Although Cif-Ex, similarly to CiF, has microtheories and trigger rules, these have not been improved
in this iteration.
3.1.5 FAtiMA Toolkit
Fearnot AffecTIve Mind Architecture (FAtiMA) is an open source model designed to use emotions as
the primary input to decide the agent’s behaviour. It was initially created for autonomous 3D characters
in a serious game about bullying (FearNot!). It was later developed as a toolkit for socio-emotional inter-
actions. It is based on appraisal theory, which is the claim that emotions are elicited and differentiated
on the basis of a person’s subjective evaluation of the personal significance of a situation, object, or
event [18].
Even though it was not from the start, FAtiMA’s architecture is modular, which means it has several
functional independent components that come together to build FAtiMA. This approach makes FAtiMA
easier to work in as well being possible to choose the desired modules. The main module is FAtiMA
Core, which is the one that binds all the components as well as most of the base architecture.
Events are the atomic element in FAtiMA, they can be properties or actions. These are represented
as Well Formed Names (WFNs) through strings that follow a set of syntactic rules. Events contain
symbols and variables to express constant entities and entities not specified, respectively. There is also
composed names that represent relations between two or more symbols. Event example: Event(Action,
John, Eat, [object]), where John and Eat are symbols and object is a variable.
Knowledge Base is capable of storing beliefs about the beliefs of other agents, also known as
Theory of Mind. It is done with an additional field on each belief called perspective, the name of the
agent’s perspective and, by default, it uses its own.
Emotional State is the structure that contains the agent’s current emotions. These emotions are
generated by the Emotional Appraisal library. It is capable of generating 8 different types of emotions
24
with a total of 22 different emotions. The Emotional Appraisal library uses 5 different appraisal variables
to generate emotions, Desirability, desirability of the consequences, Desirability for others, desirable
consequences for others, Praiseworthiness, how praiseworthy is the action, Goal Probability, how
probable is the goal and Like, how appealing it is. Goals, FAtiMA generates emotions based on the
goals and their probability. By storing the previous goal probability, it compares it when updated gen-
erating a goal based on the comparison. If it is less likely to achieve the goal it will generate Fear or
Disappointment, if it is more probable, it will generate Hope or Relief.
Decision Making in FAtiMA is achieved by keeping a list of specified decision rules. Each decision
rule contains a set of attributes: action, target, conditions, priority and layer. The actions that can be
performed by the agent, constricted by conditions as well as a priority. The priority is calculated based
on beliefs and meta-beliefs. The layer is similar to type of action, a way to group actions together.
An example of a chosen action could be, running. Where the action is run, the target is self, with no
conditions, a high enough priority to surpass others and with reactive as the layer.
With the modular design on the FAtiMA architecture it is possible to add Reasoner components.
These components add meta-beliefs that can be used in logical conditions [7]. An example for reasoner
compatible with FAtiMA is CiF-CK, a social AI model already studied in section 3.1.3.
The dialog produced by agents operating with FAtiMA is a hybrid solution between dialog trees, that
game developers are well used to, and character-centric design, which means it is the character picking
dialog. A set of dialog lines are prepared for each state and the character can choose what can convey
what it is trying to say best. However, the dialog progress is done through a state tree that is updated
accordingly. A conversation usually starts with greetings, the initial state. The agent can then choose
from a set of lines compatible with the conversation start state, like “Hello” or “How are you?”. The
conversation then progresses to a new state where the agent has a new set of dialog lines to choose
from.
3.2 State of the Art
In this subsection we will review some games with social AI, their impact and their methods for creating a
social environment. It will also be discussed current Mount and Blade II: Bannerlord mods, both popular
and more socially focused implementations.
25
3.2.1 Games with Social AI
3.2.1.1 The Sims
The Sims is a series of AAA games developed by Maxis and published by Electronic Arts and the first
came out in 2000. It has been an extremely successful series, even being the best selling PC game ever
by 2002. The Sims is a series of life simulation and sandbox games. The main gameplay loop consists
of creating characters and their houses as well as accompanying these through their daily lives. The
player mainly babysits the sims so that they can live the best possible way.
Figure 3.4: The Sims 4 Screenshot
Although the player never directly interacts with sims, they have desires and personalities. They can
communicate with each other making the player manipulate the way the interaction progresses. Sims
have a relationship value similar to Bannerlord’s, where there is a value that determines the type of
relationship ranging from -100 to 100. If it is lower than a threshold sims consider each other enemies,
while high, there is the possibility to start new interactions, for example, a romantic relationship. In Sims
4, they added a different value for romantic ones, existing now two different relationships, similar to
CiF. The player can control the interactions the sims have with each other, raising or decreasing their
relationship value, depending on the traits present in each sim.
While this method of quantifying the relationship with a value seems simple, it proves to be quite
successful as we can see in this franchise. The fact that the sims interact with each other, while the
player controls them from outside, removes the immersion from these social interactions. This effectively
makes the player view them with a more rational approach, instead of the usual emotional decision
making present in relations.
26
3.2.1.2 Fac¸ade
Fac¸ade is a game that was initially released in 2005, winning the 2006 Slamdance Independent Game
Festival and developed by Procedural Arts. The game takes place in an apartment owned by a couple,
Trip and Grace, the two NPCs in the game. The player assumes the role of a close friend of the couple,
however, with very little context to it, the player should try to understand what is happening. Afterwards
the player is forced to make choices in the drama that is happening, Trip and Grace will fight to win the
player’s side. The characters are designed to respond robustly to a variety of open-ended dialog from
the player, including questions and provocations. Players are rewarded for being proactive and acting
dramatically. Through dialog, gesture and action, the player has continuous effects on their affinity with
Grace and Trip, the current level of tension, and the specific information revealed about their marriage [9].
Figure 3.5: Screenshot Fac¸ade’s gameplay
Fac¸ade uses innovative and experimental technology regarding AI. Both characters are very expres-
sive since they have facial expressions and a vast group of gestures and body expressivity. This was
possible using a reactive planning language, ABL (A Behaviour Language), improving on the agent lan-
guage Hap by changing the syntax, generalizing mechanisms, adding multi-agent language support [8].
Fac¸ade also has a rule system capable of understanding and interpreting natural language, allowing
players to be expressive and to explore the game in a unique way. Although the result is an impres-
sive story with an insane level of freedom and expressivity, the game required an enormous authoring
effort [9].
3.2.1.3 Prom Week
Prom Week is a game released in beta in 2011 and featured in the 2012 Independent Games Festival,
where it was nominated as a finalist in Technical Excellence. It was developed as an implementation
27
of the CiF architecture, the social AI model seen in section 3.1.1 and developed at the University of
California at Santa Cruz. Prom Week places players in a typical high school, abuzz with excitement
over the upcoming prom. Players indirectly sculpt the social landscape by having these hapless high
schoolers engage in social exchanges with each other [12].
Figure 3.6: Screenshot of Prom Week’s gameplay [12]
Prom Week revolves around the social lives of eighteen characters, each with a story that contains
a collection of levels. Each character has a different set of goals, the gameplay loop is to compose a
plan to complete each goal. The ending of the story, also known as the last level (which is common to
all stories), takes place at the prom and a customized ending, based on the player choices and actions
plays out. As stated previously, Prom Week uses the CiF AI model, which was tailored to the game.
CiF manages to build an environment that is able to make the player really take into consideration the
characters’ feelings and personality traits using the social physics engine to create an engaging and
satisfactory story.
3.2.1.4 Persona 5
Persona 5 is a RPG developed by Atlus. It is the sixth installment in the Persona series, which is part
of a larger franchise, Megami Tensei. This series started as region locked, with the first installment
released in 1996, Japan and 2010, worldwide. Persona 5 was released in 2017 and it had a recent
remake (Persona 5 Royal) which came out in March 2020 worldwide. This game was somewhat a
breakthrough in western audiences, being praised for its art, visual presentation, gameplay, music and
most importantly, the story/characters’ impact on the player.
In this RPG, players take the role of a high school student in Tokyo, Japan. The gameplay is sep-
28
arated into two parts. A realistic world, where the purpose is to meet characters and help solve their
problems. And a different realm, where the player and party transverse and battle through dungeon
crawler missions affected by the overworld activities and interactions. The entire game is played out in a
school year, meaning it ends after a pre-determined amount of in-game time. Persona 5 playthroughs’
goals are to develop relationships and to complete the story, which is heavily dependent on relations,
within this limited amount of time.
Figure 3.7: Persona 5 conversation screenshot
The relationships the player has with the characters are called Confidants. Confidants are catego-
rized by ranks, the higher it is, the stronger the bond. Higher ranks unlock dialog, game events, battle
features and the possibility of dating. There are two aspects to Confidant ranks, relation points and rank
up. The player gains relation points with the confidants through dialogue and social interactions. When
these points reach the limit, it is possible to rank up through a quest unique to the character in question.
These quests are very sensible aspects of each character’s life and, with the player’s help, are able to
complete it and overcome their problems.
Illustrating the characters’ emotions and stories make them very believable. Due to this, Persona
5 manages to successfully create a strong bond between players and characters and fully immerse
players in the world.
3.2.1.5 Conclusions
The Sims have a simple, yet effective relationship system. It allows players to easily understand the
relation and to try to change it for their purpose. However, players are not invested in the relationships,
losing immersion in the social aspect. The similar happens with Bannerlord, which also has a similar
system.
Although, both Prom Week and Fac¸ade are unique phenomenal games, they are exclusively centered
29
on their social physics, missing out on some of the core characteristics AAA games usually offer and
that most players enjoy, like graphic fidelity and gameplay mechanics.
In Persona 5, characters’ stories and relationships are closely tied together which translates into a
strong immersive connection with the player. Persona 5 sets a great example for social interaction in
AAA games, which is desirable for Bannerlord’s characters, considering the game’s storyline.
3.2.2 Current Bannerlord Mods
Mod is short for modification and it means an unofficial alteration of a game. There are a large variety
of mods, ranging from changing the game’s graphical fidelity, gameplay or any content present. A game
renown for its mods is, for example, Minecraft
7
, a game with so many mods that the players often refer to
the unmodified game as vanilla. Mods are a great way to fix some problems, to add necessary features
the player base misses or even a great way to extend the game’s longevity by adding new content and
creating an active community [1].
Mount and Blade II: Bannerlord came out on 30th March, 2020, meaning the game is relatively new,
therefore, even though people are substantially more excited to develop mods on a new game, it is
expected that there are few mods, as well as existing being relatively simple or underdeveloped.
Some mod developers are very ambitious, trying to bring universes like Star Wars
8
or Game of
Thrones
9
into the Mount and Blade, develop new mechanics, bring new objects like guns. These will
take a lot of effort and time, thus it might be a while until mods of this caliber show up in the scene,
especially considering modders are working in this as a hobby.
Most Bannerlord mod can be found in Nexus Mods
10
, a website that supports modding for all PC
games. The three most popular mods for Bannerlord on the site are:
ModLib, that is designed to help and provide some features for modding developers.
Bannerlord Tweaks, that adds a collection of tweaks and modifications to improve the quality of
life of certain aspects.
Fast Dialogue, that makes the dialogue faster by removing loading screens from interactions with
essentially all map interactions.
There are very few mods that work on the characters or their relations and the ones that exist are
fairly simple as well and more oriented towards fixing bugs and improving gameplay. The most popular
of these are:
7
Minecraft, Markus Persson, Mojang, 2009
8
Star Wars, George Lucas, Lucasfilm, 1977-2020
9
Game of Thrones, David Benioff and D. B. Weiss, HBO, 2011-2019
10
Nexus Mods, www.nexusmods.com
30
Diplomacy Reworked, that adds a few options on the diplomacy side, basic and advanced politics
and more bargain options.
True Relations, that improve how the relation between character change, by improving how often
it does from killing bandits, winning or losing battles and tournaments. All characters in a clan have
the same relation towards the player and this mod fixes that by separating each lord relation into
its own. It also upgrades how the trait system works, leveling up the player character as well as
companions and being possible to imprint the players characteristics onto companions.
Since the game came out in an early beta stage, meaning although playable, it is not complete and
is currently under development. There are constant patches, usually once a month, adding missing
features and improving on others. Consequently a lot of mods, in fact, most mods focus on solving
these problems, adding necessary missing features and finishing uncompleted ones. As we can see
from both existing social mods and from the most popular mods on the site, these are mainly small fixes
to the game. We can conclude the modding scene for Bannerlord is somewhat lacking.
31
32
4
Comme il Faut: Bannerlord
Contents
4.1 CiF-Bannerlord Additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 CiF Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 CiF-Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5 Social Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 Rumor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.7 Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
33
34
The Comme il Faut (CiF) model seemed the most appropriate to implement in Bannerlord. CiF is a
simple and efficient model, that can be easily extended. Bannerlord is a game where the interaction with
NPCs is performed inside instances filled with other characters, due to this situation, the model needs
to be computationally light in order to not worsen the efficiency of the base game. The CiF model also
shines in crowded situations where characters can converse with each other, making the environment
lively and enjoyable. For these reasons Comme il Faut was the chosen model to be developed in Mount
and Blade II: Bannerlord.
In this chapter, we will discuss the implementation of Comme il Faut: Bannerlord, CiF-Bannerlord. In
the first section, we will go through the differences and improvements in CiF-Bannerlord regarding other
CiF models. The second section explains the CiF cycle, the procedure of CiF-Bannerlord occurring
in-game . Afterwards, we will examine the implementation of the different features of CiF-Bannerlord in
the third, fourth and fifth sections, respectively CiF-Character, Social Exchange and Rules. In the sixth
section, we will discuss a new addition from CiF-Bannerlord: Rumors. In the seventh and last section,
we will examine how dialog was established.
4.1 CiF-Bannerlord Additions
Comme il Faut: Bannerlord is an implementation of the Comme il Faut model for the game Mount and
Blade II: Bannerlord. CiF-Bannerlord extends other existing models, Comme il Faut - Exiles (CiF-Ex)
and Comme il Faut - Creation Kit (CiF-CK), by improving some aspects and adding new features. The
figure below represents the addition of each CiF model to the overall development of this architecture.
Figure 4.1: CiF models and their addition to the architecture
The graph in the figure 4.1 represents in blue the additions each CiF model added to the overall CiF
architecture. As we can see CiF-Bannerlord adds to Character several features represented in a lighter
35
blue, like Continuous Trait values. The arrows represent direct additions or changes to specific features,
like the Power relationship being added as a Relationship.
A Extended Personality Traits - In order to improve believability in the characters present in
the game, CiF-Bannerlord extends character traits by making the traits continuous instead of a sim-
ple boolean value. This change was aimed at improving character uniqueness, diversity and in turn
boost the ambiguity of NPCs characteristics further improving the complexity of a social environment
and creating more non-deterministic situations.
B – Cultural Differences - Bannerlord offers a world rich with different cultures and countries. Cre-
ating a set of characters with different cultural backgrounds in each social environment reinforces the
enjoyment of the player in discovering cultures or social environments. These environments were aimed
to create biases on the player based on the localization and it raise emotional attachment to groups
or factions. The change would consequently boost player immersion through their attachment to game
entities.
C Rumors - In order to improve immersion and believability in these social environments, a new
feature was implemented: Rumors. These symbolize gossip existing in usual social environments where
elements talk behind others’ back and events that occurred. Making the characters reactive to events
and to other characters creates a more robust, lively, and immersive social environment that simulates
more accurately the real world.
D Power Relation - CiF had two relationship types possible between characters, friendship and
romantic. Usually, in a relationship, there are two parts, two friends or two partners, however, the
introduction of rumors, allows for a new relationship to be possible, a power relation. Instead of the other
two, this is a one-sided relationship where one character can have an idea about another one based
on the things they hear from rumors. Commoner people should naturally be careful around powerful
leaders or dangerous warlords.
4.1.1 CiF-Bannerlord Removed Features
The latest implementation of the CiF model was already a relatively complex and complete implemen-
tation, therefore in order to further extend the model, some aspects were scraped and simplified. This
decision allowed to maintain a simple system while improving the complexity in other aspects.
36
A – Status Simplification - CiF-Ex was a version of CiF that allowed for characters to be especially
expressive. With the addition of Statuses types and with a continuous value for it, characters could be
more expressive since they had a better and more complex representation of the Statuses they could
be feeling. In Conan Exiles, CiF-Ex’s base game characters are constantly present and have game
mechanics such as hunger. Unfortunately, this additional complexity on the Status feature has been
scrapped. In Bannerlord, the player (and characters in general) are not actively together in an instance,
instead most of the gameplay in the normal campaign is just managing the party. The player only enters
a social environment when entering the town center, keep or tavern. Therefore it does not make sense
to work on such a feature for this particular game and instead it was chosen to focus on other features
or additions to the CiF model.
B Social State - In the CiF model, the concept of Social State consists of a snapshot of the state
of the whole system, how relationships have evolved, the Social Networks of each character (their non-
reciprocal feelings), and the Social Facts Database that contains information about every Social Ex-
change (SE) that occurred.
All of the mechanics featured in the Social State are present in CiF-Bannerlord. However, during the
development of CiF-Bannerlord there has not been a need to link these mechanics in order to form the
concept of Social State. Instead, it has become a decentralized concept being possible to have a notion
of the state of the system through each mechanic. For example, there is not a snapshot of the Social
State, but it is possible to have a snapshot of every current relationship or a snapshot of all SEs that
were performed.
4.2 CiF Cycle
The CiF-Bannerlord procedure has four distinct stages. Desire Formation, Intent Formation, Exchange
Realization and Exchange Fallout.
37
Figure 4.2: Visual representation of the CiF cycle
4.2.1 Desire Formation
The character’s decision to act depends on its energy attribute. Each character has a different threshold
to decide the fullness of their energy and the time it takes to fill up or down is also unique, based on the
delta energy. The threshold is calculated based on the personality set and based on the equation below.
energy
threshold
= α + (w
e,annoy
.t
annoy
+ w
e,calc
.t
calc
w
e,curious
.t
curious
) (4.1)
In the equation 4.1 there are two components, a constant α, and the offset based on the personality
set. The t-values are the personality traits, while the w-values are their respective weight on the formula.
The character energy thresholds have values between 0 and 1, and α was empirically determined to
be 0.5. The chosen traits to calculate the energy threshold were annoying, calculating and curious.
More annoying characters will perform exchanges more frequently and therefore have lower thresholds.
Calculating NPCs should not be so impulsive, but instead, contemplate their actions before acting. This
aspect is modeled by having calculating characters with a high energy threshold. Curious characters,
similarly to annoying, lower the threshold since they do not want to become bored and act sooner. The
w-values are weights (empirically determined) that are assigned to each particular trait to have more or
less impact on the equation.
The energy starts at zero and it is set at zero in every time a Social Exchange is performed. The
energy level of a character increases as time elapses (once each tenth of a second). The increase is
determined by the energy delta, which is also influenced by a character’s personality.
38
energy = (β + (w
e,stubborn
.t
stubborn
w
e,calc
.t
calc
+ w
e,curious
.t
curious
w
e,shy
.t
shy
)) × noise
(4.2)
noise U (0.9, 1.1) (4.3)
Similar to the threshold, delta energy has a base value, β, and an offset calculated with the person-
ality set. The delta energy has a noise factor with the interval illustrated in equation 4.3. This noise
factor has the purpose to lower predictability, making each NPC not have a constant timer to perform
exchanges. The base delta energy, β, was determined empirically, with a base value of around fifty
times smaller than the base threshold, that was selected in order to have an average of five seconds
to reach full energy. The traits used to calculate the offset were stubborn, calculating, curious and shy.
The delta energy is lowered by the shyness trait since shy characters find it harder to gather energy to
interact and it is the most impactful trait out of the four. The stubborn trait lowers the delta energy since
the characters do not feel as much need to interact and change their situation. Calculating and Curious
traits work similarly to the threshold equation.
When the character reaches full energy it is determined that it desires to perform a Social Exchange
and proceeds to the Intent Formation step.
4.2.2 Intent Formation
After the initiator has decided to start an exchange, it needs to discover the type of the exchange, as
well as the receiver for it. For each character present in the instance, the initiator calculates an intent for
that character as well as the desired interaction.
In CiF-Bannerlord, the intent has five different values: Neutral, Positive, Negative, Romantic and
Embellish. Neutral does not have an impact, interactions with positive intent are generally compliments
or similar while negative is generally more towards insults. Romantic intent is related to romantic interest
in the receiver. Embellish intent is similar to positive, however, the initiator is trying to be positive to praise
in order to win favor. Embellish is related to the power relation where the NPCs need to act nice around
powerful characters.
There are two distinct ways of determining the Intent that is going to be selected: a stochastic process
based on the character’s personality, and a stochastic process based on the character’s social feelings.
The first step is to determine which of these two processes is going to be used for the intention
formation. This is also determined stochastically, as described in Equation 4.4.
p
personality
= w
annoy
t
annoy
w
caref ul
t
caref ul
w
calc
t
calc
(4.4)
39
p
feeling
= 1 p
personality
(4.5)
The probability of using the personality based process is given by three traits, annoying, careful and
calculating. These traits were chosen as the ones that determine the NPCs unpredictability. The mod-
ifier is negative for careful and calculating traits, demonstrating that these characters are less probable
to be unpredictable while annoying ones are considered unpredictable in CiF-Bannerlord. The w-values
are empirically determined weights that are assigned to each trait. There are two methods to decide
intent, either based on personality or feelings as we can see in the equation 4.5.
4.2.2.1 Intent based on Personality
The intent selected based on the personality method is a stochastic process where each intent has
a respective strength value that determines the probability of being the chosen intent. For instance,
equation 4.6. shows how the strength value for the positive intent is calculated.
Str
positiv e
= w
positiv e,kind
.fn(t
kind
)+w
positiv e,helpful
.fn(t
helpf ul
)+w
positiv e,sensitive
.fn(t
sensitiv e
) (4.6)
Traits values were modified by a normalization function, fn, as we can observe in the equation above.
There are a total of four intent values calculated using similar formulas to equation 4.6, with the difference
being the traits chosen for each.
Positive and negative strength values are calculated using the same three traits, kind, helpful and
sensitive. These traits are negative for the negative strength. Kind characters want to be positive to
others. Helpful NPCs like to help and be friendly and sensitive ones are careful with others emotions
making them want to have positive intent. These traits also apply to negative intent, however with the
opposite reasoning, where unkind characters want to be negative for example.
Romantic strength values are calculated using charm, careful and shy traits. Charming characters
are more drawn to romantic situations. Careful and shy NPCs usually run away from taking risks and
are careful or fearful of ruining conversations, therefore these traits are considered with negative values
for this strength formula.
Embellish strength uses the traits, helpful, honor and liar. Characters wanting to embellish others,
have a friendly intent (helpful), however, it is shallow with a secondary purpose. These types of be-
haviours are not honorable and are associated with lying. The trait honor is considered with negative
values due to this.
The neutral strength is the rest of the probability considering all of the others combined, as seen in
the formula below.
40
Str
neutral
= 1
X
i6=neutral
Str
i
(4.7)
The final intent is determined as the softmax of the strength of the possible intentions.
4.2.2.2 Intent based on Social Feelings
The intent selected based on the social feelings of the character method, like the other method, is a
stochastic process where each intent value has a respective strength value that determines the proba-
bility of being the chosen intent. This strength, instead of being calculated based on the personality, is
calculated using the character’s social feelings. Further details on feelings are on section 4.3.
The neutral intent chance has an empirically predetermined value 30%. All other strength values are
obtained from the social feelings in the characters, which in total account for 70%.
total = f riendly + romantic + admiration (4.8)
In CiF-Bannerlord, social feelings are represented through a value, an intensity of the feeling. Char-
acters have three different types of social feelings as illustrated by the equation 4.8. This total intensity
is used to calculate the strength of each possible intent.
Str
positiv e
=
friendly
total
× 0.7 (4.9)
The formula above illustrates how the probability strength of positive intent is calculated. It uses the
friendly intensity in the character’s social feelings and the total intensity obtained from the equation 4.8.
The negative intent probability strength is calculated with the same formula as the positive one. The
difference is the intent in the friendly feelings, which determines which of the two intents is chosen. If
the character has negative friendly feelings for the other, it has a chance to be negative, if it has positive
friendly feelings, it has a chance to be positive.
The probability of each value is then calculated as exemplified in the equation above for the positive
intent. The positive and negative chance depends on the intent on the friendly feelings. The romantic
chance depends on the romantic feelings and the admiration feelings determine the embellish intent
chance.
To exemplify the intent situation, a mean character is more likely to be negative to others, while a
kind character is more likely to be positive. Although personality has some impact on the intent, NPCs
are always much more likely to have neutral intent with strangers. To other characters they know, based
on their feelings, of friendship or romantic, they are more likely to have an intent similar to the specific
feeling. A character that has negative friendly feelings for another, will be more likely to be negative. A
41
character that has both positive romantic and friendly feelings, will be more likely to be either romantic
or positive.
4.2.2.3 Determine desired Social Interaction
After determining the intent, the initiator calculates the value of each Social Interaction (SI), using the
intent and receiver as input for this. The initiator calculates the SI’s value as the sum of the values on
each influence rule applied to the situation. These consist of the initiator influence rules contained in the
Social Interaction, the influence rules related to the character’s culture and general influence rules that
apply to every character.
value
SI
=
X
rinf l uence rule(SI)
r.value (4.10)
The equation 4.10 determines the value of the Social Interaction (SI), currently being calculated. This
formula is applied to all SIs available to the character. This procedure is finished by storing the highest
valued SI, together with the respective SI, intent and receiver.
The initiator then has the same procedure for every character available (as receivers), calculating
intent, and highest valued SI. The final interaction chosen is the one with the highest value of all the
receivers and after achieving the desired interaction the initiator proceeds to perform the exchange.
4.2.3 Exchange Realization
When the initiator character has decided both the receiver character, their specific SI, and intent, the
Social Exchange begins. These characters are now performing an exchange, they get a flag signaling
they are busy, to stop other characters from interacting with them and lose the ability to gain energy to
perform other exchanges. First, the initiator moves towards the receiver. After arriving a determined
threshold of distance of the receiver, the initiator chooses a dialog line contained in the SI, further details
on dialog are explained in the section 4.7.
After a few seconds, the receiver responds to the initiator. The receiver calculates the response value,
based on the SIs receiver Influence Rules, cultural rules and general response rules. This calculation
is similar to the equation 4.10, with the difference that it uses the receiver influence rules instead of
initiator.
The sum of all rules combines determines this value, which then is used to compare against the SI
threshold intervals, Upper Threshold and Lower Threshold. A higher value than the Upper Threshold
consists of a Positive outcome, a lower value than the Lower Threshold consists of a Negative outcome
and any in between are Neutral outcomes.
42
Figure 4.3: Visual representation of the thresholds and outcome determination
With this outcome, the receiver then proceeds to choose a response dialog line contained in the SI,
based on the personality set of the receiver, outcome of the exchange and dialog used by the initiator. It
is possible for the initiator to respond to that response, in some instances. Further details on dialog are
explained in the section 4.7.
At the end of the exchange, a Social Exchange object is finally created with an initiator, a receiver,
date, outcome and SI and the respective fallout is applied.
4.2.4 Exchange Fallout
When the SE is over, the fallout begins. There are two types of rules being responsible for the fallout,
Instantiation Rules and Trigger Rules. Instantiation Rules are specific functions to the SI and are exe-
cuted at the end of an exchange. In the Date exchange, for example, the initiator asks the receiver to
start a romantic relationship and if the outcome is positive, there is an Instantiation Rule responsible for
creating a romantic relationship and updating the characters. Trigger Rules are general functions that
are executed at the end of an exchange. They are responsible for updating the feelings and beliefs of
the characters present or creating rumors for example.
The SE is saved in the Social Facts Database and a reference of this exchange is stored in the
memory of the parties involved, initiator and receiver. The characters stop following each other, get their
energy at zero, and the flag signaling they are occupied is turned off, so are now able to start exchanges
with other characters and their energy is able to be raised again.
4.3 CiF-Character
In CiF-Bannerlord, the NPCs are represented as CiF-Characters. The table below represents the com-
ponents of a CiF-Character.
43
Table 4.1: CiF-Character Attributes
Attribute Description
Personality set of CiF-Character Traits
Status List of statuses currently being felt by the character
Friendly Feelings List of friendly feelings on other characters
Romantic Feelings List of romantic feelings on other character
Admiration Power relations with other character
Beliefs List of feelings the character thinks the other characters feel
Energy energy the character has available to initiate exchanges
Threshold threshold for the energy
Culture Cultural reference of the character
Memory List of exchanges the character took part in
Last Exchange List of the last exchanges the character took part in
A – Personality - is a collection of Traits, unique to each character. Each Trait is a number that can
have a value between -1 and 1. Traits have one bidirectional dimension that represents two comple-
mentary opposites in a spectrum. Values near -1 correspond to a negative Trait and a value near 1
corresponds to the opposite. For instance, a character with -0.5 Kind means it is somewhat malicious,
and a character with 0.9 Kind means it is very kind.
Table 4.2: Personality Traits
Personality Trait Description
Kind Represents kindness and maliciousness
Helpful Represents selflessness and selfishness
Sensitive Represents sensitivity and insensitivity
Honor Represents honorableness and shallowness
Calculating Represents intelligence
Stubborn Represents stubbornness and gullibility
Liar Represents easiness to lie and invent lies
Curious Represents curiosity
Shy Represents shyness
Careful Represents carefulness
Charm Represents beauty and charm
Annoying Represents annoyance and how it perceives other’s annoyances
The table above illustrates the Traits present in CiF-Bannerlord. There are a total of twelve Traits,
which all are created randomly in the initiation of the CiF-Character. The first five Traits, Kind, Helpful,
Sensitive, Honor, Calculating have an input of the character traits already present in the game. These
CiF-Traits are still created randomly, however they have a higher probability based on the value of these
in-game traits, which are respectively: Generosity, Mercy, Valor, Honor and Calculating. The other seven
traits, respectively, Stubborn, Liar, Curious, Shy, Careful, Charm and Annoying were added based on
features present in CiF-Bannerlord. Stubborn, Liar and Curious are related to rumors and hearing
about other characters, Shy, Careful and Annoying are related to the start and response of exchanges.
44
Charm is related to the romantic aspect of CiF-Bannerlord, representing beauty and innate charm of the
character.
These CiF-Traits are used for most operations and calculations for each CiF-Character and are the
basis for most rules within CiF-Bannerlord architecture. For simplicity purposes, the personality compo-
nent also stores the sexual preference of each character which is also random. With such a large set of
Traits and respective possible values, each character CiF-Bannerlord creates is substantially unique.
B Status - is a list that represents the characters current state. Each status present in the Status
list signals the character is feeling that emotion/state. There are ten different Statuses with one default
(Normal): Wounded, Bored, Tired, Angry, Fearful, Sad, Confident, Happy, Ashamed and Prideful.
C – Social Feelings - CiF-Characters have three different types of social feelings, friendly, romantic
and admiration. These Feelings have a recipient, an intent and an intensity. The recipient is a CiF-
Character and the intensity is a number that starts at zero. Without thresholds, the intensity value can
be raised or lowered through interactions. It has usual values between 0 and 10. The intent is helpful to
determine if the feeling is positive or not. For example a feeling with negative intent and high intensity
means the character dislikes the other in great quantities. However a character that has neutral intent
and low intensity, means the character does not think much of the other. Intent corresponds to some
intervals of intensity when related to friendship, when below zero, intensity is raised again and the intent
changes to negative. Though other feelings (not friendship) can have negative values.
Friendly feelings is a list of social feelings, the character in question likes or dislikes. Romantic
feelings is a list of social feelings that the character has romantic interest in.
D Admiration/Power Relation - is a list of social feelings related to hearing about other characters.
These social feelings are not affected by interacting directly with the character, but it is instead the notion
the character has from others based on rumors. This feeling has two possible intents, positive and
negative. Admiration with positive intent means the character looks up to the other character. Admiration
with negative intent means the character is fearful of the other character.
For example, the character hears a rumor about a battle nearby, the leader of the victorious party is
going to be admired in those rumors, meaning their admiration feeling is positive and it is going to be
boosted. While the loser is going to look worse in those characters’ eyes, meaning the admiration is still
positive, however, it is going to lose intensity, as characters are losing admiration/respect from losing the
battle. Another example is raids. It is usually very badly seen by other characters, when a party raids
a village, destroying everything. Characters that hear rumors about this become fearful of the character
responsible for the raid, having a high intensity admiration feeling with negative intent.
45
E Beliefs - are social feelings the character thinks the other characters feel. Each belief of the
character is basically the social feeling another one feels, based on the exchanges performed by the
other that the character could see. These beliefs do not correspond to the exact social feelings of other
characters, they are based on the perceived SIs that occurred. The value that is added to beliefs is
greatly impacted by the character’s stubborn trait, where it refuses to believe things or it is gullible and
believes in other’s feelings with great intensity.
For example, if a character is seen performing several romantic interactions with another, the belief
of surrounding characters is that the character performing all the interactions has high romantic feelings
for the other.
F Culture - Culture is fairly important in Bannerlord, characters have different stories and mental-
ities from their culture which ties in with the game lore. CiF-Bannerlord reflects this by adding different
features to every character. Each character can perform unique SIs only available to that culture. Or
characters can have access to unique cultural dialog lines, Influence rules, instantiation rules and trigger
rules on any SI. Culture also has modifiers applied to the character’s energy or thresholds. Basically,
culture works as a separation of groups of several CiF-Bannerlord mechanics.
G – Memory - CiF-Bannerlord characters store previous interactions. This attribute refers to interac-
tions or rumors the character has found interesting. This interest is determined by values on the rumor,
further details are explained in section 4.6. Last Interactions is an attribute that accounts for the char-
acter’s short-term memory. It stores the last five interactions the character performed, in order to avoid
repeating the same few interactions.
4.3.1 CiF Player Character
In the original CiF, there was not a main character or a character the player would role-play as. Instead,
the game was focused on each character’s story and the player could play with any character. That is not
the case with RPG games where the player has a specific character built and developed by them over the
period playing. In CiF-Bannerlord the main character is a CiF-Character like all the other NPCs, however,
it has a few distinctions. Each character’s set of Traits is created generally randomly, except for the main
character. It starts with all of its Traits as 0 and then is increased or decreased through instantiation
rules and based on the interactions the player decides. For example, if the player repeatedly decides to
be negative with other characters, it will raise its Trait of maliciousness.
The main character also differs in dialog. Characters go through the CiF cycle in order to perform
a SE, however, in CiF-Bannerlord, the player decides several steps of the cycle, like when and who to
speak with the base game built-in mechanics, such as walking towards and starting dialog. The player
46
also chooses the intent in the middle of dialog, at the start of a CiF exchange. More details on the dialog
will be further explained in the implementation chapter.
4.4 Rules
Rules are the foundation of the CiF architecture. There several types of rules in CiF-Bannerlord, condi-
tions and three different implementations of rules, Influence Rules, Instantiation Rules and Trigger Rules.
Microtheories are not rules in the CiF-Bannerlord model but are instead functions that occur when an
event is triggered.
A Conditions - are the simplest rules, they have a name that identifies it, and a validate function
that determines if the condition returns positive or not. In the CiF-Bannerlord everything uses condi-
tions to test its availability and these rules can be influenced by anything, character attributes, SIs or
exchanges, other rules, or any situation in the base game. An example is ”LordsOnly”, a condition that
returns true when both parties are lords. This condition also requires there to be two participants.
B Influence Rules - These rules have a name and a list of conditions that implement a validate
function, in order to determine if it is active or not based on the cumulative result of this list, meaning all
conditions need to be true for the rule to be functional.
Influence Rules also have a delegate function that is used as a value related to the will of the charac-
ter and the specific SI containing this rule. Like Conditions these rules are broad and can have an input
of anything, like characters or their attributes, interactions, exchanges, rules, or anything from the base
game as well.
An example is ”LikesThem”, an influence rule that returns a higher value based on the social feelings
the first character has for the second. Only the highest value of all three different social feelings is used
for this rule, where romantic feelings are worth double of friendly feelings.
C Instantiation and Trigger Rules - Instantiation rules and Trigger rules are very similar, they
both contain a name and a validate function implemented by a list of conditions, like Influence rules,
to determine if the rule is active in the particular situation or not. The difference between them is that
instantiation rules run their effects in the middle of an interaction, while trigger rules run their effects at
the end of it.
Unlike Influence Rules, instantiation and trigger rules do not return any value and instead change the
environment or characters directly. An example is ”StartDating”, an instantiation rule that marks on the
character relation manager the two characters as dating.
47
D – Microtheories - In the original CiF model, microtheories correspond to simple rules that can be
applied to specific situations. An example of a CiF microtheory is: If the character is friendly with another,
he will be more likely to have positive exchanges. In CiF-Bannerlord, these types of microtheories have
been merged with influence rules, aiming to simplify the use of rules. If the rule is used to calculate
some result or influence to determine interactions or situations, it is considered an Influence Rule. In
CiF-Ex for example, there is a Memory Frequency Microtheory that says, characters will have a debuff
on the volition of the last SEs that have been performed, where in CiF-Bannerlord, this situation was
transformed into an Influence Rule called Repetition.
Microtheories have been rearranged and in CiF-Bannerlord these are connected with the events
happening in-game. They are specific functions that are executed when an event is triggered. For
example, on the completion of a quest, it raises the friendly feelings between the characters present.
4.5 Social Exchange
SEs are an integral part of the CiF architecture, in the original Comme il Faut, SEs were events that
happened when the player chooses dialog lines. In CiF-Bannerlord this feature has been separated into
two, SIs, which are the type of interaction available and SEs, that are occurred SIs, with an initiator and
receiver of the exchange as well as a date for when it happened.
4.5.1 Social Interaction
In CiF-Bannerlord, SIs function as the SEs from the CiF model. They have a unique set of Influence
rules that determine how much a character would like to perform it, or how much the character would like
to respond. They contain the dialog specific to the SI and contain the necessary thresholds to determine
the outcome of the Exchange.
Table 4.3: Social Interaction Attributes
Attribute Description
Name Identifier of the interaction
Preconditions List of preconditions that determine if it is active
Initiation Rules List of initiator influence rules
Response Rules List of receiver influence rules
Instantiation Rules List of instantiation rules
Dialog Rules List of custom Instantiation rules related to dialog
Upper Threshold Threshold that determines positive outcomes
Lower Threshold Threshold that determines negative outcomes
Sentences Matrix of dialog containing the available sentences
48
A Preconditions - like rules, SIs have a list of conditions that determine if it is active, being possible
only when all the conditions are considered true.
B Initiation and Response Rules - In order to determine the best course of action, each SI has
a collection of rules, and the sum of their values determines how likely the character is to choose that
interaction. The SI with the highest value calculated with Initiation Rules will be the chosen one. After the
initiator starts the exchange, the response value is determined by the Response Rules and the outcome
is determined based on the thresholds present in each SI.
C Thresholds - SIs have two specific thresholds that determine the outcome of the exchange,
Lower Threshold and Upper Threshold. The total value of the exchange is determined by the Response
Rule list’s value, if it is below the lower threshold, the outcome is determined as negative, if it is over the
upper threshold, the outcome is determined as positive. Values in between are a neutral outcome. The
figure 4.3 illustrates these thresholds.
D Sentences - Each SI has a complex collection of possible sentences to choose from. This
collection is a matrix of Dialog, a custom class created in the CiF-Bannerlord system. This matrix is
composed of a list of lists, where each list corresponds to either one entire exchange or if it has only one
element, corresponds to one sentence. If the list containing dialog has several entries, it means it has a
direct conversation, where the second entry is the response to the first and so on. With only one entry,
the initiator can choose this sentence, however, the response given by the receiver is a general answer
and not directly related to the first sentence. This translates to conversations not becoming repetitive
and having the characters always respond the same, however, it also leaves answers a little too simple
since they need to be broad and apply to several situations. Further detail on dialog is on section 4.7.
E – Instantiation Rules - These run at the end of the exchange. They are the equivalent to Instan-
tiations in the original CiF. When a specific SI is executed, these rules apply its specific changes and
fallout. For example, the Gift exchange has several Instantiation Rules, one of which takes the gift out of
the initiator and gives it to the receiver.
F Dialog Rules - These are a special type of Instantiation Rules, that create dialog lines dynam-
ically. The sentences available to be used can be obtained from one of these two options, either a
sentence in the Sentences attribute or a line created using Dialog Rules.
For example, Relay Information is a SI where the initiator talks about some rumor they heard, and for
these interactions, each sentence needs to be created with the specific rumor as its base.
49
Dialog Rules are unique to the SI and construct a different sentence based on the information nec-
essary. These rules require a sizeable amount of authoring for each sentence where it needs to be
constructed around specific variables. The most simple dialog rule, for example, is used to describe the
status a character is feeling. It merges the status with part of a sentence like ”I am . It has some com-
plexity because these parts of sentences can be replaced, for others like ”I am feeling”, or with modifiers
like ”Today, or ”Right now,. These rules allow for a more expressive set of dialog lines, however, they
require a good deal of work and effort for each one, instead of the simple and less expressive dialog
system implemented. Dialog Rules are also not compatible with the dialog engine established in the
base game since the dialog lines cannot be created dynamically.
4.5.2 Social Exchange
In CiF-Bannerlord SEs are the instantiations of SIs. Each SE has to have necessarily a type (the SI
performed) and the initiator and receiver that took part in it. The exchanges are the objects that are
stored in the memory and Social Facts Database. SIs are a more abstract concept, for example, flirting,
while a respective example of SE would be character B was flirting with character B. In the table below
we can observe the different attributes contained in the SE.
Table 4.4: Social Exchange Attributes
Attribute Description
Initiator CiF-Character that starts the exchange
Receiver CiF-Character that responds to the exchange
Type Type of the exchange is a Social Interaction
Outcome Outcome of the specific exchange
Date Day and time of the exchange
Rumor Rumor used in the exchange
A Social Interaction - Each SE is unique in the sense that is referenced to the interaction between
two characters. Type is a reference to the SI that corresponds to the SE.
B Outcome - Each SE has an outcome, that has three different values, positive, neutral, and
negative. This value is calculated using the SI Thresholds and the Receiver’s calculations based on the
sum of the applicable response rules.
C Rumor - The SE has a reference to the rumor that has been the focus of the interaction. If the
exchange does not relate to any rumor, this attribute is null.
50
4.6 Rumor
People are very social creatures, communicating is a part of our daily lives. Rumors, gossip, talking
about others are always popular topics and CiF-Bannerlord reflects this. Rumors are one of the main
features of CiF-Bannerlord, introduced due to the nature of the game, of visiting different settlements
and towns, talking with different characters, exploring different cultures and social environments. Parties
and armies from all factions roam the map constantly, being possible to spread rumors from a settlement
to another easily.
Rumors have an interest value, which can have values from 0 to 1, where 1 is the most interesting
and 0 has no interest. Generally, when a rumor is created, this value is 1 and then proceeds to be
lowered when it spreads. Rumors also have a type, that can have values of Economic, Warfare and
Gossip.
Economic rumors are a feature implemented in the base game where townsfolk inform the player
about good trade deals/offers happening in other towns. It relates to a merchant style of gameplay
where the player can buy cheap products in one town and sell at higher prices to a settlement.
Warfare rumors are related to wars and battles. They are created through events happening in-game
such as declarations of war or peace or sizeable battles.
Gossip rumors are the usual rumors, that have a specific character or characters as the information,
as well as a SI. For example, a character that usually flirts with several others can be the focus of a
rumor.
4.6.1 Creating Rumors
When starting a new campaign a number of rumors are randomly generated to make the campaign
seem lively even before it was created. Rumors are also randomly generated throughout the campaign
gameplay, to simulate once again, the livelihood of the characters even when the player is not present
in the settlement. These randomly generated rumors are Gossips since Economic rumors are created
by the base game system.
Warfare rumors are created when war or peace is declared. These rumors are worldwide, reaching
every settlement. Another type of warfare rumors is based on battles. When a sizeable battle happens
(with a large number of combatants), the rumor reaches nearby settlements. Afterwards with the prop-
agation of rumors, it is possible to reach other settlements, but it is a weaker less interesting version of
the rumor.
Gossip rumors are created when the player is inside an instance, by a repetition of SIs. Either the
player or other characters can repeat the same interaction several times, and other characters pick up
on that. For example, the player is flirting with a character for several exchanges in a row, a Gossip
51
rumor is created that portraits the player as flirting a lot.
4.6.2 Spreading Rumors
Rumors are talked about in two specific SIs, Relay Information and Ask For Rumor. The initiator in these
interactions gives information about a rumor and asks for rumor information respectively. When a rumor
is used its intensity is lowered by a small percentage, a value determined empirically, 2%. This makes
the rumor lose interest faster when it is considered fresh, but it stagnates the disinterest as do all rumors.
Since SEs only occur when the player is present, the rumor only loses interest from this method when
the player is present as well.
Characters choose the rumor to spread based on its intensity and based on character preference.
This preference is a rumor type that is calculated based on the character’s personality set. Each rumor
type preference is paired to a trait, Economic with calculating, Warfare with careful and Gossip with
curious. When the character has its curious trait above an empirically determined value the preference
is Gossip. Otherwise, the highest valued trait of the three is chosen as the preference. The rumor’s
interest and preference are used to calculate the most interesting rumor for the character to use on its
SE. The rumors being used in these interactions come from the Rumor Holder containing a list of rumors
available for all characters present to use.
There are two types of Rumor Holders in CiF-Bannerlord, Settlements and Parties. Settlements have
a list of rumors, that instantiated characters (in taverns or town centers) can use. Parties are responsible
for spreading the rumors between settlements and have a smaller list of rumors. When a party arrives
at a settlement, the settlement’s rumors are updated with the party’s, resulting in a list of rumors with the
highest interest values. When the party leaves the settlement, the rumors it takes are a few of the most
interesting to the party leader, based on the rumor’s interest and leader preference.
4.7 Dialog
Dialog in Mount and Blade II Bannerlord has been an unexpected challenge. The first implementation
of CiF-Bannerlord had every sentence being calculated dynamically on each SE, however, due to the
way Bannerlord’s engine was built this was not possible. In Bannerlord the dialog engine was built with
several attributes and with a token-based state tree.
52
Table 4.5: Base game Dialog Lines Attributes
Attribute Description
ID Identifier of the dialog line
Input Token state where this line is inserted
Output Token state for the following dialog line
Text Actual sentence of the dialog line
Condition Function that determines the validity of this line
Consequence Fallout and consequences of the dialog line
Value order value
The dialog system from the base game contains Consequences that are the equivalent of Trigger
rules in the CiF model and Conditions which are used in the CiF model as well. This direct translation
allowed for an easy implementation of the CiF model in this system.
A Token state tree - In this state dialog tree, dialog sentences are added previously, before the
interaction, typically, when loading the game. These sentences are then grouped by their Input Token
being able to be picked only when it applies to the situation and when their respective Condition returns
true.
Figure 4.4: Example graph for the token based dialog system in Bannerlord
At each state, there are two subgroups, Dialog Lines (to be used by the NPCs) and Player Lines (to
be used by the player). There needs to always be at least one dialog line on each state, where the game
then chooses it based on the available ones, where the highest valued one is picked. If there are any
Player Lines in a determined state, the player has a choice between the available lines ordered by their
value. Every dialog sequence starts with the base token/state which is named “start” and an available
dialog line given the circumstances. If the dialog reaches a state where there are no dialog lines, the
conversation ends.
53
Dialog lines in CiF-Bannerlord are instantiated in the behaviour Player Dialog Behaviour, further
detail on dialog between the player and NPCs is explained in section 5.1.3.
4.7.1 CiF-Bannerlord Dialog
There is a custom Dialog class in the CiF-Bannerlord engine.
Table 4.6: CiF-Bannerlord Dialog Attributes
Attribute Description
ID Identifier of the dialog
Sentence Actual sentence of this dialog object
Sentence Type Type of sentence regarding the delicacy of the statement
Response Type Type of the response based on the Outcome
Intensity Number containing the intensity of the sentence
A Response Type - has four values, NotResponse, Normal, Positive and Negative. This value is
used to differentiate response sentences from normal ones as well as the type of response based on
the outcome.
B Sentence Type - has three distinct values, Normal, Cordial and Rude. These function as another
form of clarification and distinction between dialog lines. Most dialog lines fall in the normal category,
however, there are Cordial ones, for more wordy and complex sentences and Rude as the opposite.
The sentence type is determined by a value that is calculated randomly and applied an offset based
on the character’s personality. The value is then compared to a scale between 0 and 1 to select the
sentence type. Values below 0.15 are considered Rude, above 0.85 are considered Cordial and any
value in between is considered Normal. The formula 4.11 illustrates how the result value is calculated.
result = outcome + w
calc
.fn(t
calc
) + w
caref ul
.fn(t
caref ul
) + w
honor
.fn(t
honor
) + w
shy
.fn(t
shy
) (4.11)
outcome U (0, 1) (4.12)
There is a normalization function applied to each trait and w-values are the weights of each trait,
which were determined empirically. The outcome represented in the From the traits observed in the
equation above, the higher these are, the more probable Cordial sentence types are and vice versa.
The outcome represented in the equation 4.12, is the random number used to calculate the sentence
type, with an interval of values between 0 and 1. Calculating, careful, honor and shy were the traits
chosen since these are ones that usually make characters more careful about the things they would say.
54
C Intensity - The Dialog class has a number indicator of its value. It is used to distinguish dialog
lines inside the SI, working as some sort of intensity. The higher the value, the less probable the dialog
line is to be chosen since it is more ”intense”.
When a character is deciding a dialog line, first calculates the sentence type, and a list contained
all dialog lines with that type, ordered by their intensity is formed. To select a dialog line, a recursive
algorithm is used, that runs through the list. This algorithm has a chance to stop at any dialog line which
then is the selected one. This chance is a probability calculated from the personality set of the character
and the value of the determined SI. The personality set is used due to the character’s predisposition to
be more intense about what they are saying. The SI value is used since the characters can be more
or less sure of the interaction chosen. For example a high value for the ”Compliment” interaction could
be interpreted as very sure of the decision and therefore be more likely to choose a more ”intense”
compliment.
The probability of the algorithm stopping and selecting a dialog line is calculated once, which is then
used on all steps of the algorithm. Considering a list with several dialog lines, the algorithm will run a
random number and if this number is outside the range of the probability to stop, it will continue to the
next dialog line. For example, with a probability to stop of 0.4, the first dialog line has a 0.4 chance to be
chosen, the second dialog line has a chance of 0.6 times 0.4, and so on. This probability is represented
by the c-value in the formula 4.13.
c = 1 (f n(t
shy
t
sensitiv e
t
caref ul
) f n(value
SI
)) (4.13)
Both traits and the SI value are calculated in the formula 4.13 using a normalization function. The
traits chosen for this formula were, shy, sensitive and careful. Shy, sensitive or careful characters are
less likely to be excessive/intense.
55
56
5
Implementation
Contents
5.1 Behaviours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2 Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
57
58
In this chapter we will examine the overall architecture of the implementation of CiF-Bannerlord as
well as design choices. The first section is about the behaviours created and added to the game. In the
second section we will discuss the managers created, the design choices for this architecture and the
instantiation of some of the rules and SIs created in CiF-Bannerlord.
5.1 Behaviours
Mount and Blade II: Bannerlord has a large modding community and the game reflects it. The game has
several tools that help programmers add functions, one of these is their implementation of Behaviours.
Behaviour is a campaign specific abstract class from the base game that is designed for modding. This
class has two methods, Register Events which is used to register events from the game and create cus-
tom functions around it, and SyncData which is used as the logic behind saving and loading. Behaviours
are designed to be added in the game and are stored besides the base game’s behaviours. These can
be easily extended through a subclass and without having to extensively study the base game’s code.
It is easy to implement some changes, although, a more in-depth knowledge of the game’s code is
necessary in order to implement more complex changes.
5.1.1 SubModule
Behaviours are added through the class SubModule, which is basically the ”main” class for mods, in-
cluding CiF-Bannerlord’s mod. It functions as the bridge between CiF-Bannerlord and the base game.
SubModule is responsible for initializing all the behaviours. There are two types of Behaviours, from
campaigns and from mission. Campaign Behaviours are always active and function when the player is
in the overworld/campaign map and also inside a mission/instance. Mission Behaviours are only active
when inside an instance. Dialog Manager is an example of a Mission Behaviour.
SubModule is responsible for storing the highest level of most features in CiF-Bannerlord. One of
these is the Social Facts Database, which the SubModule is responsible for saving as it contains a
large part of the Social State of the world. It is also responsible for creating and storing the Managers
examined in the previous section.
SubModule contains an extension of a class, Character Relation Manager, from the base game.
This class is responsible for storing and the logic behind character relationships in the game, keeping a
value from -100 to 100. This extension is a CiF implementation on top of the character relation manager
also storing relationships, not only friendship but also romantic ones. It does not store Power relations
because these are one sided and only available for each individual character. Romantic and Friendship
relationships are public knowledge, therefore, different from the individual non-reciprocal feelings each
CiF-Character stores.
59
5.1.2 NPC Dialog Behaviour
NPC Dialog Behaviour is the class accountable for most of the logic behind the dialog between NPCs. It
instantiates Character Manager and works as a bridge between the CiF-Characters, the rest of the CiF
mod and the base game.
NPC Dialog Behaviour is the class that manages the CiF cycle between the characters. It raises
the character’s energy, when the event triggers from Dialog Manager. It asks the initiator for the intent,
receiver and SI.
This behaviour is also responsible for timing the characters responses and their content. When the
character picks a dialog line, this class sends it into the Dialog Manager to be shown and keeps a record
of the time. After a few seconds in-game have passed, the behaviour then calls the for the response.
NPC Dialog Behaviour is in charge of making characters move. When the initiator wants to move
closer to the receiver to start the Social Exchange, the initiator’s agent receives an agent behaviour from
the base game, Agent Follow Behaviour. This class also gives this behaviour to the receiver when they
want to respond.
5.1.3 Player Dialog Behaviour
Player Dialog Behaviour is responsible for the dialog between the player and the other characters. It
is an extensive class that adds a “Converse” option to every character specific dialog tree. It uses the
dialog system built in the base game. It also has the necessary Condition and Consequence Delegates
to make the new dialog option function.
Unfortunately, because of how the dialog system was implemented, dialog lines have to be added
before the game starts. Each Dialog line corresponds to a CiF-Bannerlord Dialog object. This object has
a flag, active, that determines if the dialog line should be active or not. It is connected to the Condition
Delegate on each dialog line, so that if the flag is active the dialog line should also be active. Dialog
Rules do not work on this dialog system, therefore some interactions have to be disabled since it was
not possible to create dialog dynamically in the middle of a conversation between the player and NPCs.
Player Dialog Behaviour is accountable for following the CiF cycle when an interaction is being per-
formed between the player and a character.
5.1.4 Rumor Behaviour
Rumor Behaviour is the class behind all the logic regarding rumors. The rumor system has a class,
Rumor Holder that holds a list of rumors for the character to choose the one they find most interesting.
There are two types of Rumor Holders, Settlements and Parties. Rumor Behaviour has two Dictionaries,
that map the Settlements and Parties to their respective Rumor Holder counterparts.
60
Rumor Behaviour is responsible for creating and storing all rumors that have been created. It tracks
events such as battles, war and peace declarations, raids and other map events that are used to create
the rumors.
5.1.4.1 Saving
Since the saving system in Bannerlord is not robust for modding, Rumor Behaviour is responsible for
saving the Rumor Holders as well as the rumors they contain. The saving is performed with a recursive
method like the Character Manager. Each Dictionary is transformed into a string by asking each Rumor
Holder to return a string and saving it with the respective Settlement or Party reference. Rumor Holders
then ask each Rumor to return a string and it merges all Rumor’s strings. This is done recursively until
reaching the simplest type of data like strings or numbers.
5.1.5 Microtheories
The class responsible for Microtheories is a behaviour related to events happening in-game as refer-
enced in an earlier section 4.4. There are seven implemented Microtheories.
Three microtheories are related to first impressions. The first time the player enters an instance with
social characters, such as the tavern or the town center, these microtheories create first impressions of
the other characters. There are three different first impressions: LoveAtFirst, LooksCool and HateAtFirst.
LoveAtFirst is a first impression where the character has a boost in the romantic feelings for the other
character, if it aligns to their preference. LooksCool is a first impression where the character has a boost
in friendly feelings for the other. HateAtFirst is the opposite of LooksCool, where the character gains
a negative boost. This boost is calculated based on the personality set of each character, therefore, a
very romantic character will be very passionate and pursue strongly the other, for instance.
Every character is compared to another and randomly chooses either one of the three first impres-
sions or no first impression at all. This chance of picking one of the first impressions is based on the
personality set of each character. For example, a mean character will be more likely to dislike other
characters at first glance.
Defeat is a microtheory, which occurs when a sizeable battle is over. As the rumor of the battle
spreads to nearby settlements, the characters admire the victor, raising their notion in their respective
Power relation. This raises particularly in the battle’s losing side, while the winner will have a negative
notion of the loser in their Power relation.
Quest Complete is a microtheory executed after a quest is completed. It raises the friendship values
for each party involved as it happens in the base game. The Power relation is also raised towards the
player since they prove to be reliable, helping those in need.
61
Raid is a microtheory related to the in-game mechanic of raiding villages. This action is widely
frown upon by the characters affected in the raid. This microtheory raises the Power relation of nearby
characters but with negative intent, to promote fear and dislike of the raiding character and their actions.
Bored is a microtheory related to the status of characters. Each character has a timer that is reset
when starting an exchange. Although separate to the energy system, it complements it. After a certain
amount of time, this microtheory attributes the bored status to the character which boosts the desire to
perform exchanges. The amount of time required is dependant on the personality set.
5.2 Managers
CiF-Bannerlord uses an architecture design with managers in order to initialize the other classes.
5.2.1 Character Manager
The character Manager is responsible for everything related to characters. The main responsibility of
the character manager is mapping Characters from CiF-Bannerlord to their respective counterpart in the
base game, Heroes, Agents and Character Objects.
Table 5.1: Character Manager Attributes
Attribute Class
Characters Dictionary<Character Object,Character >
Agents Dictionary<Character, Tuple<Agent, Settlement>>
Tavern People Dictionary<Settlement,List<Character>>
Main Character Main Character, custom subclass to Character
Character Manager is responsible for creating CiF-Characters. It has two dictionaries that map CiF-
Characters. Characters dictionary has Character Objects as keys, and a CiF-Character as their value,
Agents dictionary has CiF-Characters as keys, certifying these objects as being unique, since every key
is unique in the dictionary and all characters added or created are added to this dictionary. Agents’
values are the respective CiF-Character agent as well as the settlement in the creation of the agent.
Since agents can be null when not in an instance, this implementation keeps track of what agents are
currently initiated or not as well as mapping the CiF-Character to an agent.
CiF-Characters are created when entering a new mission and Character Manager adds any new
CiF-Character to both dictionaries. CiF-Characters already instantiated in the dictionary will have their
corresponding agent updated to the new object. Character Objects are not unique in the Bannerlord
engine, therefore when entering a mission, the Character Object townsman for example, will generate
several different agents. To keep track of this, the Character Manager checks whether the settlement
already has character entries in the Tavern People dictionary, and will attribute the CiF-Characters to
62
the new agents created. Townsman for example, have their personalities jump from an agent object to
another, based on the same Character Object between instances, but it is not lost.
The Main Character has a special corresponding CiF-Character, a subclass called Main Character.
The creation of the CiF-Character is different, its personality attribute does not create
Character Manager is also responsible for creating and storing the general rules that apply to every
character. There are two groups of general rules, ones for initiations and ones for responses. These are
a set of rules that apply every time in each situation. An example is ”Repetition”, that compares the last
interactions the character performed with the one being calculated, the more repeated entries found,
more negative the return value becomes. This rule is useful to block characters from choosing the same
interaction every time. There is also a ”Repetition” response rule, making the characters tired of hearing
the same interaction several times in a row.
5.2.1.1 Saving
Unfortunately, Bannerlord’s saving system is not robust enough to be used by mods. Character Manager
is responsible for saving every character and their connection to the game counterpart. Saving in this
class is performed in a recursive manner, every element is stored inside a string which then is coded
using Json serialize function. First Character Manager asks each CiF-Character to be returned as a
string, and CiF-Character then transforms into strings each of its attributes which are also complex data
structures which will ask recursively for strings until reaching a simple value.
5.2.2 Rule Managers
Most rules are created through a manager, this includes conditions, influence rules and trigger rules.
This is a very efficient method of instantiating rules since the number of created instances can get very
large. Managers consist of a dictionary containing their respective instantiations.
63
Figure 5.1: Visual representation of the manager system in CiF-Bannerlord
As we can see in the example in figure 5.1, there are three Social Exchanges, which all performed
the same SI, and which itself has three different Influence Rules. In this system, there is only one of each
influence rule and only one Social Interaction 2. In a system without references, instead instantiating
every object, the situation represented in the image would have nine different Influence rule objects.
As the situation becomes more complex, it would grow exponentially in object complexity which would
render an inefficient game and possibly unplayable. It is thereby important to create an efficient method
of instantiating rules, such as the current one present in CiF-Bannerlord.
5.2.2.1 Condition Manager
The Condition Manager instantiates eight different conditions. These do not account for all conditions
created, since many are nameless and created inside another Rule or SI. Four examples of conditions
used in CiF-Bannerlord are:
A Two Characters - This is a simple condition and applied to most rules. It requires tat both
characters exist.
B Adults - This condition is applied to flirting and dating SIs, that consists on romantic intent. It
requires to condition above to be true.
C No Romance - This condition is contained of the Date SI, and it requires that both characters
are not in a relationship already in order to start a new relationship.
64
D Is Bored - This is a condition made for a specific trigger rule. It requires the character to have
the Bored status.
5.2.2.2 Influence Rule Manager
There are thirty one unique different Influence Rules created by the Influence Rule Manager. Like
conditions, there are several nameless rules created inside SIs that are not accounted for in this list.
Four of the main Influence Rules used in CiF-Bannerlord are:
A Repetition - This Influence Rule lowers the value of the interaction based on how many SEs
have been performed by the initiator with the type of SI being calculated, in the last five interactions.
This rule prevents characters from performing the same interactions repeatedly by lowering their value.
B Is Liked - This rule uses the belief system on the character to determine if it would have success
in performing the desired SI. It searches for the belief that the initiator has based on the social feeling
entry of the receiver with the initiator as the recipient of the feeling. The higher the social feeling, the
higher the value returned by this rule. These beliefs do not account as the actual social feeling the
receiver has and the initiator could have them wrong.
C Hurtful - This Influence Rule is used for malicious SIs, like insults. It represents the desire
to be hurtful against other characters. It is calculated based on the statuses the character has. If it is
unbalanced, in the sense that it has more negative status like Angry, Ashamed or Sad than positive ones
like Happy or Confident, the rule returns a high value. The traits Honor and Careful from the personality
set also impacts the value returned.
D – Enjoy Listening - This rule is related to how much the character enjoys listening to others. It is
is only used as a Response Influence Rule in SIs. The value returned depends on the personality set.
The traits used to calculate it, are curious and kind.
5.2.2.3 TriggerRuleManager
There are only four different Trigger Rules.
A Friendly and Romantic Exchange - Two of the trigger rules are related to the type of the ex-
change. Friendly Exchange updates the feelings and beliefs of each character involved based on the
outcome and intent. Romantic Exchanges is a similar rule, being executed instead of friendly exchange,
when the exchange is romantic.
65
B Introduction - is a trigger rule that is only executed in the first exchange between two characters.
It requires a condition, NotIntroduced. This rule updates the Introduction Relation Manager and has a
strong impact on each of the characters feelings, since it functions as a first impression between the two
characters. This impact is dependant on each personality set.
C UnBored - is a rule complementary to a microtheory that applies bored statuses to characters.
This rule removes that status from characters after they perform any social exchange, either as an
initiator or as a receiver.
5.2.2.4 Social Interaction Manager
The Social Interaction Manager instantiates twenty different SIs. As seen in a previous section 4.5.1,
these interactions include rules and conditions instantiated inside the other managers. Four of the main
SIs used in CiF-Bannerlord are:
A – Complain - Characters using this SI, are complaining to the other about something. It uses Low
Honor, Likes To Speak and Enjoy Speaking influence rules for the initiator and Low Honor and Enjoy
Listening for the receiver. The dialog in this interaction is broad, in which he characters complain about
not ordinary things, like the weather.
B – Insult - This SI is used by characters that want to be mean to others. The Influence Rules used
by this interaction are Hurtful, Lower Relation, Negative and Dislikes Them for the initiator. The receiver
has the same influence rules plus Annoyed. The dialog consists on general insults in order to make the
other character uncomfortable.
C Flirt - This SI is performed with the aim to improve romantic relations from the initiator. It has
Romantic, Likes Them and Is Liked as Influence rules for the initiator, while the receiver has the same
rules plus Charming. The dialog in this SI are simple flirting sentences with the purpose to make the
other one flushed.
D Bad Mouth - This SI is talking badly about a character not present in the conversation. Char-
acters that perform this usually have low honor. The influence rules used in this SI are Low Honor, Not
Good and Negative. They talk about a character they do not like on their friendly feelings, which the
dialog lines are constructed with dialog rules on this SI. This interaction is also exclusive to the Empire
culture.
66
5.2.2.5 Dialog Manager
Dialog is instantiated in behaviours, explained on the next section 5.1.3. Although Dialog Manager does
not instantiate dialog, it is responsible for making dialog appear when inside missions/instances.
Dialog Manager is a subclass of Mission View, a Bannerlord class that has access to some aspects
of the mission/instance the player is currently in. One of these is controlling the time in the mission,
since it extends a function called Mission Tick, that is called every tick (depending on the frame rate
the game is operating on). Through this function, Dialog Manager is responsible for timing and raising
energy. There is a timer that operates each tenth of a second, that returns true to call a function to raise
energy of all available characters.
Dialog Manager has a list of Targets. Target is a Bannerlord class that is part of a feature to find
characters inside missions/instances. By pressing the Alt key, it shows on screen the distance and
name of notables as well as exits and objects relevant to the mission. This feature was re-purposed
in CiF-Bannerlord to replace the name above the agent, as their dialog. This was possible since every
character represented is an agent in the game’s engine, not only the notables which could have their
name appear.
67
68
6
Evaluation
Contents
6.1 New Lords Mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 User Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.3 Results Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
69
70
In this chapter, we will discuss two evaluation methods regarding CiF-Bannerlord. The first method
and section is an online mod created for Bannerlord. The second method and section of this chapter
is related to user tests. The objective is to prove, CiF-Bannerlord improves the experience of the play-
ers, through its characters and social environments. This improvement was measured through player
Immersion and their perception of NPC Believability.
The mod was created and published with the objective to understand the user’s enjoyment and
the impact this mod had on their game experience. This study is helpful since it targets players that
already have the game and have spent some time playing. Users usually search for mods after being
satisfied with the core experience the game has to offer. Therefore users trying the mod containing
CiF-Bannerlord are mostly experienced in the game and can return more accurate feedback regarding
the impact and differences in the mod.
Additional user tests were performed with the objective to measure the user’s Immersion and NPC
believability in social environments. These tests are performed in a controlled environment, where users
all perform the same tasks. This situation results in more statistically accurate results since their opinion
will be based on the same environment and time spent performing the tasks. Unfortunately, the user
tests do not give the same insight into the impact of the modifications, since users are not experienced
in Bannerlord like the mod users.
6.1 New Lords Mod
CiF-Bannerlord modifications were published as a mod for the game Mount and Blade II: Bannerlord
on the 31st of August of 2021. The Mod was titled ”New Lords”
1
and it was released on the site Nexus
Mods
2
. The mod was released while in development, therefore, users were asked to use the mod
Better Exception Window, to provide a clear description of errors that might occur. With this mod, it
was possible to swiftly address the bugs. The mod New Lords had continuous support until the end of
October 2021.
In Nexus Mods there are endorsements which are basically likes people award after downloading the
mod if they enjoyed it. Nexus mods also tracks not only downloads but also unique downloads, being
possible through nexus mods accounts, since there needs to be an account in order to download it.
Figure 6.1: New Lords mod data as of 20th of October 2021
1
New Lords Mod, www.nexusmods.com/mountandblade2bannerlord/mods/3272
2
Nexus Mods, www.nexusmods.com
71
In the figure above we observe mod data until the 20th of October 2021. It acquired 18 endorsements,
1,199 downloads and 12,105 views on the mod page. From the downloads, 874 are unique downloads,
from different nexus mods users.
6.1.1 Online Feedback
In order to consider the impact of the mod New Lords a questionnaire was created. This questionnaire
aimed to measure NPC believability and player immersion of users with a good understanding of the
game. Though people that search for mods are somewhat biased since they would only look for and in-
stall something they find desirable or missing in their game. Mod users are not an accurate portrait of the
seasoned player base. The questionnaire was available in the mod page and several announcements
were made in an attempt to get users to respond to it.
In the time period between the launch of the mod, in the 31st of August, up to the 20th of October,
the questionnaire only obtained five responses. Meaning the questionnaire did not accrue a reasonable
amount of responses required to perform any statistical evaluation on the data. However, there has been
some feedback in the mod page. In Nexus Mods, it is possible to leave comments/posts and to report
bugs. There have been several posts on the New Lords page, a total of forty three comments and four
formal bug reports. There were a few the posts related to bugs, crashes and errors.
Direct feedback related to the functionality and features of New Lords was overwhelmingly positive.
There was not been a single negative comment, while most of the positive ones conveyed that would
have liked this mod to be a core feature of the game. Users also conveyed ”these changes had made
the game feel more active and homey” and ”feels like really filling in the space”.
These comments convey that, although there were some issues, most users that commented on the
page, enjoyed the modifications. However, since the questionnaire did not contain a minimum number
of responses for statistical analysis, no conclusive result could be deducted.
6.2 User Tests
User tests were made in order to perceive the success of these modifications. The metrics aimed to
improve from this social system are:
Player immersion
NPC Believability
All user tests were performed in IST, Instituto Superior T
´
ecnico, at the Taguspark campus. All of the
participants were college students and young adults. A total of thirty one students participated in the
72
tests. After finishing the user test, each participant received a 5C gift card on the Steam platform
3
, as a
reward for participating in this experiment. The user’s data is anonymous and participants had to sign a
consent form to participate in the tests.
6.2.1 Instruments
Users had to answer a prepared questionnaire and perform some tasks in-game in a controlled scenario.
In order to have a more controlled playing experience, a save data was prepared so that all participants
would start from the same exact condition. The save had the main character lead a basic party with a
level one clan. It contained 20 troops so that the participants were not attacked by bandits while testing.
The party was left at a location close to the settlements needed to visit. The entire procedure took
around twenty to thirty minutes per participant.
The questionnaire used in these tests was created and answered digitally using Google Forms, which
provides a simple, fast and effective platform to create forms or questionnaires.
The questions used in the questionnaire were crafted specifically for these tests. Although already
established questions used in metrics like enjoyment, flow, presence and social believability [16] were
studied in the making of this questionnaire, these were not found to be accurate matches to the testing
situation. Therefore some questions were adapted from existing certified questionnaires, while others
were created from scratch in order to measure the determined metrics with as much accuracy as possi-
ble.
A Demographic data - consists of collecting the age group, gender, general games playtime as
hours per week and the user’s affinity for social aspects of games. Playtime can give an insight into
some problems occurring when analyzing the data. A population not used to playing games could skew
data since they would not be as accustomed to the testing environment as desirable. Users with very
low affinity for the social aspect of games could also skew the data since they would be uninterested in
the testing environment present in these user tests. One of the questions to test this problem, was if the
user usually finds characters they dislike, in order to test their usual emotional attachment. The other
question targeted to this problem was if the user usually skips dialog, to test if they are uninterested in
the dialog or get bored easily in this type of tasks.
B Player Immersion - is one of the main metrics used to test the success of CiF-Bannerlord.
Questions in this metric were related to the social environment encountered in the test and how well the
characters developed fit into the game or activities performed. Two questions were related to the social
environment, which was the tavern inside a settlement. One question asked if they found the tavern to
3
Steam, https://store.steampowered.com/
73
be immersive in the sense of enjoying and relating to the tavern environment to a real one. Another
question was if the users found the tavern interesting in the sense of having several occurrences and
interactions. The other two questions were related to the characters. One of them asked users if they
would like to meet new characters, to test if they were interesting enough. The last question asked in
this metric was if they think the personalities in NPCs fit in the game, testing if they are unusual and
break the player’s immersion.
C – NPC Believability - is the other main metric used to test the success of CiF-Bannerlord. Ques-
tions in this metric were used to test the user’s perception of the characters, how they behaved and
communicated. Users were asked if it was easy to manipulate conversations, in order to determine if
the characters offer meaningful conversations and are believable in their interactions. Another question
asked was if the users identified with the characters, proving if CiF-Bannerlord NPCs are believable
enough to make users relate to their actions or reactions. Users were also asked if they felt like the
characters had emotions. Testing if their personality was believable enough to convey emotions.
Four closed questions were used in the questionnaire to test the user’s perception of the NPCs
personalities and the user’s attachment to the characters in-game. The first two questions were, if they
found someone nice/friendly and if they found someone annoying. These two traits should be relatively
easy to track in CiF-Bannerlord, based on the interactions between the player and character and their
frequency. The last two questions asked in this metric were if the users felt like they made a friend,
or if they felt like they made a character dislike them. These questions were aimed to test the user’s
attachment to the connection and relations created when performing the study.
D Interaction Enjoyment - Another metric used in this study was enjoyment related to the inter-
actions performed. The main objective was to improve the users’ experience, through better Social AI.
For this purpose interactions with NPCs should be enjoyable. There was one question in this metric that
asked if users would like to perform more interactions with characters, like the ones they did in the test.
74
Figure 6.2: Questions present in the questionnaire and their respective metrics
The table 6.2 illustrates all the questions asked in the questionnaire and maps them to their respective
explanation, labels and study metric. The labels help to identify the questions in the next graphs, tables
and respective explanations.
Due to the structure of the tests, it is necessary to separate data into two versions. Version A
corresponds to the task with the CiF-Bannerlord modifications. Version B corresponds to the task in
the base game, without the CiF-Bannerlord modifications. Every question, except profiling ones, is
present in each part of the questionnaire related to the tasks. Therefore there are two versions, A and
B, for each question.
6.2.2 Procedure
The procedure has five steps, three of each are answering the questionnaire and two tasks playing
the game. Participants alternate between filling in the questionnaire and playing. The first step, from
the questionnaire, is related to the profiling questions. Afterwards the participant starts playing the
game and performing a task. At the end of each task, the participant answers a set of questions in the
questionnaire related to the task.
75
Figure 6.3: Graph detailing the procedure
One of the tasks is performed in the base game without the CiF modifications/New Lords mod (Ver-
sion B) and the other one is a similar task but with the modifications of CiF-Bannerlord (Version A).
Participants were asked to travel to a nearby tavern. Upon arriving at the tavern they are tasked to
observe the characters and their behaviour. Afterwards, players need to speak to at least three different
characters inside the tavern. After finishing the conversations, participants are asked to repeat these
sub-tasks, in another tavern, close by to the one they are in. This tavern has a different culture than the
previous one. These simple objectives conclude the first task, players are asked to close the game and
answer the questionnaire’s part of the first task.
The other task consists of closing the game and booting it with the mod New Lords enabled. The
second task is very similar to the first task, besides requiring CiF-Bannerlord modifications, participants
are also asked to converse at least three times with the same character, instead of just different ones.
This difference is due to the lack of conversation choices within the base game, it was not possible to
ask the subtask of conversing at least three times with the same character in the first task. Usually, in
the user tests, participants would speak with several characters, most of them would, in fact, converse
with more than ten different characters in the second task.
Due to this procedure having repeated measures, two versions of the procedure were created with
the tasks being performed with different orders.
6.2.3 Issues
This procedure for the user tests results in a relatively quick test, averaging about twenty to thirty minutes
per participant. The procedure was aimed to test the NPC Believability and player immersion, however,
it was not possible to include testing for one of CiF-Bannerlord’s main features, rumors. This feature is
most notable and impactful to users playing over a relatively large amount of time. The gossip created
76
around the player’s or other characters’ actions, notions of battles and wars are all elements connected
to longer playtime which cannot be achieved through the short gameplay in these user tests.
One of the main issues with these user tests was that each test could develop different results
since the participants were not given instructions on specific characters to talk to. This problem arises
with the nature of the New Lords mod itself, since the load of the tavern (or any social environment)
is procedurally generated, where it is impossible to foresee where each character/personality is going
to be. Forcing participants to converse with specific characters would also hinder their immersion by
removing their choice to interact with characters of their choosing.
6.2.4 Data Analysis
In order to simplify the analysis process, a cronbach’s alpha test was performed, grouping questions
with their respective metric. Only scale-type questions were considered for this test.
Table 6.1: Metrics and their respective cronbach’s alpha
A B
Immersion 0.675 0.903
Believability 0.434 0.902
Considering 0.7 as the minimum value for accepted to aggregate questions, we can conclude based
on the results displayed in the table above, that these questions should not be grouped as a single vari-
able. Although questions in version B both represent excellent cronbach’s alpha values, these cannot be
grouped since they will be directly analyzed with the version A questions. In version A Immersion ques-
tion group the value is close to the minimum, however, it was not possible to raise it further. Removing
any question from this group would lower the value. With this information in mind, the questions will be
evaluated individually.
A shapiro-wilk normality test was applied to determine if the data was parametric. The results showed
that the data was not parametric, therefore the non-parametric test selected to perform statistical anal-
ysis was the Wilcoxon signed-rank test. The chosen test for closed questions was the chi-square for
association test.
6.2.4.1 Demographic Data
There were a total of thirty one participants, were 97% where male and 3% were female. Since the
participants were college students, the entire population of this study is contained in the 18 to 25 age
group. In this set there were no participants with prior knowledge or experience in the Bannerlord base
game, meaning this test was their first impression of the game.
77
Figure 6.4: Playtime in hours of gaming per week intervals and their count
The graph above represents the participants’ dedicated playtime hours per week. We can observe a
balanced set of participants, where the majority is somewhat comfortable with games.
Figure 6.5: Usual emotional attachment to characters in-game
The graph above represents how participants usually view characters and how attached they can
become to them. By usually finding characters the user dislikes we can conclude they are usually
minimally attached emotionally to games. A population that is normally apathetic to this type of situations
could skew data, since they would be mostly uninterested in the testing environment. Fortunately, as we
can observe in the graph this is not the case for this study.
78
Figure 6.6: Likelihood to skip dialog
The graph above represents the frequency in which participants skip dialog. Similar to the previous
question, a population that usually skips dialog could skew data. Luckily, this set does not seem to have
a large proportion of possibly disinterested participants.
6.2.4.2 Player Immersion
In order to perceive the difference between the versions A and B questions regarding Player Immersion,
a boxplot was created using median values. The questions represented in the graph were Likert scale
questions with values between 1 and 7, where 1 meant the participants disagreed completely with the
statement while 7 meant the participants agreed completely.
79
Figure 6.7: Boxplot illustrating immersion question comparison based on version
The graph demonstrates that version A questions have consistently higher median values than ver-
sion B. It is positive to have higher median and quartiles values since for example, in the Immersive
Tavern, the higher the value the more participants agree that the tavern was immersive.
We can also see version A questions have their quartiles close to the median value, demonstrating
a concise set. The ends of the box are close as well, except in the question Meet Character version A
where it demonstrates a more distributed set of results than the others.
Table 6.2: Wilcoxon signed-rank test with their respective Z-values, p-values and r-values
Interest Tavern Fitting Personalities Meet Character Immersive Tavern
z-value 3.833 2.960 2.388 4.145
p-value 0.000 0.003 0.017 0.000
r-value 0.688 0.531 0.429 0.744
The p-value represented in the table indicates whether or not the results have statistical significance.
Values below 5% or 0.05 are considered positive, which prove significance. As we can observe in
the table, all of the questions present an p-value below 0.05, meaning all of them are statistically
significant. The effect size, r-value, was calculated in order to test the impact of this significance.
80
r =
z
N
(6.1)
This formula presents r, the effect size, where z is the z-value obtained from the Wilcoxon signed-
rank test and N is the number of samples, that is the number of participants. N, in this case, is 31.
The interval to consider the size of r-value is 0.1 to 0.3 for a small effect, 0.3 to 0.5 for a moderate
effect and larger than 0.5 for a large effect. Considering this and the results presented in the table for
the r-value, we can conclude most questions have a large effect size. The question Meet Character
has a medium, but close to strong effect.
Based on these tests, we can conclude CiF-Bannerlord was successful in improving the Player
Immersion.
6.2.4.3 NPC Believability
The NPC Believability has two sections in data analysis, the first regarding Likert scale questions and
the second regarding closed questions.
The question Manipulate Conversation in particular had its results inverted into Neg-Manipulate Con-
versation. Since the question was formulated in a negative sense where the higher the value, the more
the participants agreed that it was easy to manipulate the characters. Although it is positive to have an
environment where it is possible to manipulate characters and conversations, it is not ideal to be easy
to do it. Characters very easily manipulated break their believability as emotional and thinking entities.
Since the ease for manipulation is considered a negative value, and in order to maintain the consistency
where it is positive having higher values, the question was inverted.
81
Figure 6.8: Boxplot illustrating believability question comparison based on version
The graph above demonstrates that participants found it was much easier to manipulate conver-
sations in CiF-Bannerlord than the base game since the value for version A is significantly lower than
version B, which is a negative value for the study. We can observe that in both versions the data is
dispersed.
Regarding the questions Have Emotion and Identify with Character, we can conclude the mod has
made a positive impact. Both boxplots represent much higher values for version A than version B. In
the graph we can also observe a concise set of data regarding version A questions. Version B presents
a more dispersed set, but nevertheless significantly lower values.
Table 6.3: Wilcoxon signed-rank test with their respective Z-values, p-values and r-values
Have Emotion Identify with Character Neg-Manipulate Conversation
z-value 4.730 3.745 -4.065
p-value 0.000 0.000 0.000
r-value 0.850 0.672 -0.730
In the table above we can see that all p-values are 0 and therefore below 5%, which means all
questions are statistically significant. Given that the questions have significance, the next step is
figuring the effect size of it. Using the formula 6.1, the r-values were calculated. All questions contain a
large effect size. As we distinguished previously, Neg-Manipulate Conversation presents lower values
in version A. The z-value of this question is negative because it was calculated based on the negative
82
ranks instead of the positive as other questions. Based on the significance and large effect size, we can
conclude this question did indeed players feel conversations were easier to manipulate. This occurrence
might be due to the fact that participants did not find any possibility to manipulate without the mod, since
the content in conversations is much more limited.
In the graph 6.8 we can observe that the Have Emotion question version B has an extremely dis-
perse and low set of values. Comparing it to version A in this question we can see one of the largest
differences accounting for all box plots in this study. Pairing this information with the largest effect size,
we can conclude CiF-Bannerlord seems to have the most impact in improving the emotional perception
of players.
The purpose of the four closed questions is also to test NPC Believability, but more specifically, to
account for the participant’s perception of the characters’ personality set and of the emotional attachment
developed with characters.
Bar graphs were developed to demonstrate the difference between versions. Blue bars mark version
A, while red mars version B. The questions Nice and Annoying are related to the perception of the
personality and below are presented the respective graphs.
Figure 6.9: Count of the Nice question
83
Figure 6.10: Count of the Annoying question
As we can observe in both questions, version A questions have a substantially higher percentage of
finding friendly/nice and annoying characters than version B. Because of this disparity in the values
analysed in the two graphs above, we can conclude the mod had a positive impact in the user’s
perception of the characters personality. In order to test the significance of these values, a chi-square
for association test was made. Both Nice and Annoying questions have a p-value of 0.000. Since the
value is below 0.05 or 5% we can conclude these results are statistically significant.
Figure 6.11: Count of the Friend question
84
Figure 6.12: Count of the Enemy question
Similar to previous closed questions, in the graphs above we can clearly see version A questions
have substantially higher percentage of participants that feel like they made a friend or an enemy in
CiF-Bannerlord version B. Considering this, we can confirm the mod has a strong positive impact in
the user’s emotional attachment to characters in-game. The chi-square for association tests present
p-values of 0.000 in both Friend and Enemy questions. Since the value is below 0.05 we can conclude
these questions are statistically significant.
Considering the scale and closed questions both present positive results, with significant statisti-
cal meaning and respective large effect size, we can conclude CiF-Bannerlord was successful at im-
proving NPC Believability when compared to the original game. Excluding the question Manipulate
Conversation, since it has contrary values and they might be due to the fact as conversations became
complex and with enough content to manipulate. Nevertheless, it seems conversations might be too
easily manipulated which can be considered a flaw in CiF-Bannerlord.
6.2.4.4 Interaction Enjoyment
Although it was not one of the main metrics, in the questionnaire there was a question measuring the
enjoyment participants had with the interactions in the New Lords mod.
85
Figure 6.13: Boxplot with enjoyment difference regarding version
Once more it is displayed in the graph, version A with substantially higher values than version B.
This translates to a positive impact in the user enjoyment. Excluding some outliers in version A, we
can see it has a concentrated set of data, contrary to version B with a more dispersed set. In order to
test the significance of these results, the Wilcoxon signed-rank test showed a z-value of 3.962 and a
p-value of 0.000. We can conclude that this question is statistically significant. The effect size was
calculated using the formula 6.1, which returned a r-value of 0.712. Considering these values we can
conclude this data has a large effect size and it is statistically significant. Although we can obverse
that CiF-Bannerlord has provided more enjoyable interactions with NPCs, there was only one question
related to measuring enjoyment therefore, conclusions in this metric are limited.
6.2.5 Participant Feedback
At the end of the procedure, some of the participants decided to add some informal feedback regarding
the experiment.
A – Relation progress indication - Some participants conveyed they wanted some sort of progress
bar or indication of the relation between the player and other characters. The base game already has
this mechanic, with a number indicating the relation between the player and notables or lords. However
other characters do not, like the townsmen, CiF-Bannerlord allows these relationships to exist with every
other character. The progress indication translates to some lack of immersion regarding the emotional
state of the characters. Although a solid and desirable gameplay feature, this would not reflect realistic
personalities, since people do not have a progress bar and would instead rely on conveying characters
as game tools/pieces.
86
B Impactful Relations - Some participants mentioned they wanted relationships to have more
impact on the gameplay aspect. They felt the relationship they were forming was useless since they
would not be gaining or achieving anything with it. Once more demonstrates a great gameplay feature,
that would possibly convey characters as tools to gain bonuses. Participants gave examples such as
being possible to recruit units at cheaper (or steeper) prices, gain promotions or punishments such as
more or fewer quests and receive items.
6.3 Results Conclusion
There were two different methods of evaluating the success of the CiF-Bannerlord modifications, an
online mod and user tests. The mod was available to anyone willing to install and play. Mod users were
asked to answer a questionnaire that, unfortunately, did not reach an appropriate number of responses
to have statistical significance. However, the online feedback provided by these users was positive.
The second method was user tests that accrued a total of thirty one participants. The purpose of
these tests was to test the impact on player Immersion and NPC Believability.
Regarding the player Immersion metric, there were four questions present in the questionnaire that
tested it. Considering the all questions present statistical significance with large effect size and consider-
ing the results presented in the figure 6.7, we concluded CiF-Bannerlord was successful in improving
player Immersion.
Regarding the NPC Believability metric, there were two sets of questions. There were three scale-
type questions that tested this metric. The 6.8 illustrates two of the questions as having a positive
impact and the question Neg-Manipulate Conversation with negative impact. These questions presented
statistical significance with large effect sizes. We deduced the negative result as the fact users could
not manipulate simple conversations, and the CiF-Bannerlord complexity made this feature possible.
However, based on these three questions, we concluded an overall positive impact on NPC Believability.
The closed questions present statistical significance and demonstrate a clear improvement based on
the results analyzed. Considering all the questions in this metric, we concluded the CiF-Bannerlord was
successful in improving NPC Believability.
With only one question to test the Interaction Enjoyment, with statistical significance and respective
large effect size, we concluded this metric to have improved Interaction Enjoyment. However, this
metric presents limited conclusions due to the low number of questions.
Based on all of the results studied in section 6.2, we can conclude that CiF-Bannerlord was success-
ful in creating a set of NPCs that provide satisfactory social interactions.
87
88
7
Conclusion
Contents
7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
89
90
CiF-Bannerlord was developed with the objective to create a set of believable Non-Playable Char-
acters in the game Mount and Blade II: Bannerlord in order to improve the immersion and provide
satisfactory social interactions for the player.
CiF-Bannerlord has brought changes to the base game through:
Characters - The NPCs gained unique personality sets that allowed them to stand out from each
other. They gained statuses, memory and feelings that allowed them to have volitions and de-
sires. Characters have cultural differences, based on the base game’s cultures, and gain specific
attributes to be distinct from one another. These features make NPCs believable to players.
Conversations - Players can interact with NPCs, with more engaging conversations. Besides
all the options contained in the base game, CiF-Bannerlord offers new options for dialog, being
possible to perform new interactions with all characters.
Environments - After entering a social environment like the tavern, players can observe the NPCs
interact with each other. CiF-Bannerlord transforms these environments to become more lively
places with NPCs performing actions independent from the player.
Reactive World - CiF-Bannerlord helps to make the world a reactive place since characters talk
about recent events. Interactions with or between NPCs have consequences and can generate
gossip. Players enter a world that is independent of them, where characters react to news.
Considering the Online feedback and the results from User tests we can conclude CiF-Bannerlord
modifications were successful in improving users Immersion and NPC Believability.
CiF-Bannerlord is a CiF model inspired in the previous iterations, CiF-CK and CiF-Ex, and it was
developed specifically into the Mount and Blade II: Bannerlord. However, this model can be applied to
other games in an attempt to improve the player’s Immersion and NPC Believability.
7.1 Future Work
Although CiF-Bannerlord is considered a successful implementation of a Social Artificial Intelligence
architecture, it is an implementation with room to grow and become more robust.
A – Rules and Interactions - The CiF-Bannerlord engine was built to be extensible and efficient. It
is easy to create and add any kind of simple rules, interactions or dialog within the code of the project.
It is also straightforward to add more complex rules or interactions, depending only on the complexity
of the rule itself. Adding more content has the problem of authoring every step, and it also requires to
be added within the code of the project. A significant improvement on this system would be to create a
91
system that reads and stores these rules and interactions in configuration files. This could provide users
or modders with a way to upgrade the model without the need to modify the base code.
B Dialog system - Similar to the previous point of rules and interactions, the CiF-Bannerlord en-
gine was built to be extensible and efficient regarding dialog. The same easiness to add dialog lines
or dialog rules can be seen in the system. However, even more important than the previous point, a
significant improvement would be to create a system that stores the dialog in configuration/dialog files.
Dialog was written in English in CiF-Bannerlord, and the only possible method of changing it is through
the code files. With dialog contained in files, it would give access to users and modders to change, add
or replace dialog, as well as offering the possibility of different languages support.
C Rumors/Lies - A scrapped feature from CiF-Bannerlord was Lies. These were supposed to be
rumors that did not happen, NPCs would invent these to generate confusion, to lower or raise the stature
of other characters or just to try to seem interesting. This feature could introduce a layer of immersion
where the player would have to figure out what rumors are true or not. Maybe it would be possible for
the player to generate rumors themselves, in order to manipulate situations as they see fit.
D – More testing More tests would prove useful to better understand the impact of CiF-Bannerlord.
Utilizing users that are experienced with the base game could tell us more accurate results. These users
could try the modifications for longer periods of time, having a greater understanding of how repetitive
or interesting the changes are. With experienced users, we could also test the impact of rumors or the
cultural differences implemented, that could not be tested using other users.
92
Bibliography
[1] Arakji, R.Y., Lang, K.R.: Digital consumer networks and producer-consumer collaboration: inno-
vation and product development in the video game industry. Journal of Management Information
Systems 24(2), 195–219 (2007)
[2] Bogdanovych, A., Trescak, T., Simoff, S.: What makes virtual agents believable? Connection Sci-
ence 28(1), 83–108 (2016)
[3] Guimaraes, M., Santos, P., Jhala, A.: Cif-ck: An architecture for social npcs in commercial games.
In: 2017 IEEE Conference on Computational Intelligence and Games (CIG). pp. 126–133. IEEE
(2017)
[4] Guimar
˜
aes, M., Santos, P., Jhala, A.: Prom week meets skyrim. In: AAMAS. pp. 1790–1792 (2017)
[5] Jennett, C., Cox, A.L., Cairns, P., Dhoparee, S., Epps, A., Tijs, T., Walton, A.: Measuring and
defining the experience of immersion in games. International journal of human-computer studies
66(9), 641–661 (2008)
[6] Marchand, A., Hennig-Thurau, T.: Value creation in the video game industry: Industry economics,
consumer benefits, and research opportunities. Journal of interactive marketing 27(3), 141–157
(2013)
[7] Mascarenhas, S., Guimar
˜
aes, M., Prada, R., Dias, J., Santos, P.A., Star, K., Hirsh, B., Spice, E.,
Kommeren, R.: A virtual agent toolkit for serious games developers. In: 2018 IEEE Conference on
Computational Intelligence and Games (CIG). pp. 1–7. IEEE (2018)
[8] Mateas, M., Stern, A.: A behavior language for story-based believable agents. IEEE Intelligent
Systems 17(4), 39–47 (2002)
[9] Mateas, M., Stern, A.: Fac¸ade: An experiment in building a fully-realized interactive drama. In:
Game developers conference. vol. 2, pp. 4–8 (2003)
[10] McCoy, J., Treanor, M., Samuel, B., Reed, A., Mateas, M., Wardrip-Fruin, N.: Prom week: Designing
past the game/story dilemma. In: FDG (2013)
93
[11] McCoy, J., Treanor, M., Samuel, B., Reed, A.A., Mateas, M., Wardrip-Fruin, N.: Social story worlds
with comme il faut. IEEE Transactions on Computational Intelligence and AI in Games 6(2), 97–112
(2014). https://doi.org/10.1109/TCIAIG.2014.2304692
[12] McCoy, J., Treanor, M., Samuel, B., Mateas, M., Wardrip-Fruin, N.: Prom week: social physics as
gameplay. In: Proceedings of the 6th International Conference on Foundations of Digital Games.
pp. 319–321 (2011)
[13] McCoy, J., Treanor, M., Samuel, B., Reed, A.A., Wardrip-Fruin, N., Mateas, M.: Prom week. In:
Proceedings of the International Conference on the Foundations of Digital Games. pp. 235–237
(2012)
[14] McCoy, J., Mateas, M., Wardrip-Fruin, N.: Comme il faut: A system for simulating social games
between autonomous characters (2009)
[15] Morais, L., Dias, J., Santos, P.A.: From caveman to gentleman: a cif-based social interaction model
applied to conan exiles. In: Proceedings of the 14th International Conference on the Foundations
of Digital Games. pp. 1–11 (2019)
[16] Nadolski, R., UOB, L.Y., Humphreys, S., Bazzanella, B., Mascarenhas, S.: Ms8–first pilot validation
instruments. Integration 5, 09–11 (2016)
[17] Samuel, B., Reed, A.A., Maddaloni, P., Mateas, M., Wardrip-Fruin, N.: The ensemble engine:
Next-generation social physics. In: Proceedings of the Tenth International Conference on the Foun-
dations of Digital Games (FDG 2015). pp. 22–25 (2015)
[18] Scherer, K.R.: Appraisal theory (1999)
[19] Treanor, M., McCoy, J., Sullivan, A.: A framework for playable social dialogue. In: Twelfth Artificial
Intelligence and Interactive Digital Entertainment Conference (2016)
[20] Zhong, Z.J.: The effects of collective mmorpg (massively multiplayer online role-playing games)
play on gamers’ online and offline social capital. Computers in human behavior 27(6), 2352–2363
(2011)
94
A
Appendix
In this appendix, there is the material used for the user tests, which was performed in IST, Instituto
Superior T
´
ecnico, at the Taguspark campus. The questionnaire, consent form and procedure were
developed in Portuguese. The first six pages are from the questionnaire, which was answered digitally.
The printing of the questionnaire pages raised some issues like not being able to see the full scale on
some questions. After the questionnaire, there is the consent form which is one page long. The last four
pages are from the procedure, where the first two pages correspond to the Order BA (the first task is
without the mod), and the last two pages correspond to the Order AB (the first task is with the mod).
95
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
1/7
Informação Pessoal
1.
Mark only one oval.
< 18 anos
18-25 anos
26-35 anos
36-50 anos
51-65 anos
> 65 anos
2.
Mark only one oval.
Masculino
Feminino
Other
New Lords Mod
Obrigado pela sua participação nesta experiencia. Este questionário foi feito especificamente
para uma estudo sobre o impacto da Inteligência Artificial nos jogos.
Todas as respostas são animas e toda e qualquer data recebida será usada estritamente e
apenas neste projeto.
O questiorio não deve demorar mais de 10 minutos para responder. Ao continuar está a
consentir que as suas respostas sejam recolhidas e analisadas.
Versão 1
*Required
Quantos anos têm? *
Qual é o seu género? *
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
2/7
3.
Mark only one oval.
< 1 hora
1 - 5 horas
6 - 10 horas
11 - 20 horas
21 - 30 horas
> 30 horas
4.
Mark only one oval per row.
Tarefa 1
As perguntas seguintes pertencem à tarefa 1. Quando estiver feita clique para continuar.
Bannerlord
Normalmente, dedica quantas horas por semana a jogar? *
Por favor escolha a resposta que se adecua mais relativamente às frases abaixo em relação
à sua experiência com jogos em geral. *
1-
Discordo
totalmente
2 -
Discordo
3 -
Discordo
levemente
4 - Não
concordo
nem
discordo
5 -
Concordo
levemente
6 -
Concordo
7 -
Concordo
totalmente
Sempre que
posso, evito
diálogo
Encontro
sempre
personagens
que
desgosto
Sempre que
posso, evito
diálogo
Encontro
sempre
personagens
que
desgosto
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
3/7
5.
Mark only one oval per row.
Por favor escolha a opção que se adecua melhor com a sua experiência em relação a ultima
tarefa que fez. *
1-
Discordo
totalmente
2 -
Discordo
3 -
Discordo
levemente
4 - Não
concordo
nem
discordo
5 -
Concordo
levemente
6 -
Concordo
t
A taberna é um local
interessante e cheio de
vida
As personalidades das
personagens parecem
enquadrar bem no jogo
Estava ansioso para
conhecer novas
personagens
Senti que as
personagens tinham
emoções
Senti me imerso na
taberna
Senti que era fácil
manipular as
conversas/personagens
Gostaria de interagir
deste modo com mais
personagens
Consigo me identificar
com personagens
presentes
A taberna é um local
interessante e cheio de
vida
As personalidades das
personagens parecem
enquadrar bem no jogo
Estava ansioso para
conhecer novas
personagens
Senti que as
personagens tinham
emoções
Senti me imerso na
taberna
Senti que era fácil
manipular as
conversas/personagens
Gostaria de interagir
deste modo com mais
personagens
Consigo me identificar
com personagens
presentes
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
4/7
6.
Mark only one oval.
Other:
Sim
o
7.
Mark only one oval.
Other:
Sim
o
8.
Mark only one oval.
Other:
Sim
o
9.
Mark only one oval.
Other:
Sim
o
Tarefa 2
As perguntas seguintes pertencem à tarefa 2. Quando estiver feita clique para continuar.
Conseguiu encontrar alguém simpático? *
Conseguir encontrar alguém irritante?
Sentiu que fez algum amigo?
Sentiu que fez alguém não gostar da sua personagem?
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
5/7
New Lords Bannerlord
10.
Mark only one oval per row.
Por favor escolha a opção que se adecua melhor com a sua experiência em relação a ultima
tarefa que fez. *
1-
Discordo
totalmente
2 -
Discordo
3 -
Discordo
levemente
4 - Não
concordo
nem
discordo
5 -
Concordo
levemente
6 -
Concordo
t
A taberna é um local
interessante e cheio de
vida
As personalidades das
personagens parecem
enquadrar bem no jogo
Estava ansioso para
conhecer novas
personagens
Senti que as
personagens tinham
emoções
Senti me imerso na
taberna
Senti que era fácil
manipular as
conversas/personagens
Gostaria de interagir
deste modo com mais
personagens
Consigo me identificar
com personagens
presentes
A taberna é um local
interessante e cheio de
vida
As personalidades das
personagens parecem
enquadrar bem no jogo
Estava ansioso para
conhecer novas
personagens
Senti que as
personagens tinham
emoções
Senti me imerso na
taberna
Senti que era fácil
manipular as
conversas/personagens
Gostaria de interagir
deste modo com mais
personagens
Consigo me identificar
com personagens
presentes
10/28/21, 1:10 AM
New Lords Mod
https://docs.google.com/forms/d/1sy04CLm-3n7UW6UssoJeZwy12Jjg93D4GwuO0bQAIbs/edit
6/7
11.
Mark only one oval.
Other:
Sim
o
12.
Mark only one oval.
Other:
Sim
o
13.
Mark only one oval.
Other:
Sim
o
14.
Mark only one oval.
Other:
Sim
o
Obrigado por participar.
Acabou tudo no teste. Muito obrigado pela sua contribuão.
Conseguiu encontrar alguém simpático? *
Conseguir encontrar alguém irritante?
Sentiu que fez algum amigo?
Sentiu que fez alguém não gostar da sua personagem?
New Lords Teste de utilizador
Investigador responsável:
Filipe Silveira
flipslv98@gmail.com
Caro/a participante,
Este teste de utilizadores pertence a um estudo que pretende analisar o impacto da
Inteligência Artificial nos jogos. Neste teste vai testar a Inteligência Artificial
adicionada pelo mod New Lords ao jogo Mount & Blade II: Bannerlord.
Nesta sessão terá de completar duas tarefa semelhantes e completar um questionário
em paralelo. Uma das tarefas é no jogo base e a outra tarefa é com o mod New Lords.
Cada tarefa terá uma duração de 5 a 10 min, o questionário terá também uma duração
de 5 a 10 min e a experiencia terá uma duração total entre 20 a 40 mins.
A qualquer momento poderá colocar qualquer dúvida que tenha. A sua participação
é voluntária e poderá desistir a qualquer momento sem qualquer penalização ou
consequência.
Para participar nesta experiência, pedimos-lhe que leia o consentimento informado e
caso concorde em participar de acordo com os termos abaixo, pedimos-lhe que
assine o formulário no local indicado.
Obrigado pela sua colaboração!
1 - Li e compreendi o significado deste estudo. Tive a oportunidade de colocar
questões, caso necessário, e recolher as respetivas respostas.
2 - Compreendo que a participação neste estudo é voluntária e que posso desistir a
qualquer momento, sem apresentar qualquer explicação. Caso tal aconteça, não serei
alvo de qualquer penalização e os dados relativos à minha experiência serão
removidos e destruídos.
3 - Autorizo o processamento dos dados no âmbito deste projeto para fins de análise,
investigação e disseminação de resultados em publicações científicas ou
conferências na área do projeto, pelos investigadores deste projeto.
4 - Compreendi que os dados recolhidos neste estudo serão utilizados como
mencionado anteriormente.
5- De acordo com o descrito acima, autorizo a minha participação neste estudo e
aceito as suas condições.
O/A participante Data
__________________________________ ___________________________
New Lords Teste de utilizador
Investigador responsável:
Filipe Silveira
flipslv98@gmail.com
1. Abra e faça o questionario até a parte da primeira tarefa.
https://docs.google.com/forms/d/e/1FAIpQLSe-
tsZm673uaY64altfWRrO2fSdlFB3NpSnP77ySJEFK0LMNg/viewform?usp=sf_link
2. Primeira tarefa (5-10 min)
2.1. Inicie o jogo e selecione “Continue Campaign”
2.2. Desloque-se até a cidade de Amprela e entre na taverna (Enter tavern district)
2.2.1. Observe as personagens e os seus comportamentos (1 or 2 min)
2.2.2. Fale com 3 personagens diferentes
2.3. Saia da taverna (Fique a pressionar Tab -> Leave tavern -> Leave)
2.4. Desloque-se até a cidade de Makeb (à direita de Amprela) e entre na taverna
2.4.1. Observe as personagens e os seus comportamentos (1 or 2 min)
2.4.2. Fale com 3 personagens diferentes
2.5. Feche o jogo sem gravar (Esc -> Exit to main menu -> Exit Game)
3. Acabou a tarefa, prossiga para o questionário até a parte da segunda tarefa.
4. Segunda Tarefa (10 min)
New Lords Teste de utilizador
Investigador responsável:
Filipe Silveira
flipslv98@gmail.com
4.1. Inicie o jogo com o mod New Lords ativado e selecione “Continue Campaign”
(antes de carregar no play precisa de ativar o mod na tab de mods)
4.2. Desloque-se até a cidade de Amprela e entre na taverna
4.2.1. Observe as personagens e os seus comportamentos (1 or 2 min)
4.2.2. Faça 3 interações de “Converse” com a mesma personagem (à sua
escolha)
4.2.3. Fale com 3 personagens diferentes
4.3. Desloque-se até a cidade de Makeb (à direita de Amprela) e entre na taverna
4.3.1. Observe as personagens e os seus comportamentos (1 or 2 min)
4.3.2. Faça 3 interações de “Converse” com a mesma personagem (à sua
escolha)
4.3.3. Fale com 3 personagens diferentes
5. Acabou a tarefa, prossiga para o questionário.
6. Acabou as tarefas. Se quiser pode continuar a conversar com as personagens
(maximo 10 minutos).
New Lords Teste de utilizador
Investigador responsável:
Filipe Silveira
flipslv98@gmail.com
1. Abra e faça o questionario até a parte da primeira tarefa.
https://docs.google.com/forms/d/e/1FAIpQLSdmjlVr0dXtzv_w6FAq8jM9qtWbkxLSE7
4lD2NhfFZZIA4pQg/viewform?usp=sf_link
2. Primeira Tarefa (10 min)
2.1. Inicie o jogo com o mod New Lords ativado e selecione “Continue Campaign”
quando entrar o menu principal
2.2. Desloque-se até a cidade de Amprela e entre na taverna
2.2.1. Observe as personagens e os seus comportamentos (1 or 2 min)
2.2.2. Faça 3 interações de “Converse” com a mesma personagem (à sua
escolha)
2.2.3. Fale com 3 personagens diferentes
2.3. Saia da taverna (Fique a pressionar no Tab -> Leave Tavern -> Leave)
New Lords Teste de utilizador
Investigador responsável:
Filipe Silveira
flipslv98@gmail.com
2.4. Desloque-se até a cidade de Makeb (à direita de Amprela) e entre na taverna
2.4.1. Observe as personagens e os seus comportamentos (1 or 2 min)
2.4.2. Faça 3 interações de “Converse” com a mesma personagem (à sua
escolha)
2.4.3. Fale com 3 personagens diferentes à sua escolha)
2.5. Feche o jogo sem gravar
3. Acabou a tarefa, prossiga para o questionário até a parte da segunda tarefa.
4. Segunda tarefa (5-10 min)
4.1. Inicie o jogo com o mod New Lords desativado e selecione “Continue
Campaign” quando entrar o menu principal
4.2. Desloque-se até a cidade de Amprela e entre na taverna
4.2.1. Observe as personagens e os seus comportamentos (1 or 2 min)
4.2.2. Fale com 3 personagens diferentes
4.3. Saia da taverna (Fique a pressionar no Tab -> Leave Tavern -> Leave)
4.4. Desloque-se até a cidade de Makeb (à direita de Amprela) e entre na taverna
4.4.1. Observe as personagens e os seus comportamentos (1 or 2 min)
4.4.2. Fale com 3 personagens diferentes
5. Acabou a tarefa, prossiga para o questionário.
6. Acabou as tarefas. Se quiser pode continuar a conversar com as personagens
(maximo 10 minutos).
107