【游戏设计原理】97 - 空间感知

在这里插入图片描述

一、游戏空间的类型

将游戏设计中的空间设计单独提取出来,可以根据其结构、功能和玩家的交互方式划分为以下几种主要类型。这些类型可以单独存在,也可以组合使用,以创造更加复杂和有趣的游戏体验。

1. 线性空间
  • 定义:空间设计是单向的,玩家只能按照预设路径前进,无法回头或选择其他方向。
  • 特点:
    • 空间结构简单,主要用于引导玩家朝一个目标前进。
    • 常见于故事驱动型游戏或教学关卡。
  • 设计要点:
    • 使用光线、路径、地标等视觉元素引导玩家前进。
    • 通过增加障碍、敌人或谜题控制节奏。
  • 示例:
    • 《超级马里奥》中的传统2D关卡。
    • 《神秘海域》中的攀爬场景。
2. 开放空间
  • 定义:空间广阔且自由,玩家可以以自己的方式探索,没有严格的限制。
  • 特点:
    • 提供高度的探索自由。
    • 需要明确的视觉标志或导航系统,防止玩家迷失方向。
  • 设计要点:
    • 添加明显的地标或指引系统(如高塔、灯塔等)。
    • 在不同区域提供独特的资源或任务,激励玩家探索。
  • 示例:
    • 《塞尔达传说:荒野之息》的开放世界。
    • 《GTA》系列的城市环境。
3. 迷宫式空间
  • 定义:由复杂的通道和房间组成,玩家需要寻找正确的路径或完成特定目标。
  • 特点:
    • 强调探索和解谜。
    • 经常包含隐藏的捷径、秘密通道或奖励。
  • 设计要点:
    • 利用分支路径和死胡同增加挑战。
    • 通过音效、光线或符号提示路径或目标。
  • 示例:
    • 《Pac-Man》的经典迷宫。
    • 《地牢爬行》类游戏(如《暗黑破坏神》)。
4. 垂直空间
  • 定义:空间以高度为主,玩家需要在上下层次之间移动。
  • 特点:
    • 常用于表现攀爬、跳跃或飞行。
    • 需要在高度变化中提供清晰的路径指引。
  • 设计要点:
    • 在高度差异较大的地方使用明显的引导(如阶梯、绳索、可攀爬的表面)。
    • 提供合理的视觉反馈,避免让玩家因高度差迷失。
  • 示例:
    • 《刺客信条》的高塔攀爬。
    • 《Celeste》中的爬山场景。
5. 动态空间
  • 定义:空间会随着时间或玩家的操作而发生变化。
  • 特点:
    • 增加了动态性和不可预测性。
    • 通常用于制造紧张感或挑战。
  • 设计要点:
    • 动态变化需要与游戏机制结合,如时间限制、逐渐崩塌的地面等。
    • 通过视觉或音效提示玩家即将发生的变化。
  • 示例:
    • 《超级马里奥》中的消失平台。
    • 《堡垒之夜》中随着时间缩小的安全区。
6. 集中空间
  • 定义:设计成一个开放但相对集中的区域,玩家可以自由移动,但活动范围有限。
  • 特点:
    • 常用于竞技场战斗或特定任务场景。
    • 空间内通常有多个可交互的元素或掩体。
  • 设计要点:
    • 提供合理的掩体或高低差,增加玩家的策略性。
    • 在设计上需保持平衡性,确保战斗公平。
  • 示例:
    • 《守望先锋》的竞技场地图。
    • 《怪物猎人》的战斗区域。
7. 程序生成空间
  • 定义:通过算法动态生成的空间,每次游玩都可能有不同的布局。
  • 特点:
    • 提供高度的随机性和可重复性。
    • 通常包含规则化的模块设计。
  • 设计要点:
    • 确保生成的空间结构合理且符合游戏机制。
    • 动态生成的空间需要适当控制难度曲线。
  • 示例:
    • 《Minecraft》的随机生成世界。
    • 《杀戮尖塔》的关卡布局。
8. 封闭空间
  • 定义:空间较小且有限,通常用于制造紧张感或高互动性。
  • 特点:
    • 强调压力或直接互动。
    • 常与恐怖游戏或逃生机制结合。
  • 设计要点:
    • 空间需要精细设计,尽量利用每一处位置。
    • 配合音效、光线或敌人行为,强化空间的情绪效果。
  • 示例:
    • 《生化危机》中的走廊场景。
    • 密室逃脱类游戏。
