游戏引擎架构--读书笔记one

1. 游戏引擎 系统
a. 低阶基础系统(low-level foundation system)
b. 渲染引擎( rendering engine )
c. 碰撞系统( collision system )
d. 物理模拟( physics simulaton )
e. 人物动画 (character animation )
f. 游戏性基础层( gameplay foundation layer )
. 游戏对象模型( game object model )
. 世界编辑器( world editor )
. 事件系统( event system )
. 脚本系统( scripting system )

g. 游戏性编程(gameplay programming):
.玩家机制( player mechanics )
. 摄像机( camera )
. 人工智能( artificial intelligence: AI )

限制在游戏性系统和引擎接口范围

2. 学习内容
a. 如何架构工业级生产用游戏引擎
b. 现实中的游戏开发团队怎么组织及运作
c. 有哪些主要子系统及设计模式不断出现在几乎所有游戏引擎时
d. 每个主要子系统的典型需求
e. 有哪些子系统与游戏类型或者具体游戏无关, 有哪些子系统是为某游戏类型或具体游戏而设计的
f. 引擎和游戏的边界在何处

3. 游戏/引擎
雷神之锤
虚幻

4. 中间件(middleware)包
Havok物理库
OGRE渲染引擎及Rad Game Tools公司的 Granny三维动画几何管理工具箱

5. 大规模软件工程技艺及工具
a. 逻辑软件架构和物理软件架构区别
b. 配置管理,版本控制及生成系统

6. 数字
线性代数
三维矢量
矩阵
三角学

7. 事件驱动编程

1.1 典型游戏团队的结构


游戏工作室: 5个基本专业领域
工程师
艺术家
游戏设计师
制作人
管理、支持人员(市场策划,法律,信息科技/技术支持, 行政)

1.1.1 工程师


工程师设计并实现软件,使游戏及工具得到运行.
分为:
运行时程序员:
制作引擎和游戏本身

工具程序员:
制作离线工具,供整个团队使用,提高团队的工作效率
引擎系统:
渲染,人工智能,音效或碰撞/物理
游戏性(gameplay)和脚本编程
generalist
首席工程师(lead engineer)
技术总监(teachnical director, TD )
首席技术官(chief technical officer, CTO)

1.1.2 艺术家


内容为王( content is king)
概念艺术家(concept artist)

三维建模师(3D modeler):
前景建模师
物体,角色,载具,武器及其他对象

背景建模师
静态的背景几何模型: 地形,建筑物,桥梁

纹理艺术家(texture artist):
纹理(texture)二维影像, 以增加模型的细节及真实感

灯光师(lighting artist):
静态及动态光源,并通过颜色,高度,光源方向等设定,加强每个场景的美感及情感

动画师(animator):
角色及物体加入动作

动画捕捉演员(motion capture actor):
提供原始的动作数据,由动画师整理

音效设计师(sound designer):
与工程师紧密合作,制作并混合游戏中的音效及音乐

配音演员(voice actor):
为游戏角色配音

作曲家(composer):
为游戏创作音乐

艺术总监(art director)

1.1.3 游戏设计师


  1. 负责设计玩家体验的互动部分--游戏性。
    设定故事主线、整体的章节或关卡顺序、玩家的高层次目标。

  2. 关卡设计师(level designer):
    在个别关卡或地域上工作:
    哪些地点出现敌人、放置武器及药物等补给品,设计谜题元素等。

  3. 其他游戏设计师会在非常技术性的层面上和游戏性工程师(gameplay engineer)紧密合作。
    部分游戏设计师是工程师出身,希望更主动地决定游戏玩法

  4. 聘请一位或多位作家(writer):
    合编故事主线, 编写每句对话

  5. 游戏总监(game director):
    负责监督游戏设计的各个方面,帮助管理时间表, 并保证每位游戏设计师在整个游戏中具有
    一致性. 资深的游戏设计师有时会转入制作人.

1.1.4 制作人(producer)


a. 管理时间表,承担人力资源经理的职责 or
b. 做资深游戏设计师的工作 or
c. 作为开发团队和商业部门(财政、法律、市场策划)之间的联系人 or
d. 没有制作人

1.1.5 其他工作人员


行政管理团队,市场策化团队,行政人员及IT部门( 采购、安装及配置软硬件,并提供技术支持)

1.1.6 发行商及工作室


负责游戏的市场策划、制造及分销。
发行商通常为大企业:
EA( Electronic Arts ), THQ, 维旺迪( Vivendi )、索尼( Sony )、任天堂( Nintendo )
第一开发商(first-party developer): 游戏工作室直接隶属于游戏主机生产商(索尼、任天堂、
微软)

1.2 游戏是什么


《快乐之道: 游戏设计的黄金法则: Theory of Fun Game Design》一书中,拉夫.科斯特(Raph
Koster)把游戏定义为一个互动体验,为玩家提供一连串渐进式挑战, 玩家最终能通过学习而精
通该游戏。 他将学习及精通作为游戏的乐趣(fun)。

大部分二维,三维的电子游戏, 被计算机学家称为软实时(soft real-time)互动基于代理
(agent-based)计算机模拟(computer simulation)的例子。

大部分电子游戏中,会用数学方式来为一些真实世界(或想象世界)的子集建模(model),从
而使用这些模型能在计算机中运行.

模型只是现实或想象世界的简化或近似版本。因此, 数学模型是现实或虚拟世界的模拟.
近似化(approximation)和简化(simplification)是游戏开发者最有力的两个工具.

基于代理模拟:
模拟中多个独立的实体(称为代理)一起互动。代理相当于一个对象,因此引擎多用objectorientied/object-based编程语言。

所有互动电子游戏都是时间性模拟(temporal simulation), 即游戏世界是动态的
(dynamic)--随着游戏事件和故事的展开, 游戏世界状态随着时间改变。游戏也必须回应人类玩
家的输入, 这些输入是游戏本身不可预知的, 因而也说明游戏是互动时间性模拟(interactive
temporal simulation).

多数游戏会描绘游戏的故事, 并实时回应玩家输入, 这使游戏成为互动实时模拟(interactive
real-time simulation ).

时限(deadline)是所有实时模拟的核心概念。 屏幕每秒最少更新24次, 以制造运动的错觉. 30、60帧。

软实时系统是指一些系统, 即使错过期限却不会造成灾难性后果.
因此所有游戏都是软实时系统(soft real-tmie system).
如果帧数不足,人类玩家在实现中也不会因此而死亡。

硬实时系统(hard real-time system)错过期限可能会导致操作者损伤甚至死亡。
直升机的航空电子系统和核能发电厂的控制棒(control rod)系统是硬实时系统。
模拟虚拟世界许多进修要用到数学模型。

数学模型可分为解析式(analytic)数值式(numerical).

大部分数学问题没有闭合式解。 在电子游戏中, 用户输入是不能预知的,因此不应期望可以对整个游戏完全用体式建模。

游戏也是一个主“游戏循环”不断执行,在循环的每次迭代中,多个游戏系统,如人工智能、游戏逻辑、物理模拟等,就会有机会计算或更新其下一离散时步的状态。

待续...

你可能感兴趣的:(游戏引擎架构--读书笔记one)