《游戏设计师修炼之道:数据驱动的游戏设计》一3.6通过算法定义玩法

简介: 本节书摘来华章计算机《游戏设计师修炼之道:数据驱动的游戏设计》一书中的第3章 ,第3.6节,(美)Michael E Moore著 傅鑫陈征戴锋等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6通过算法定义玩法

依据Wiktionarycom上的说法,算法是“计算过程的精确的、逐步的计划,它开始于一个输入值,并且会在有限的步骤内产生一个输出值”。在描述游戏玩法时,设计师应该在脑海中使描述接近这个定义。游戏中的每个动作都应该通过算法来定义,它是用于决定每个动作的逐步的过程。算法描述不必是一个数学公式,但是它应该给程序员提供足够的信息,以便搞清楚如何编码过程。
有时,算法可能非常短,例如,在回合制游戏中,其中的单元具有移动点,那么用于描述移动动作的算法可能是:“当某个单元进入允许的空间时,将从该单元剩余的移动点总数中减去进入该空间的移动点成本。如果该单元没有足够的移动点,它将不能进入该空间,并且会显示一条报警消息来警告玩家。否则,该单元将进入此空间中。”注意,有一些事情需要详细描述,以提供关于算法条件的更多信息。在刚才提到的示例中,设计师希望解释“允许的空间”意指什么,即某个单元可以进入的空间,与包含不可通行地区的空间相对。
在其他时间,算法可能相当复杂,并且具有许多不同的步骤,例如,角色扮演游戏中的战斗决定。它有助于逐步地分解步骤,并且包括一个示例,以帮助程序员理解流程。

相关文章
|
1月前
|
人工智能 算法 前端开发
无界批发零售定义及无界AI算法,打破传统壁垒,累积数据流量
“无界批发与零售”是一种结合了批发与零售的商业模式,通过后端逻辑、数据库设计和前端用户界面实现。该模式支持用户注册、登录、商品管理、订单处理、批发与零售功能,并根据用户行为计算信用等级,确保交易安全与高效。
|
5月前
|
算法
数据结构和算法学习记录——线性表之双向链表(上)-结点类型定义、初始化函数、创建新结点函数、尾插函数、打印函数、尾删函数
数据结构和算法学习记录——线性表之双向链表(上)-结点类型定义、初始化函数、创建新结点函数、尾插函数、打印函数、尾删函数
48 0
|
1月前
|
人工智能 算法 Java
【搜索算法】数字游戏(C/C++)
【搜索算法】数字游戏(C/C++)
|
3月前
|
搜索推荐 算法 Java
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法
该博客文章通过UML类图和Java源码示例,展示了如何使用适配器模式将QuickSort类和BinarySearch类的排序和查找功能适配到DataOperation接口中,实现算法的解耦和复用。
40 1
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法
|
3月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
50 1
|
3月前
|
算法
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
|
3月前
|
算法 Python
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
|
5月前
|
算法 数据挖掘 开发者
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
|
5月前
|
算法 JavaScript 前端开发
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
82 1
|
5月前
|
算法
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