← 全部作品

Web · 3D 物理弹射

软软镇 · 圆圆快递队Soft Town — The Round Delivery Crew

一颗带月牙印的蛋滚出了窝。软软镇的街坊把它当成搭积木的材料,十三位快递队员排好队,一路把塔推倒玩,一路把蛋送回家。

单文件版本,全部依赖已内联。用浏览器打开就能玩,不安装、不联网、不注册。

形态
Web(单文件 / 静态)
引擎
Three.js 0.187 + Cannon-es 0.20
内容
7 站 · 34 章 · 170 关
面向
3 岁以上,全年龄

它是什么

一个弹弓打积木的物理游戏,但设定是反着写的:没有敌人,没有输赢,没有死亡。软软镇的街坊把一颗滚出窝的蛋当成搭积木的材料,快递队员们只好一路把塔推倒,把蛋从废墟里捡回来,再送去下一站。

每站一个误会,一起把塔推倒玩,和好,指路下一站。蛋壳上那道月牙印是贯穿全篇的伏笔,七站各有一次天真的猜测,最后一章才揭晓:那只是窝门口的门牌号。

下限低到不识字、不会瞄准也能玩,上限保留完整的精确与挑战。

所以它同时是给幼儿园小朋友和成年人的。三岁的孩子用「陪伴」档,自动帮忙瞄准、方块一碰就塌、队员无限续;想动脑的时候切到「挑战」档,限额队员、族群技能、场景惩罚、分数与三星全部回来。两档的物理参数一模一样,变的只是规则对玩家做什么。

能玩到什么

四种玩法,四个入口

陪伴(3–6 岁,全程不识字也能玩)、轻松(零失败、无限续、贴纸结算)、挑战(原版规则全开)、随便玩玩(无目标,纯推塔)。随时可切,进度互通。

170 关,五关一连

每站五关走「认识 → 变一变 → 合起来 → 一起玩 → 大合奏」。靠机制接力而不是加血,170 关里有 164 种互不重复的战场布局。

十三位队员,一人一个习惯动作

团团发射前蹦两下,噗噗打哈欠,墩墩走两步歇一下。不写「减伤 40%」,改写看得见的性格——孩子看动作就知道该打哪。

七族街坊,不是反派

圆鼻家、长耳巷、尖耳市集、花斑工坊、大耳温泉、鬃毛广场、条纹云台。塔一倒就「哎呀」一声坐地上,摆摆手回家喝茶。

插画是算出来的

34 章剧情插画和全部贴纸图案都由程序按参数生成纯 SVG:同一章永远得到同一张画,没有一张外部图片,所以单文件离线版原样可用。

贴纸册,不是进度条

一关最多一张贴纸,只收集、不兑换、不排名。册子里只写「已收多少张」,不写「还差几张」,空格子说的是「还没遇到」。

拉弓的手感是量出来的

后拉即反向,皮兜 1:1 跟手,拉的斜率与仰角 1:1(实测 45°/66° 误差小于 1°)。力度按指尖像素定标,拉到屏幕边缘就是满力。

离场线,杜绝死局

被撞得滚到弹弓后方的队员够不着了,越过黄黑斜纹的出界线就判「滚出战场」,计分并移出;界外高空卡住 12 秒强制清掉。

技术上的几个选择

物理锁定在发射平面内,开场两秒后全场冻结,直到被撞击才开始计算——结构永远不会自发坍塌,所以「塔是自己倒的」这种事不会发生。邻居的入睡阈值分两段:沉降期收紧,第一发之后放松,否则一颗被抛到半空的邻居会在低速瞬间被冻住,看起来像飘着。

睡眠体有三道兜底:拆方块时摇醒九米内的刚体;每 0.6 秒扫一遍「脚下还有没有支撑」;沉降期只冻结真正静止的刚体。这些不是设计出来的,是巡检脚本一条一条逼出来的。

关卡数据、物理数值、瞄准手感、插画唯一性各有独立的无头巡检: smoke-test 96 项、audit-aim 42 项、 balance-check 13 条,以及 170 关的几何与沉降审计。

关于边界

这是面向三岁起全年龄的作品,所以硬约束写在最前面:无内购、无抽卡、无概率玩法、无限时活动、无排行榜;不联网、不注册、不收集任何个人信息,进度与设置只存本机 localStorage;无死亡、无受伤、无血腥,「消灭」全部表述为「坐下了 / 回家了」。

角色名、世界观、剧情、模型、音效全部原创,不含任何提取的游戏资产。本项目为学习交流性质的独立作品;若面向儿童公开传播或商用,仍需自行完成版权、版号与内容合规评估。

怎么运行

点上面的按钮打开单文件版即可。若想跑源码版(有缓存控制、便于调试),在项目目录执行 node server.js 或 python -m http.server 8080,再访问 http://localhost:8080/。