3D Game Programming & Design

An Introduction to Game Engine and OO Design Patterns

face

View the Project on GitHub

一、游戏的本质

Dropping in on the ones that looked interesting

— Steve Jobs, Stanford Report, June 14, 2005

预计时间:2 * 45 min

1、游戏的概念

1.1 什么是游戏?

游戏无处不在。在游牧年代据说就有了投壶这样的游戏,人们打牌、下棋是游戏、拔河也是游戏、甚至玩骰子、喝酒划拳助兴(小蜜蜂等)也是游戏。在杂志上做个填词游戏,或在电脑或手机上玩个连连看、植物战僵尸等游戏。

上述的游戏不过是狭义上的游戏,在我们的社会活动与经济生活中,类似的游戏过程无时不在上演。例如:南曹县与北曹县是一个国家吗?如果是,让它们兄弟去搞定,是打是和与别人无关。事实不是这样的,因为参与的多方都希望自己的利益最大化,大家都认为维持现状最好,尽管大家都知道国家分裂对当事居民是最差的选择。类似的问题出现在合同谈判、资源调度、以及各类冲突与竞争的业务过程中。因此,Game(游戏)又是一个科学的概念。

游戏就是社会某些场景的缩影

以休闲游戏“大富翁(Monopoly)” 为例,用骰子表示玩家的机会,从房产、道路、股票以及卡片(特权)等角度,让年轻人体验参与经济社会活动的复杂性。从娱乐的角度,屌丝们可以快乐的设置一个个“收入1个亿”的小目标,仅需要付出时间和个人精力,你的梦想一定会实现。正因如此,游戏不仅是娱乐工具,而且是人们认识世界的工具。

尽管我们生活到处是 Game,什么是 Game 什么不是 Game 却是难以回答的问题。

1.2 游戏原理

Game Theory 不翻译成游戏理论,而是 博弈论 又称为对策论。简单一些解释,研究游戏中个体行为选择与可能结果的数学化方法,或者表达为基于模型的策略分析(经济游戏)的量化方法。。计算机专业人员这样理解,李世石 和 AlphaGo 下棋(play game),李世石选择了一个动作序列,AlphaGo选择了另一个动作序列,结果李世石代表的人类最强大脑输给了计算机程序。

1.2.1 “囚徒困境”博弈模型

为了避免复杂的概念,我们也从博弈论的经典案例“囚徒困境”( prisoner’s dilemma )介绍 Game 的概念与术语。

警察与小偷的故事: 某团伙两小偷(A,B)不幸被警察叔叔抓了,警察叔叔隔离审问,并告知“坦白从宽,抗拒从严”。小偷只能选择“坦白”或“抗拒”行为,行为的后果如下表(贴在审讯室)。请问,两个小偷各自的选择是什么?

A \ B 抗拒 坦白
抗拒 1:1 10:0
坦白 0:10 8:8

*A\B=1:1 表示A判1年,B判1年

这个案例的结果就是:一般情况下,A 和 B 都选择了“坦白”。 它展示了上述规则下 “坦白从宽,抗拒从严” 的科学性。 普林斯顿大学约翰·纳什解释了这一现象,称为“ 纳什均衡(Nash equilibrium) ” , 纳什等因此在 1994 年获得 诺贝尔经济学奖

所谓一般情况就是满意一些限制条件:

有了以上约束,我们就可以用上表模型解释 A 和 B 选择“坦白”的动机。

1.2.2 游戏的一些基本概念

根据上述简单的、模型化游戏,指出了一个游戏模型的基本元素:

1、玩家/局中人(player)

一个游戏必须有两个或以上的玩家,否则就玩不起来了!

2、规则(rule)

所谓规则就是玩家的行为的约束以及与结果的关系。例如上述案例的表格。因此,它包括:

游戏的规则必须是公开和透明的,不能出现“潜规则”。即不能出现“我爸是李刚”这类潜规则,游戏就无法玩了。因此,游戏规则一般比较简单,易于掌握。

3、策略与决策(policy & decision making)

用于描述玩家选择的行为约束或依据,常用概念包括:

有限理性是非常重要的概念。例如,你在电影院的门口玩“抓娃娃”机器,你就理解“有限”或“有意义”这个概念了!醉翁之意不在酒,在于心也,很多时候结果并不重要。

