  Believable Non-Player Characters (NPCs) help motivate player engagement with
narrative-driven games. An important aspect of believable characters is their
contextually-relevant reactions to changing situations, which emotion often
drives in humans. Therefore, giving NPCs "emotion" should enhance their
believability. For adoption in industry, it is important to create tool
development processes to build NPCs "with emotion" that fit current development
practices. Psychological validity-the grounding in affective science-is a
necessary quality for plausible emotion-driven NPC behaviours. Computational
Models of Emotion (CMEs) are one solution because they use at least one
affective theory/model in their design. However, CME development tends to be
under documented so that its processes seem unsystematic and poorly defined.
This makes it difficult to reuse a CME's components, extend or scale them, or
compare CMEs. This work draws from software engineering to propose three
methods for acknowledging and limiting subjectivity in CME development to
improve their reusability, maintainability, and verifiability: a systematic,
document analysis-based methodology for choosing a CME's underlying affective
theories/models using its high-level design goals and design scope, which
critically influence a CME's functional requirements; an approach for
transforming natural language descriptions of affective theories into a
type-based formal model using an intermediate, second natural language
description refining the original descriptions and showing where and what
assumptions informed the formalization; and a literary character analysis-based
methodology for developing acceptance test cases with known believable
characters from professionally-crafted stories that do not rely on specific CME
designs. Development of EMgine, a game development CME for generating NPC
emotions, shows these methods in practice.
