前言:
现在姐妹们对“游戏引擎功能”大约比较关怀,兄弟们都需要了解一些“游戏引擎功能”的相关文章。那么小编也在网络上收集了一些有关“游戏引擎功能””的相关内容,希望看官们能喜欢,姐妹们快快来了解一下吧!我们经常会看到这样的话语:“XX游戏是基于XX游戏引擎制作的”。那么,到底什么是游戏引擎?这篇文章来浅浅谈一下我这个普通玩家对游戏引擎的认识,使用通俗易懂的语言让大家了解什么是游戏引擎(专业的东西我也不会),专业人士看到,如有错误请见谅。
首先,百度百科上对游戏引擎的描述非常地专业,很多我也不了解。总结起来就是“游戏引擎就和汽车引擎一样,汽车引擎是汽车的核心,那么游戏引擎就是该款游戏的核心”。
但我对此不这么认为。引擎,一般指汽车的发动机,我们常常会说“XX车是由XX引擎发动的”,汽车引擎是汽车的核心这没有错。但对于游戏,我们一般不说“XX游戏是用XX游戏引擎来运行的”,而是说“XX游戏是用XX游戏引擎来制作的”。也就是说,“游戏引擎”不是一个运行游戏的程序,而是一个制作游戏的程序。引擎是汽车必不可少的东西,但“游戏引擎”不是制作游戏必须的,最早的时候,制作游戏是没有“游戏引擎”的。所以,游戏引擎并不是一个游戏的核心,一个游戏的核心应该是这个游戏的主程序和其代码。游戏和“游戏引擎”的关系,类似于汽车和汽车工厂的关系。那么为什么会被称为“游戏引擎”而不是“游戏制作软件”呢?据说是因为第一个制作出“游戏引擎”的人喜欢汽车,所以给这个软件起了一个“引擎”的名字,而这个称呼也就沿用至今。
接下来说说引擎的诞生。
话说在很久很久以前,有一个游戏制作者,通过写代码,花了七、八个月制作了一款游戏横版动作游戏,之后他又要制作第二个游戏,游戏类型和第一款一样,也是一款横版动作游戏。由于他很懒,不想再从零开始写代码,再花费数月的时间来制作这款游戏。于是,他把第一款游戏的代码拿过来,在此基础上进行了修改,更改了诸如人物模型、音乐、动作等等要素,只花费了一个月的时间就做出来一款看起来与第一款游戏完全不同的新游戏。后来,他发觉这个方法很不错,于是把这些代码打包起来,分享给了其他的游戏制作者,一段时间后,其他的游戏制作者们都用这个方法来制作游戏了。慢慢的,这类代码越来越多,于是出来了一个人,根据这些代码的用途,将这些代码分门别类,比如图形的代码放一起,动作的代码放一起,音效的代码放一起,然后分别打包,最后打一个大包,这个大包就是一个“游戏引擎”了。
以上这段话是我编的,但这确确实实是“游戏引擎”的起源。其实,“游戏引擎”就是很多很多制作游戏的代码的集合。通过“游戏引擎”来制作游戏,就是将“游戏引擎”里已经存在的代码拿出来,然后加以修改,有序的组合成一个游戏程序。
目前世界公认的第一个制作出“游戏引擎”的人是约翰·卡马克,1992年制作的。就是那个制作了《德军总部3D》、《毁灭战士》、《雷神之锤》的约翰·卡马克。《德军总部3D》就是第一个用游戏引擎制作的游戏。这个引擎的名字和游戏同名。
当年约翰·卡马克在制作这款游戏时,他和之前的游戏制作者们不一样。其他人做游戏的时候,是先做游戏,中途看看需要什么代码,然后拿过来放进去。而约翰·卡马克在制作《德军总部3D》时,他不是先做游戏,而是基于这款游戏的类型,3D射击游戏,先把可能用到的、用不到的代码全都写出来,按类别做成一个框架。然后再开始制作游戏,往这个框架里面进行具体的设计和填充,然后制作出了世界上第一款3D射击游戏。这个框架就是一个“游戏引擎”了。虽说之前别的制作者做游戏也会用一些现成的代码,但这些代码并没有形成系统框架,而约翰·卡马克第一次系统的构建了一个框架,所以认为他是第一个做出“游戏引擎”人。
通常来说,一个“游戏引擎”至少会包含图形渲染系统、物理系统、特效系统、音效系统等部分,有一些程序虽然也能做游戏,但因为功能局限,也不能称之为“引擎”。比如魔兽地图编辑器,冰蛙用它做出了DOTA;又比如DOTA2地图编辑器,巨鸟多多用它做出了DOTA自走棋。这些软件制作出的游戏都必须依附其他的游戏为主体,所以算不上“游戏引擎”,不过的的确确拥有“游戏引擎”的一部分功能。可以把它们看成是“用游戏引擎做出来的游戏引擎”。
近30年的时间,从第一款“游戏引擎”诞生之初,如今有太多的“游戏引擎”了。比如多用于制作3D大作的《寒霜》(战地)、《虚幻》(彩虹6号)、《尖叫》(孤岛危机)等“大引擎”,也有多用于制作手游的《Cocos2d-x》、《Unity3D》,制作页游的《白鹭》等“小引擎”。其中有些只有开发公司自己使用的,比如《寒霜》。也有用于商用授权给别的开发公司使用的,比如《虚幻》。也有公开免费使用的,比如《Unity3D》。
如今的这些“引擎”,早已不是30年前“引擎”的样子,已经大大可视化、具象化,呈现在制作者眼前的再也不是一长串的代码。比如我想要在场景里放棵树,就可以在模型库里找棵树放上去;比如我想要加个光影特效,就在特效库里找出来放上去,当然,这些都是“引擎”制作人提前写代码写进去的,但代码是如何写的,就不是游戏制作者们的事了。
总之,如今得利于“游戏引擎”的强大功能,大大降低了游戏制作者的门槛,甚至没学过编程,从来没写过代码的零基础的人,只要熟练掌握了一款“游戏引擎”,也能做出游戏。这一方面有助于游戏市场的多样性,出现越来越多独立游戏制作者;另一方面,也让粗制滥造的游戏大大增多,比如steam上众多的“库存污染”。
但不管如何,世界在进步,中国在进步,中国的游戏市场也在进步,让我们静待将来吧。
我是小鸽子,望大家点赞、关注,会给大家带来更多的游戏资讯、杂谈、攻略等等。
直接使用今日头条APP上方的搜索框搜索“unity3d”,即可免费观看头条上的unity3D教程。