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
| Layer | Role | First provider |
|---|---|---|
| Personality | Slow traits | Big Five / OCEAN (McCrae & Costa) |
| Mood | Medium-term affect | PAD via ALMA mapping (Mehrabian; Gebhard 2005) |
| Emotion | Momentary affect | OCC (Ortony, Clore & Collins) |
| Meaning | Optional: known / unknown / knower | Peterson Maps of Meaning |
| Learning | Optional: operant repertoire | Skinner three-term contingency |
| Cognition | Optional: schemas and stages | Piaget equilibration |
| Identity | Optional: psychosocial crises | Erikson 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.