这些原则可能适用于各种游戏。我的最新的游戏叫做Satura,涉及移动一个代理使其将颜色涂到棋盘上,其中代理的行动由动态脚本决定,必须对对手的移动做出反应,并为将来的棋盘状态做好准备。然而,我这里提出的原则是:
1. 代码不可替代
这意味着脚本不能像点击鼠标或在物理车上移动一块车一样成为摩擦层。编程必须成为游戏的基本内容,游戏不能同样存在而不依赖于它。
2. 游戏策略和代码策略耦合但不可转移
现有的算法或智能 shouldn't 能轻易识别游戏策略和代码策略。几乎每个游戏都可以有一个优于它的算法或程序,而几乎任何编码应用都可以由大语言模型进行。目标是使这两个方面成为不可转移的。Stockfish 不能编写代码,而ChatGPT 不能玩国际象棋,我同样希望我的游戏能够做到这一点。
3. 不是随机的,不是可解决的,不是确定的
游戏必须避免引入偶然而变得算法地确定。两名玩家应该有相同的机遇、相同的起始条件以及相同的资源,使得结果取决于个人能力。同样,应该没有可正式赢得的策略,而且连接游戏的不同方面只能由人类独特的行为能够做到。玩家应该能够越来越擅长玩游戏,可以带入个人能力使其更好或更差,但永远无法“解决”它。
4. 子目标每轮不同
脚本是一个非常强大的工具,而过于简单的游戏可以通过一个脚本解决。因此,游戏的子目标必须每轮都不同。这意味着转换策略,聚焦在某些区域或者更具攻击性或防御性等。一个脚本永远不能解决整个游戏。
5. 局部执行,全球价值
脚本必须是在局部水平上运作,只能感知/修改一小部分棋盘或给定的信息范围内的信息。玩家应该能够观察到全球游戏状态,然后通过局部脚本进行操作。
6. 简单规则,几乎无限深度
这也是源于国际象棋。规则应该在几分钟内能够学会(假设有足够的编码知识才能写出一个清晰的脚本),但是游戏仍有可能非常复杂。每个游戏的独特性和趣味性应该来源于可能的移动数量,而不是随机性、规则复杂性。简而言之,游戏应该有相对少的交互规则可以产生几乎无限的结果。
评论 (0)