Skip to main content

An AI-powered emotion detection system for game narrative enhancement

Project description

Emotion-Aware Narrative Engine

A sophisticated emotion detection system for games and interactive narratives that combines scene context with emotion detection to provide accurate emotional analysis and mood suggestions.

Features

  • Emotion Detection: Uses advanced NLP to detect emotions in text
  • Scene Context: Understands different scene types and their emotional implications
  • Context Overrides: Allows for specific emotional contexts to modify detected emotions
  • Mood Suggestions: Provides game mood cues based on detected emotions
  • Flexible Integration: Works with various dialogue systems and game engines

Supported Emotions

Basic Emotions

  • joy
  • anger
  • sadness
  • fear
  • surprise
  • disgust
  • neutral

Additional Emotions

  • hope
  • excitement
  • gratitude
  • anxiety
  • disappointment
  • guilt
  • jealousy
  • confusion
  • sympathy

Scene Types

The system supports various scene types that can influence emotion detection:

Social Scenes

  • formal_meeting - Business meetings, conferences
  • party - Celebrations, festivals, gatherings
  • family_gathering - Family reunions, home gatherings
  • interview - Job interviews, auditions
  • negotiation - Business deals, bargaining

Action Scenes

  • chase_scene - Pursuits, escapes
  • stealth_mission - Infiltration, sneaking
  • training_session - Practice, learning
  • competition - Contests, matches, tournaments
  • rescue_mission - Saving, recovery operations

Emotional Scenes

  • funeral - Memorials, burials
  • wedding - Marriage ceremonies
  • graduation - Commencement ceremonies
  • reunion - Meetings, gatherings
  • farewell - Goodbyes, departures

Mystery/Thriller Scenes

  • investigation - Detective work, searches
  • interrogation - Questioning, examinations
  • discovery - Findings, revelations
  • revelation - Disclosures, exposures
  • confrontation - Conflicts, showdowns

Fantasy/Sci-fi Scenes

  • magic_ritual - Spellcasting, ceremonies
  • space_battle - Space combat, wars
  • time_travel - Time jumps, temporal events
  • dimension_hop - Portal travel, rifts
  • magical_duel - Magical battles, confrontations

Original Scenes

  • romantic_date - Romantic encounters
  • battle_scene - Combat situations
  • casual_conversation - Informal chats

Each scene type has:

  • A specific mood
  • Intensity level (low/medium/high)
  • Default emotions
  • Scene aliases for flexible matching

Installation

pip install emotion-aware-narrative

Quick Start

from emotion_engine import EmotionEngine

# Initialize the engine
engine = EmotionEngine().initialize()

# Process dialogue with scene and context
result = engine.process_dialogue_file({
    "text": "quit it",
    "scene": "romantic_date",
    "context": "flirty"
})

print(f"Detected Emotion: {result['emotion']}")
print(f"Mood Suggestion: {result['mood_suggestion']}")

Usage Examples

Basic Emotion Detection

result = engine.detect_emotion("quit it")

Scene-Based Detection

result = engine.detect_emotion("quit it", scene="romantic_date")

Context Override

result = engine.detect_emotion("quit it", context="flirty")

Combined Scene and Context

result = engine.detect_emotion("quit it", scene="romantic_date", context="flirty")

How It Works

  1. Base Emotion Detection: Uses a pre-trained model to detect the initial emotion
  2. Scene Context: Applies scene-specific emotional adjustments
  3. Context Override: Applies any specified context overrides
  4. Mood Suggestion: Generates appropriate mood cues for the final emotion

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Uses the emotion detection model from Hugging Face
  • Inspired by the need for better emotional understanding in games

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emotion_aware_narrative-0.1.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emotion_aware_narrative-0.1.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file emotion_aware_narrative-0.1.2.tar.gz.

File metadata

  • Download URL: emotion_aware_narrative-0.1.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for emotion_aware_narrative-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0185f0e9ed2eea3c687fa19d18aca8ac6d1a6b14109bcd26927d43f6597d3a1a
MD5 51a4fd50d0138b55cf7d45be18b7e4f0
BLAKE2b-256 00273b779e01dc7daa706b2656e69e9e54d4feb8e6c98a7db1e2bd3c3e1cfee3

See more details on using hashes here.

File details

Details for the file emotion_aware_narrative-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for emotion_aware_narrative-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 01d7f9e7e6075fc20453a8357b82d05b2078fec2a07d2ab89258e50475228735
MD5 99552e62d48429491996e2c27bd4e2f9
BLAKE2b-256 f56f15e509cc409ba0d7f54057293ca95f8290f25a0d5fe01794586d1cb03091

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page