设计解谜游戏的30堂课

news2024/11/16 18:47:38

设计解谜游戏的30堂课

文章目录

    • 1.什么是Eureka Moment?
    • 2.谜题与幽默是同构的
    • 3.最大限度提高Sparkle
    • 4.避免无意义的谜题
    • 5.惊喜是Sparkle的重要源泉
    • 6.有趣的事实是惊喜的源泉
    • 7.尤里卡时刻并不是自豪
    • 8.不同解密者所寻求的解密体验是不尽相同的
    • 9.尤里卡是可以分享的
    • 10.创造很多尤里卡时刻
    • 11.创造一个有收获的结局
    • 12.藏入一些秘密和惊喜
    • 13.困惑是惊喜的前兆
    • 14.建立与解密者之间的信任
    • 15.当心不透明性
    • 16.让玩家容易尝试
    • 17.让解密者走在正确的道路上
    • 18.追求系统与规则的深度
    • 19.了解你的谜题的状态空间
    • 20.理解你的谜题的解法路径
    • 21.在与玩家交流中传递乐趣
    • 22.从正面设计
    • 23.让谜题的关键步骤被证明是独一无二的
    • 24.添加一个主题
    • 25.不要在玩家注意不到的地方耍小聪明
    • 26.形式会改变一切
    • 27.做辅助几号的过程可以增加深度
    • 28.当心互动媒介带来的诱惑
    • 29.打破前面这些规则,有时反常一点
    • 30.当你主动寻找好想法时,缘分自然会到来

本文为Elyot Grant的gdc讲座笔记,不得不说实在是太爽了,感谢up的翻译,整个三个小时的讲座就是一次又一次的尤里卡时刻,让我异常敬佩Elyot深厚的谜题知识,学到了非常多,非常有用这些谜题知识创造一些东西的欲望,小说或者游戏或者就是单纯的分享这些有趣的谜题。

电子游戏擅长用心流创造游戏,传统谜题设计师擅长设计Eureka时刻

1.什么是Eureka Moment?

尤里卡时刻是一种突然的、愉悦的、流畅的,自信的领悟。

比如在传送门游戏中学会了出入传送门动量是守恒的,

谜题:任何隐藏着尤里卡时刻的东西

2.谜题与幽默是同构的

尤里卡时刻的心理学特征:积极印象,高度多巴胺,整正反馈记忆形成,减少压力,增强毅力

3.最大限度提高Sparkle

Sparkle是指尤里卡时刻的强度,来源于填字游戏的一个概念

谜底的生动性和谜面的巧妙性

image-20221216153805072

你可能不是直接想出来的,而是通过交叉得到的这个词,然后你就会有一种哦原来cover是这个意思的尤里卡时刻。

image-20221216153947780

有个网站可以查每个单词的谜面:https://www.xwordinfo.com/Finder

4.避免无意义的谜题

Crosswordese:指那些经常在填字游戏中出现,但在日常生活中不怎么用得到的词,比如只有几个字母的以元音开头结尾的词,或者纯辅音的缩写,事实上每个填字游戏或多或少用到几个crosswordese,才能把填字游戏组合起来,但用多了就会拉低谜题的质量。

一些不太好的设计词语

Green Paint:无意义的词语组合

Rewaters:不太能算个词

Natick:两个难以猜出的词语相交

Aldi:这是一个主要在美国东部的连锁超市,所以不太适合把这种词放在填字游戏中

5.惊喜是Sparkle的重要源泉

image-20221216160813814

最不可能的走法(后走出去让兵生成后)才能在三步之内将死黑棋

6.有趣的事实是惊喜的源泉

image-20221216161531958

7.尤里卡时刻并不是自豪

Fiero:克服艰难挑战的情绪,这和尤里卡时刻是两个垂直的维度,尤里卡时刻更加注重让玩家发现有趣的东西,Eureka甚至不需要自己体验就可以云到这种感受,但是Fiero则要自己面对那种苦难然后体验成功的快乐。

任何游戏都可以带来Fiero的体验,但是只有谜题能带来Eureka时刻。

image-20221216162605597

下面来分析两个木块游戏,左边你无法通过硬塞解出来,你需要认真地思考关于空间,学习一些组合数学,空间填色问题的知识才能发现这是具有唯一解的,但是右边仅仅是一个打法时间的玩具,他只是把方块放在盒子里面,会让人感到消遣,但它没有揭示任何关于宇宙自然的事实。

image-20221216163412636

image-20221216163915973

8.不同解密者所寻求的解密体验是不尽相同的

image-20221216164139078

题海式的体验(重复已经发现的尤里卡时刻,随着自己的思绪游荡):一本数独书

缓慢沉思式的体验:九连环、205分钟方块、报纸谜题

