我是《尼特的故事这款游戏的作者,也是玩家。在与许多玩家持续几年的交流中我留意到许多业余作者常犯的错误。许多错误是源于设计(如场景太过生硬,设立一些出乎意料的宾语行为)或是技术性的(设置坡度过大以致主人公朱尼无法完成)。但也有一个关于沟通的错误:场景的外观或场景之间的衔接无法给玩家一个明确的预期。

《尼特的故事》的地面可以是任何东西:作者可以导入自己的图片到编辑器中,也可以设置墙、地面和天花板或其他表面。但是编辑器也配备了256 套图形磁块,许多玩家从中选择素材来构建他们自己的游戏图像。(这些素材有着一致的风格,使得建构的不同地形看起来是来自同一个星球的。)

当作者不打算使用内置的素材时就可能会出现误解。通常意义上讲,素材可以分为前景素材和背景素材两类,前景素材是类似于墙、地板或其他玩家可以触摸和互动的素材,背景素材则类似于墙上的纹理或者远处的山峰。这也是许多艺术家常用的区分前景素材和背景素材的方法,前景素材使用明显的深色的轮廓、轮廓分明,而背景素材则是更柔和的色彩、或透明或糅合的轮廓(见图4.24)。

图4.24 《尼特的故事》中前景和背景的对比

在利用《尼特的故事》制作的游戏中,一个常见的问题是与主角交互的前景素材错误地使用了背景素材,色彩柔和边界不清、与背景区别不够大,所以玩家都不认为那是固体形态,而认为那是无法攀爬的物件。由于我会将前景误认为是背景,于是我只能中断并回到起点再一次寻找那个可以攀爬的通道,但是很明显这个宾语传递的含义是你会掉下去而似乎无法爬上去。

另一个常见的问题是创造出不同的解决方案:朱尼只要有爬坡能力就可以爬上任何表面。(作者可以在游戏的任何转换处赋予或者剥夺主人公的这种能力。)通常不能让玩家在表面的最上方待太久,因为这意味着需要构建更多多余的场景:如果不设置任何限制,那么在玩家爬到最高点时要构建出一条约束玩家运动的通道就更加困难。

最简单的解决方案就是每一个墙壁都设置天花板,但这样的设置随处可见的话会让游戏变得非常枯燥。如果我们想给玩家体验的是露天场景,要怎么设置天花板呢?

《尼特的故事》为此提供了另外一种解决方案:可任意放置“不可攀爬”的方块,这样可以阻止朱尼翻阅到这些方块的另一边。这些方块可以在编辑器中看到但玩家看不到(见图 4.25),这样累积的墙壁就可以被作者塑造成任何形态,当然也可以使其看起来与其他墙壁类似。

但对玩家来说却是不可思议的,想要跳上墙但却遇到的是无法抓不住的墙。似乎突然遇到了无形的天花板,经过反复尝试结果发现不能爬上去。这样玩家必须在每一个墙壁面前都反复尝试看是不是能够爬上去,这将带来明显的时间浪费。

图4.25 “不可攀爬”的方法阻止了玩家爬上墙壁,这些方块对玩家不可见(上图)但可在编辑器中看到(下图)

聪明的作者所做的,就是找到一种方法来从视觉上区分哪些是可以攀爬的,哪些是不可以的。最简单的方法就是使用物料库里的另一种物件:瀑布,它们依附在其他物块的表面、并不会影响游戏的规则但却可以用于沟通规则。在墙上或者一侧画上瀑布,玩家可能会去尝试攀爬,但很快就会发现墙壁是湿滑的、不可攀爬的(见图4.26)。玩家只要意识到这样的场景逻辑之后,就能够判断出哪些墙壁可以攀爬而哪些不能。

图4.26 对不可攀爬墙壁,使用瀑布来标识

还有一种不同的解决方案:简单地画可攀爬和不可攀爬的两种墙。一种方法是在一些墙上画上清晰可见的扶手,而另一些墙则是光溜溜的。玩家看到扶手就知道那是可以攀爬的,反之则不行(见图 4.27)。

图4.27 可攀爬的墙上有扶手,不可攀爬的则没有

《尼特的故事》的物件库中也提供了类似的物件:黏性块。朱尼试图穿过黏性块时会被迫停止移动,唯一的移动方式就是跳开。与不可攀爬方块相似的是,这个物件也是玩家看不见的,作者需要用自己的方法来告诉玩家哪些是可以行走的,哪些是会粘住玩家的。一些作者将这些黏性块涂成了粉红色(见图4.28),这似乎是描述这些方块规则的最佳方式。

图4.28 粉红色暗示了这些物件会粘住玩家

