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

翻译 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#中清晰的、面向对象的结构,结合良好的注释和文档约定,是你是否赶上时程的区别所在。

 

相关文章推荐

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

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

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

第一章导论   When I got my first game console in 1979—away-cool Intellivision system by Mattel—t...

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

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

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

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

火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!

《使用Cocos2d-x 开发3D游戏》系列在线课程             第二节:Cocos引擎开发环境搭建与项目创建! 视频地址:http://edu.csdn.net/course/detai...

SQL Server Oracle的不同点

  • 2013年12月13日 12:21
  • 18KB
  • 下载

c# 和java 不同点

  • 2014年08月20日 22:01
  • 29KB
  • 下载

SQL多表连接查询以及mysql数据库、sqlserver数据库常见不同点

mysql数据库表及数据准备语句: USE test; DROP TABLE IF EXISTS `teacher_table`; DROP TABLE IF EXISTS `student_t...
  • koushr
  • koushr
  • 2016年01月04日 22:25
  • 566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一章 第二节 本书游戏引擎工程的不同点
举报原因:
原因补充:

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