9. 混合空间
  • 定义:将不同类型的空间设计结合在一起,形成复杂而动态的体验。
  • 特点:
    • 提供多样化的体验,避免单调。
    • 适合长时间游玩的游戏。
  • 设计要点:
    • 根据节奏需求合理安排不同空间类型的过渡。
    • 通过视觉元素和音效引导玩家适应新的空间设计。
  • 示例:
    • 《黑暗之魂》系列将开放空间与迷宫式空间结合。
    • 《地平线:零之曙光》结合了开放世界与垂直攀爬。

总结

空间设计类型虽然多种多样,但它们的核心目标是服务于游戏体验,无论是提供自由探索、制造紧张感,还是强调玩家的策略性与操作性。优秀的空间设计往往能通过巧妙的布局和细节,提升玩家的沉浸感和游戏乐趣。

二、不同阶段对空间类型的考虑

你说得非常有道理!在游戏开发过程中,空间类型的选择确实是关卡设计的重要前提,但这个选择通常并非完全固定,而是会随着游戏设计的进展逐步明确和细化。以下是空间类型选择的典型阶段,以及它们在开发流程中的作用:

1. 概念设计阶段
  • 目标:确定整体空间体验和核心玩法方向

    在这个阶段,开发团队会围绕游戏的

    核心玩法

    玩家体验目标

    ,大致决定游戏的空间类型。

    • 为何在此阶段考虑?

      空间类型与游戏的玩法密切相关,是体验的基础。例如:

      • 如果是探索驱动的游戏(如《塞尔达传说》),需要更多开放空间。
      • 如果是恐怖游戏(如《生化危机》),通常需要幽闭和迷宫式空间。
    • 关键输出:

      • 游戏整体的空间风格(开放、线性、垂直等)。
      • 概念关卡的草图或参考图片。
  • 举例:

    • 《Celeste》在概念阶段明确了其攀爬核心玩法,因此决定采用垂直空间作为主导类型。
2. 游戏原型阶段
  • 目标:测试核心玩法与空间类型的兼容性

    这一阶段通过快速原型(Prototype)来验证选择的空间类型是否能支持游戏核心机制。

    • 为何在此阶段考虑?
      • 空间类型和玩法的匹配性需要通过实际测试验证。例如:
        • 动态空间是否会过于混乱而影响玩家控制?
        • 迷宫式空间是否影响战斗节奏?
      • 如果发现空间类型与核心玩法不匹配,可以及时调整。
    • 关键输出:
      • 用简单的几何体搭建的测试关卡。
      • 玩家反馈和内部测试数据。
  • 举例:

    • 在《传送门》的开发初期,Valve通过原型测试确定了适合解谜的线性+垂直空间组合。
3. 关卡设计阶段
  • 目标:根据游戏目标设计详细的空间结构和布局

    一旦确定了游戏的核心玩法和主要空间类型,关卡设计师会细化每个关卡的具体空间布局。

    • 为何在此阶段考虑?
      • 关卡设计需要在整体空间类型的框架内进一步细化具体路径、挑战点和互动元素。
      • 这个阶段,设计师还会结合游戏的节奏安排不同类型的空间。例如:
        • 开放空间用于提供探索和休息。
        • 封闭空间用于营造紧张感和压迫感。
    • 关键输出:
      • 每个关卡的空间蓝图和初步设计。
      • 游戏节奏文档(各关卡中不同空间类型的分布)。
  • 举例:

    • 《黑暗之魂》的关卡设计将线性路径嵌入到迷宫式世界中,并通过敌人和捷径增加深度。
4. 美术设计阶段
  • 目标:赋予空间类型独特的视觉风格和情感表达

    在美术设计阶段,空间类型的选择已经基本确定,但美术团队需要通过细节进一步强化空间的情绪和功能。

    • 为何在此阶段考虑?
      • 美术风格会影响玩家对空间类型的感知。例如:
        • 高天花板配合光线效果,增强“大教堂效应”。
        • 狭窄通道加上阴暗的灯光,强化幽闭恐惧感。
    • 关键输出:
      • 详细的美术资源(建筑、场景、光线等)。
      • 空间氛围测试与优化。
  • 举例:

    • 《控制》(Control)利用独特的美术设计,强化了办公楼中的动态和垂直空间感。
