前言
书名:《游戏设计、原型与开发》(Introduction to Game Design, Prototyping, and Development)
几年前,我曾在小组里写过一篇推荐该书的帖子:https://indienova.com/groups/post/33600
当时想着,将来给一些朋友推荐好的开发入门书籍时,可以直接分享,亦可作个复习备忘,最近又偶然注意到这本书的第三版已经上架——几年下来,这本书也确实开始更多地被大家提及和推荐了,但我觉得它还是没有得到应有的关注!所以我决定用更正式一点的方式再推荐一次,哈哈~
下文是旧时笔记的精简版本,希望能让更多寻找优秀开发(入门)书籍的朋友留意到它。
正文
我对本书的印象: 入门导向,主次有序,形式别致,自学亲和。传达观念、注重内容结构全面性的同时又不失对技巧和方法论的提炼,除此之外,还是一本难得的、把实践驱动贯彻得很细致的良心书。
这本书,宏观上被划分为三个部分,恰如书籍标题:Game Design, Prototyping, and Development
个人觉得,其特色着重体现于首尾两部分,中间部分则主要是基本知识,P166-P320 仅占全书约 23%的页数(不算同样很有内容的附录),算是起到承上启下作用的部分。
其中可以看到若干节 C#方面的内容,提炼得非常精要,毫不冗余,很贴合 Unity 开发的语境。
而重点则是引出了项目编程时需要具备的相关思维模式和知识:
- 对复杂逻辑的分解拆分思维;
- 强调了代码库的概念和意义,所举体例中全程贯彻,活学活用;
- 必要的命名规范知识;
- 基础的 Debug 知识;
- 对竞态条件(Race Conditions)可能导致的问题的强调提示;
- 讲述了作者认为 C#比 Processing、UnityScript 更适合作为入门编程语言的理由——强类型语言对形成良好编码习惯等方面的好处;
- 面向对象思维,以及敏捷开发思维和 Scrum(迭代式增量开发),强调通过找到合适的工具来运用它们,保持开发中的激情和创造力;
- 强调了“本书的工程适合作为此后进一步开发的起点”这件事。
Game Design
说回第一部分 Game Design,这其实是我个人感觉本书最有特点和较有意思的部分。
- 用译者在前言中的描述,是“提供理论框架”;
- 用序言作者的话,则是"对游戏设计方法的广泛深刻的分析,以及从设计经验中总结出的心得体会”;
- 也正如第一部分第一章标题所言,“像设计师一样思考"。
如果你读过《游戏设计艺术》,那么在本书开篇,你便会因作者引入那句经典的“我是一名游戏设计师”而感到熟悉和亲切。
这种熟悉的感觉,也会在接下来的阅读中,以不同方式、不同角度,重新以相似的形式出现。
比如,经典纸牌游戏《Bartok》用规则变化来影响游戏的设计气质,以此案例为起始,作者不忘从“游戏的定义”出发,逐步列举、梳理、归类并分析现有的说法:
比较老的如 1974 年,MaryMidgley 对动机的强调;1978 年,Bernard Suit 偏重日常生活游戏的言论;当下,席德·梅尔的“系列..有趣选择”观点;再比如 Fullerton 的《游戏设计梦工厂》和上文提及的 Jesse 的《游戏设计艺术》中,对定义的引入和对比...
通过这部分对各家定义的对比剖解,作者延展出了第七章将要探讨的话题,如“作为设计师的设计目标”的初步阐述(游戏性态度、体验理解....)
紧随其后,作者也将 MDA(机制、动态、美学,即 Mechanics,Dynamics,Aesthetics;作者注:此处 Aesthetics 指由 Dynamics 唤起的玩家情感反应,更接近于体验的意思)框架,与上文提及的另两本书中所包含的设计框架再一次并置:
- MDA:框架概念介绍,以及它强调的设计师应首先以美学眼光看待游戏(自顶向下),此外,玩家与设计师看待游戏的视角和目的往往不同。
- 《游戏设计梦工厂》中的 FDD(形式、戏剧、动态元素,即 Formal,Dramatic ,Dynamic elements),对“提供分析工具对游戏设计进行细分”的专注和对“叙事对玩家体验的重要性”的强调。
- 《游戏设计艺术》的四元法 Elemental tetrad(机制、美学、剧情、技术),以游戏开发者视角作为出发点(这里的美学主要指开发者制作的艺术和声音)。
作者在此基础上,进行了结合与拓展,基于 Jesse 的四元法提到的四种元素的结构,划分了三个层次分层提炼:
- 前两层结合 Fullerton 的形式和动态元素,分别为内嵌层、动态层;
- 第三层将游戏和文化相连,将由玩家掌控的部分纳入,为文化层
举例来说,同样是四元素中的“机制”:
- 在内嵌层中:主要为“定义玩家和游戏互动的系统”,包括“规则” 和 Fullerton 书中的大部分“形式元素”(基本近似于 Jesse 书里对机制的定义);
- 而形式元素中,没有被上一条包括其中的“步骤”与“结果”,则因为它们会由玩家参与控制,所以被归类到动态层;
- 在动态层中:则主要为”玩家如何与内在元素互动,以及策略、涌现、有意义的玩法”(《Rules of Play》中有定义);
- 在文化层中:机制则指“玩家掌控了游戏机制的情形”,如游戏 Mod (玩家直接改变游戏机制)、关卡自定义等,同时包含游戏即时行为对社会的影响。
第一部分的最后,对一开始提及的“设计师的设计目标”展开进一步探讨,同时也不忘覆盖如纸面原型、游戏测试、基础的数学与平衡等主题。甚至还有相当精彩的单独一章,对谜题设计展开讨论(在《游戏设计艺术》中,谜题作为一项高级机制也曾被单独介绍),同时也有更外层的内容,比如对玩家的指引引导、对数字游戏产业的概述分析,对入行的相关看法等章节。
综合上面的介绍,如果读者刚好阅读过其中引述的著作,那么第一部分的前半段内容,或许能带来种近似同主题阅读的体验,也相当于提供了一个重新审视、整合,并提炼、反思的机会?这大概就是我特别喜欢该书第一部分的一个很重要的原因吧。一定程度上,这部分就算被单独裁剪下来,或许也基本能自成一体,可作为一册较有紧凑感和信息密度的设计入门书籍来被使用了~
Development
在书末,第三部分是聚焦 Development 的部分,是这本书注重实践的理念集中体现的部分,也是经由若干个数字原型工程的逐步搭建而娓娓道来的部分。
为什么要做原型,作者也讲得很清晰了:
- 快速试验、否定或修改游戏机制
- 探索游戏的动态行为,理解可能由规则自然产生的结果(涌现)
- 确保规则和游戏元素易于被玩家理解
- 了解玩家对游戏的情绪反应(体验)
仅简要提炼部分原型大致涉及到的知识点供参考判断,由简单到复杂:
- Project1 - 左右移框接下落炸弹类原型 :( Time.deltaTime,属性[property],Random,InvokeRepeating(),Destory,基础的 GUI,PlayerPrefs,物理层)
- Project2 - 愤怒小鸟 Like 弹弓弹射类原型: (更多的摄像机知识,强调迭代积累脚本,更多组件的理解,一些基本的物理控制,实例化,LineRender,视差滚动模拟,游戏状态管理,鼠标 input)
- Project3 - 小蜜蜂 like 的太空打飞机原型: ( 类继承,enum,static,单例,input 输入管理器,代码库概念的加深,递归使用,重载,迭代代码开发的再强调,字典,委托[delegate],再提竟态条件,贝塞尔曲线)
- ……
这一部分中,讲述与拆解的细致程度、开发知识的信息量、选题的全面性以及对实践驱动的突出体现,已经足够标定该部分的特色。
缺点
如果非鸡蛋里挑骨头,找本书的缺点,可能主要是“阅读第二、第三部分,暂时没有看到作者将其和第一部分讲述的设计知识进行更多关联和呼应的意图”。不过考虑到作为教学入门用的原型,从设计复杂度来看难免比较初级,设计上无法过多展开也可以理解。
关于作者
作者的经历与南加利福尼亚大学(USC)、Jesse Schell 这两个关键词有较多联系,前者是作者曾经任教的地方,后者曾是作者的老师(最近也看到有网友对几本书作者的关系展开观察了:https://zhuanlan.zhihu.com/p/416569004)。
本书的序言也是由 USC 的 Richard Lemarchand 教授撰写,大概叙述了他与作者 Jeremy 相识、在课堂上建立师生关系的过程。
另外还有一则趣闻:在讲解游戏测试的章节中,谈及寻找值得信赖的朋友进行测试,引入“纸巾测试者”这个概念时(P102),作者提到他和制作《风之旅人》时期的陈星汉是室友,后者一直让他等待,直到《风之旅人》开发一年多以后,才让他试玩。
最后,关于这本书其它值得知道的
1.这部书附录里的内容也很系统化,不要漏掉。就像在第三部分各色原型中看到的知识点,若章节里未具体展开,大多会在附录有额外的拓展。
如: 协程知识,上文提及的如委托(delegate)、接口、一些基础的设计模式、作用域的知识,还有很有趣和较详细的谈插值的案例……
2.这本书当前已经更新到第三版(国内暂时更新到第二版)。
- 更多资源和动态可参见本书的官方网站:http://book.prototools.net/;
- 根据网站透露的信息,第二版的第三部分有很大扩充调整(作者说他为此花了 1000+小时!);
- 这些变化更多体现在对第三部分包含的若干原型的进一步调整,甚至是替换:
比如第一版中 Project8 - Omega Mage 这个庞大的地牢游戏原型,在第二版中被一个叫做 Dungeon Delver 的同样类似传统塞尔达的游戏代替; - 第二版增加了 80 页,第三版又多了 400 页!?
- 改善了早期版本由于 unity 版本更新在当下已略过时的问题。
因此,在决定阅读这本书时,考虑直接获取最新版进行学习可能是个不错的选择!在 Github 上通过相关关键词检索,也可以找到一些其他人对案例的实现工程作为参考。
最后,感谢译者们,尤其是译者刘思嘉——已多次在不错的游戏设计书籍译者名单中见到过他的名字,译者序也写得很精彩。感觉这样的译者,这个世界值得更多这样的人!
这本书的英文版确实非常推荐!