第一章 第二节 本书游戏引擎工程的不同点

翻译 2007年09月14日 22:13:00

本书游戏引擎工程的不同点

这本书的目的是在示范如何创建一个示例游戏引擎时,讲解游戏引擎所有的基本组成部分。可以扩展示例游戏引擎来建造你的游戏。我使用DirectX 9来渲染。如果你偏好OpenGL,我把它作为编码练习留给你,用OpenGL API替换Direct3D API。两套API都支持相同的渲染能力。

 

本书研究的游戏引擎不专研使用vertexpixel shader可以作出的伟大的事情。(作为主题,DirectX 9里的新的高级着色语言可以充满一整本书。)也不研究如何优化地形渲染和角色动画。

 

在贯穿全书的示例引擎的开发中,我会更多的集中讲一个面向对象、通用的方法来进行游戏引擎的设计。这个游戏引擎不是意味着可以应用在下一代一鸣惊人的游戏中,去冲击市场。相反,我希望提供一个基本的,灵活的游戏引擎,你可以学到用在开发自己的3D游戏引擎的新知识。面向对象方法将会制作出一个模块化的引擎,它可以容易的修改和扩展,当你要把更加高级的游戏引擎组件加入其中时。

 

面向对象方法

为了开发一个清晰的、一般化的设计,我们在这个游戏引擎的设计和开发过程中使用面向对象技术。面向对象的设计和编程(当做的得当时),能得到一个简洁的、易懂的和易于维护的最终系统。我指定C#语言作为开发语言,因为它拥有这个项目所有需要的面向对象特性。

 

为什么是C#

你也许在为我选择C#语言作为开发语言而疑惑。基于性能考虑,近代几乎所有的游戏都是使用C或者C++开发的。Microsoft创造了C#语言,试图带给C++社区类似于Visual Basic的快速开发(RAD)。作为.NET首发阵容的一部分,Microsoft也增加了Visual Basic的性能和面向对象特性。DirectX 9的目标是把运行时间控制在C++的两倍之内。这就使得选择使用RAD语言变得非常有吸引力了。倾情喜爱C#是因为它有自动文档的功能。现在开发一个游戏通常是一个团队的努力。几乎不可能一个人单挑整个游戏。这使得共享清晰的代码和代码文档显得异常重要。C#中清晰的、面向对象的结构,结合良好的注释和文档约定,是你是否赶上时程的区别所在。

 

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

最近在读《游戏引擎架构》这本书,虽然感觉理论颇多,而且很多很多东西都看不懂,不过还是简单的把一些感觉很好的思想和方法或者概念记录下来。 1.      关于各个部件初始化,一个最简单粗暴的办...
  • puppet_master
  • puppet_master
  • 2015年07月24日 10:25
  • 1268

国外15种手机游戏引擎和开发工具介绍

游戏程序 平台类型: iOS Android  程序设计: 3D图形 音乐音效  编程语言:   引擎/SDK: 其它 ...
  • pizi0475
  • pizi0475
  • 2016年03月10日 09:35
  • 9739

四大开源3d游戏引擎探究----irrlicht与orge对比

四大开源3d游戏引擎探究 水平有限,只对于长久以来研究的几个经典3d游戏引擎的设计思想、程序架构和应用行深入剖析的结果与游戏开发同行分享,文档有不妥之处请指出,期待我们的共同进步。 引擎名称: ...
  • cbbbc
  • cbbbc
  • 2015年08月19日 20:27
  • 2641

【原创翻译】Game Engine Architecture(游戏引擎架构)第一章导论

第一章导论   When I got my first game console in 1979—away-cool Intellivision system by Mattel—t...
  • ljcduo123456gogo
  • ljcduo123456gogo
  • 2014年08月17日 16:29
  • 397

[从零开始学libGDX]第一章:libGDX游戏引擎简介

libGDX的简单介绍: libGDX是一个跨平台的2D/3D的手机游戏开发框架,它由Java/C/C++语言编写而成。它的代码是开源的,并托管于Github中,截止目前最新版本为1.6.3,主要还是...
  • u012973906
  • u012973906
  • 2015年07月06日 17:08
  • 573

HTML5 2D游戏引擎研发系列 第一章

HI,大家好,我是白泽,一名游戏设计师,一直专注各平台的2D游戏引擎研发,HTML5是我准备进入的新领域,我有个习惯,刚接触的新领域我都会习惯自己写一套游戏引擎,而不用第三方提供的,为了方便自己学习和...
  • wangwangaijia
  • wangwangaijia
  • 2014年01月06日 17:05
  • 1250

从零开始写游戏引擎(一) - 工程创建以及目录设置还有版本控制

一句话提要好的开始等于成功了一半。创建目录结构工程文件夹下最好分为下面几个目录Docs - 开发文档,设计文档Assets - 角色,动作,模型和音效等Source - 代码,工程文件或者makefi...
  • qp120291570
  • qp120291570
  • 2015年07月28日 08:22
  • 1607

Cocos2d-x游戏引擎开发[3]----建立锚点 (重建了一个类)

一般新建项目可以看到他是位于整个图形界面的中心,原因是他设置了一个锚点,相当于落脚点。 因此我需要重做一个类研究这个图像在界面中的位置摆放,主要是下面这个代码 spr->setPosition(c...
  • Roam_RYT
  • Roam_RYT
  • 2016年10月11日 09:26
  • 442

oracle与mysql语法不同点总结

  • 2017年11月23日 17:28
  • 5KB
  • 下载

javascript和css在IE和Firefox中的不同点

  • 2010年03月17日 08:47
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一章 第二节 本书游戏引擎工程的不同点
举报原因:
原因补充:

(最多只允许输入30个字)