4、结局(outcome)

游戏的最终结果。这不是指一场游戏谁的“输”或“赢”,而是关注在上述模型下,游戏能否达成某种均衡(equilibrium)状态。用通俗的话,达成游戏玩家乐于承认(认为公平与公正)具体结果,愿赌服输的状态! 这里仅介绍两种常见的均衡结局:

以上四个元素是任何游戏必须具备的元素与遵守的准则,这对游戏设计、游戏现象建模分析至关重要。这关系到是否是一个合格的游戏这个基本问题。

为了防止“帕累托最优”结局的达成,最常用的手段就是在决策过程中,游戏设计者有意识对玩家隐藏部分信息或引入随机过程干扰信息。

1.2.3 信息与决策

先验知识是玩家自身先天或在游戏中学习获得的知识。由于人具有知识学习的能力,即使两个人拥有相同的信息,也会做出不同的决策。由于人受生理与外部环境的限制,即使同样的决策,也不一定在规定时间内做出符合期望的行为,即 不确定性。我们称这些为玩家个体的差异。这种差异会导致游戏的不公平(fairness),导致游戏失去了期望的均衡。现实中,我们常用段位等能力分类作为设定的 先决条件 使得游戏得以成立。

合作(cooperative)是许多现代游戏的特征。特别是游戏与社交网络结合,信息组合对个体决策产生了重大影响。

不考虑上述复杂的信息与决策的关系,站在玩家的角度思考获取的信息,以下概念非常重要:

1、完全信息(Complete Information)/ 不完全信息(Incomplete Information)

完全信息指玩家根据这些信息可以计算对手/自己每个动作的收益(payoff)。显然,“囚徒困境”就是这样的游戏。显然,象棋、围棋等游戏都是这类,至于每步的收益对结局的影响,就不得而知的。

对于 Tic-Tac-Toe,五子棋、围棋 三个游戏,三种游戏非常类似,都是完全信息,但对人的计算能力要求是完全不一样那个的。到了围棋,计算每一步对结局的影响是目前人类计算手段无法企及的。

为了使游戏更加有趣,降低计算要求,我们常常利用规则“隐藏信息”,或引入自然不确定性元素,这样用户获得的信息就是不完全的。例如:“麻将”这样老少皆宜的游戏。

特别提示:对于“打怪成功20%概率掉落武器”这样的概率的规则,依然属于完全信息的。

2、完美信息(Perfect Information)/ 不完美信息(Imperfect Information)

完美信息是指我们可以观察到对手的所有动作(actions sequence)。通常,经典游戏都是指完美信息博弈。即使信息不完全,所谓的“高手”,可以通过记忆对手行为并推理(学习),在牌类游戏(如80分)中大显神威。

3、对称信息(Symmetric Information)/ 不对称信息(Asymmetric Information)

对称信息是指玩家获得的决策信息的一样的,即玩家决策不依赖私有信息。无疑,不对称的信息在游戏中的使用,必须不能破坏结局的均衡。例如:网上四国大战,其中有两人开着“QQ”互通信息,怎么玩?

“博弈论”是高大上的学科!和程序猿有什么关系?

1.3 游戏的本质

综上所述,游戏就是人们对自然规律、社会规律的认知基础上,创造一些场景、事物和规则(Huizinga 1971 称为“魔法圈”,Adams “称为假想世界”)来模拟社会(甚至是未来社会),通过智力、体力或技能对抗(竞争),实现“寓教于乐”乃至帮助我们理解社会规律的目标。

2、视频游戏

视频游戏(Video Game),游戏与计算机与互联网技术相集合的产物。多数情况下,视频游戏特指计算机娱乐游戏。

2.1 游戏的定义

这里游戏的定义特指计算机娱乐类游戏(Video Game),甚至不一定能包含严肃游戏、商业游戏、或社交游戏,因为游戏这词范围太广了,参见 Game

A game is a form of interactive entertainment where players must overcome challenges, by taking actions that are governed by rules, in order to meet a victory condition.

Adams: Fundamentals of Game Design

这个定义在通用游戏基础上,加入了娱乐属性,提出了两个新元素,交互 和 挑战。

A game is a system in which players engage in artificial conflict, defined by rules, that results in a quantifiable outcome.

Salen & Zimmerman: Rules of Play

2.2 游戏设计的元素

