下载 App
开发者日志03:高论 结构搜索器 UI优化 以及咕咕咕
大家好,这里是第三次汇报开发情况的Izm。
这篇日志的大致内容其实几天前就写完了 但由于本人的懒癌发作 以及由于本人专业课程较多 这篇日志到现在才发出来 在此向大家自裁了Orz (不要指望能够有什么新内容)
本着要打破“开发者日志只由一个人写”的常规,本篇日志是由小组成员秋柒与zzw共同呈现的。那么我们进入正题吧。


首先,有请zzw先生发表高论:
zzw:如何阐述"涌现"的概念
从拿到主题开始, 我对涌现的定义就是"通过简单功能组合产生复杂行为", 从这个概念出发, 很容易想到图灵完备或者Noita这类游戏。但是同时, 如何平衡"涌现"与"推导"的关系则是一个难题。对于图灵完备来说, 组合逻辑门到得到结果是一件逻辑清晰的事情, 玩家会了解他们的每一次搭建将承担系统里怎么样的功能, 并反过来指导具体逻辑门的拼装。我认为这不是涌现, 就像搭积木不是涌现一样, 本质上只是对nor的简单组合, 而从计算模块, 译码器和寄存器到一台能读汇编跑程序的过程似乎是一个合格的涌现, 但同样的, 我明白这对关卡设计的要求极高。我没有认为图灵完备没有体现涌现的主题, 而是对我来说, 我认识到一旦理解, 就会降低对"涌现"的感受。而Noita, 或者塞尔达。他们的涌现行为基于玩家对世界事实的推断, 从超验出发, 让游戏体验将其转化为经验。其借鉴了现实, 语义等引导玩家对结果做出想象, 并肯定这种想象。玩家需要"涌现"现象给他带来的认可。
为了达成这种效果, 我希望实现几种简单的基本元素, 他们只能实现微小的功能, 但是当玩家凭借直觉将他们组合起来, 就能完成复杂功能。这一行为有丰富的显示原型可以取用。而在开发过程中, 由于对节点和系统设计能力不足, 我们试图先完成关卡目标, 再基于目标反过来完成节点设计。同时用程序暴力组合节点, 试图从其中找到涌现行为。这非常费脑子, 也有点看运气。但是在AI的帮助下, 我们试错的成本正在逐渐降低, 有更多的脑力工作都可以让AI代劳。在给出的第一版节点设计上不断改进, 希望能找到能承担"涌现"功能的系统。
当然, 让游戏退化成搭小车是需要避免的, 但是在优秀的设计下, 玩家可以看着他搭建的结构从自身的组合与操控开始, 向内调控信号与刺激的发生, 向外改变所处的环境, 甚至最终表现为一个病毒, 或者一个细胞。体验真正创造生命的感觉。
从拿到主题开始, 我对涌现的定义就是"通过简单功能组合产生复杂行为", 从这个概念出发, 很容易想到图灵完备或者Noita这类游戏。但是同时, 如何平衡"涌现"与"推导"的关系则是一个难题。对于图灵完备来说, 组合逻辑门到得到结果是一件逻辑清晰的事情, 玩家会了解他们的每一次搭建将承担系统里怎么样的功能, 并反过来指导具体逻辑门的拼装。我认为这不是涌现, 就像搭积木不是涌现一样, 本质上只是对nor的简单组合, 而从计算模块, 译码器和寄存器到一台能读汇编跑程序的过程似乎是一个合格的涌现, 但同样的, 我明白这对关卡设计的要求极高。我没有认为图灵完备没有体现涌现的主题, 而是对我来说, 我认识到一旦理解, 就会降低对"涌现"的感受。而Noita, 或者塞尔达。他们的涌现行为基于玩家对世界事实的推断, 从超验出发, 让游戏体验将其转化为经验。其借鉴了现实, 语义等引导玩家对结果做出想象, 并肯定这种想象。玩家需要"涌现"现象给他带来的认可。
为了达成这种效果, 我希望实现几种简单的基本元素, 他们只能实现微小的功能, 但是当玩家凭借直觉将他们组合起来, 就能完成复杂功能。这一行为有丰富的显示原型可以取用。而在开发过程中, 由于对节点和系统设计能力不足, 我们试图先完成关卡目标, 再基于目标反过来完成节点设计。同时用程序暴力组合节点, 试图从其中找到涌现行为。这非常费脑子, 也有点看运气。但是在AI的帮助下, 我们试错的成本正在逐渐降低, 有更多的脑力工作都可以让AI代劳。在给出的第一版节点设计上不断改进, 希望能找到能承担"涌现"功能的系统。
当然, 让游戏退化成搭小车是需要避免的, 但是在优秀的设计下, 玩家可以看着他搭建的结构从自身的组合与操控开始, 向内调控信号与刺激的发生, 向外改变所处的环境, 甚至最终表现为一个病毒, 或者一个细胞。体验真正创造生命的感觉。
(鼓掌声)(鼓掌声)(鼓掌声)(鼓掌声)(鼓掌声)(我说总座高见)(鼓掌声)(鼓掌声)(鼓掌声)(鼓掌声)
(所以有没有省流)