9.尤里卡是可以分享的

10.创造很多尤里卡时刻

去玩密室逃脱吧!

11.创造一个有收获的结局

比如Picross(数织游戏,规则很简单,比如第一行的4 1 就代表这一行有一个连续4格和一个连续1格),玩家在玩的过程中会好奇最终能拼出一个什么图像。

image-20221216165258790

天体游戏:把每一个点用区域分割同时这个点需要变成这个区域的对称点

image-20221216165557123

你甚至可以用一个生成器来生成Tentai Show谜题:https://erikdemaine.org/fonts/spiralgalaxies/

p.s. 逛这个网站本身就很有乐趣啊,可以做各种谜题了:https://erikdemaine.org/fonts/

提炼步骤:最后的答案是一个新的谜题。

image-20221216171404877

12.藏入一些秘密和惊喜

藏彩蛋,因为这是有可能被错过的,所以你发现并解开的时候会更加惊喜。

13.困惑是惊喜的前兆

Aporia:一种困惑的状态,解密者觉得这不可能,但其实是有些事情你没有在注意到,会让你产生一个想法:一个有趣的诀窍是存在的,它预示了一个大的尤里卡时刻将要到来。当玩家处于Aporia时刻,他会有很强的激励感,而一旦他解出来了,就会很想和别人分享,并为之兴奋。

image-20221216173136032

14.建立与解密者之间的信任

image-20221216180312448

image-20221216180328467

这种情况只要遇到一次你就会对剩下的部分都失去信心,所以有时候直接告诉玩家你已经可以有了解决这个谜题的所有条件,比较有效(Superland)

还有一些时候可以引入Squres dealing的概念,即引入一些为了让玩家感到公平而遵守的惯例,比如一个钥匙对应一把锁,没有不给提示的同字母异构词这种。

避免使用拙劣的把戏:一个好迷题有“啊哈”时刻,一个坏谜题有“啊?真的吗?”时刻

image-20221216184745402

比如给提示在黑暗中跳跃,但是你不仅要保证你给了提示,还要保证玩家没看到提示的时候无法到达这个地方.

15.当心不透明性

谜题中没有向玩家解释的部分,目标、规则、能力、交互或结果,由于不透明性会让玩家觉得疑惑.

image-20221216201115490

16.让玩家容易尝试

不要让尝试过程挫败感太强:初见新机制的存档点,失败后漫长的失败动画和嘲讽,这些都会让人很挫败。

17.让解密者走在正确的道路上

比如填字游戏的每个字母都可以被检查,这样可以让玩家确认自己方向是正确的。

转移注意力的种类

装饰(一种本身不必要与谜题无关的装饰物,却又足够突出明显以至于会被理解为与谜题相关)、干扰项、假谜题和幽灵谜题、混淆和误导、兔子足迹(错误的谜题解法,但却没法被证明不可行),兔子足迹是最让人沮丧的, 因为新手不擅长猜测什么是可行的,只有在放弃之后才会改变方向。

让相关性和显著性相匹配

18.追求系统与规则的深度

系统的好处:玩家会有概念模型,知识可以服用,一致性与深度,涌现的惊喜,更好的尤里卡时刻,降低内容创造成本(设计一个谜题的实例比设计一整套规则更简单)

再开始重复同样的技巧之前,你能创造多少个谜题?

image-20221216221930513

加入新的组件,或者采用混合体和变体。

增加容量的常见方法:改变集合结构或拓扑结构,增加新约束条件,增加新线索类型,融合两种谜题类型,撒谎线索、密码线索、偏置1

深度从何而来:天然内在的深度(围棋),人为构造,规则间的互动

常见的谜题惯用手法:连通性、路径问题;装箱问题和覆盖问题(骨牌谜题);透视,实现;逻辑门;状态处理(捡起或推方块);往往很难但又有趣的规律

19.了解你的谜题的状态空间

image-20221216233608025

理解你的状态空间可以帮助你控制你的谜题的时间,难度,状态空间越大,瓶颈越多就越难。

image-20221216234002649

20.理解你的谜题的解法路径

不单纯指状态空间的路径,还指玩家在解决过程中的尤里卡时刻,尽量不要放一个单一的瓶颈,让玩家可以探索各种东西而不是一条长长的单一的状态链。

数回:让玩家可以从任何一个地方开始,重复地产生“哦我解决这个了”的想法,这样会对自己在正确的轨道上感到非常兴奋,

image-20221216234427439

线性路径意味着更难,但是能产生有趣的机密思想流,更有艺术性,枝繁叶茂更简单

image-20221216234541380

21.在与玩家交流中传递乐趣

