# 星种:长夜之前 一款基于 Vue 3 的单机文明演化增量游戏。从无名潮池中的复制分子出发,跨越陆冠、炉城与星种四个纪元,在暮阳风暴抵达前完成生命档案、磁场天幕与星种方舟。 ![游戏画面](docs/star-seed-game.png) ## 直接游玩 无需安装、无需后端、无需联网: 1. 下载仓库; 2. 直接双击 `dist/index.html`; 3. 游戏会在浏览器中运行。 `dist/index.html` 是 Vite 编译后的单文件发行版,JavaScript 与 CSS 均已内联。它已通过 `file://` 方式实际加载和点击验证。 ## 核心内容 - 四个线性纪元:潮池、陆冠、炉城、星种; - 12 个科学与文明里程碑; - 点击采集与自动增长组成的增量循环; - 本地自动存档与最多四小时离线收益; - 生态平衡、生命档案、磁场天幕三项结局指标; - 唯一正式结局“ 两片海的黎明 ”与新世界播种循环; - 桌面端与移动端自适应界面; - 无图片、字体、接口等运行时网络依赖。 ## Vue、Bit 与动画组件 项目参考 [Bit 的 Vue 组件开发说明](https://bit.dev/docs/vue-intro),将界面拆分为职责单一、输入输出明确的 Vue 单文件组件: - `EvolutionScene.vue`:行星、轨道、星空与主点击交互; - `MilestoneRail.vue`:纪元里程碑、资源门槛与完成状态; - `SignalLog.vue`:文明叙事信号流; - `EndingOverlay.vue`:最终发射结局。 动画层使用 `motion-v`,为组件提供弹簧入场、手势按压、阶段切换和结局转场;背景呼吸、极光、扫描、城市灯光与发射轨迹使用本地 CSS 动画。组件边界及 Bit 跟踪建议见 `docs/bit-components.md`。 ## 本地开发 要求 Node.js 20.19+ 或 22.12+。 ```bash npm install npm run dev ``` 质量检查与发行构建: ```bash npm test npm run build npm run verify:dist npm audit ``` 构建会重新生成可直接打开的 `dist/index.html`。 ## 项目结构 ```text star-seed/ ├── dist/index.html # 已编译、自包含、可直接运行的游戏入口 ├── docs/ # 组件说明与游戏截图 ├── src/components/ # Bit 风格的独立 Vue 动画组件 ├── src/game/gameState.js # 纯函数游戏状态与规则 ├── src/App.vue # 应用编排、存档与游戏循环 ├── src/styles.css # 科幻视觉系统与响应式布局 └── src/**/*.test.js # 状态与界面测试 ``` ## 技术栈 - Vue 3.5 - Vite 8 - Motion for Vue (`motion-v`) - Vitest + Vue Test Utils - Vite SingleFile ## 许可 MIT