好了。那么接下来来到由秋柒呈现的第二部分:
Hello这里是秋柒
为了更快地探测我们所构造的规则,在这里向大家介绍:
“Pure Signal P0” a.k.a. 结构搜索器
这玩意是什么原理呢。。。这一段交给ai来解释:
先随机生成。系统在平面上随机撒二到六个节点,材料从四种里随机挑,位置落在间隔 0.25 的格点上,朝向按 15° 吸附(朝向现在有意义了),然后随机提议一些键。提议完之后,用正式的规则去验证每个键能不能连上。连不上的、结构散架的、根本不成一块的,直接扔掉。
然后是跑。每个结构跑两遍 —— 一遍完全不碰它,看它自己会怎样;另一遍在它身上打一个 0.2 秒的脉冲,看它怎么反应。
接着是看。把每个节点的完整状态都记录下来:激活、输出、是否正在发放、失活程度、两种能量库存,还有每一步的真实输入。
最后是分类。系统把记录归成五类:完全静止的、周期振荡的、被刺激后只响应一次的、延迟很久才响应的,以及证据不够归不了类的。判据很严:比如「静止」要求尾部两个三秒窗口里全状态的跨度不超过 0.003;「周期」要求尾部三个完整周期都真的重现。至于归不了类的,就归不了类。
然后是跑。每个结构跑两遍 —— 一遍完全不碰它,看它自己会怎样;另一遍在它身上打一个 0.2 秒的脉冲,看它怎么反应。
接着是看。把每个节点的完整状态都记录下来:激活、输出、是否正在发放、失活程度、两种能量库存,还有每一步的真实输入。
最后是分类。系统把记录归成五类:完全静止的、周期振荡的、被刺激后只响应一次的、延迟很久才响应的,以及证据不够归不了类的。判据很严:比如「静止」要求尾部两个三秒窗口里全状态的跨度不超过 0.003;「周期」要求尾部三个完整周期都真的重现。至于归不了类的,就归不了类。
人话就是 我们不用自己一个一个搭结构了
目前这玩意也有点问题 比如生成的临时文件有亿点大了 还需要改进
根据现有的结果 我们重新设计了教程关卡:

然后,我们还进行了ui界面的一些调整 更为人性化 新增了速度调节

最后呢,我们还在尝试探索游戏现有机制能否涌现出更多高级结构……
卖个关子,我们还有新的机制已经快端上来了...
那么今天就汇报到这里。


在文章的结尾,本人Izm再次向小组的各位以及大家谢罪Orz
目前来说,我们已经重构了剧情设计,以及加入了更多美术设计。
我放了一张不会剧透的目前进度图在头图上(作为封面诈骗)。(这图看起来和我们的游戏是一个画风吗?)
敬请期待。