5. 游戏测试阶段
  • 目标:验证空间设计对玩家体验的实际影响

    在测试阶段,空间类型的选择和设计会根据玩家反馈进行微调。

    • 为何在此阶段考虑?
      • 即使空间类型已经决定,实际体验可能会有细节问题需要调整。例如:
        • 某些开放空间太空旷,玩家可能觉得无聊。
        • 某些封闭空间过于压抑,玩家可能产生负面情绪。
    • 关键输出:
      • 测试报告和玩家反馈数据。
      • 根据反馈调整的空间设计。

总结

空间类型的选择贯穿整个游戏开发流程,但关键的决定通常发生在概念设计阶段原型阶段,因为它们直接影响游戏玩法的基础。到关卡设计和美术设计阶段,空间类型会被细化并赋予更多的情感表达和功能性。总的来说,空间类型的选择是动态的,它会随着游戏开发的不断深入而优化调整。


原文:

原理97:空间感知

空间感知是指一个人对自己在空间中所处的位置以及其与周围的事物和环境之间关系的认识。它通常在视频游戏描绘的空间中起作用。一些桌游也会用到它,但这在很大程度上需要靠玩家的想象来达到目的。关于建筑和环境能够影响人类的体验和情绪这一点最初看起来是违反直觉的,但经过对真实案例的直接观察得到了确认。

下面的每个类别描述的都是一种已经被建筑师有意识地利用了几个世纪的人类体验中的真实现象。对真实的建筑和城市起作用的规律在虚拟世界同样适用。

对人类心理的积极影响

了望 - 庇护
“了望-庇护”(Prospect-Refuge)是一个硬币的两面。一方面,人们对一览无余的环境(了望)显示出明显的偏爱。人类本能的某些部分在能看到或听到周围的任何威胁的情况下感觉更安全。所以当遇到一个视野开阔的空间,如山顶上时我们会感觉到深深的吸引和满足。另一方面,人们也喜欢能够提供隐蔽的场所(庇护)。喜欢能够隐藏的地方同样来自人类心灵深处追求安全的本能。如果能够从远处看到危险来临可以让多疑的本能感到满意,那么找到一个任何威胁都无法靠近的藏身之处也会让其感到同样高兴。

大教堂效应
“大教堂效应”(Cathedral Effect)是天花板的高度和人们的思考之间的显著关系。当人们发现自己处在一个天花板很高的房间时会更容易做更具体的和细节导向的思考。天花板越高,他们就能思考得更好。这个效应的名字就来源于人们数个世纪以来在宗教场所对它的应用。人们在高天花板的建筑里能感觉到视角被提升,思维更清晰。

对人类心理的消极影响

旷野恐惧
旷野恐惧(Agoraphobic)跟前面提到的了望的概念有关,但旷野恐惧是对这类广阔、开放的空间的一种病态恐惧。要利用这种焦虑,可以随着开阔的视野让玩家产生脆弱感。从机制上来讲,这样的环境让玩家在寻找庇护或是为各种攻击寻求掩护的行为上缺乏选择,或是只有非常有限的选择。这些空间通常可以让玩家受到来自敌方狙击手、Boss、远程迫击炮的袭击或是空袭。

幽闭恐惧
让人产生幽闭恐惧(Claustrophobic)的空间从形式上来讲是狭窄、逼仄的。当玩家意识到他们被困在一个小空间并面对一个严重的威胁时,他们会感觉到焦虑。从机制上讲,这些环境通常还包含一些可供藏身的地方,以及潜在的秘密入口。相反,有时候最简单直接的方法是最好的,也就是说将玩家被困在直面敌方视线的地方。这两种做法都会让玩家感受到危险靠近的恐惧。

深入而复杂的世界

当然,真实的世界不只有单一的空间结构,它是由各种各样不同的建筑类型组成的。将不同的环境类型相结合能够将玩家推向一个线性的体验(参见原理61“路径指示”),走上一条规划好的线路并且给他们提供有趣的冒险。以下是一些帮助将不同环境有效组合的策略。

防御空间
防御空间是一种平衡,它们不过度逼仄也不过度开阔。从机制上讲这样的环境既能方便地去到“了望”空间又能方便地去到“庇护”空间。从外观上,这样环境中的建筑特点能够传达价值感和所有权。这样的空间通过能够让玩家方便地进入对他们有利的位置,让玩家在自己的领地上感觉到拥有、控制以及对抗敌方的力量。

