几十年前,游戏都有清晰的边界,比如《大富翁》《大冒险》《国际象棋》。随着互联网的普及,我们玩起了虚拟世界里的游戏,它们看起来似乎没有边界的限制。事实上,它们严格受控于一行一行的代码,这些代码是游戏设计师花费很多时间写出来的。
地图和游戏
游戏一般是在讲故事,你的故事的主题是在各种建筑中追击,还是在开阔地界里探索寻宝?地图可以帮你展开这个故事。
有些游戏的地图面积很大,你可以朝着任何方向去探索,比如《星际迷航在线》(Star Trek Online)和《魔兽世界》(World of Warcraft)。另一些游戏的地图则是既定的,有时还有地牢或迷宫,就像《暗黑破坏神》(Diablo)和《刺客信条》(Assassin's Creed)。
迷宫和地图非常类似,而且,在游戏里它们本质上是一样的。像地图一样,那些没有地形显示的大面积空地,在迷宫中会用砖块和石墙填满。在游戏设计中,选择开放式的地形还是封闭式的迷宫,这取决于你设计的游戏的风格。
如何制作游戏地图
卢卡斯:当你选定了地图,会怎么制作?
安东尼:很多人以为迷宫和地图完全是由游戏随机生成的,其实它们都是需要编写的。这是一个很痛苦的过程。有些人设计的地图有一些随机变量,可以直接将地图编进游戏。不过,如果地图是随机生成的,程序的选项简单,最终呈现在玩家面前的游戏地图界面就会略显单一。精致的地图一般很少以随机的方式设计,而是需要程序员付出更多的努力。
爱德华:类“Rogue”的电子游戏会用到很多先进的地图生成技巧,而《暗黑破坏神》则将随机生成地图的方式和其他元素结合。像《我的世界》(Minecraft)这样的游戏中有更大、更开阔的“世界”。“世界”被分成“群落”。“群落”是一个有着相似的气候与地形的区域,例如一片森林或者一片沙漠。每一个群落需单独编写,这就保证了地区多样性,沙漠和森林看起来才不一样。在一个精致的电子游戏里,虽然不同的群落看起来很不一样,但是从一个群落到另一个群落的过渡却并不会显得突兀。
实际上,大部分游戏都有“手工”设计的层。如果设计师使用现成的像“虚幻”这样的游戏引擎,他们仍需要用相应的编辑工具,手动搭建游戏场景,同时还要在游戏场景中放置各种各样的道具。
如何布置地图
游戏地图并不只是路线图,它的精彩在于里面的地形、场景,还有场景里的各种道具。正如两位设计师所言,在地图设计中,需要运用一些已有的生成技巧,还要自己进行分类编程。
卢卡斯:如何设计地图场景和地形?
爱德华:这要看情况。目前,大型游戏一般设计成闯关模式,这样一个游戏就被分成了几个小游戏,游戏代码也通常由几个人一起完成,当然还需要有人来处理不同场景之间的联系,从而与整体故事契合,然后添加一些细节来完善游戏。在《毁灭战士》(Doom)、《雷神之锤》(Quake)等第一人称射击游戏的时代(20世纪90年代),一个设计师可以分开设计多个场景,再建立起它们之间的联系。
不过最终还是要看你写的是什么游戏。如果你只是为了介绍新技巧,那么在你写的场景里,就需要教用户在适当的时机使用新道具和新武器。然后是节奏。西木工作室通常会先制作一个高度紧张的场景,紧跟着一个稍微舒缓的场景。他们在《狮子王》(Lion King)这样的游戏里一直遵循这样的原则。
如何在地图中行走
游戏中的每一个角色都有一定的影响范围,在设计地图的时候,要考虑游戏角色如何参与。
卢卡斯:如何让你的地图吸引人?
爱德华:如果游戏的故事线类似《毁灭战士》,层级和区域的顺序就很重要。对于在开阔地带的探索类游戏来说,最关键的是在玩家探索的过程中保持一定的难度和坡度,并给玩家一个理由去到你所设计的大部分的场景。
另外,场景中的道具可以让游戏玩家知道角色如何移动,这就需要在游戏场景或者地图上放一些可以与玩家互动的节点。玩家可以根据这些节点的提示顺畅地进行游戏。比如,你可以放“光线探测器”,拿到它就可以帮助改善光线。
卢卡斯:传统电脑游戏中,玩家可以通过键盘或者游戏手柄来移动并控制角色,这可以通过编写代码轻松完成。而另外一些游戏,比如Xbox Kinect(体感游戏),是靠玩家的身体动作来控制角色的,这又是如何实现的呢?
爱德华:设计师一般利用一些简单的模型(比如一个球)模仿玩家,在每一个画面下检查他是否做出相应动作,并追踪他做出动作的速度。然后,计算出画面角色需要多大的速度。真正棘手的不是分辨玩家的动作,而是弄清楚什么时候发生碰撞。这个检测过程相当复杂,特别是游戏里的角色本身有复杂的形状,或者游戏赋予了这个角色更多的碰撞点以及碰撞细节的时候。大多数时候的真实情况是,你想改进游戏的动画效果,不想让角色在下楼梯的时候滑行,或者需要根据设计的地图或场景赋予角色一些特殊的技巧,比如跳跃、滑行、爬墙等。