2.2.1 构成游戏的基本元素

一个游戏有哪些要数构成,属于游戏设计的基础话题。理解这些要数是游戏设计、评估的基础!一般来说,游戏就是博弈理论在娱乐竞技活动中的应用,因此游戏要素必须满足博弈的要素,以及娱乐竞技的要素。

【注:游戏设计话题属于艺术与媒体方向,游戏设计细节请参考 Ernest Adams(IGDA创始人) 或 Tracy Fullerton(南加州大学·电影学院·媒体与游戏专业) 编写的教材】

游戏元素是设计师经验总结,并不是铁定规律,不同的游戏设计教材是有差别的(作为理工科生一般难以理解)。 比较公认的游戏设计元素包括:

以游戏《拳皇》为例:第一步就是设计玩家扮演的角色并定义特点;第二步就是告诉玩家成功与失败情况;第三步就是说明游戏中有哪些事物、哪些游戏场景、玩家的动作列表,搏斗的计分规则等;游戏的挑战是 dilemmas 和 多样的对手;玩家最终会尝试几乎所有角色战胜所有对手!

【注:很多玩家认为游戏设计就是人物设计、道具系统、装备系统、经济系统等,是不够全面的!这些是特定类型游戏后续的细化设计】

为了设计这样的游戏,一些常用设计工具:

2.2.2 游戏的戏剧性元素

通常游戏具有娱乐特征,因此必须引入适当的戏剧性(Dramatic)元素,让玩家自认为(有限理性)每一步动作选择都是有意的(meaningful choices)。一些设计元素如:

具体游戏设计建议阅读:Tracy Fullerton, GAME DESIGN WORKSHOP, 2e, 【电子版下载

2.2.3 游戏与计算科学

游戏计算就是产生一个“合理”的 四元组(参与者,动作,游戏当前状态,游戏结果状态)序列或时间序列。

我们通常关注下一个动作(以及时机),这是计算问题:

2.3 视频游戏的历史

请自己用维基百科

2.4 游戏的分类

请自己用维基百科

3、游戏软件的开发

3.1 视频游戏的原理

3.2 游戏软件的基本架构

3.3 游戏软件开发的流程

3.4 游戏创意的表达

4、游戏软件的商业盈利模式

从历史发展的角度,游戏从娱乐变成产业分为三个阶段

4.1 设备租用阶段

游戏机店

随着游戏机成本进一步减低,个人也有可能拥有专用的游戏计算机。产生了世界电子游戏业三大巨头——美国微软、日本索尼和任天堂

4.2 软件购买阶段

超级玛丽

4.3 互联网阶段

随着互联网与联网游戏的产生,游戏盈利模型有了巨大的变化:

魔兽争霸

在西方游戏设计一般比较注重人权,奉行玩家平等原则。只要你成为 VIP 会员,你就有公平 pk 的资格,这样电子竞技类游戏市场就发展起来了,例如:红色警戒、魔兽争霸、反恐精英(CS)、DOTA、炉石传说等等电竞优秀游戏作品。中国人打开了“潘多拉”的盒子,在游戏中引入内部购买模式,宣布游戏进入了 有钱就是大爷模式,害了许多青少年。

在互联网、移动互联网时代,商业模式变化彻底改变了游戏产业的格局,电子游戏业三大巨头的风光不在。以下是一些报道:

5、走出娱乐

游戏是快速发展的高科技行业。强大的算力是其基础,为了输出可以“数毛”的逼真场景,特别是肌肉爆发的力量与美感,或飘曳的长发与衣襟,或潺潺的流水,这些涉及超级计算和复杂的算法;交互技术是其创新之源,AR 或 VR 技术正在颠覆游戏的应用领域,游戏正在走出娱乐、体育,走向医疗、电子商务、社交、教育等领域。

6、作业与练习

【参考】 火箭指挥官 游戏策划稿

以下作业为二选一,仅需提交博客

  1. 【选做】阅读 Tracy Fullerton, GAME DESIGN WORKSHOP 第二、第三章。选择一款你喜欢的中等规模游戏,如“植物大战僵尸体”,对游戏设计元素进行分析,阐述其当年成功的可能因素。
  2. 【选做】介绍一款功能游戏,陈述该游戏的设计元素,说明在娱乐之外该产品的社会贡献与价值。