下载 App

【开发日志 04】前 10 关是课,最后一关把笔还给你

10/145 浏览综合
大家好,第四篇,讲关卡。
上一期写了五把尺子。有了尺子,关卡才谈得下去——不然「过关」这两个字根本落不了地。
最终定下来 11 关:聚、环、分、序、三、双环、流、避、匀、息、∞。
真正撑起这 11 关的,是一个叫「规则预算」的东西。
每一关,分离、对齐、聚合三条规则的权重加起来有一个上限。第一关只给 4 点,最后一关放到 9 点。预算不够,就意味着你必须放弃点什么。
比如「分」这一关:聚合开得太高,粒子永远只会黏成一团,你得主动把聚合压下去,它才可能裂开。这不太像难度设计,更像在教一条原理——想让一个群体分开,得先松开那只把它攥在一起的手。
每关的粒子数也不一样,160 到 260 不等。通关之后会给一句短句,第一句是「没有谁在指挥,却有了方向」。这是我最想在这个游戏里说的一句话,把它放在第一关,是故意的。
最后一关叫 ∞。它不给任何目标:预算拉满,粒子最多,什么都不要求。
前面十关是课。这一关,是把笔还给玩家。
(配图:自由之境 ∞ 的实机画面。没有目标,也没有进度条。)
写到这里我其实犹豫过。做教学的人总会忍不住多教一点——再加一关吧,再讲一条原理吧。但十关讲完,该闭嘴了。涌现这件事最迷人的部分,恰恰是在没人告诉你该看什么的时候才发生的。你给它规则,它给你形状;你把规则全给它,它给你你没想到的东西。
进度存在 localStorage 里,关掉网页也不会丢。
还有两个没处理好的地方。一是预算是硬上限,滑块拖不动的时候玩家不知道为什么——得靠界面或者关卡提示补一句,不能让人自己猜。二是第 8 关「避」要求危险区里的粒子少于 2%,几乎必须精确摆一个斥力点,容错太低,估计得放宽。
下一篇是最后一篇:17KB 的 HTML 怎么变成一个 16MB 的 APK,以及上架时被驳回的那一次。
【开发日志 03】把「好看」翻译成数字截图
【开发日志 03】把「好看」翻译成数字
大家好,第三篇。这一周卡在了整个项目最难的地方:怎么判定玩家做到了。 前两篇都在讲「让它长出来」。可长出来之后还有个更麻烦的问题——我怎么知道它长对了? 「看起来像了」是一种感觉。感觉做不了关卡,关卡需要一个数字。 所以我给「涌现」这件事造了五把尺子。 序:把每个粒子的速度方向当成一根单位长度的箭头,全部加起来,再除以粒子总数。全体朝同一个方向走,这个值接近 1;各走各的,接近 0。 散布:所有粒
官方
4 赞
【开发日志 01】立项:我不指挥任何一颗点截图
【开发日志 01】立项:我不指挥任何一颗点
大家好,我是《涌现》的开发者。这是聚光灯 21 天挑战的第一篇开发日志。 先说这次在做什么:一个关于「群体」的小游戏。我不想做那种「给一张目标图案、让玩家照着摆」的玩法,而是反过来——我只给每个个体写三条很小的规则,形状让它自己长出来。 三条规则短到能写在便签上: 离得太近,就互相推开一点(18px 内生效); 看看邻居们在往哪走,就稍微跟上一点; 再朝邻居堆的中心,轻轻靠过去(70px 内算邻居
官方
6 赞
【开发日志 05】17KB 变 16MB,和被驳回那一次截图
【开发日志 05】17KB 变 16MB,和被驳回那一次
大家好,最后一篇。前面讲规则、讲度量、讲关卡,这篇讲把它交到别人手里:打包和上架。 游戏本体是一个单文件 HTML,17,072 字节,零外部依赖,双击就能玩。 为了让它在手机上能被下载,我给它套了个 WebView 壳:Jetpack Compose + Material 3 的 Web2APK 模板,页面放进 assets/www/index.html 离线加载,不联网也能跑。最终 APK 1
官方
4 赞
【开发日志 02】引力·斥力·涡旋:手,成了第四条规则截图
【开发日志 02】引力·斥力·涡旋:手,成了第四条规则
大家好,接着上一篇说。 三条规则是往游戏里写死的「自然规律」,玩家只能在旁边看着。可好看的鸟群看三分钟,也就变成屏保了。 所以这一步要解决的是:怎么让玩家把手伸进来,又不把涌现弄坏。 答案不是给他一根指挥棒,而是给他三种力场,让他成为第四条规则——一条随时可以改写的规则。 引力 ◎:460 像素半径,越近拉得越紧,但不是平均用力,而是按距离衰减。90 像素以内额外压了 0.99 的速度阻尼,这个补
官方
4 赞