游戏引擎架构

1、第14章介绍的对游戏性相关系统的设计非常有价值。各个开发人员几乎都是凭经验设计,很少见有书籍对这些做总结。

5、通过此书以知悉一些知名游戏作品实际上所采用的方案。

6、书名中的架构二字,并不单是给出一个系统结构图,而是描述每个子系统的需求、相关技术及与其他子系统的关系。

7、本书的第11章(动画系统)及第14章(运行时游戏性基础系统)是本书特别精彩之处。

8、此书翻译历时3年半。

Note1

1、游戏有多个种类(category)和类型(genre)。此处genre译为体裁更为合适。

2、很多游戏工作室并不隶属于个别发行商,这些工作室把他们制作的游戏,卖给出最好条件的发行商。还有一些工作室让单一发行商独家代理他们的游戏,其形式可以是签署长期发行合同,或是成为发行商全资拥有的子公司。

3、物理模拟可能需要每秒更新120次以保持稳定。一个游戏角色的人工智能系统可能每秒最少要“最一次”才能显得不呆。另外,也可能需要每1/60秒调用一次声音程序库,以确保音频缓冲有足够的声音数据,避免发出一些短暂失灵声音。

4、游戏引擎或中间件组件越通用,在特定平台运行特定游戏的性能就越一般。

5、OGRE是一个架构优良,又易学易用的三维渲染引擎。

6、软件层的构建通常上层依赖下层,下层不依赖上层。

7、PhysX是一个流行的工作级物理及碰撞引擎,NVIDIA提供免费下载。没有碰撞检测,物体会互相穿透。

8、当用微软的编译器编译代码时,编译器会定义_MSC_VER宏;当使用GNU编译器,则会定义__GNUC__宏。

9、小端:最低有效字节存储于最低位,大端:最高有效字节存储于最低位。

10、解决字节序的其中一个方案为所有数据以文字方式写入文件。

11、字节对齐的其中一个原因是,内存控制器对于非对齐的内存需要2次存储才能取出。例如:0x6a341173开始的4字节数据,需要分别从0x6a341170和0x6a341174中2个4个节块中取出数据组装后才能被使用。有些平台下非对齐会导致程序崩溃(PS2)。

12、__FILE__、__LINE__这2个宏可以获取文件名和行号信息。

13、除了笛卡儿坐标系外还有圆柱坐标系,球坐标系。

14、当向一物体施加力(force),当且驻当其施力方向离开中心点,该力会对物体的旋转运动产生影响。由此产生的旋转力称为力矩(torque),其计算方法如下:给定力F,从质心(center of mass)至施力点的矢量r,则产生的力矩为N=r x F。

15、线性插值(linear intepolation)LERP。

16、存取主系统内存是缓慢的操作,通常需要几千个处理周期才能完成。存取寄存器只需数十个周期,甚至有时只需要一个周期。

17、当使用断点时,需要使用以下代码来避免每帧间隔过长问题。

 if (dt > 1.0f / 30.0f)
{
dt = 1.0f / 30.0f
}

18、利用多核优势的模型有:

  1)“分叉及汇合”

  2)“每个子系统运行于独立线程”

  3)作业模型,工作被拆分为小颗粒度的作业,这些作业可于任何闲置的处理器运行。

19、当玩家尝试转方向盘时,方向盘会产生阻力,以模拟困难的行车条件或急转弯。这叫力反馈(force-feedback)。

20、OutputDebugString()不支持格式化输出,它只能打印char数组形式的字符串。

21、常用的调试方法包括调试绘图,游戏内置菜单,游戏内置控制台

22、玩家角色(player character, PC),非玩家角色(non-player character,NPC)