游戏情境设计案例精选相关推荐

  1. 游戏场景设计案例精选

    现在我们来讨论一下如何将游戏场景从概念转变为现实.示例场景来自于我2010 年开发的游戏<火星基地>的.游戏的主角汉娜(Hannah),由于宇宙飞船的宝石燃料耗尽而降落在火星.汉娜必须在这 ...

  2. html打地鼠游戏设计报告,有趣的Axure案例:打地鼠游戏的设计

    一个有趣的实例,通过axure制作一个打地鼠的游戏,可以进行难度选择.其中如果选择难度一地鼠为正常大小,选择难度二,地鼠则为缩小版.虽然小游戏很简单,但其中用到的axure技能并不简单,接下来将为大家 ...

  3. 推箱子android课程设计,推箱子游戏课程设计精选.doc

    推箱子游戏课程设计精选 目 录 Ⅰ 摘要 Ⅱ 前言 Ⅲ 功能描述 Ⅳ 配置要求 Ⅴ 总体设计 一.功能模块设计 二.数据结构设计 三.函数功能描述 四.代码实现 Ⅵ 参考文献 Ⅰ 摘 要 推箱子游戏是 ...

  4. html5实现像素鸟,有趣的Axure案例:像素鸟游戏的设计

    原标题:有趣的Axure案例:像素鸟游戏的设计 这是作者第三次发布有关axure游戏的内容了,相比较前两次而言,此次的设计更加完善,难度相应的也要高很多.游戏基本上已经趋于完整,加入了game ove ...

  5. 游戏脚本在移动游戏设计中的作用_展示 | 游戏脚本编程在线教学设计案例

    教 学 案 例 根据<浙江传媒学院关于做好2019-2020学年第二学期教学工作的通知>,遵循"疫情防控期间不停学.计划不变变模式"的基本思路,为确保教学任务.教学进程 ...

  6. H5案例精选:互动竞速类微信h5游戏欣赏

    根据2021年TOM游戏平台H5游戏定制客户的需求统计,支持在线H5游戏互动的需求可以达到三分之一,接下来就为大家展示下实际的互动竞技游戏案例! 玩法介绍: 游戏中的蛇是由球组成,玩家在游戏过程中可以 ...

  7. 【项目精选】基于Java的愤怒的小鸟游戏的设计与实现(视频+论文+源码)

    点击下载源码 基本功能包括:新游戏.载入游戏.控制帮助.退出游戏等.本系统结构如下: (1)新游戏: 需要输入你的昵称: 选择难度:容易.中等.困难.噩梦(每个级别都有5个关卡) (2)载入游戏: 选 ...

  8. Python游戏设计案例实战 夏敏捷 (第一本专著),国内这方面著作少有

    Python游戏设计案例实战   夏敏捷 (专著) 内容简介 本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书.基 ...

  9. c语言经典案例 俄罗斯方块,C语言实现俄罗斯方块经典游戏课程设计

    C语言实现俄罗斯方块经典游戏课程设计 计算机实习报告 一.功能说明 1.1总体功能说明 本工程用C++语言实现了俄罗斯方块经典游戏. 俄罗斯方块游戏特点:俄罗斯方块的基本规则是通过键盘控制移动.旋转和 ...

  10. 游戏剧情设计:如何创作好故事

    作者:Terence Lee 在本文中,我将解释为什么剧情必须以游戏的交互性为中心,如何判断优秀的游戏剧情以及理解交互性的重要性. 想象一下,有一天,你突然灵光一现,想到一个故事,一个绝对没有别人写过 ...

最新文章

  1. Golang + vscode 开发环境配置
  2. php think命令用不了,自定义 PHP think 命令无法在命令类文件里面使用 Db 类
  3. 通过getGeneratedKeys获取记录的主键
  4. 我的技术回顾那些与ABP框架有关的故事-2017年
  5. Java 并发总结——线程池
  6. git+repo 代码提交
  7. 17秋 软件工程 团队第三次作业 预则立他山之石
  8. 拓端tecdat|R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)
  9. 举个栗子!Tableau 技巧(97):离线安装 Linux 版 Tableau Server
  10. 串行加法器和并行加法器_N位并行加法器(4位二进制加法器和减法器)
  11. 用php打竖的文字_总结PHP竖排文字的方法
  12. 关于计算机的英语作文初中,computer初中英语作文范文
  13. 2018.6清北学堂day3下午笔记
  14. 微信公众号接入自己的客服系统,自定义客服系统
  15. 生成对抗网络的判别器_生成对抗网络的随机天气发生器
  16. CRMEBV4小程序H5页面端宝贝列表分享海报以及会员中心分销推广不显示的常见问题解决
  17. css3 特效大全,CSS3 特效范例整理
  18. 服务器2012怎么换桌面背景,Windows Server 2012 R2桌面化详细设置图解
  19. OpenSIPS 3.1 开发手册(二)--SIP消息及Opensips配置文件
  20. 100天搞定机器学习|day37 无公式理解反向传播算法之精髓

热门文章

  1. Vc数据库编程基础1
  2. Centos如何安装163yum源
  3. AJAX with JSP and Servlet(代码)
  4. 让Linux脱胎换骨的标致桌面与主题
  5. Skyfire-在移动设备上体验silverlight的效果
  6. java语言操作Oracle数据库中的CLOB数据类型
  7. 饥饿的时候我想起的小食
  8. Spring MVC @ResponseBody返回中文字符串乱码问题
  9. Django ImportError: Settings cannot be imported
  10. GIS-python学习