標籤:java 使用 strong javascript 問題 表
轉自知乎
【高風險的大型遊戲開發】
傳統上來說,開發遊戲是一件費時費力的事情,而且80%的情況下開發遊戲這件事就是一個災難。因為遊戲是一個互動藝術,這個互動不僅體現在娛樂方式上,也體現在開發過程中。修修補補是開發遊戲的家常便飯。但是,由於傳統的遊戲開發至少涉及策劃、美術和程式,因此任何一點微小的調整都需要各個環節通力合作才能勉強達成。而遊戲的品質如何,往往要到最後開發出來一個版本才能看到。這時,項目往往已經開發到50%以上的進度了,無論做什麼調整,都意味著巨大的先期投入。
然而幸運的是。雖然開發遊戲的風險很高,但是傳統遊戲市場的回報也是豐厚的。次世代平台的遊戲動輒可以獲得幾千萬、甚至上億美元的回報;某些大型網遊也能達到近似的回報。為了拿到這麼高的回報,當然無論從技術還是資金上都可以玩命的冒險。
因此,遊戲開發的主要工具——引擎——就成了這個領域的一個關鍵性競爭要素。像Unreal、Cry這些超級引擎,在其發展的初期就確立了兩個指標,其一是貴;其二就是複雜。這些引擎有強悍的穩定性,但是調試過程和開發過程都相當複雜(我猜想是因為為了搶先實現一些視覺或功能上的效果,它們採用了很多層的技術來堆積引擎結構,導致引擎既龐大又難以駕馭),不過一開始他們不必擔心這些問題,因為他們的客戶都不差錢兒,而且有的是人手來“十年磨一劍”。
北京、上海、杭州每月都有幾百萬投資的新遊戲項目啟動,公司動輒4、50人,不少都能達到百人規模,購買昂貴引擎或者偷用昂貴工具的公司當然也不是少數。但其中大約七八成兒最終都沒有獲得預想的成功。足見遊戲開發的風險之大。
【小型遊戲、獨立遊戲開發】
當然,雖然每個做遊戲的人都希望能搞一款大作,但不是每個公司都有機會做大型遊戲的。因此幾乎從遊戲開發誕生那天起,小型遊戲(中型遊戲)開發就是這個領域的最主要項目形式。
中小型遊戲一般規格不大,大多每次遊戲時間都在1小時以內,也沒有複雜的多人聯線模式。因此開發起來相對有時間短、玩法鮮明的特點。在過去,中小型遊戲大部分都採用開源引擎、Flash或者Java駕馭的自編引擎。這些特色讓小型遊戲迅速擁有了數量上的優勢,佔有了巨大的玩家時間。但是,小型遊戲也有2個讓開發人員躊躇的問題:
- 這些引擎和工具大部分是基於二維技術的,因此我們看到的90%以上的中小型遊戲都是二維的。視覺表現上越來越跟不上玩家的要求。
- 中小遊戲的營收模式長期缺少保證,越來越低的投入導致品質越做越差。
【Unity】
Unity3D在發展之初,給自己的定位主要是中小遊戲的開發。這個定位在一開始(Unity1.x時代)並不那麼一呼百應,因為前面提到的兩個問題裡,Unity只能解決第一個,對第二個問題它開始也是束手無策的。
不過它有兩個與大型引擎相反的特性,第一是便宜,第二是簡單。它通過完善工具,解決了一些的確對遊戲開發流程非常非常重要的問題:
- 容易上手。U3D有著與傳統3D軟體十分接近的介面,甚至某些方面比傳統3D軟體還要簡捷易用,因此很快吸引了那些有3D軟體使用經曆的人。容易上手對一個引擎的普及非常重要,沒人喜歡複雜難用的東西。
- 多語言編程。相容JavaScript和.Net(C#)這兩個比較主流的語種,方便程式開發。不過更重要的是,如果你對自己的邏輯和數學有信心,你也可以自己學這些語言來開發遊戲。沒你想的那麼難。
- 節點堆積。U3D對所有情境物體“一視同仁”,通過堆積在上面的一條條功能來給它們添加各種屬性。這讓U3D成了世界上最容易理解的引擎結構之一。
- 傻瓜式調試和編譯。只要點“播放”就可以馬上測試(這個功能與大型引擎看齊)。
- 強大的擴充性。U3D有一個比較開放的結構,你可以自由添加一些自己編寫的工具和外掛程式進去,進一步完善U3D的功能,並且這些功能也可以跨平台使用。
還有很多特性可以自己去網上瞭解。
此外,Unity很“幸運”。iPhone和iPad突然火了,FaceBook也爆炸式增長,這讓中小遊戲突然有了全新的營收保障。目前全球增長最快的遊戲領域是SNS遊戲和手機遊戲。而Unity正因為在這兩個領域的強悍和實用性而變得成長更為迅速。
因此,我認為Unity可能並不是最為“強大”的引擎,但它一定是目前世界上成長速度最快,也是最好用的遊戲引擎之一。