点灯游戏:https://puzz.link/p?akari/10/10/gbibici16.ibi.gcgc7.g.q.g17.h.k.h.icgcgcgbgbi

规则是:1.灯会水平和垂直地照亮一行和一列,而你的目标是用灯光照亮整个网络。二是灯不会互相照到。三是数字代表了上下左右有多少灯

image-20221216234936752

可以自己解一遍这个谜题,从左下角的1一点一点推出所有不可能存在灯的地方,然后最后一气呵成,非常爽快的体验,在这个过程中有一种和创造者交流的感觉,让自己觉得领悟了作者的想法。

image-20221216235644670

如何设计出这种如一条路程般的谜题解答体验?

22.从正面设计

放置线索的同时进行解密的过程,我们要按照玩家在解密时注意到的顺序来放置线索。一个好的设计者一般是一个好的解密者,因为他设计的过程中能理清楚这个逻辑

image-20221217001844491

23.让谜题的关键步骤被证明是独一无二的

逻辑解密的美感的一部分来源于解的唯一性,如果解不唯一,就感觉自己像是在瞎猜,演绎推理的思维流就不可能实现

24.添加一个主题

左边是普通的孔明锁,右边是一个以猪为主题的孔明锁,有一个主题,能够增加玩家的记忆点,形成主题语言

image-20221217003007908

25.不要在玩家注意不到的地方耍小聪明

为了一些美学目标可能会牺牲谜题的质量

26.形式会改变一切

image-20221217103818817

27.做辅助几号的过程可以增加深度

做记号帮助你限制谜题大的状态空间,攻克一个点就可以让谜题”崩塌“。

因为玩家的短期记忆是有限的,如果不允许玩家做标记就会导致谜题的深度有限,比如一笔画完的划线游戏和一段一段增加的划线游戏能达到的深度不一样。

某些游戏做辅助标记的过程就是解密的过程,比如扫雷,但是电子游戏中不太常见,纸质游戏比较常见。

28.当心互动媒介带来的诱惑

物理元素:尤里卡时刻是离散空间的,但是物理元素是在连续空间中,有时候对连续空间的图例并不想对离散空间的推理那样好。比如扔球,你很难确定自己是否站的近了或者就是根本扔不进去,这种从连续空间到离散空间的映射会让玩家失去明确性。

多状态性

线性游戏:会阻碍玩家的进度,如果你想要不卡关就要考虑给玩家过多的提示,但这可能削弱尤里卡时刻的强度。p.s. 我玩文字游戏的时候就会有这一点,经常想直接看提示,总是这样就缺少了一丝快感,现在想起来原来是因为这个原因啊。

情节驱动的解密游戏

p.s. 以上规则全都被传送门2打破哈哈哈哈哈哈哈哈哈哈或

29.打破前面这些规则,有时反常一点

薛定谔线索

违反了唯一答案原则,总统大选字谜,中间那一行既可以填CLINTON也可以填BOBDOLE,为了达到这个目标要设计七个薛定谔线索。

image-20221217105808013

故意放红鲱鱼

把红鲱鱼放出来做成梗,懂得人知道不应该数它,这本身很有趣。

image-20221217110119358

奇特的规定

合作让黑方不被将死

image-20221217110628237

30.当你主动寻找好想法时,缘分自然会到来

伟大的谜题往往是被发现出来的,而不是发明出来的。

注意自己感受到的尤里卡时刻,并把他们变成谜题,积极寻找那些看起来会超出你预期的东西。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OVS-DPDK

要使用 ovs-dpdk,需要在node上构建 DPDK 并使用相应的 DPDK flag重新构建 ovs。 OVS-DPDK需要从源码编译,因为高度依赖内核等所在机器的环境,并需要配置很多参数以达到高性能。这意味着很难提供一个ovs-dpdk docker镜像来满足所有情况。OVS-D…

推荐系统学习笔记-基于图的模型

由来 基于图的模型( graph-based model )是推荐系统中的重要内容。其实,很多研究人员把基于邻域的模型也称为基于图的模型,因为可以把基于邻域的模型看做基于图的模型的简单形式。 在研究基于图的模型之前,首先需要将…

毫米波传感器原理介绍:角度估计

前边两篇博文从距离和速度两个维度进行了介绍,本篇将沿着第三个维度,角度进行分析,这也是毫米波传感器原理介绍的最后一篇理论基础。还是老规矩,我们先把公式列出来。 假设雷达两个接收天线之间的距离为d,θ 是物体相…

IS-95前向链路系统误码率matlab仿真,包括扩频调制,匹配滤波,RAKE接收

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 前向链路指由基站发往移动台的无线通信链路,也称作下行链路。IS-95系统前向链路最多可以有64个同时传输的信道,它们是在PN序列上再采用正交的Walsh码进行区分的信道&#…

