Runtime · v0.6.2 · netstandard2.1

Personality Engine

A reusable C# socio-emotional engine for games. Events go in; a named-channel affect snapshot and optional action weights come out. Modular middleware, not a frozen psychology stack.

What it does

Hosts send typed world events. Providers write into a snapshot keyed as layer.provider.channel. If you asked for weights, a weighter ranks the verbs you already have. Missing channels are absent, not errors. There is no language model in the core.

Starter layers

LayerRoleFirst provider
PersonalitySlow traitsBig Five / OCEAN (McCrae & Costa)
MoodMedium-term affectPAD via ALMA mapping (Mehrabian; Gebhard 2005)
EmotionMomentary affectOCC (Ortony, Clore & Collins)
MeaningOptional: known / unknown / knowerPeterson Maps of Meaning
LearningOptional: operant repertoireSkinner three-term contingency
CognitionOptional: schemas and stagesPiaget equilibration
IdentityOptional: psychosocial crisesErikson eight ages

Gebhard ALMA is the first wiring among personality, mood, and emotion — not the definition of the engine. Numeric knobs labeled project convention are game-feel, not scores from a paper.

Install

Download the .nupkg or DLL zip from the latest GitHub Release. Target is netstandard2.1 (Unity-consumable). From source: clone and dotnet test.

dotnet add package PersonalityEngine.Core --source /path/to/nupkg-folder

What it is not

Not a personality test of the player. Not a dialogue generator. Not a guarantee that OCEAN scores are realistic people. Inspired by FAtiMA, built from scratch — not a FAtiMA fork. Read the disclaimer.

Docs live on GitHub: charter, architecture, hosting, citations.