Point-and-Click Adventure
← Project Index Educational 2D Point-and-Click Adventure

Educational 2D Point-and-Click Adventure

An adventure-game framework that teaches through exploration and puzzle-solving -; inventory, dialogue trees, and LLM-driven teacher NPCs that hold real conversations and quietly coach students on how they learn.

Archived Started: Summer 2025 Updated: Summer 2025

Overview

A point-and-click educational adventure where students wander environments and talk to AI-powered teacher NPCs for personalized tutoring. It has two modes: a Story Mode (a town adventure with gossip and reputation) and an Education Mode (an academic campus with 13 specialized teachers across Math, Biology, Chemistry, English, History, Geography, Art, Music, CS, Statistics and Writing). Solving narrative-wrapped puzzles advances both the story and a set of tracked skills.

Background

The idea began as "an interactive educational game featuring AI-powered teacher NPCs that provide personalized learning experiences." It grew through a few clear stages: a single-file Python/pygame prototype, a refactor that broke a 3,600-line monolith into eight clean modules, then a meta-learning layer, and finally a Godot frontend talking to a FastAPI backend for a richer UI.

The meta-learning turn is the interesting one. Instead of just delivering content, the teacher NPCs were rewritten to teach students how they learn -; growth-mindset language, strategy-reflection questions ("what approach did you use there?"), and cross-curricular transfer. One counselor NPC, Ms. Guidance, became a dedicated learning coach.

How It Works

The canonical game is Python + pygame; a Godot 4 frontend acts as a thin presentation layer talking to the Python logic over HTTP via a FastAPI backend. Dialogue is a hybrid: relationship-gated scripted trees coexist with free-text LLM chat, so secrets and gossip only unlock once an NPC trusts you, while open conversation runs on top.

The LLM layer is pluggable behind one abstraction, swappable at the command line:

# one interface, three backends, picked with --ai
class AIInterface(ABC): ...

ClaudeInterface   # Anthropic Messages API, keeps last 10 exchanges
OllamaInterface   # local llama, http://localhost:11434
MockAI            # offline pattern-matching, for testing

Underneath, every puzzle attempt is instrumented -; timing, hints viewed, pauses -; and the system infers the student's problem-solving approach (systematic, creative, trial-and-error, analytical, pattern-based, collaborative). Four meta-skills (Critical Thinking, Problem Solving, Goal Setting, Project Management) show up as a "Skill Constellation" star map whose connections strengthen as skills grow. Math puzzles feed Problem Solving, science feeds Critical Thinking, and so on.

Current Status

Archived as a working prototype that was actively iterated but never shipped. The changelog describes the v2.0 refactor as "all systems tested and verified," with a real test suite, but the Python↔Godot integration is clearly mid-build.

  • Pluggable Claude / Ollama / Mock backends and the meta-cognitive analytics are implemented.
  • A documented, unresolved Godot UI dialogue bug remains, and some heuristics (the approach-detector) are still stubs.
  • No license chosen; local-only, no public deployment.