光线设计
和以上列出的所有原理一样,光线设计是一门已被研究了多年的学科。一个短小的总结很难给它一个精确的描述。简而言之,光线是操纵环境的有效工具。比如,人类在模拟日光的光线下感到更安全和快乐。而他们也会被温暖的、黄色的、类似火光的光线所吸引——特别是在整体较暗的房间里。光线还能通过亮度和颜色变化,让人的注意力集中到一个特定的角落或空间。

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

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

相关文章

va_list va_start va_end的概念和使用案例

va_list、va_start 和 va_end 是 C/C 中用于处理可变参数函数&#xff08;Variadic Functions&#xff09;的一组宏&#xff0c;定义在 <stdarg.h>&#xff08;C&#xff09;或 <cstdarg>&#xff08;C&#xff09;头文件中。它们允许函数接受不固定数量的参数&…

基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究

摘要&#xff1a;本文深入探讨在开源AI智能名片2 1链动模式S2B2C商城小程序的应用场景下&#xff0c;个人IP人设构建的理论与实践。通过剖析个人IP人设定义中的“诉求”“特质”“可感知”三要素&#xff0c;结合该小程序特点&#xff0c;阐述其对个人IP打造的影响与推动作用&…

数据库和数据表的创建、修改、与删除

1.标识符命名规则 数据库名、表名不得超过30个字符&#xff0c;变量名限制为29个 必须只能包含A-Z,a-z,0-9,_共63个字符 数据库名、表名、字段名等对象名中间不能包含空格 同一个MySQL软件中&#xff0c;数据库不能同名&#xff1b;同一个库中&#xff0c;表不能重名&#…

算法日记10:SC62求和(单调栈)(共享求解)

一、题目 二、题解&#xff1a; 1、首先&#xff0c;我们看到题目的第一个想法&#xff0c;就是把样例答案如何求解给列出来&#xff0c;图例如下 2、通过分析样例&#xff0c;可以很清晰的发现每一个数字都有其管辖的区间&#xff0c;因此我们可以想到能否找到一个数字它所管…

C#基础知识

0 C#介绍 定义与背景 C#&#xff08;发音为C - sharp&#xff09;是微软公司开发的一种高级编程语言。它是专门为构建在微软的.NET平台上运行的各种应用程序而设计的。在2000年左右推出&#xff0c;目的是结合当时编程语言的优点&#xff0c;如C的强大功能和Java的简单性与安全…

HTML 字符实体

HTML 字符实体 在HTML中,字符实体是一种特殊的表示方式,用于在文档中插入那些无法直接通过键盘输入的字符。字符实体在网页设计和文档编写中扮演着重要的角色,尤其是在处理特殊字符、符号和数学公式时。以下是关于HTML字符实体的详细解析。 字符实体概述 HTML字符实体是一…

Revit二次开发 自适应族添加放样融合

大多数博客给出的方案都是如何在有自适应族的情况下进行修改定位点或是将数据传入自适应族,如何直接在族文件中创建自适应模型并将点转换为自适应点,连接自适应点成为自适应路径这种方式没有文章介绍. 下面的代码中给出了如何在自适应族文件中创建参照点并转换为自适应点连接…

基于VMware的ubuntu与vscode建立ssh连接

1.首先安装openssh服务 sudo apt update sudo apt install openssh-server -y 2.启动并检查ssh服务状态 到这里可以按q退出 之后输入命令 &#xff1a; ip a 红色挡住的部分就是我们要的地址&#xff0c;这里就不展示了哈 3.配置vscode 打开vscode 搜索并安装&#xff1a;…

【1】快手面试题整理

[1]. 说说int和Integer的区别 int是Java中的基本数据类型&#xff0c;用于存储整数值。它直接在栈内存中存储数值&#xff0c;默认值是0&#xff0c;并且不能为null&#xff0c;本身不带方法。 Integer是int的包装类&#xff0c;属于引用类型。它在堆内存中存储一个对象&…

解决SetWindowCompositionAttribute使控件文本透明的问题

