Inspiration

We wanted to build an NPC that feels alive, not scripted. Relationship conflicts are a familiar, high-emotion scenario, so we turned it into a game loop: you come home, the girlfriend is upset, and you must respond with empathy and effort. Our goal was to mix natural conversation with clear game rules, so players can “win” through good choices rather than random chatting.

What it does

This is a top-down narrative game with a mood meter (0–100). The player can:

Talk by typing messages or talking directly

Each choice has a fixed mood impact. You win by reaching the target mood and lose if it hits zero. The girlfriend NPC responds using an LLM + text-to-speech, so every playthrough feels different while still following the mood system.

How we built it

Built the game in Godot (top-down scene + interaction system)

Implemented a state-driven gameplay loop (enter → conversation → action → mood update → response)

Integrated an LLM NPC (using the Player2 AI NPC Godot tool) for dynamic dialogue

Added TTS so the NPC speaks responses in real time

Designed a prompt + guardrails so the NPC stays on-theme and the mood system stays consistent

Challenges we faced

Balancing freedom vs. structure: LLMs are flexible, but games need consistent outcomes. We solved this by separating “dialogue generation” from “mood scoring.”

Latency and pacing: API calls can stall gameplay. We added a clear “thinking” state and made the loop feel intentional.

Keeping responses on-topic: We tuned prompts to prevent nonsense replies and to discourage harmful communication patterns.

Game feel: We had to make sure the NPC felt emotional, but the player still had readable goals and feedback.

What we learned

We learned how to combine an LLM with a real gameplay system: keep the conversation natural, but anchor the experience with state, rules, and feedback. We also learned a lot about prompt design, UI pacing, and building a fun loop around AI instead of letting AI replace the game.

Next steps

Implement some action like doing dishes, cooking, cleaning the floors and watering the garden.

Add more interactions and outcomes (branching scenes, endings)

Improve emotion/mood modeling and feedback

Expand NPC memory across the session for stronger continuity

Add polish: animations, sound, and better tutorial onboarding

Built With

+ 25 more
Share this project:

Updates