首先是
语
言方面
,
这
个
问题
没有太多的
选择
的余地
,
基本上只有用
C++(
现
在
还
在
坚
持用
纯
C
来写引擎的估
计
只有卡
马
克同学了
),
语
言的功底是特
别
重要的了
;
大
规
模
项
目的
编
写能力也是很重要的
,
推荐看
<<
大
规
模
C++
程序
设计
>>
软 件工程方面 , 你可能要了解一些 单 元 测试 , 系 统级设计 的方法 ; 但是流行的 软 件方法 , 比如敏捷 , 我 觉 得 , 如果是你一个人得工程 , 用 处 可能不大 , 但是了解一点 总 没有坏 处 . 最重要的地方就是 设计 和 测试 了 .
图 形方面 , 你需要了解至少一 种图 形 api( 比如 openGL 或者 DirectX), 建 议开 始 还 是不要写多个 api 的渲染器 , 现 完成一个 , 以后有 时间 再写另外的版本 . 在 设计 的 时 候多花一点 时间 , 设计 良好的 纯 虚 类 , 这样 可以很方便的被不同的 图 形 api 渲染器 继 承 , 当然 , 开 始你要作的只是 实现 其中一个派生 类 .
如果以前都没有接触 过 3D 图 形方面的 编 程 , 建 议 你 还 是花 较 多的 时间 学 习 一 种 API, 记 住 , 只是一 种 ! 不管是 openGL 还 是 DirectX, 写好了一 种 再学另一 种 都是很 简单 的 . 但是就游 戏 引擎的要求来看 , 这 方面要有比 较 高的水平了 , 因 为 渲染器部分是游 戏 引擎 质 量的直接体 现 .
物理方面 , 基本上你可以放弃了 , 这 不是程序 员 能 够 搞得定的事 . 你可能 还 可以抄一下 别 人的算法 , 但是 这对 物理和数 值计 算方面的理 论 知 识 要求也比 较 高 , 所以 还 是建 议 , 用 别 人的物理 库 比 较 好 . 个人 觉 得 Novodex 比 较强 , 有免 费 的个人版 ; 其他 开 源的引擎比如 ode 等等也是比 较 好的 选择 . 物理方面的虚 拟 技 术马 上会有爆炸式的 发 展 , 可交互性 , 是其中比 较热 的技 术 , 因 为这 可以 让 玩家的感 觉 更真 实 .
网 络 方面 , 这 个我一点都不了解 , 所以不多 说 了 . 但是 强调 一下 , 现 在的游 戏 引擎如果没有网 络 功能 , 就是失 败 的游 戏 引擎 . 而且网 络 和物理一 样 , 在引擎 编 写的初期就要 设计 好 , 现 在最后再整合是特 别难 的事情了 .
还 有很多 关键 的技 术 . 脚本技 术 , 可以看一下 <<game scripting mastery>>, 看完 这 本 书 基本上可以自己 设计 一个脚本解析器了 ( 我 还 没看完 , 呵呵 ); 地形 ,<< focus on 3d terrain >>, 也有 开 源的地形引擎 , 比如 gaia, 这 方面的 资 料特 别 多 ; 模型和 动 画 ,<<focus on 3d models>> 和 <<advanced animation with directx>> 是入 门 最好的 书 了 , 但是 这 两本 书 都只能帮你入 门 , 书 中的技 术 用在 现 在的游 戏还 算可以 , 以后的引擎肯定不会 还 用 这 些技 术 , 最好了解一下 现 在前沿的技 术 ( 在 unreal 2, 3, doom3,quake4 中我 们 已 经 看到了 这 方面最新的研究成果的 应 用 ); 还 有 , 最好可以了解 HLSL 或者 Cg, 这样 你 就可以看得懂 别 人写出来得 shaders, 自己也可以 尝试 写一些特效了 ,sm 4 的新 标 准可能成 为 引擎的又一挑 战 , 所以 shaders 的高 级语 言会越来越重要 .
如果只想写一般的小引擎 , 上面 说 的 东 西 , 你完成一半已 经 很不 错 了 , 但是如果要写出商 业 品 质 的引擎 , 这 些 还 是 远远 不 够 的 . 你需要了解到 , 现 在的技 术每 天都在 发 展 , 很多都可以 应 用到你的引擎中 , 但是 这 些技 术 都来自于 论 文 , 比如 Siggraph 报 告会 ,GDC 开发 大会和 IEEE 的期刊 . 马 上是 vista 和 64 位的 时 代 ,sm4.0 和 direct10 引入了光 线 跟踪的高效 实现 , 图 形芯片 飞 速 发 展的神 话还 在 继续 , 物理芯片的引入也令人 侧 目 ...... 所有 这 些都是可以 让 你的引擎脱 颖 而出的特性 .
太 难 了 , 不是 ? 因 为 游 戏 引擎几乎不可能一个人写得出来的 . 除非你是卡 马 克那 样 的天才 .
不 过 不要太 难过 , 坚 持不懈的努力 , 每 个人都可以超越卡 马 克的 .
Don't think you are.Know you are!
软 件工程方面 , 你可能要了解一些 单 元 测试 , 系 统级设计 的方法 ; 但是流行的 软 件方法 , 比如敏捷 , 我 觉 得 , 如果是你一个人得工程 , 用 处 可能不大 , 但是了解一点 总 没有坏 处 . 最重要的地方就是 设计 和 测试 了 .
图 形方面 , 你需要了解至少一 种图 形 api( 比如 openGL 或者 DirectX), 建 议开 始 还 是不要写多个 api 的渲染器 , 现 完成一个 , 以后有 时间 再写另外的版本 . 在 设计 的 时 候多花一点 时间 , 设计 良好的 纯 虚 类 , 这样 可以很方便的被不同的 图 形 api 渲染器 继 承 , 当然 , 开 始你要作的只是 实现 其中一个派生 类 .
如果以前都没有接触 过 3D 图 形方面的 编 程 , 建 议 你 还 是花 较 多的 时间 学 习 一 种 API, 记 住 , 只是一 种 ! 不管是 openGL 还 是 DirectX, 写好了一 种 再学另一 种 都是很 简单 的 . 但是就游 戏 引擎的要求来看 , 这 方面要有比 较 高的水平了 , 因 为 渲染器部分是游 戏 引擎 质 量的直接体 现 .
物理方面 , 基本上你可以放弃了 , 这 不是程序 员 能 够 搞得定的事 . 你可能 还 可以抄一下 别 人的算法 , 但是 这对 物理和数 值计 算方面的理 论 知 识 要求也比 较 高 , 所以 还 是建 议 , 用 别 人的物理 库 比 较 好 . 个人 觉 得 Novodex 比 较强 , 有免 费 的个人版 ; 其他 开 源的引擎比如 ode 等等也是比 较 好的 选择 . 物理方面的虚 拟 技 术马 上会有爆炸式的 发 展 , 可交互性 , 是其中比 较热 的技 术 , 因 为这 可以 让 玩家的感 觉 更真 实 .
网 络 方面 , 这 个我一点都不了解 , 所以不多 说 了 . 但是 强调 一下 , 现 在的游 戏 引擎如果没有网 络 功能 , 就是失 败 的游 戏 引擎 . 而且网 络 和物理一 样 , 在引擎 编 写的初期就要 设计 好 , 现 在最后再整合是特 别难 的事情了 .
还 有很多 关键 的技 术 . 脚本技 术 , 可以看一下 <<game scripting mastery>>, 看完 这 本 书 基本上可以自己 设计 一个脚本解析器了 ( 我 还 没看完 , 呵呵 ); 地形 ,<< focus on 3d terrain >>, 也有 开 源的地形引擎 , 比如 gaia, 这 方面的 资 料特 别 多 ; 模型和 动 画 ,<<focus on 3d models>> 和 <<advanced animation with directx>> 是入 门 最好的 书 了 , 但是 这 两本 书 都只能帮你入 门 , 书 中的技 术 用在 现 在的游 戏还 算可以 , 以后的引擎肯定不会 还 用 这 些技 术 , 最好了解一下 现 在前沿的技 术 ( 在 unreal 2, 3, doom3,quake4 中我 们 已 经 看到了 这 方面最新的研究成果的 应 用 ); 还 有 , 最好可以了解 HLSL 或者 Cg, 这样 你 就可以看得懂 别 人写出来得 shaders, 自己也可以 尝试 写一些特效了 ,sm 4 的新 标 准可能成 为 引擎的又一挑 战 , 所以 shaders 的高 级语 言会越来越重要 .
如果只想写一般的小引擎 , 上面 说 的 东 西 , 你完成一半已 经 很不 错 了 , 但是如果要写出商 业 品 质 的引擎 , 这 些 还 是 远远 不 够 的 . 你需要了解到 , 现 在的技 术每 天都在 发 展 , 很多都可以 应 用到你的引擎中 , 但是 这 些技 术 都来自于 论 文 , 比如 Siggraph 报 告会 ,GDC 开发 大会和 IEEE 的期刊 . 马 上是 vista 和 64 位的 时 代 ,sm4.0 和 direct10 引入了光 线 跟踪的高效 实现 , 图 形芯片 飞 速 发 展的神 话还 在 继续 , 物理芯片的引入也令人 侧 目 ...... 所有 这 些都是可以 让 你的引擎脱 颖 而出的特性 .
太 难 了 , 不是 ? 因 为 游 戏 引擎几乎不可能一个人写得出来的 . 除非你是卡 马 克那 样 的天才 .
不 过 不要太 难过 , 坚 持不懈的努力 , 每 个人都可以超越卡 马 克的 .
Don't think you are.Know you are!