Skip to content

wfl36/echoes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Echoes · 回声镇

一个以 AI 驱动 NPC 为核心的游戏孵化器 —— NPC 会记住、会回应、会把流言传遍全镇。 当前题材:像素小镇推理(「银怀表失窃案」),后续将在此引擎上探索不同题材。

复古顶视角像素小镇,玩家自由走动,靠近 NPC 按 E 用中文聊天。NPC 由 LLM 驱动(OpenRouter 上的 qwen/qwen3.7-plus),聊天会改变世界:好感、情绪、流言传播、秘密揭示。

client/   Vite + Phaser 3 + TypeScript(游戏前端)
server/   FastAPI + openai SDK(Python,LLM 代理 → OpenRouter,藏 API key)

运行

1. 后端(:8787)

cd server
python3 -m venv .venv
./.venv/bin/pip install -r requirements.txt
export ANTHROPIC_API_KEY=sk-ant-...        # 不设也能跑,NPC 会给兜底提示
./.venv/bin/uvicorn app:app --port 8787 --reload

2. 前端(:5173)

cd client
npm install
npm run dev

浏览器打开 http://localhost:5173 。Vite 已把 /chat 代理到后端,无需处理 CORS。

操作

  • 方向键 / WASD:走动(撞墙/障碍会停)
  • 靠近 NPC → 头顶出现「按 E 对话」→ 按 E
  • 底部输入框打字,回车发送(支持中文输入法)
  • Esc:结束对话恢复走动

NPC

id 角色 性格
blacksmith 铁匠 老格 倔脾气、嘴硬心软
tavern 酒馆老板 莉拉 热情、消息灵通、爱八卦
wanderer 神秘旅人 灰 含蓄、爱用隐喻

人设在 server/personas.py,前端位置/外观在 client/src/npcs.tsid 需一致)。

已实现 vs 预留

  • ✅ 走动 + 碰撞、邻近检测、中文输入、SSE 流式打字机气泡、多 NPC 独立人设与会话历史
  • 🔜 Phase 2:NPC↔NPC 社交 / 流言传播、情绪立绘、物品交付、记忆持久化、多人联网 (ChatController 的 history 分桶与 personas.py 已为记忆/世界状态预留接口)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors