为什么游戏编程还需要引擎?

来源:百度知道 编辑:UC知道 时间:2024/06/14 22:03:19
为什么游戏编程还需要引擎,看过一本书,它这样说:如果没有引擎的话,每写一个游戏都要写一个操作系统!为什么不能直接调用winAPI,而要去用引擎所提供的函数或API。有没有这方面的资料,越详细越好。

关于游戏AI算法,或游戏编程的书给我介绍几本,如果能提供下载的就最好,没有的话,网上购买电子书也可以!

游戏引擎其实就是一类游戏的代码框架,它实现了很多同类游戏都要用到的代码、算法和方法,利用游戏引擎来开发游戏,可以大大提高开发效率,极大地减少重复性的开发工作,把复杂的调度、管理、内核算法等集成到引擎中,可以让开发游戏象使用模板一样把开发重心放在游戏内容的设计和实现上。
当然,所有程序都可以直接使用WindowsAPI,但那样的话,得写多少的代码呀,“每写一个游戏都要写一个操作系统!”你可是理解错了哦,这里指的是写代码的数量和复杂度不亚于写一个操作系统(当然有点夸张就是了),而不是指用引擎去替代既有的操作系统,引擎本身同样绕不开用操作系统提供的API的,只是使用引擎比使用更低级的操作系统API会好用的多。
其实,游戏也并非一定要使用引擎,这跟游戏的内容和性质有关,大一点的游戏是很需要有引擎的帮助的,一般而言,好的游戏引擎就像模板一样针对性很强,能够解决某一类游戏中的最常遇到的也最有开发复杂度的问题,比如动画调度问题、3D效率问题等等,使用引擎的最大好处就是可以重复开发多个同类型的游戏,例如角色类游戏和打斗类游戏以及Puzzle类游戏的引擎肯定是不一样的,如果有一个通用的引擎(现实中也有这样的引擎),那么它的针对性就不够强,虽然用它总比不用强,但比起专用的引擎来说就差很多了。
本人就喜欢写游戏引擎,开发很多的游戏就很省事,说实在话,看再多的书,不如自己去实践一下。现在有关游戏开发方面的书还是很多的,但都不好照搬,不知道你想开发的游戏是PC游戏还是手机游戏,单机游戏还是网络游戏,不同类型的游戏开发方法差异也很大。

关于API:directX直接提供很多游戏,多媒体,以及游戏联网的API,而WINDOWS系统有很多,不是每个系统都支持这些API的。而DirectX就不一样,专门为游戏,多媒体提供了很多API,调用和使用都方便。这也就是为什么不装DX,很多游戏不能玩的原因。
关于游戏引擎:一个游戏,特别是3D游戏,它的游戏引擎很关键,决定游戏的可玩性。其实说简单点也就是核心程序的算法和实现方法。要求高效简单。