Neshama is a soul engine that runs inside your game. Emotions, memory, personality, social relationships — all local, all real-time.
var soul = NPCSoul.Create(preset: "tavern_keeper"); soul.OnEmotionChanged += e => { /* update NPC behavior */ }; await soul.Chat("Hello, how's business?"); // Soul handles the rest: // → Emotion: Content → Curious (joy +0.12, trust +0.08) // → Memory: "Player asked about business" // → Personality: OCEAN traits influence response tone
Core claims
No marketing spin. Each claim is testable in under 5 minutes.
Runs in your game, not on our server
The emotion engine runs in your game process. Emotions update every frame. No server dependency. Works offline. Your players never hit a cloud endpoint just to feel something.
< 10ms. Every frame.
Pure rule-based emotion engine. No LLM calls for emotions. Only dialogue generation needs AI. The math is deterministic, testable, and fast enough to run per-frame.
3 lines of code
Create a soul, subscribe to emotion changes, start chatting. That's the entire API surface. No config files, no dashboards to configure, no schema to learn.
Side by side
Player insults the tavern keeper, then comes back 3 game-days later. Watch what happens.
Without Neshama
"Your ale tastes like dishwater."
"I'm sorry to hear that. Would you like something else?"
"Hello there!"
"Welcome, traveler! What can I get for you?"
With Neshama
"Your ale tastes like dishwater."
"You got a lot of nerve saying that. Maybe try the place down the street."
Emotion: Anger +0.45, Disgust +0.30 | Agreeableness −0.12"Hello there!"
"Oh. It's you. Last time you were here, you insulted my ale. What do you want?"
Memory: "Player insulted ale" retrieved | Emotion: Resentment +0.28Under the hood
Five subsystems. One deterministic core. Only dialogue generation touches an LLM.
NPCSoul ├── OCEAN Personality ← 5 factor traits, evolves over time │ ├── Openness │ ├── Conscientiousness │ ├── Extraversion │ ├── Agreeableness ← this one just went down after the insult │ └── Neuroticism │ ├── Composite Emotion Engine ← rule-based, <10ms, no LLM │ ├── 8 primary emotions │ ├── 15 composite recipes ← e.g. Rage = Anger + Disgust + Anticipation │ ├── Decay curves │ └── Conflict resolution │ ├── Progressive Memory ← L0 → L1 → L2 consolidation │ ├── L0: Working memory ← last N interactions │ ├── L1: Summarized memory ← automatic consolidation │ └── L2: Core memory ← permanent, identity-defining │ ├── Entity Graph ← who knows whom, what, where │ ├── 8 entity types │ └── 15 relation types │ └── Dialogue Generator ← the ONLY part that uses an LLM └── 21 providers, 55+ models
Integrations
Native packages for major game engines. REST API for everything else.
Pricing
Free tier includes 3 NPC souls. Bring your own LLM key, conversations are unlimited.
$0/mo
Prototype and learn
$19/mo
Ship your indie game
$79/mo
Mid-size studios
Custom
AAA & platforms
BYOK = Bring Your Own Key. Use any of 21 LLM providers. You pay the model provider directly — we don't add markup.
Open source. Self-hostable. Free to start. 3 lines of code.