芯火镇
约 494 字大约 2 分钟
项目说明:
本地开源项目,暂未上仓库链接(部署到位后再补)。
开发时间:
2026.07 - 2026.08
芯火镇 — Chips Town
AI 驱动的虚拟小镇生活模拟器。NPC 每天由 LLM 写生活日志,前端用治愈风 2D 渲染出来。
项目概述
芯火镇是一个2D 像素风小镇生活模拟:你在镇上走动、看 NPC 的日常,而 NPC 的日志不是硬编码的——每天由 LLM 现生成,写的是"今天去河边钓鱼、和邻居吵了一架"这种烟火气内容。
前端用 PixiJS 做 tilemap 渲染与角色交互,后端 Express + SQLite 存日志与关系图,头像先用 DiceBear pixel-art 占位。
核心功能
- AI 生活日志:LLM 每天生成 NPC 日志,卡片 + 详情双视图
- 2D 地图渲染:PixiJS v8 精灵 / tilemap / 交互
- 关系图:NPC 之间的社会关系可视化(
RelationGraph.vue) - 暖色调治愈风 UI:原生 CSS + CSS 变量,无 UI 框架依赖
- 真实数据层:SQLite(better-sqlite3)+ 种子数据 + 迁移
📸 截图待补:游戏运行画面(需本地起服务,运行后补图)
技术栈说明
| 层 | 技术 |
|---|---|
| 前端 | Vue 3 + TypeScript + Vite |
| 2D 渲染 | PixiJS v8(精灵 / tilemap / 交互) |
| 状态 | Pinia |
| 后端 | Express.js 5 + TypeScript |
| 数据库 | SQLite (better-sqlite3) |
| AI | LLM 生成 NPC 每日生活日志 |
项目架构
chips-town/
├── client/ # 前端
│ └── src/
│ ├── api/client.ts # API 客户端
│ └── components/
│ ├── MapRenderer.ts # PixiJS 地图渲染
│ ├── JournalCard.vue # 日志卡片
│ ├── JournalDetail.vue # 日志详情
│ └── RelationGraph.vue # 关系图
├── server/ # Express 5 + SQLite
└── package.json # seed / dev / rebuild scripts开发历程
| 阶段 | 内容 |
|---|---|
| 地基 | Vite + Vue 3 + TS + PixiJS v8 tilemap |
| 后端 | Express 5 + better-sqlite3 + 种子数据 |
| AI 接入 | LLM 每日生成 NPC 生活日志 |
| 表现层 | 日志卡片 / 详情 / 关系图 + 治愈风配色 |
坑:better-sqlite3 是原生模块,换 Node 版本必须 npm rebuild better-sqlite3,否则直接启动失败。
Powered by Waline v3.6.0