⚠️ 先说清楚 :这篇文章里的整个项目------包括后端、前端、游戏逻辑、UI、3D 场景、甚至插图------全部由 AI 生成,我(作者)一行手写代码都没写。我做的事只有:提需求、验收、调数值、改文案。如果你也在关注「AI 到底能做出什么程度的项目」,这篇可能会给你一些参考。
🧱 这是个什么游戏?
打工人模拟器·城市求生 ------ 一个终端风格的文字冒险 + 模拟经营游戏。
你从乡下揣着 500 块钱 来到大城市,什么都没有。搬砖、送外卖、捡废品、摆地摊......先活下去。然后攒钱学技能、考证书、跳槽涨工资、谈恋爱、结婚、买房买车、炒股买彩票......一路卷到在这座霓虹都市里站稳脚跟。
最离谱的是,它还内置了一个 Three.js 做的第三人称 3D 城市------打工人累了,随时可以切进 3D 模式,在深夜的霓虹街道上散步、看月亮、从街尾走到街尾,逛够了再回来继续打工。
开源地址:Gitee - worker-simulation(MIT License)
🎮 玩法全景
开局:一张身份证,四维技能点
创建角色时选姓名、性别、性格、学历、专业,然后分配四维技能点:体力 / 智力 / 魅力 / 运气。
- 体力影响打工时长和恢复速度
- 智力影响学习速度和考试通过率
- 魅力影响社交、摆摊、购物加成
- 运气影响随机事件和彩票中奖率
普通职业:先活下去
人才市场里有十几份体力活:发传单、搬砖、外卖骑手、快递员、售楼、会所迎宾、保安、服务员、收银员、服装店员......时薪 8~16 元。
打工人不想去人才市场也能活:街头 scrap 捡废品、stall 摆地摊,运气和魅力加成。
培训 + 考证:阶层跃迁
攒够学费去培训中心学 6 门课:会计、计算机、厨师、电工、焊工、美容美发。学满熟练度 → 交费考试 → 拿证书。
证书是最大的分水岭:持证上岗的特殊职业(初级会计、程序员、电工、焊工、厨师、会计主管)时薪 20~44 元,直接碾压普通体力活。
衣食住行:打工人的每一天
- 🍜 饮食系统:路边摊、沙县、串串、火锅、自己做饭......恢复饱腹/体力/心情
- 🏠 住宿系统:睡大街(有被偷风险)、桥洞、日租房、青旅、城中村单间(月租)、公寓
- 🛍️ 商场购物:衣服/裤子/手表/手机/宠物猫,提升魅力与声望;部分工作对着装有硬性要求
社交恋爱:从陌生人到结婚
大街上随机遇到陌生人,工作中认识同事。聊天、请客、送礼加好感:
- 30 → 朋友
- 50 → 暧昧
- 60 → 表白恋爱
- 90 → 求婚结婚
资产与理财
- 🏡 多套房源 + 多款车型:买房买车涨声望、解锁免费住宿、配送提效、商铺日租
- 🏦 银行存款:现金存银行吃日息,支持定期理财
- 📈 股票投资:交易大厅实时行情,低买高卖赚差价
- 🎫 娱乐:刮刮乐、双色球(每日开奖,头奖 500 万)、台球、KTV、公园赌局
随机事件:运气属性左右人生
捡钱包、被偷、暴雨、老乡请客、城管驱赶、临时加班......运气值高的人总能遇到好事。
时间系统:1 游戏分钟 = 1 现实秒
一天 1440 分钟 = 24 分钟现实时间。支持暂停 / 1× / 2× / 4× 倍速,昼夜循环。
存档:3 个手动槽位 + 每日清晨自动存档,JSON 格式可备份。
🌃 自由模式:3D 霓虹城市漫游
这是我觉得最惊艳的部分。
在终端游戏页点击「🌃 自由模式」按钮,直接跳进一个基于 Three.js 的第三人称 3D 城市:
- 🚶 WASD 行走 ,鼠标拖拽旋转视角,靠近地点按
E进入 - 🗺️ 28 个地点与终端模式地图一一对应------人才市场、商场、银行、4S 店、美食街、夜市、鬼市、公园、KTV、私人会所......
- 🌗 昼夜同步:进入自由模式时自动对齐终端游戏时间,日出日落、街灯亮起完全一致
- 🏙️ AI 生成街景:摩天楼、路灯、行道树、车辆,GPU 自适应画质,低配自动降级
- 🧭 小地图雷达:右上角雷达显示附近地点与朝向
- 🚪 一键返回:逛够了随时切回终端模式继续打工,时间与金钱完全互通
自由模式是「放松漫游」视角:你可以在无人的深夜街头漫步、在江边看月亮、从街尾走到街尾;想认真打拼时,回到终端模式继续搬砖。
🛠️ 技术架构
| 层 | 技术 |
|---|---|
| 后端 | Spring Boot 3.3.5(Java 21+)+ Jackson |
| 模板 | Thymeleaf |
| 终端模式 | jQuery 3.7.1 + xterm.js 5.3.0(终端渲染)+ FitAddon |
| 自由模式 | Three.js(WebGL 第三人称 3D)+ AI 生成贴图 |
| 配置 | 游戏数值全部外置于 JSON 文件(config/game-config.json) |
| 存档 | 运行时写入 saves/ 目录(JSON) |
游戏数值(职业、课程、物价、事件、成就)全部外置 JSON,改完重启即生效------相当于「换一个配置文件就是另一个游戏」。
🚀 怎么跑起来
bash
# 源码运行
cd worker-simulation
./mvnw spring-boot:run
# 或打包运行
./mvnw -DskipTests package
java -jar target/worker-simulator-1.0.0.jar
启动后浏览器打开 http://localhost:8897 直接开肝。
🤖 关于「全 AI 生成」这件事
老实说,我自己也没想到 AI 能做到这个程度。
整个项目从第一行代码到最终可玩的状态,经历了十几轮迭代:从最粗糙的「命令行加减钱」,到完整的职业系统、社交系统、资产系统、随机事件、成就系统,最后加上 Three.js 3D 自由模式------每一步都是我用自然语言描述需求,AI 写代码,我跑起来验收,不满意就继续提要求。
我学到的几件事:
- AI 写代码的速度远超想象:一个完整的游戏引擎 + 28 个地点 + 3D 城市,核心代码量不小,但 AI 几轮迭代就能跑通。
- 「提需求 + 验收」本身就是核心能力:AI 能写代码,但它不知道你要什么。需求描述越精确、验收标准越清晰,出来的东西质量越高。
- 外置配置 + JSON 化是正确的架构决策:数值全外置,改数值不用动代码------这让 AI 每次调整都非常安全。
- 3D 场景是惊喜:本来只是想做个文字模拟游戏,最后 AI 顺手把 Three.js 3D 漫游也做出来了,质量还出乎意料地好。
如果你也在做 AI 编程实验,这个项目的代码结构、配置外置方式、迭代流程都可以参考。
📄 许可证
MIT License ------ 可自由使用、修改、分发与商用,仅需保留版权声明。
🔗 Gitee 仓库 :gitee.com/itsunhao/wo...
欢迎 star、fork、提 issue、改数值做你自己的版本。