
PC或者游戏主机
1.6.2 设备驱动程序管理硬件资源使上层软件不需要理解不同硬件的通信细节差异
1.6.3 操作系统操作系统协调一台计算机上多个程序的运行
1.6.4 第三方软件开发包和中间件英文简称SDK和middleware为应用程序提供接口
1.6.4.1 数据结构及算法一些第三方数据结构和算法库
大多数书游戏渲染引擎都建立在硬件接口库之上
碰撞检测和刚体动力学
Endorphin和Euphoria
1.6.5 平台独立层把其余的引擎部分和底层平台进行隔离 确保包装后的接口在所有硬件平台上均为一致
1.6.6 核心系统核心系统层的常见功能:
统一的资源管理接口以便访问游戏接口
渲染引擎设计采用的是分层架构
1.6.8.1 低阶渲染器设计着重于高速渲染几何图元而非其是否可见
低阶渲染器同样会进行视觉抽象
同样也会使用材质系统和动态光照系统
同时应用vertex和frag
其分为以下一些组件
使用SDK 枚举设备 初始化设备 建立渲染表面(stencil buffer,后台缓冲等)
消息泵问题,放于后续处理
收集需提交的几何图元
1.6.8.2 场景图/剔除优化因为低阶渲染器只提供了背面剔除和摄像机镜头方向的剪切平面
需要进入更高层次的组件才可以限制图元是否显示
场景图也就是空间分割算法:
使用一些2D图片去覆盖3D场景
这些目的包括
内存分析工具,游戏内置菜单,主控台以及回访功能
刚体动力学研究力和力矩以及运动
一般使用外部SDK
Havok是今天的业界标准
physX是虚幻引擎4中可以用是NVIDIA公司的
游戏会用到五种基本动画
IO组件:输入输出组件
HID引擎:让个别硬件平台游戏控制器的低阶细节与高阶游戏操作脱钩。
开发每个游戏的时候需要大量的定制软件开发才可以制作出有高质量音频的最终产品
1.6.14 在线多人/网络游戏支持多人设备会极大地影响某几个游戏引擎组件的设计,最好在项目开始之初就确定是否支持多人游戏。但同时将多人游戏改装为单人游戏更为简单,可以将单人游戏当作多人游戏的一个特例。
1.6.15 游戏性基础系统游戏性基础层实现游戏内进行的活动,支配虚拟世界的规则以及玩家角色的能力。
1.6.15.1 游戏世界和游戏对象模型想清楚游戏对象模型与软件对象模型,
1.6.15 .2 事件系统事件传递给接受对象时调用接受对象的事件处理函数
事件存储在队列上以便未来处理
提高开发效率 更改游戏逻辑和数据只需修改脚本代码并且重新载入就可以不需要重新编译链接方可执行程序
1.6.15.4 人工智能基础将各个游戏中普遍存在的通用部分写成一个SDK集成于引擎当中,使制作规模宏大的游戏更加容易。
1.6.16 个别游戏专用子系统特定游戏设计所需要的基础软件制作