✨ 星海演化器 · 开发对话故事

把一个“想做宇宙游戏”的念头,慢慢做成能给大家玩的作品。

这份页面不是冷冰冰的开发日志,而是把 我在做项目时的想法、提问、尝试、修复和升级 整理成一段更容易展示的“对话故事”。它适合给老师、同学和家人看:大家能很直观地看到,这个项目是怎样一步一步长大的。

说明: 下面的内容是根据当前仓库里的 README、代码结构、提交记录、功能演化和线上版本整理出来的展示稿, 不是逐字逐句的聊天记录,而是一份尽量贴近真实开发过程的复盘版对话。

开发对话主线

从“我想做一个宇宙实验”开始,到“我要把它发布出去、让更多人玩”,下面是这段开发过程里最值得展示的几个阶段。

从创意出发 边做边试 遇到问题就修 最后做成作品
🌌

第一步:先做出一个能“看见宇宙动起来”的原型

2026.02.25 · 从 sun_game.html 到 3D 引力沙盒雏形
核心原型
我当时的想法 我想做一个宇宙游戏,不是只放几张图片,而是能自己创建星球、看它们飞、撞、绕圈,像在做真正的宇宙实验。
AI 助手 / 项目推进 那就先别一口气做太多。先搭一个最核心的版本:有场景、有行星、有引力、有基础按钮,先让“宇宙真的会动起来”。只要第一版跑起来,后面就能一直往上加功能。

这一阶段做出了什么

  • 建立 3D 宇宙引力沙盒的基础结构。
  • 把核心逻辑拆到多个前端脚本里,而不是一直塞在一个文件里。
  • 有了最重要的第一件事:作品终于“能玩”了。
🕳️

第二步:不只要星球,我还想让宇宙更疯狂一点

2026.02.26 · 黑洞、巨行星、小行星、爆炸模式陆续加入
玩法扩展
我当时的提问 只有普通星球还不够有意思。能不能加黑洞?再来一些更夸张的东西,比如特别大的星球、会一下子把场面搞乱的模式?
AI 助手 / 项目推进 可以,把“宇宙实验”做成“宇宙玩具盒”。黑洞负责吞噬,大质量天体负责制造冲击,小行星和爆炸模式负责让每次尝试都有不一样的结果。这样别人一上手就会觉得:哇,这东西很会整活。

这一阶段做出了什么

  • 新增黑洞与巨行星生成功能。
  • 加入更有戏剧性的交互模式,让玩法不再单一。
  • 项目从“演示”变成了“可反复试验”的游戏。

第三步:既然是宇宙,那就把脑洞开大——白洞、双星、撕扯指数

2026.02.27 · 二元恒星、白洞、Tear 控制与帮助界面增强
世界观升级
我当时的想法 如果只有“引力”这一种感觉,宇宙还是不够神奇。能不能让它出现一些更科幻的设定,比如白洞、双星系统,甚至能调一个“撕扯指数”?
AI 助手 / 项目推进 这就对了。真正有趣的地方,不只是“模拟真实”,还可以是“把科学想象做成可交互的按钮”。当你能自己调参数时,作品就会更像实验室,而不是普通网页小游戏。

这一阶段做出了什么

  • 加入双星系统和白洞概念。
  • 增加 Tear 控制,让宇宙变化更夸张。
  • 帮助界面更完整,玩法更容易理解。
👤

第四步:我不只想自己玩,我还想让每个人都留下自己的记录

2026.02.28 · 用户系统、个人中心、管理后台、后端数据库接入
系统化功能
我当时的提问 如果别人也来玩,能不能让他们先填昵称、年龄这些信息?再做一个后台,这样我就能知道有谁玩过这个宇宙。
AI 助手 / 项目推进 那就需要从“纯前端小作品”升级成“前后端项目”了:前端负责收集信息和展示,后端负责保存数据,后台页面负责管理和查看。只要这一步做出来,作品就从小游戏变成一个真正的小系统。

这一阶段做出了什么

  • 新增 Flask 后端与数据库逻辑。
  • 加入用户信息收集、个人中心和管理后台。
  • 项目正式拥有“被使用、被记录、被管理”的能力。
🚀

第五步:做出来还不够,我想把它放到网上

2026.03.01 · 部署脚本、Nginx、systemd、线上 API 路径适配
上线发布
我当时的提问 如果只是我电脑能打开,老师同学还看不到。那能不能把它发到线上,变成一个真正的网址,大家点开就能玩?
AI 助手 / 项目推进 可以,但上线不是点一下按钮就结束。要处理服务器、服务启动、反向代理、前后端地址,还有部署脚本。作品一旦能在线访问,它就不只是“作业”,而是一件真正发布出去的东西。

这一阶段做出了什么

  • 增加部署目录和服务器配置。
  • 把前端 API 地址改成更适合生产环境的方式。
  • 最终形成现在可访问的线上预览:planet.kmind.chat
📱

第六步:老师同学不一定都用电脑,所以手机也要能看、能玩