游戏引擎架构Note1的更多相关文章

  1. 游戏引擎架构Note2

    [游戏引擎架构Note2] 1.视觉属性(visual property)决定光线如何与物体表面产生交互作用. 2.一个Mesh所使用三角形的多少可以用细致程度(level-of-detail,LOD ...

  2. 游戏引擎架构 (Jason Gregory 著)

    第一部分 基础 第1章 导论 (已看) 第2章 专业工具 (已看) 第3章 游戏软件工程基础 (已看) 第4章 游戏所需的三维数学 (已看) 第二部分 低阶引擎系统 第5章 游戏支持系统 (已看) 第 ...

  3. 游戏引擎架构 && windows 核心编程

    欲想正人,必先正己. 静坐当思己过,闲谈莫论人非. 垂直同步的作用: 为避免画面撕裂,许多渲染引擎会在交换缓冲区之前,等待显示器的垂直区间消隐,即电子枪重归屏幕上角的时间. 高分辨率计时器的时间漂移 ...

  4. 游戏引擎架构,3d游戏引擎设计、Unreal引擎技术等五本PDF推荐

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  5. 游戏制作之路:游戏引擎选择、Mac下和Windows下UnrealEngine 4体验对比、文档及其他

    UnrealEngine 4和Unity3d的选择 订阅了UrealEngine4(UE4)开发者.我开始做网站用的是ASP.NET和C#,之后做网站虽然换用更方便的PHP(因为做的都是小网站).我想 ...

  6. 棒!使用.NET Core构建3D游戏引擎

    原文地址:https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/ 作者:ERIC MELLINO 翻译:杨晓东(Savorboa ...

  7. U3D 游戏引擎之游戏架构脚本该如何来写

    这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引 ...

  8. 【转载】U3D 游戏引擎之游戏架构脚本该如何来写

    原文:http://tech.ddvip.com/2013-02/1359996528190113.html Unity3D 游戏引擎之游戏架构脚本该如何来写   2013-02-05 00:48:4 ...

  9. Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生

    一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...

随机推荐

  1. 【SQL查询】模糊查询_like

    [格式]:SELECT 字段 FROM 表 WHERE 某字段 Like 条件 [说明]: 1. %表示任意0个或多个字符,可匹配任意类型和长度的字符. 2. _ 表示任意单个字符.匹配单个任意字符. ...

  2. Java并发编程总结

    基础概念 1.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作(atomic operation)意为"不可被中断的一个或一 ...

  3. 使用BloomFilter布隆过滤器解决缓存击穿、垃圾邮件识别、集合判重

    Bloom Filter是一个占用空间很小.效率很高的随机数据结构,它由一个bit数组和一组Hash算法构成.可用于判断一个元素是否在一个集合中,查询效率很高(1-N,最优能逼近于1). 在很多场景下 ...

  4. Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)

    不要心急,一点一点的进步才是最靠谱的. 读完本文你将了解: 前言 Message 如何获取一个消息 Messageobtain 消息的回收利用 MessageQueue MessageQueue 的属 ...

  5. pmm监控页面502

    我们知道pmm主要使用的是 普罗米修斯采集和grafana日志统计显示. 最近为硬盘扩过一次容量,主要是docker使用的,我的pmm是跑在docker上的,但是重启后pmm的debug日志下载502 ...

  6. 抛弃Https让Cas以Http协议提供单点登录服务

    本文环境: 1.apache-tomcat-7.0.50-windows-x86 2.cas-server-3.4.11 3.cas-client-3.2.1 将cas-server-webapp-3 ...

  7. Android开发的基础知识点

    1.Android开发的四大组件: Activity:android应用程序上看到的一页. Service:运行在后台,可以其他组件交互(音乐播放器). BroadcoastReceiver:用来对外 ...

  8. DELPHI中使用UNIDAC连接ORACLE数据库

    DELPHI中使用UNIDAC连接ORACLE数据库   最近在DELPHI中使用到UNIDAC连接到oracle数据库,这样可以不要安装oracle客户端,比较方便使用:所以简单学习了一下,主要是用 ...

  9. 安装nagios-plugins插件make时遇到的error

    安装nagios-plugins插件make时遇到的error error内容: check_http.c: In function ‘process_arguments’: check_http.c ...

  10. emqtt 1 (初初初初稿)

    第一篇,先简单分析一下整个emqtt 的大致结构,包括两个部分: 1.message packet 类型 2.message 流向 message packet 类型 P1:mqtt_packet 的 ...