遊戲引擎就是指一些已編寫好的可編輯電腦遊戲系統或者一些互交式實時圖像應用程序的核心組件。而這些系統爲遊戲設計者提供各類編寫遊戲所需的各類工具,讓遊戲設計者能容易和快速地作出遊戲程序而不用由零開始。大部分都支持多種操做系統平臺,如Linux、微軟Windows。遊戲引擎包含如下系統:渲染引擎(即「渲染器」,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測系統、音效、電腦動畫、網絡引擎以及場景管理。html
先簡單介紹一下游戲的運行環境:PC端(win & mac)、手機端(iOS & Android & WP & BlackBerry )、PlayStation(索尼的PS一、二、三、4)、Xbox(微軟的Xbox、Xbox 360)、Switch(任天堂) 等。html5
PC端 和 手機端 分爲 客戶端 和 網頁端,即分爲端遊 和 頁遊。java
按大類型能夠分類 :端遊(pc端、PS、Xbox、Switch按引擎支持歸爲一類)、手遊(手機端)、頁遊(pc端頁遊、手機端頁遊)。程序員
比較知名的遊戲研發廠商: EA(ElectronicArts)、育碧(UBISOFT)、任天堂(NINTENDO)、索尼娛樂(SCE)、柯樂美(KONAMI)、史克威爾艾尼克斯( SQUARE ENIX)、世嘉(SEGA)、萬代 南夢宮(BANDAI NAMCO)等。web
EA(ElectronicArts)遊戲業界的航空母艦,是世界上最大的遊戲設計商。旗下EA Games ,EA Sports ,EA.com。知名遊戲品牌: EA Sports的《極品飛車》系列,FIFA系列,NBA系列等等。EA Games的指環王系列,中土之戰系列,榮譽勳章系列,命令與征服系列等等。編程
維望迪Vivendi旗下公司:Blizzard(早期,後來被贖回)、ValveSoftware,SIERRA,ACTIVTSION。知名遊戲品牌:SIERRA的《半條命》《反恐精英》《指環王-魔戒之戰》等等。Blizzard的《魔獸爭霸》《星際爭霸》《魔獸世界》《守望先鋒》等等。瀏覽器
Valve Software:《半條命2》《CS:GO》等等。性能優化
育碧(UBISOFT):旗下公司 Gameloft等。知名遊戲品牌:《分裂細胞》《波斯王子》系列。微信
卡普空(CAPCOM):《生化危機》系列,《鬼泣》系列,《街頭霸王》系列,大量最經典的橫版街機過關遊戲。網絡
史克威爾艾尼克斯( SQUARE ENIX):《FF》全系列,《DQ》系列等等RP。
柯樂美(KONAMI):《勝利十一人》系列,《寂靜嶺》系列,《惡魔城》系列等。
拳頭(Riot):表明做品《英雄聯盟》。(騰訊2015年12月全資收購)
國內的端遊研發商有點拿不出手,能提一下的是 網易、騰訊、西山居、完美世界、盛大、世紀天成、巨人等。
在端遊裏面 ,3A是對遊戲質量的一個最高評價了,不少國外的大做被稱呼爲3A遊戲。咱們看一下維基百科的描述:
AAA級遊戲(一般讀做「AAA遊戲」)是一種非正式的分類,用於最高開發預算和最高推廣級別的電子遊戲。AAA級遊戲開發伴隨着高經濟風險,須要高水平的銷售才能得到盈利。
網頁遊戲 又稱Web遊戲,無故網遊,稱爲頁遊。是基於Web瀏覽器的網絡在線多人互動遊戲,無需下載客戶端,不存在機器配置不夠的問題,最重要的是關閉或者切換極其方便,尤爲適合上班族。其中網頁遊戲又分爲PC端網頁遊戲 和 手機端網頁遊戲。PC端網頁遊戲發展較早,相對較爲成熟。手機端網頁遊戲,隨着移動設備的性能的提高,也開始出如今舞臺上。
PC網頁遊戲從2007年開始流行起來,鼎盛時期大體在2013-2014年左右,而後大幅度衰落。PC網頁遊戲的流行得益於 Adobe 公司的 Flash,其網頁端多媒體交互插件 Flash Player在瀏覽器的高佔有率 促使了頁遊的快速發展。 固然也由於喬布斯的一句話做爲導火線,iOS再也不支持Flash Player,致使了其衰退的開啓,今年Adobe也宣佈了2020年中止Flash Player的支持。 這裏不得不提一下微軟的銀光,微軟也是看到了Flash Player 的成功,推出了銀光,惋惜沒有搶佔到多少市場,無疾而終。另外再提一下Unity Webplayer ,也就是U3D的 網頁播放插件,也沒有足夠的佔有率,不慍不火。(目前也已經放棄更新和支持了)
PC端網頁遊戲開發基本上沒有引擎,要不依賴於Flash提供的API自我封裝實現引擎,要不依賴於U3D的API自我封裝,沒有出現業界承認的引擎。只是出現了一些比較好用的框架 好比Flash的 starling渲染框架 、 DragonBones骨骼框架、 TweenLite動做框架等,稱不上是引擎。《偷菜》、《農場》、《彈彈堂》、《七雄爭霸》、《虞美人》、《大天使之劍》、各種傳奇、日漫iP頁遊。。。總有一款你玩過。也一度出現了不少小遊戲平臺3366 、4399 、7k7k 、騰訊頁遊平臺、老手村網頁遊戲推薦、HP91網頁遊戲等。不過如今也是衰落不堪,前幾年年終老闆給程序員送寶馬等新聞就是上述小遊戲平臺,可見當時是賺足了腰包。
手機頁遊相對單純,目前也是在上升期,因爲手機瀏覽器所呈現的性能瓶頸,不得不開發專門的引擎來提高手機頁遊性能。目前國內知名的頁遊引擎有:Cocos2d-js、Egret(白鷺)、Laybox等。PS:Egret 和 Laybox 都是一些搞Flash開發的資深大牛創業研發出的引擎。還記得當年微信實驗性遊戲《打飛機》?該遊戲就是手機頁遊,只是內嵌到微信APP內。目前市場上尚未特別亮眼的做品。
因爲Flash Player、 Unity Webplayer 插件的相繼不維護,以及手遊的風生水起,不少頁遊公司以及開發者都已經轉型手遊,PC頁遊前途已經一跌再跌。目前不建議在PC頁游上投入太多精力。
關於手機頁遊如今還處於發展期間,16年也出現過現象級輕遊戲《神經貓》,目前階段尚未知名的重度遊戲,仍是以輕度遊戲爲主。大多以微信公衆號小遊戲 或是商家促銷小遊戲形式。
早期Egret一度發展不錯,但因爲工具鏈和社區的發展沒有跟上,致使口碑逐漸下滑。其性能優化上也還有必定的空間。( Egret 早期也是一個小團隊,後來小米投資了2000W,進入了快速發展期)另一款Layabox 後來居上,聽說性能上很不錯,坑相對較少,目前開發者逐漸變多。
Unreal (虛幻引擎)表明做:《絕地求生》、《戰爭機器》系列,《質量效應》系列,《榮譽勳章》系列,《GTA 5》俠盜飛車 ,《星際爭霸Ⅱ》
CryEngine(尖叫引擎) 表明做:《孤島危機》系列
Source(起源) 表明做:《CS》系列、《Dota 2》
BigWorld 表明做:《坦克世界》、國內各類仙俠遊戲 (網傳2015年10月中止受權,可是沒有官方聲明)
Frostbite Engine(寒霜引擎)表明做:《上古卷軸》系列、《戰地》系列、 《極品飛車16/18》
Gamebryo、 Creation 表明做:《極品飛車》系列、《輻射》系列、《穿越火線》
IW Engine 表明做:《使命召喚》系列 Havok 物理引擎,不少3A遊戲以及好萊塢大片都用了該物理引擎,隨便提下《血源詛咒》
自研 好比 暴雪的《守望先鋒》就是自研引擎 、好比拳頭的《英雄聯盟》用的也是自研引擎
U3D 暫無3A級大做,《爐石傳說》,由於跨平臺的緣故吧。
這裏主要分析一下國內一些研發廠商使用的引擎,用得最多的就是 Cocos2d-x 和 U3D。還有部分項目用了Unreal 4 或是 自研的一些框架。
早期Cocos2d-x比較風靡,由於其開源、免費、跨平臺、高性能、支持不少開發工具,獲得不少我的、工做室、公司的青睞。但隨着移動設備性能的提高,3D遊戲的趨勢,以及2dx工具鏈的跟不上發展,致使一批人轉向了U3D。
如下是目前國內經常使用的引擎:Cocos2d-x 、U3D、Unreal 四、Flash Air、Corona、自研
咱們知道Cocos2d是一個基於MIT協議的開源框架,用於構建遊戲、應用程序和其餘圖形界面交互應用。最初cocos2d僅是一個用Python語言寫的遊戲框架,並無什麼商業價值。2008年,蘋果手機的發展正盛,cocos2d社區抓住了這個機遇,開發出了cocos2d-iPhone版本,即用Objective-C語言替換Python重寫了整個框架。由此,cocos2d-iPhone隨着iOS的發展而迅速壯大。2010年,cocos2d已經成爲iOS平臺上首選的2D遊戲框架。
2010年,Android迅速崛起並能與iOS抗衡的時候,開發者但願可以把遊戲移植到Android平臺上,因而cocos2d的另外一個分支cocos2d-x被開發出來,框架用C++重寫。Cocos2d-X發展的重點是圍繞Cocos2d跨平臺,Cocos2d-x項目能夠很容易地創建和運行在iOS,Android,黑莓Blackberry等操做系統中。還支持Windows、Mac和Linux等桌面操做系統。
Cocos2d-x 還衍生出了Cocos2d-lua ,Cocos2d-js版本,固然也有開發者YY出了Cocos2d-java等各類語言版本。目前來說,使用Cocos2d-lua的開發商最多。
Cocos2d-js早期叫做Cocos2d-html5,後來隨着發展更名叫Cocos2d-js。這個分支不只能發佈成 ipa 或是 apk ,也能發佈成 手機頁遊。
PS:Cocos2d-iPhone是老外寫的, Cocos2d-x的早期做者是中國開發者,早期性能也通常,後來觸控也把原做者拉入進行了重構。Cocos2d-x後來也支持了3D,可是支持的並非很好,因此3D遊戲基本上仍是選擇U3D 或是 虛幻4 。
遊戲引擎是對底層繪圖接口的包裝,Cocos2d-x 也同樣,它是對不一樣平臺下 OpenGL 的包裝。OpenGL 全稱爲 Open Graphics Library,是一個開放的、跨平臺的高性能圖形接口。OpenGL ES 則是 OpenGL 在移動設備上的衍生版本,具有與 OpenGL 一致的結構,包含了經常使用的圖形功能。Cocos2d-x 就是一個基於 OpenGL 的遊戲引擎,所以它的繪圖部分徹底由 OpenGL 實現。OpenGL 是一個基於 C 語言的三維圖形 API,基本功能包含繪製幾何圖形、變換、着色、光照、貼圖等。除了基本功能,OpenGL還提供了諸如曲面圖元、光柵操做、景深、shader 編程等高級功能。
Unity3D是由Unity Technologies開發的一個讓玩家輕鬆建立諸如三維視頻遊戲、建築可視化、實時三維動畫等類型互動內容的多平臺的綜合型遊戲開發工具,是一個全面整合的專業遊戲引擎。Unity相似於Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開發環境爲首要方式的軟件。其編輯器運行在Windows 和Mac OS X下,可發佈遊戲至Windows、Mac、Wii、iPhone、WebGL(須要HTML5)、Windows phone 8和Android平臺。也能夠利用Unity web player插件發佈網頁遊戲,支持Mac和Windows的網頁瀏覽。它的網頁播放器也被Mac 所支持。
除了Unity3D,爲了方面開發者開發2D遊戲,還出了一個分支Unity2D。
引用知乎上關於 2dx和 U3D的比較回答: 「Unity和Cocos2d-x,嚴格來說並非一樣的產品類型。Unity是一套「解決方案」,而Cocos2d-x僅僅是一個庫。二者相比較,後者僅至關於前者的一個模塊。Unity提供集成的場景編輯器,物理引擎,材質編輯、動畫編輯等等,再加上自己的類插件功能,能讓第三方經過包來幫助生產周邊工具。但從Cocos2d-x來說,若是有公司要用,必須找到相關的編輯器,集成第三方的物理引擎(如Box2D)才能與Unity在解決方案這個級別上相提並論。就若有名的3D渲染引擎Ogre和解決方案Unreal、CryEngine同樣,自己並不具有可比性。不少公司採用Cocos2d-x來作項目的抉擇是,對於2D項目來講,Unity的確是把「牛刀」了,駕馭起來不是很順暢。Cocos2d-x加上一些第三方的工具,就能對付項目,並且駕馭起來相對簡單,就會選擇Cocos2d-x而不是Unity。」
若是想試水遊戲開發的話,我是推薦選擇Unity 3d。2016年騰訊已經Kill了全部2dx項目組,全面投入到U3D,另外還有個別項目在嘗試使用虛幻4 。 你們玩的騰訊系《王者榮耀》、《穿越火線》手機版等都是U3D製做。 小米的 「吃雞」手遊《小米槍戰》是用虛幻4製做。 最近網易的「吃雞」手遊《荒野行動》是自研引擎 Messiah。 用Unity 3d、虛幻4 但是要給引擎廠商分紅的,因此網易開了個好頭,本身賺的錢本身拿。固然騰訊也有自研引擎,也許不能說服重點項目去使用吧。畢竟引擎這東西,開發的很差坑是特別多的,不能期待項目組等你修改。商業產品仍是須要選擇穩定的、可靠的引擎。
自研引擎須要投入時間長、成本大、人力多,還得緊跟潮流,做爲中小公司基本上不適合走這一條路。即便你研發出來,還得開發一套工具鏈,還得有一個完善活躍的社區,這些因素缺一不可。 前段時間,阿里也成立了遊戲事業部。說好的不賺小學生的錢,仍是去染指遊戲行業了。就這樣吧, 本但願在u3d 和 2dx上面多花點筆墨的,可是寫了這麼多寫不動了。