2026.03.02 · 响应式布局、面板切换、移动端交互修复
移动适配
我当时的想法 如果在手机上按钮挤在一起、面板关不掉,别人就很难体验。那我要不要把界面改成更适合小屏幕的样子?
AI 助手 / 项目推进 必须要。好作品不只是功能多,还要让别人“顺手”。响应式布局、折叠面板、按钮间距、手机上的操作逻辑,这些看起来像小事,实际上决定了别人愿不愿意继续玩下去。

这一阶段做出了什么

  • 前端界面重构为响应式布局。
  • 修复移动端面板切换、关闭和个人中心相关问题。
  • 这个项目开始真正适合“展示给别人看”。
🏆

第七步:不只要玩,还想让大家有目标——成就系统和虫洞来了

2026.03.03 · 成就系统、触发器、虫洞、双击创建行星、交互优化
游戏性增强
我当时的提问 光是把星球丢来丢去还不够,我想让大家在玩的时候觉得“原来我解锁了什么”。还有,虫洞这种东西一定很酷,能不能加进去?
AI 助手 / 项目推进 当然可以。成就系统会给玩家目标感,虫洞会给画面和玩法带来惊喜,再加上双击创建等更顺手的交互,整个体验会更像一个完整游戏,而不是单次演示。

这一阶段做出了什么

  • 成就系统正式加入,玩法出现“目标”和“反馈”。
  • 虫洞让行星传送成为可能,宇宙更有戏剧性。
  • 双击创建行星、按钮样式调整等体验细节继续打磨。
🛠️

第八步:真正的开发不是只加功能,还要一直修问题、补细节

2026.02.25 → 2026.03.07 · 渲染修复、后台修复、WebGL 初始化、本地启动脚本
持续打磨
我当时的感受 做项目的时候,经常会发现“明明功能有了,但这里还不顺、那里还会报错”。那是不是还要继续修?
AI 助手 / 项目推进 当然。真正的作品,不是做完一个功能就结束,而是要反复修正:后台脚本错误、API 地址问题、移动端小 bug、渲染异常、WebGL 初始化失败、本地环境启动麻烦……这些全都修过以后,作品才会更稳、更像正式项目。

这一阶段做出了什么

  • 修复后台页面多处脚本与请求问题。
  • 优化渲染和初始化逻辑,处理 WebGL 相关故障。
  • 补齐本地安装与启动脚本,让项目更容易演示和复现。

从这段过程里,能看见什么

如果要把这段开发旅程讲给老师和同学听,我觉得最值得强调的,不只是“最后做了什么”,更是“我是怎么一步一步把它做出来的”。

🌱

先让想法落地

不是一开始就追求最完整,而是先做出能跑起来的原型。只要第一颗星球能飞起来,后面的宇宙就有机会继续长大。

🧪

边做边实验

黑洞、白洞、虫洞、成就系统,这些都是在“先有一个版本”的基础上不断加上去的。项目像实验一样,越试越有趣。

🧭

遇到问题就修

真正的开发不会一路顺滑。API 地址、后台脚本、移动端布局、渲染故障,这些问题都说明:作品是被打磨出来的,不是一下子跳出来的。

🌍

让别人也能体验

加入用户系统、后台、线上部署和本地启动脚本后,这个项目不只是“我做过”,而是“别人真的能玩、能看、能验证”的作品。

星海演化器

项目介绍

大家好,我是林宸安,来自厦门市大同小学 5年(3)班。我自己前后学习编程3年了,从最开始的 Scratch,到后来学 Python,再到现在能写一些小项目了。这个项目是我最近做的一个宇宙模拟游戏,叫 星海演化器

在这个游戏里,你可以自己创造行星,看看它们怎么飞、怎么撞、怎么围着太阳转。

我希望大家打开浏览器以后,就像在自己的小宇宙里做实验一样,随便玩、随便试,看看会发生什么有趣的事情。

游戏截图

启动画面
启动画面
宇宙实验画面
宇宙实验画面
星球运行画面
星球运行画面

开发说明

这个项目是用 Python 写的后端,JavaScript 写的前端。后端用 Flask 框架,前端用 HTML5 Canvas 来画宇宙。全程更多是用 VS Code 中的 AI 助手来帮写代码的,基本全程通过对话的方式来开发的,感觉就像在和一个很聪明的朋友一起做项目一样。整个过程中,爸爸给了很多指导,指导安装环境、使用工具,如何和 AI 助手沟通,怎么调试代码,怎么设计游戏的功能等等。

目前也有发布到线上:http://planet.kmind.chat 可以直接访问。

部署方式

这个项目支持 Windows 和 macOS,本地启动就可以玩。

macOS

bash scripts/start-local.sh

Windows

scripts\start-local.bat

第一次运行时,脚本会自动帮你:

  1. 创建 .venv
  2. 安装后端依赖
  3. 初始化本地数据库
  4. 启动后端 5001
  5. 启动前端 8000

启动完成后,在浏览器打开:

后台密码已经改为:Game2026

玩法

进入游戏以后,你可以这样玩:

你还可以试试这些按钮:

如果你喜欢做实验,也可以一直调参数,看看宇宙会不会变得更疯狂。欢迎来玩我的宇宙!