网上书店系统/书店管理系统的设计与实现

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&…

C51 ——433M 射频信号控制喇叭

遥控按下后信号怎么被接受接 接收后的表现 : 厂商会告诉我们 这款告诉我们 接收模块对应针脚输出高电平 。 遥控控制喇叭 #include "reg52.h" sbit switcher P1^1; // 把继电器IN口 接到 P1.1 sbit D0_ON P1^2; // 把433M 射频信号接收器D0 口 接到P1.…

postman上传文件(multipart/form-data请求)

postman上传文件(multipart/form-data请求) 背景 网页的form表单中,如果存在上传文件的表单,则需要将form标签设置enctype"multipart/form-data"属性,意思是将Content-Type设置成multipart/form-data。 那…

今日小惊喜

今日限定小惊喜,一抬头突然发现有花开。

ESP32基础应用之lvgl显示中文

文章目录1 工程简介2 工程实现2.1 制作字库2.2 为字库自作分区表2.3 将字库移植到lvgl工程中2.4 将字库myFont.bin烧录到分区表中2.5 编写程序测试3 存在问题1 工程简介 该工程在《ESP32基础应用之LVGL基础》之上实现中文的显示。 参考文章 《ESP32 IDF LVGL8.0 flash 外部字…

CSC7720

CSC7720是一款用于5V2.1A开关电源的高效率同步整流控制IC。其具备较高的集成度,在有效的提升开关电源的转换效率的同时,减少了外围元器件的应用。CSC7720可用于DCM/QR开关电源系统。CSC7720内置45V的功率管,在系统中替代次级肖特基管,并提高整…

启动单文件组件项目及项目文件解释

启动项目文件:“package.json”: “package.json”:这个文件能记录当前项目中安装的所有模块,里面也有脚本,这个脚本可以快速启动我们的项目。 打开文件,可以看到“serve”,serve就是启动文件…

李沐精读论文:transformer 《Attention Is All You Need》 by Google

论文:Attention Is All You Need 视频:Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili 课程(推荐先看这个):李宏毅机器学习:self-attention(自注意力机制)和transformer及其…

SpringBoot整合Shiro环境搭建

SpringBoot整合Shiro环境搭建导入 SpringBoot 和 Shiro 整合包的依赖&#xff1a; <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring --> <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring<…

XXL-Job分布式任务调度框架-- 定时任务注册案例2

一 案例操作 1.1 新建工程 简单建一个springboot的工程&#xff0c;如下图结构 1.2 工程的配置 1.pom中依赖配置 2&#xff09;代码 <!-- xxl-job --><dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactI…

ANTLR4入门(一):Windows安装antlr4命令行环境

最近开始学习ANTLR4&#xff0c;《ANTLR 4权威指南》这本书是看完了&#xff0c;现在开始实践&#xff0c;本系列文记录实践过程中的遇到的问题解决过程及心得体会 下载 从antlr官方网站下载最新的antr4版本(jar)&#xff1a;https://www.antlr.org/download.html 目前最新的…

牛客java刷题知识点总结(七)

instanceof运算符作用 instance是java的二元运算符&#xff0c;用来判断他左边的对象是否为右面类&#xff08;接口&#xff0c;抽象类&#xff0c;父类&#xff09;的实例。 我们考虑的时候&#xff0c;左边的对象如果是父类的引用指向子类的对象&#xff0c;我们用子类对象的…

C++【并查集】

文章目录一、并查集是什么并查集的简单表示并查集的合并并查集的代码实现并查集小练习1并查集小练习2并查集的压缩问题一、并查集是什么 并查集是一个森林 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素…

CS61A Lab 4

更好的阅读体验 Lab 4: Recursion, Tree Recursion lab04.zip What Would Python Do? Q1: Squared Virahanka Fibonacci Use Ok to test your knowledge with the following “What Would Python Display?” questions: python3 ok -q squared-virfib-wwpd -u✂️Hint: If…

CountDownLatch类的使用

&#x1f388;专栏链接:多线程相关知识详解 目录 一.CountDownLatch的介绍 二.CountDownLatch类里面的方法 三.CountDownLatch的两种应用场景 ①一等多情况 ②多等一情况 一.CountDownLatch的介绍 CountDownLatch是一种用来控制多线程的工具类,它被称为门阀、计数器或者…

LeetCode HOT 100 —— 301.删除无效的括号

题目 给你一个由若干括号和字母组成的字符串 s &#xff0c;删除最小数量的无效括号&#xff0c;使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 思路 DFS 回溯算法&#xff1a; 首先最终合法的方案&#xff0c;必然有左括号的数量 右括号的数量 …