用以下参数调用该API&#xff0c;能实现类似Aero的模糊透明效果。 参数具体含义见 https://zhuanlan.zhihu.com/p/569258181 http://www.memotech.de/WindowComposition/Text.txt http://www.memotech.de/WindowComposition/WindowComposition.zip DWORD accent[4] { 3,0,0,0 …

使用 DeepSeek-R1 与 AnythingLLM 搭建本地知识库

一、下载地址Download Ollama on macOS 官方网站&#xff1a;Ollama 官方模型库&#xff1a;library 二、模型库搜索 deepseek r1 deepseek-r1:1.5b 私有化部署deepseek&#xff0c;模型库搜索 deepseek r1 运行cmd复制命令&#xff1a;ollama run deepseek-r1:1.5b 私有化…

SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言

目录 一、环境准备 1、MySQL 8.0 和 Navicat 下载安装 2、准备好的表和数据文件&#xff1a; 二、SQL语言简述 1、数据库基础概念 2、什么是SQL 3、SQL的分类 4、SQL通用语法 三、DDL&#xff08;Data Definition Language&#xff09;&#xff1a;数据定义语言 1、操…

Java篇之继承

目录 一. 继承 1. 为什么需要继承 2. 继承的概念 3. 继承的语法 4. 访问父类成员 4.1 子类中访问父类的成员变量 4.2 子类中访问父类的成员方法 5. super关键字 6. super和this关键字 7. 子类构造方法 8. 代码块的执行顺序 9. protected访问修饰限定符 10. 继承方式…

使用SpringBoot发送邮件|解决了部署时连接超时的bug|网易163|2025

使用SpringBoot发送邮件 文章目录 使用SpringBoot发送邮件1. 获取网易邮箱服务的授权码2. 初始化项目maven部分web部分 3. 发送邮件填写配置EmailSendService [已解决]部署时连接超时附&#xff1a;Docker脚本Dockerfile创建镜像启动容器 1. 获取网易邮箱服务的授权码 温馨提示…

TensorFlow简单的线性回归任务

如何使用 TensorFlow 和 Keras 创建、训练并进行预测 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与预测 7. 保存与加载模型 8.完整代码 1. 数据准备与预处理 我们将使用一个简单的线性回归问题&#xff0c;其中输入特征 x 和标…

Kafka SASL/SCRAM介绍

文章目录 Kafka SASL/SCRAM介绍1. SASL/SCRAM 认证机制2. SASL/SCRAM 认证工作原理2.1 SCRAM 认证原理2.1.1 密码存储和加盐2.1.2 SCRAM 认证流程 2.2 SCRAM 认证的关键算法2.3 SCRAM 密码存储2.4 SCRAM 密码管理 3. 配置和使用 Kafka SASL/SCRAM3.1 Kafka 服务器端配置3.2 创建…

AI源码加训练

我们将使用Hugging Face的transformers库和torch库来实现这个目标。这个示例将包括数据准备、模型微调以及对话功能的实现。 步骤 1&#xff1a;安装必要的库 在Windows上&#xff0c;确保你已经安装了Python&#xff08;推荐Python 3.8及以上版本&#xff09;。然后安装以下…

vue入门到实战 三

目录 3.1 v-bind 3.1.1 v-bind指令用法 ​编辑3.1.2 使用v-bind绑定class 3.1.3 使用v-bind绑定style 3.2.1 v-if指令 3.2.1 v-if指令 3.2.2 v-show指令 ​3.3 列表渲染指令v-for 3.3.1 基本用法 3.3.2 数组更新 3.3.3 过滤与排序 3.4 事件处理 3.4.1 使用v-on指令…

《苍穹外卖》项目学习记录-Day10订单状态定时处理

利用Cron表达式生成器生成Cron表达式 1.处理超时订单 查询订单表把超时的订单查询出来&#xff0c;也就是订单的状态为待付款&#xff0c;下单的时间已经超过了15分钟。 //select * from orders where status ? and order_time < (当前时间 - 15分钟) 遍历集合把数据库…

SpringMVC全局异常处理+拦截器使用+参数校验

SpringMVC全局异常处理拦截器使用参数校验 SpringMVC 是 Spring 框架中用于构建 Web 应用程序的模块。为了提高应用程序的稳定性和用户体验&#xff0c;全局异常处理、拦截器的使用和参数校验是必须掌握的技术。以下将详细介绍这些内容。 全局异常处理 全局异常处理能够有效…