当前位置:网站首页>益智类游戏关卡设计:逆推法--巧解益智类游戏关卡设计
益智类游戏关卡设计:逆推法--巧解益智类游戏关卡设计
2022-07-31 04:42:00 【Clank的游戏栈】
前言
益智类的游戏非常有意思,但是它的关卡设计并不容易,看上去是随机,同时难度又要由简到难的按顺序增加,同时还要有标准的提示的解法,本节給大家分享一类益智类游戏的关卡设计的解决方法,这个方法我称为: 逆推法。
这里有个游戏开发交流小组 大家可以一起来学习交流哦
逆推法适应的场景举例
首先举2个经典游戏例子来看下逆推法适用的游戏场景。首先我们来看《拼图游戏》的关卡设计, 《拼图游戏》在做关卡设计的时候,大家可能觉得会很简单,只要把图片分成若干的块,然后随机打乱就可以了,这样一个关卡就做完了。那么问题来了:
(1) 如何保证能让难度是按照由低到高的顺序一关关的递增呢?
(2) 如何保证每一组随机打乱以后的关卡,能一定有解,按照一定的步骤能还原回原来的图片状态呢?
(3) 如何能通过计算机自动求解,实现智能提示拼出整个拼图的过程呢?
关卡求解智能提示
再来看一个经典的游戏案例《华容道》,他的主要玩法就是用不同形状的积木块包住物体,然后让玩家移开木块,让玩家和出口之间能有一条直达的路出来,同时还有智能提示,能够提示出每个关卡的移动方法。这里关卡设计同样也面临3个问题:
什么是逆推法
做关卡设计的时候,我们給策划编写关卡编辑工具,所谓逆推法就是从结果出发来经过难度等级的迭代生成关卡的初始状态。和玩家求解是反着来的,所以叫做逆推法。主要包含一下步骤:
《华容道》如何制作做关卡编辑器
接下来我们以《华容道》为例,讲解关卡编辑器的制作,按照逆推法的第一步,我们需要将结果生成出来,在《华容道》的游戏盘上,我们先生成”玩家块”到”终点”的数据块,这些数据块等下生成关卡地图的时候,这个路径之间不允许有其它的块占用,接下来我们給用户一个可以编辑的工具,让关卡设计着把积木摆好(也可以代码生成块)如下图所示:
接下来,我们就是经过N次步骤,每次用代码随机移动里面可以移动的块,这样就得到了N次操作,将每次操作保存起来。同时得到了经过N次操作以后的关卡结果,这个关卡的结果就是我们呈现給玩家的初始状态,最终游戏的结果,就是关卡编辑者摆出的状态(也可以程序生成)。而保存的N次迭代步骤,反过来就是智能求解。这样就解决了上面所说的关卡编辑的3个问题:
(1) 我们从结果开始逆推,保证了肯定是有解的;
(2) 我们是通过难度+次数来控制经过多少次迭代得到的关卡状态,这样难度是可以控制的。
(3) 我们把关卡编辑器中的步骤反推过来就是智能提示。
好今天的逆推法游戏关卡设计就到这里了,关注我们可以学到更多的关卡编辑的使用技巧。
边栏推荐
猜你喜欢
C语言表白代码?
【C语言进阶】文件操作(一)
binom二项分布,
从零开始,一镜到底,纯净系统搭建除草机(Grasscutter)
XSS shooting range (3) prompt to win
STM32HAL library modifies Hal_Delay to us-level delay
MySQL based operations
Win10 CUDA CUDNN 安装配置(torch paddlepaddle)
递归实现汉诺塔问题
(4) Recursion, variable parameters, access modifiers, understanding main method, code block
随机推荐
ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法
Notes on the establishment of the company's official website (6): The public security record of the domain name is carried out and the record number is displayed at the bottom of the web page
MySQL to revise the root password
C language confession code?
Knowledge Distillation 7: Detailed Explanation of Knowledge Distillation Code
PCL 计算点云坐标最值及其索引
【wpf】wpf中的那些模板之深度解析
The use of beforeDestroy and destroyed
MySQL模糊查询可以使用INSTR替代LIKE
WPF WPF 】 【 the depth resolution of the template
(六)枚举、注解
How Zotero removes auto-generated tags
Port inspection steps - 7680 port analysis - Dosvc service
XSS靶场(三)prompt to win
Can‘t load /home/Iot/.rnd into RNG
"DeepJIT: An End-To-End Deep Learning Framework for Just-In-Time Defect Prediction" paper notes
IDEA common shortcut keys and plug-ins
MySQL数据库安装配置保姆级教程(以8.0.29为例)有手就行
Redis uses LIST to cache the latest comments
type_traits metaprogramming library learning