现在我们来讨论一下如何将游戏场景从概念转变为现实。示例场景来自于我2010 年开发的游戏《火星基地》的。游戏的主角汉娜(Hannah),由于宇宙飞船的宝石燃料耗尽而降落在火星。汉娜必须在这个文明的废墟中找到替代的宝石以逃离困境——废墟的文明只是没有了生命,其电力供应是存在的:电网还滋滋作响、机器人也在不停巡逻。

基本动词(primary):汉娜能够在地面或者半空中左右“移动”,能够跳到自己身高的4.5 倍高,也就是说,她能够爬上任何四个方块高的物体(每个方块由固体宾语构成,其高度等于汉娜的身高,略宽,见图3.28

图3.28 《火星基地》的基本动词

次级动词(secondary): 汉娜能够扳动开关来打开或者关闭自己面前的墙,通过开关门而不是跨越电网的方式穿过火星中的洞穴或者实验室。这些事情就有了两种状态:关闭(extended)或者打开(receded)。关闭,墙壁就是实体方块(如墙、地板或者天花板)一样,是汉娜无法穿过的;打开,墙壁则像无形的空气一样,汉娜可以随意穿越。

带电的墙壁有红和绿两种颜色,一种颜色总是表示关闭,另一种颜色总是打开着。触碰绿色开关就让绿色的墙延长而红色的墙减退,反之亦然。开关是一个扫描器,只要汉娜经过它就会被扳动——不管她本意如何(见图3.29)。

图3.29 “扳动”开关是汉娜的次级动词

这些设定的第一个功能便是引导玩家去探索这个世界:某一屏幕中红色的墙可能会受相隔一定距离的红色开关所控制,玩家需要去寻找到这个开关。这样的设置使得游戏的场景具有了连续性。开关和墙同样也可以组成一个单向的门:只要玩家经过开关前面就激活了它,而不论对其是否有利。也许这个开关就变成了汉娜在大厅中的一堵墙,当汉娜经过开关后,就不愿立即返回。你会发现这个开关也成功扮演了陷阱的角色:开关控制墙壁的物理宾语,仿佛是停在半空中的平台。一旦汉娜触碰到开关,地板就会打开,因此当汉娜想要穿过平台时就需要小心地避开开关(见图3.30)。

图3.30 《火星基地》中单向的门和平台有时就是陷阱

《火星基地》的火星被划分成几个各不相同的区域,帮助玩家专注于自行探索。每个区域并不仅仅依靠视觉进行区分(也就是说,不同区域的方块在视觉上差异非常明显),也依靠形状。例如某个区域是地下城市,它被分成两个区域,通过一扇门与上方的城市相间隔。另一个区域则是拼图方块,通过红蓝两种门来区分出一屏一屏的空间。要想继续游戏,则需要去操作右侧的开关。

最深的区域则是一个开放的洞穴,这个洞穴由很多的房间构成,在那里有成套的铁路和秀场。在房间与房间之间通行要受到开关和门的控制。如果说拼图方块是迷宫,那么这个区域就非常简单:每个房间都有一个很容易触碰到的开关,而这个开关控制着通往下一个房间的门。汉娜碰到开关后,就可以顺利地进入下一个房间。在洞穴中,有两条路径可供玩家选择:顺时针或者逆时针到达洞穴底部中间。在上部中间的房间(图3.31 中的绿色框内)区分出两条可供选择的路径。

图3.31 在大量房间中提供给玩家的顺时针路径和逆时针路径

图3.32 显示了上方中部有两条路径的房间。至少,这就是游戏早期版本中房间的样子。由于场景是对称的,所以房间也是对称的:玩家可以选择左边的路线,也可选择右边的路线。玩家从底部房间到达,然后需要选择跳过左边或者右边的壁架,越过方块上附近的电网以触碰到上方的开关(电网是危险的,如果不小心触碰到电网,汉娜就需要从头开始)。开关打开左边或者右边的门,同时关闭汉娜进入时的门,使之变成坚实的地板。

这就是房间的全部。但我需要将前述的整个地下城市区域连起来,包括秀台和单向的房间在内的整个洞穴区域。由于玩家兴趣的不确定性,我们需要为玩家提供一条顺畅地穿越到彼此区域的有效路径(不论玩家选择左边还是右边的路径)。在上方顶部中央的房间这个场景中,玩家的最可能路径是从上方进入,与这个区域的两个选择路径形成十字交叉。这样的交叉设计能够满足玩家最可能选择的需要。

我需要为这个房间和它上方的房间建立连接。我后悔打破了场景中这样的视觉对称,那样的对称与玩家所理解的左右对称选择相匹配。如果打破房间中的对称,会怎么样呢?秀台区上方的某个洞就能够建立起与上方的联系,并且能够有效打破房间视觉上最初的对称。

图3.32 最初的版本中,这个房间提供了左右两个选择路径

图3.33 显示了另外一个迭代的场景。天花板被放置在右侧的另一个平台的上方,而另一侧上则有着电网。其涵义就是对应的那部分天花板掉下来了,改变了房间的布局并提供了一个向上的路径。这个平台顶部的平台足够高,汉娜可通过洞跳跃到秀台顶部并能沿着平台行走——两个房间的右边,是通往上方城市的通道。

但这个改变介绍了一个新的问题。玩家依然可以从左侧跳过障碍触碰绿色的开关,而右边的平台则太高,如果玩家想要从右侧去触碰开关,则只会撞到天花板然后过早地掉落下去,碰到电栅栏(见图3.34)。这是一个打破对称的错误例子,也不应该去尝试。没有任何的视觉线索能够告诉玩家,从右侧跳跃没有左侧那么有效或者更加危险。

图3.33 从天花板上掉落一块平台,演变出新的场景

图3.34 一个糟糕的例子,打破对称后玩家从右侧跳跃变得危险

那么,我要怎样才能使左边和右边都能够顺利够着开关?如果我移除掉落的天花板——降低右侧平台的高度——汉娜就能够触碰到左侧的开关,但却无法顺利跳出上方的洞里面。嗯……这是一大块掉落的天花板,对吧?这就并不需要与下方的平台紧紧贴合。天花板为何一定要如此整齐地掉落下来?

图3.35 就是最终的场景。我将掉落的天花板向右移动一个方格,悬在平台边缘。这样视觉上更加不对称了。这就是图3.31 中左右对称区域所指示的出口。从掉落的平台上,玩家能够到达顶部的洞并且提供穿过到达城市的通道。在旁边裸露的方格上,则可以控制开关并清除电网。现在这个房间终于实现了我所有想要的功能。创作、试玩、发现问题、修改、再试玩、发现新的问题、再修改、再试玩然解决问题,循环往复。这就是设计。

图3.35 解决了所有问题的游戏场景

游戏场景设计案例精选相关推荐

  1. Unity 3D 环境特效||Unity 3D 游戏场景设计实例

    Unity 3D 环境特效 一般情况下,要在游戏场景中添加雾特效和水特效较为困难,因为需要开发人员懂得着色器语言且能够熟练地使用它进行编程. Unity 3D 游戏开发引擎为了能够简单地还原真实世界中 ...

  2. 【转】从工作中总结的游戏场景设计思路浅谈(一)

    假设在一款游戏刚刚开始进行设计制作的时候,我们刚刚开始入手,如何顺利的完成,并且是可行.正确无误的设计呢?让我们一步步来看吧. 设计工作可以分解成 四个部分 组成,而其中每个部分又可以分成几个步骤进行 ...

  3. 次时代游戏场景设计,这些3D游戏建模带你走上次时代巅峰

    对于刚开始了解建模的小白们来说,次时代建模总是个高大上的东西,很是羡慕那些大神能过做出那么精致的作品.那次时代游戏是什么?有什么特点?下面就和小编一起来了解一下吧~ 什么是次时代游戏? 次世代游戏即下 ...

  4. 什么是次世代游戏?零基础学习次时代游戏场景设计,打造真实场景

    对于刚开始了解建模的小白们来说,次时代建模总是个高大上的东西,很是羡慕那些大神能过做出那么精致的作品.那次时代游戏是什么?有什么特点?下面就和小编一起来了解一下吧~ 什么是次时代游戏? 次世代游戏即下 ...

  5. 游戏场景设计干货:《纪念碑谷》潘洛斯视觉效果分析

    在我寻找自己感兴趣的项目时,偶然间看到了荷兰艺术家?MC.Escher?的等距视觉作品,虽然之前在朋友家看到过他的画,但是当时并没有意识到这些也都是他创作的,于是我决定尝试在 Blender 中实现一 ...

  6. 游戏场景设计之项目最终的气氛营造烘托

    先回顾下工作流程: 上次简单的谈到了灯光这一步,这次主要说一下后期. 游戏或者商业项目,正常流程也几乎按这套走.能走到末尾,就说明人物.舞台都搭建完善,可以开始讲故事调气氛. 1.画面内容 美术按类型 ...

  7. 天上的街市Unity游戏场景制作案例(一)

    目录 Downtown Street of Heaven 场景 Unity实现过程 新建项目 场景布置 场景制作参考 移动媒介的添加 Downtown Street of Heaven 场景 Unit ...

  8. 游戏场景设计思维:黑白与颜色的现代构成艺术

    导语:在场景设计中,黑白构成与颜色厚涂是构图中两个分不开的重要技法.黑白构成和颜色厚涂在构图的不同阶段分别解决了什么问题,两者之间又有什么关联,在运用中有那些技巧?本文将重点给大家讲述这两种技法在动漫 ...

  9. unity游戏场景设计

    下载 Fantasy Skybox FREE,构建自己的游戏场景,并为场景设计地 形(含树木和草地等元素) 从asset store中下载素材 打开unity-window-asset store,搜 ...

最新文章

  1. PHP并发验证,PHP接口并发测试的方法(推荐)
  2. ASP.Net 获取当前时间
  3. win7下构建swarm nodes实现跨host的容器之间的通信
  4. MySQL基础总结(二)
  5. 初一辍学学php能行吗_《夺冠》破7亿,辍学的农村姑娘成排球女王,朱婷:百炼才能成钢...
  6. LeetCode 947. 移除最多的同行或同列石头(并查集)
  7. Mybatis逆向工程的pojo实现序列化接口代码
  8. Linux下的web调度器——squid实现(负载均衡)
  9. 树莓派4B Ubuntu20.04 ROS2 ORB-SLAM3
  10. android记事本的app,自己编写的Android记事本APP软件
  11. css字体红色调用,如何在这段CSS代码中字体变成红色?
  12. MATLAB必看书籍推荐
  13. 【c++】C语言之输入行数,输出实心菱形和空心菱形
  14. 区块链与联邦学习综述
  15. 《HTML入门笔记--HTML常用标签》
  16. 加速度传感器的应用(检测打滑)——利用传感器检测智能车加速度及速度全面解析方案
  17. JAVA实现车牌随机产生器
  18. googleplay应用无法支付,内购应用支付窗口闪退解决办法
  19. 新疆计算机考试ppt教程,职考宝典2021新疆 职称计算机考试模块ppt2007真题试题软件...
  20. 妈妈再也不用担心我会出现NullPointerException空指针了,java处理空指针,java利用Lambda处理空指针

热门文章

  1. 使用Meshlab对CAD模型采样点云,并在PCL中显示
  2. usdt java调用_USDT rpc api Java 示例
  3. 国内地图坐标系介绍及常见地图(百度、高德、凯立德)之间的坐标系转换
  4. cf两边黑屏怎么解决win10_win10屏幕黑屏就剩鼠标怎么回事 开机黑屏只有鼠标的五种解决方法...
  5. 添加mysql的url_在python中向mysql行添加url
  6. macOS 10.14 安装lazarus 开发环境
  7. 小程序测试相关笔记1
  8. 酒店管理系统升级(实现序列化)
  9. 创业者必懂的24个商业模式,没有钱也可以办大事
  10. idea中配置Soanr在线扫描代码,通过Sonar对代码进行规范