《游戏引擎架构》 笔记(一)

游戏团队:工程师、艺术家、游戏设计师、制作人

 


平台游戏(platformer)
是指基于人物角色的第三人称游戏。
主要的游戏机制是在平台之间跳跃。


第三人称游戏
比较看重主角的能力及运动模式。
需要逼真的全身动画。
复杂的摄像机碰撞系统,以保证视点不会穿过背景几何物体或动态的前景物体。


格斗游戏
丰富的格斗动画
准确的攻击判定
能侦测复杂按钮及摇杆组合的玩家输入系统


竞速游戏
使用许多窍门渲染遥远背景,比如二维纸板形式的树木、山脉
赛道通常切开成较简单的二维区域,称为分区(sector)。用于实现渲染优化、可见性判断。


实时策略游戏(Real-time strategy, RTS)
通常不允许玩家改变视角以观看不同距离的景物,这个限制使开发者能在RTS引擎上采用各种优化。
译注:等角投影 屏幕上3个轴的夹角均为或接近120度。
较低解析度的模型以支持大量单元。


CryEngine
CryTek公司把部分研究成果公开:
http://www.crytek.com/cryengine/presentations


开源引擎:
OGRE
Panda3D 基于脚本的引擎、
Yake 基于OGRE开发的全功能引擎
Crystal Space
Torque
Irrlicht


Boost的在线文档是一个学习计算机科学的好地方。
Loki 是强大的泛型编程模板库。它尤其擅长绞尽你的脑汁。
《C++设计新思维》


有关STL标准在游戏应用的问题及解决方案
EASTL 29页


libgcm是索尼提供给PlayStation3的低阶直接接口,比OpenGL更高效。
Edge 顽皮狗和索尼为PlayStation3制作的强大高效渲染及动画引擎。


物理引擎
Havok
PhysX
Open Dynamics Engine ODE


角色动画工具
Granny
Havok Animation
Edge


人工智能工具
Kynapse


内存管理 内存碎片问题


渲染系统 分层从低到高
1. 低阶渲染器 只负责渲染
图形设备接口 使用DirectX或OpenGL
2. 场景图/剔除优化
3. 视觉效果
粒子系统
贴花系统 decal system 弹孔、脚印等
光照贴图、环境贴图
动态阴影
全屏后期处理效果
HDR光照、敷霜效果bloom
全屏抗锯齿FSAA
4. 前端 UI等


剖析和调试工具
intel VTune
IBM Quantity, Purify
Compuware Bounds Checker


时至今日,很少有公司编写自己的碰撞及物理引擎。取而代之,通常使用第三方的物理SDK。


刚体动力学
软体动力学
流体动力学


动画
精灵/纹理动画
刚体层次结构动画
骨骼动画
顶点动画
变形目标动画


微软音频工具包 XACT


多人游戏
单屏多人
切割屏多人
网络多人


A*寻路算法


粒子系统工具 Houdini


剖析器(Profiler)
统计式剖析器 - 计算出某函数占整体执行时间的近似百分比,
不影响游戏运行
Intel VTune


测控式剖析器 - 为每个函数安插特殊的初构代码
程序会变得很慢
IBM Rational Quantify (Rational Purify Plus工具套装之一)


混合式剖析器
微软 LOP (Low Overhead Profiler)


检测内存泄露
IBM Rational Purify
Compuware Bounds Checker


合成和聚合
has-a 合成
uses-a 聚合


编码规范
接口为王 保持接口整洁、简单、有良好注释
良好的命名
Effective C++ , Effective STL , Large-Scale C++ Software Design


推荐阅读
http://www.joelonsoftware.com/articles/Wrong.html


Ogre的基本数据类型
uint8 uint16 uint32
Real OGRE_DOUBLE_PRECISION 1 double 0 float
uchar ushort uint ulong
Radian Degree Angle


多字节值及字节序
小端 Intel
大端 Wii Xbox360 PlayStation3
字节序的解决方案:
1. 所有数据以文本方式写入文件
2. 转换字节序,就像网络通信一样

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章