• Responsible for developing a backend that brought NPCs to life through chatting and task systems, as well as internal needs, emotional, and knowledge states powered by graph and relational databases.
• Core gRPC Backend: Developed a Golang gRPC API (using GORM) with CRUD functionality for worlds, players, NPCs, API settings, etc.
• Chat System: Implemented Player-NPC and NPC-NPC chatting systems where NPCs would converse based on their internal states (needs, emotions, knowledge). Conversations dynamically updated these states to stimulate evolving personalities.
• Task System: Designed a task-planning algorithm enabling NPCs to fulfill their needs through task plans driven by their existing knowledge state.
• Needs, Emotions & Knowledge States:
• Modeled Needs to mimic human-like behavior, designed by our prompt engineers, using Neo4J Knowledge Graphs.
• Created Emotional States influencing NPC responses and actions, that could be affected by player conversations to achieve game objectives, stored in PostgreSQL.
• Built Knowledge States to represent NPC awareness of the world - their relationship to other players or NPCs, their knowledge of certain items or locations, using Neo4J Knowledge Graphs.
• Hosted and deployed on AWS EC2, and integrated Sentry for error tracking and monitoring.