日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Unity網(wǎng)游開發(fā)生存干貨分享:蒸汽之城實例解說

前段時間關(guān)于Unity是否適合國內(nèi)手游/網(wǎng)游創(chuàng)業(yè)團隊的討論非?;鸨疚膹摹墩羝恰返拈_發(fā)歷程談起,對于國內(nèi)網(wǎng)游團隊是否應(yīng)該選擇Unity引擎,以及如何解決使用Unity開發(fā)網(wǎng)游時遇到的各種主要問題進行討論。

廈門夢加的蒸汽之城

《蒸汽之城》是廈門夢加網(wǎng)絡(luò)的第一款作品,使用Unity引擎制作的蒸汽朋克風(fēng)3D實時戰(zhàn)斗MMORPG頁游。游戲擁有幻想工業(yè)時代恢弘蒼涼的場 景;豐富的種族、職業(yè)和技能系統(tǒng);和端游比也毫不遜色的優(yōu)質(zhì)畫面和特效;各式各樣的副本挑戰(zhàn)和PvP活動;最后,所有這一切用戶都能直接在瀏覽器中以極短 的下載時間享受到?!墩羝恰繁话ǜ2妓埂assively、ZAM等知名媒體列為2013年最值得期待的MMORPG游戲之一,目前已經(jīng)簽約了多 家海外發(fā)行商,范圍覆蓋所有英語國家、東歐、土耳其和中東。土耳其版本已經(jīng)于3月1日(北京時間)正式開始公開測試。

夢加團隊當(dāng)初選擇Unity引擎的原因和大部分團隊類似,快速出原型、大量現(xiàn)成的內(nèi)置功能和中間件、支持在瀏覽器里展示高素質(zhì)的3D游戲畫面。在幾 年的開發(fā)過程中團隊才慢慢認識到用Unity開發(fā)MMO頁游需要克服太多問題和陷阱。幸運的是我們最終克服了絕大部分問題,《蒸汽之城》也即將開始海外公 測。下面我們會深入探討要完成一個高素質(zhì)的Unity頁游MMO,應(yīng)該解決哪些技術(shù)問題和怎樣建設(shè)團隊。

請注意,這里我們不會討論使用Unity制作單機游戲,因為Unity單機或者有社交功能的手游都有太多成功的巨無霸例子,很多開發(fā)者也通過自身經(jīng) 驗表明小團隊使用Unity制作輕量級的單機或社交游戲并無太大障礙,下面我們還是以多人在線,需要后臺和大量數(shù)據(jù)處理的MMORPG為例來討論。雖然夢 加到目前為止都一直在開發(fā)瀏覽器版本的游戲,但其中很多技術(shù)話題對于多人手游項目也同樣適用。

從傳統(tǒng)頁游到次世代技術(shù)

雖然Unity已經(jīng)有了7年多的歷史,這款引擎從誕生之初就一直保持了比較先進的設(shè)計理念,包括其一直以來的首要賣點:為開發(fā)者提供基于瀏覽器的高 素質(zhì)3D游戲解決方案。Unity的特色既包括面向獨立開發(fā)者的快速原型、低成本跨平臺發(fā)布,也在近年來整合了更多高端商用的中間件和次世代的渲染技術(shù)。 使用Unity現(xiàn)在已經(jīng)可以開發(fā)素質(zhì)幾乎達到用Unreal Engine、CryEngine這些次世代引擎開發(fā)的游戲,Unity也被越來越多的AAA工作室選用來開發(fā)跨平臺的主機游戲。

這意味著Unity很好很強大,沒錯,但不代表團隊選擇Unity就是理所當(dāng)然的。商用引擎的一大特點是兼容并包,要適合各種不同的項目和團隊需 要,而作為次世代引擎,其中又包括了大量圖像、動畫和資源管理的先進技術(shù)。對于初創(chuàng)團隊來說,選擇Unity雖然得到了一大堆可以快速見效的功能,但面對 這些功能時如何取舍,以及對引擎技術(shù)的理解和挖掘程度,都會對項目的命運造成決定性的影響。

Unity雖然一直以易上手、原型快速、中間件豐富整合快速著稱,但隨著項目規(guī)模和復(fù)雜程度的上升,很快開發(fā)團隊就會進入一塊網(wǎng)上各種單機游戲教程 無法涵蓋的真空地帶,而國內(nèi)網(wǎng)游技術(shù)分享的環(huán)境又相對比較薄弱,這時在一些關(guān)鍵的技術(shù)難題上,初創(chuàng)團隊就會遇到很大的麻煩。從快速原型到攻克大規(guī)模項目的 技術(shù)難題之間,通常是讓很多團隊無法正確估計成本的危險過渡地帶。這也是很多使用Unity的項目結(jié)果反而不如使用自主開發(fā)的引擎或相對老舊引擎的原因。 自主引擎任何功能都要自己開發(fā),相對老舊的引擎功能較為局限,所以在內(nèi)容和功能規(guī)模方面的計劃一般不會太過狂放;而Unity這樣的引擎包括從官方和社區(qū) 的宣傳上都給人一種到處都是隨手可得的免費午餐的感覺,反而會讓團隊的計劃更加激進,對困難認識不足。

下文中我們會對這些危險和解決方案進行逐一的分析,希望能給經(jīng)驗不足的團隊提供警示和提前準(zhǔn)備好解決問題的思路。

內(nèi)容規(guī)模和版本控制

開發(fā)者在不同類型和規(guī)模項目的經(jīng)驗,很大程度上造成了對”Unity是否適合手游/頁游創(chuàng)業(yè)團隊“這一討論兩極分化的看法。對于以《Temple Run》、《亡靈殺手》等游戲為榜樣的單機游戲開發(fā)者,以及CSR Racing這樣有多人對戰(zhàn)模式的單機游戲,即使團隊很小使用Unity開發(fā)都不會遇到什么太大的問題。這些單機游戲非常適合發(fā)揮Unity游戲性成型快 的優(yōu)勢,而內(nèi)購、社交等功能都可以用現(xiàn)成的中間件來快速實現(xiàn)。

當(dāng)使用Unity制作有海量內(nèi)容的網(wǎng)游時,團隊遇到的第一個問題,就是無法把游戲的全部內(nèi)容放進一個Unity項目中。一方面資源文件數(shù)量達到一定 程度后,每次開啟項目的導(dǎo)入過程就夠你泡壺茶;另外幾十人的團隊共用一個項目,在版本控制和數(shù)據(jù)安全性方面也會有很大的危險,任何人的操作失誤都可能導(dǎo)致 整個項目癱瘓;最后不同分工的開發(fā)者需要面對的項目數(shù)據(jù)和工作流程差別很大,共用同一個項目會在很大程度上降低生產(chǎn)效率。

《蒸汽之城》使用了很多個Unity項目來為各個不同的部門和小組提供定制的數(shù)據(jù)范圍,工具和流程。3D角色美術(shù)的項目里只使用角色數(shù)據(jù) (FBX->Prefab)和相關(guān)的預(yù)覽和打包工具;場景美術(shù)使用不同的項目來管理不同的場景;客戶端程序員使用的是主要的客戶端項目,他們的代碼 運行后可以讀取其他開發(fā)者上傳到服務(wù)器上的數(shù)據(jù),從而讓游戲跑起來。而大部分開發(fā)者可以使用編譯成可執(zhí)行文件的客戶端來測試自己隨時向測試服務(wù)器上上傳的 資源和設(shè)計數(shù)據(jù),從而既保證了每個人能最高效在自己的領(lǐng)域里工作,又保證了自己生產(chǎn)的內(nèi)容能夠隨時在游戲版本中測試。

如此多的項目要怎樣實現(xiàn)版本控制呢?我們的解決方案是用Gitlab作為統(tǒng)一的管理平臺,每個項目作為一個單獨的Git Repository(倉庫)。使用Git的最大優(yōu)勢在于客戶端項目的版本管理,客戶端項目隨時都有多名程序員在提交代碼,使用Git就能讓他們把測試代 碼和穩(wěn)定代碼通過不同分支(Branch)來管理。我們使用master分支作為穩(wěn)定的版本,來合并每個程序員提交并測試通過的個人測試分支;整個團隊使 用的可執(zhí)行客戶端用master分支來編譯創(chuàng)建,就保證了新功能開發(fā)的速度和主版本的穩(wěn)定性。

另一個優(yōu)勢在于Submodule的使用,通過Git的submodule功能我們可以在不同項目中共享一份核心的底層代碼和部分工具代碼,這樣就 不用為每個項目分別進行游戲引擎和工具更新。Git作為目前最先進的分布式版本控制系統(tǒng),在掌握難度上是非常高的。國內(nèi)網(wǎng)游團隊即使是程序部門使用Git 作為版本控制系統(tǒng)的情況也不是太多,而夢加做到整個團隊都用Git作為日常的版本控制系統(tǒng),付出的努力雖高,但回報絕對物有所值。

數(shù)據(jù)處理和工具開發(fā)

近期的討論中很多人認為Unity的短板之一在于偏重代碼驅(qū)動的引擎沒有辦法處理大批量的數(shù)據(jù),這種印象可能跟官方和社區(qū)對于那個運行超級方便、什 么工作都能往里放的MonoBehavior類的大力宣傳和依賴有關(guān)。實際上Unity里除了MonoBehavior還有使用.NET標(biāo)準(zhǔn)的自定義類, 有用法非常靈活的統(tǒng)一數(shù)據(jù)類型scriptableObject,還有各種各樣只有你想不到?jīng)]有你做不到的編輯器腳本和數(shù)據(jù)處理接口。只不過除了 MonoBehavior,其他一切數(shù)據(jù)處理手段都需要開發(fā)者去Unity的官方論壇和StackOverflow這樣的泛編程問答站點深入挖據(jù)。官方論 壇上通過搜索,其實是能找到很多使用Unity做大數(shù)據(jù)量網(wǎng)游的同行討論的,只不過這樣的引擎在國內(nèi)還沒有形成很大規(guī)模的知識分享社區(qū),一些做的比較久的 中文Unity論壇也缺乏網(wǎng)游項目的討論,所以給人的印象就是Unity不擅長做這個。

事實上,Unity處理各種數(shù)據(jù)類型(XML,Json,SQL)都有現(xiàn)成的接口(用戶提供和分享的開源代碼),而《蒸汽之城》策劃團隊日常使用 Excel格式的數(shù)據(jù)配置,也可以很容易的轉(zhuǎn)化成XML后通過編輯器腳本導(dǎo)入Unity。最后客戶端只要讀取和處理導(dǎo)入后的 scriptableObject就可以了,一些改動頻繁的數(shù)據(jù)還可以直接使用XML格式在運行時讀取,減少客戶端需要更新的頻率。

說到數(shù)據(jù)處理使用的編輯器腳本,這里就必須要探討工具鏈開發(fā)的問題。對于任何大型項目,開發(fā)配套工具都是至關(guān)重要的,Unity的特色在于編輯器本 身有著非常優(yōu)秀的可擴展性,所以我們使用的工具鏈包括編輯器腳本和外部工具兩部分,分別用來處理客戶端和服務(wù)器端需要的數(shù)據(jù)。比如任務(wù)邏輯和對話的編輯器 是直接編輯數(shù)據(jù)庫的,所以我們使用VC制作的外部編輯工具。而包括關(guān)卡、資源導(dǎo)入、貼圖合并、NPC角色打包等等要處理Unity使用的資源數(shù)據(jù)的工具, 都是使用Unity腳本制作,開發(fā)者通過菜單命令就可以快速完成資源管線操作和編輯。

一款數(shù)據(jù)量很大的網(wǎng)游在工具開發(fā)和維護方面需要投入的力量是很大的,《蒸汽之城》在增加了工具開發(fā)的人手后,其他開發(fā)和資源生產(chǎn)部門的工作效率都得 到了顯著的提升。此外通過不斷改善工具的可用性,加入大量對用戶操作的預(yù)先檢定,可以有效的減少操作失誤造成的數(shù)據(jù)錯誤,提高了游戲版本的穩(wěn)定性。

原型碎片和整合測試環(huán)境

上面提到Unity里能驅(qū)動一切的MonoBehavior類為原型開發(fā)提供了很大的方便,但作為網(wǎng)游項目,任何功能和資源都需要在游戲?qū)嶋H聯(lián)網(wǎng)運 行環(huán)境下進行測試。如何在Unity網(wǎng)游項目中平衡原型開發(fā)和實際聯(lián)網(wǎng)測試呢?項目早期基礎(chǔ)功能的原型,包括動畫系統(tǒng)、圖像渲染、角色換裝等等,都是可以 直接建立單機原型的。用腳本實現(xiàn)基本功能后再加上編輯器腳本和GUI腳本來為測試加上配套工具,然后再交給資源生產(chǎn)部門來添加游戲中的資源。

地下城、任務(wù)和戰(zhàn)斗系統(tǒng)因為涉及到很多和服務(wù)器端的通訊部分,如果需要測試就必須使用一個支持最簡單的客戶端服務(wù)端架構(gòu)的單元測試檔案配置。這里所 說的檔案,就是定義了你全部測試內(nèi)容數(shù)據(jù)(或者去哪里找這些數(shù)據(jù))的scriptableObject。包括你用來測試的帳號、角色信息、測試場景、任務(wù) 或技能配置等等。以主城和地下城為游戲內(nèi)容載體的《蒸汽之城》里,我們也制作大量測試用的地下城或主城場景作為任務(wù)和新功能生產(chǎn)的測試環(huán)境。測試環(huán)境由美 術(shù)或策劃來制作,然后交給程序部門來測試代碼,最后再交給QA測試剛完成的功能。

Unity的強大原型制作能力主要還是應(yīng)該體現(xiàn)在項目初期。一旦客戶端服務(wù)端架構(gòu)形成,可以在穩(wěn)定的服務(wù)器環(huán)境上運行游戲以后,開發(fā)團隊就應(yīng)該把更 多的精力集中在如何能夠在實際服務(wù)器上快速添加新內(nèi)容并進行測試?!墩羝恰酚羞^三組測試服務(wù)器,分別用來進行代碼、資源和網(wǎng)頁接口的測試;此外對于需 要頻繁更新調(diào)整數(shù)據(jù)的任務(wù)策劃和關(guān)卡設(shè)計人員,他們會使用在個人電腦上架設(shè)的服務(wù)器,來避免數(shù)據(jù)更新對其他人測試帶來的干擾。

動態(tài)下載和讀取

對于網(wǎng)頁游戲來說,如果不能做到快速啟動和最小化下載等待時間,相對于端游的優(yōu)勢就不存在了。《蒸汽之城》里所有美術(shù)資源都被拆分成了非常小的零 件,這樣用戶只要下載一次,就可以在運行游戲時根據(jù)需要來動態(tài)組合,大量減少了資源的重復(fù)下載率。而地下城制作的時候會使用工具進行 Serilization,游戲時每個地下城只需要下載一份XML表單,然后就會自動從用戶已經(jīng)下載的“資源零件”中尋找需要的部分并進行動態(tài)拼裝。體驗 過《蒸汽之城》的用戶可以發(fā)現(xiàn)任何地下城的讀取都不會超過數(shù)秒。

接下來說說Unity頁游的一大招牌Asset Bundle的使用。Asset Bundle是可以被用戶stream下載的資源包,其中可以包含任何Unity Project中的文件。要做到動態(tài)下載,游戲中的絕大部分資源就都必須打包成Asset Bundle才能使用。在《蒸汽之城》的開發(fā)過程中,我們?yōu)榇蟛糠仲Y源生產(chǎn)者制作了Unity編輯器內(nèi)的打包工具,只要選擇相應(yīng)的菜單命令就能自動完成打 包和上傳到測試服務(wù)器上。在以后的項目中我們希望能采用Resource.Load()和Asset Bundle結(jié)合的方式,客戶端可以分別讀取原始的資源文件來使調(diào)試更方便,而測試通過后又可以切換成使用Asset Bundle來保證游戲的動態(tài)下載正常運行。Asset Bundle還有很多創(chuàng)意用法,大家可以看看官網(wǎng)上Unite2012的相關(guān)講座。

技術(shù)導(dǎo)向的團隊建設(shè)

前面提到了Unity在項目規(guī)模和復(fù)雜程度從單機到網(wǎng)游的巨大增加,可以說如果對于國內(nèi)大部分團隊,使用Unity制作網(wǎng)游都有著一定的風(fēng)險和挑 戰(zhàn)。簡單的說,Unity對于單機游戲來說,確實有很多“免費附加值”可以用來快速搭建項目和完善產(chǎn)品功能,但在網(wǎng)游或較大型項目層面,如果沒有對于項目 質(zhì)量的較高要求,沒有一個好的團隊技術(shù)氛圍和建設(shè)思路,選擇Unity得到的免費回報和付出的技術(shù)建設(shè)成本實際是得不償失的。

假如看官讀到這里還對于使用Unity堅定不移,可以看看下面對于如何建設(shè)Unity適用型技術(shù)團隊的一些建議。

但作為網(wǎng)游項目,任何功能和資源都需要在游戲?qū)嶋H聯(lián)網(wǎng)運行環(huán)境下進行測試。如何在Unity網(wǎng)游項目中平衡原型開發(fā)和實際聯(lián)網(wǎng)測試呢?項目早期基礎(chǔ) 功能的原型,包括動畫系統(tǒng)、圖像渲染、角色換裝等等,都是可以直接建立單機原型的。用腳本實現(xiàn)基本功能后再加上編輯器腳本和GUI腳本來為測試加上配套工 具,然后再交給資源生產(chǎn)部門來添加游戲中的資源。

地下城、任務(wù)和戰(zhàn)斗系統(tǒng)因為涉及到很多和服務(wù)器端的通訊部分,如果需要測試就必須使用一個支持最簡單的客戶端服務(wù)端架構(gòu)的單元測試檔案配置。這里所 說的檔案,就是定義了你全部測試內(nèi)容數(shù)據(jù)(或者去哪里找這些數(shù)據(jù))的scriptableObject。包括你用來測試的帳號、角色信息、測試場景、任務(wù) 或技能配置等等。以主城和地下城為游戲內(nèi)容載體的《蒸汽之城》里,我們也制作大量測試用的地下城或主城場景作為任務(wù)和新功能生產(chǎn)的測試環(huán)境。測試環(huán)境由美 術(shù)或策劃來制作,然后交給程序部門來測試代碼,最后再交給QA測試剛完成的功能。

Unity的強大原型制作能力主要還是應(yīng)該體現(xiàn)在項目初期。一旦客戶端服務(wù)端架構(gòu)形成,可以在穩(wěn)定的服務(wù)器環(huán)境上運行游戲以后,開發(fā)團隊就應(yīng)該把更 多的精力集中在如何能夠在實際服務(wù)器上快速添加新內(nèi)容并進行測試。《蒸汽之城》有過三組測試服務(wù)器,分別用來進行代碼、資源和網(wǎng)頁接口的測試;此外對于需 要頻繁更新調(diào)整數(shù)據(jù)的任務(wù)策劃和關(guān)卡設(shè)計人員,他們會使用在個人電腦上架設(shè)的服務(wù)器,來避免數(shù)據(jù)更新對其他人測試帶來的干擾。

首先,團隊項目負責(zé)人和技術(shù)骨干關(guān)注Unity官方發(fā)布的信息和社區(qū)技術(shù)熱點討論是必須的。比如說從Unity4開始就可以在手游上使用動態(tài)字體和 動態(tài)陰影了,而這些消息的發(fā)布是在去年夏天的Unite前后,一直關(guān)注Unity新技術(shù)的團隊就可以為項目提前做好特性計劃。而且Unite上大量非常有 價值的官方和開發(fā)者講座,也能彌補很多官方教程和手冊中沒有涉及的空白區(qū)域,恰好是國內(nèi)網(wǎng)游團隊急需的(比如Asset Bundle使用講座,Network基礎(chǔ)講座等等)。另外一個非常重要的知識庫是Unity的官方論壇 (http://forum.unity3d.com )和問答社區(qū)(http://answers.unity3d.com ),這兩個社區(qū)站由官方技術(shù)人員和活躍的。

Unity用戶共同提供內(nèi)容和維護。配合Google搜索,你幾乎可以在這些社區(qū)網(wǎng)站上找到任何技術(shù)難題的答案,而且還會有各種實際案例的解決過程 (因為提問的人很可能和你有著同樣的問題)。當(dāng)然使用這些官方社區(qū)必須要有較好的英語閱讀能力,這本身就對技術(shù)團隊的素質(zhì)有了一定的要求。國內(nèi)的 Unity社區(qū)和資訊網(wǎng)站也在越做越好,其中像Unity圣典(http://game.ceeger.com/forum/ )和Unity教程手冊系列(http://www.unitymanual.com/ )都是不錯的資源入口,建議英文不夠熟練的朋友以這些中文網(wǎng)站為索引,慢慢將獲取知識的渠道擴展到國外網(wǎng)站。

第二,Unity項目要形成有規(guī)律的從原型代碼到結(jié)構(gòu)化的重構(gòu)的循環(huán)過程。Unity做原型快,又有很多現(xiàn)成的解決方案,在開發(fā)周期緊張的情況下, 開發(fā)者很容易會不斷添加快速完成的功能,最后讓項目的結(jié)構(gòu)臃腫不堪,內(nèi)容擴展到一定程度就會遭遇新功能添加的瓶頸。也就是說,如果沒有周期化的重構(gòu),項目 功能擴展到一定程度后,再添加新功能或調(diào)整原有功能,其成本都會成倍上升。而太過頻繁的重構(gòu)又會影響項目進度,如何把握這個度,就要根據(jù)團隊人員的結(jié)構(gòu)來 精心安排了。

第三,Unity大型項目非常適合從早期就規(guī)劃好完整的工具鏈,根據(jù)不同開發(fā)者的技能和使用習(xí)慣定制不同的工具。對于個人開發(fā)者來說,Unity里 有大量的中間件可以滿足不同技術(shù)水平用戶的需要。在網(wǎng)游團隊中也可以用相同的思路來提高效率,應(yīng)該盡量避免只有程序員使用Unity,美術(shù)和資源生產(chǎn)都只 局限在其他外部工具里的生產(chǎn)環(huán)境。另外工具鏈的功能擴展和完善是一個長期動態(tài)的過程,根據(jù)項目在不同階段的狀態(tài),對于工具需求的變化是非常正常的。建議團 隊從一開始就安排足夠的人手開發(fā)工具,并且將工具維護和需求收集作為日常工作流程的一部分看待。

4.0時代特性展望

Unity適用型技術(shù)團隊的一些建議。

但作為網(wǎng)游項目,任何功能和資源都需要在游戲?qū)嶋H聯(lián)網(wǎng)運行環(huán)境下進行測試。如何在Unity網(wǎng)游項目中平衡原型開發(fā)和實際聯(lián)網(wǎng)測試呢?項目早期基礎(chǔ) 功能的原型,包括動畫系統(tǒng)、圖像渲染、角色換裝等等,都是可以直接建立單機原型的。用腳本實現(xiàn)基本功能后再加上編輯器腳本和GUI腳本來為測試加上配套工 具,然后再交給資源生產(chǎn)部門來添加游戲中的資源。

地下城、任務(wù)和戰(zhàn)斗系統(tǒng)因為涉及到很多和服務(wù)器端的通訊部分,如果需要測試就必須使用一個支持最簡單的客戶端服務(wù)端架構(gòu)的單元測試檔案配置。這里所 說的檔案,就是定義了你全部測試內(nèi)容數(shù)據(jù)(或者去哪里找這些數(shù)據(jù))的scriptableObject。包括你用來測試的帳號、角色信息、測試場景、任務(wù) 或技能配置等等。以主城和地下城為游戲內(nèi)容載體的《蒸汽之城》里,我們也制作大量測試用的地下城或主城場景作為任務(wù)和新功能生產(chǎn)的測試環(huán)境。測試環(huán)境由美 術(shù)或策劃來制作,然后交給程序部門來測試代碼,最后再交給QA測試剛完成的功能。

Unity的強大原型制作能力主要還是應(yīng)該體現(xiàn)在項目初期。一旦客戶端服務(wù)端架構(gòu)形成,可以在穩(wěn)定的服務(wù)器環(huán)境上運行游戲以后,開發(fā)團隊就應(yīng)該把更 多的精力集中在如何能夠在實際服務(wù)器上快速添加新內(nèi)容并進行測試?!墩羝恰酚羞^三組測試服務(wù)器,分別用來進行代碼、資源和網(wǎng)頁接口的測試;此外對于需 要頻繁更新調(diào)整數(shù)據(jù)的任務(wù)策劃和關(guān)卡設(shè)計人員,他們會使用在個人電腦上架設(shè)的服務(wù)器,來避免數(shù)據(jù)更新對其他人測試帶來的干擾。

前面說了些經(jīng)驗和建議,最后這里再說說Unity4.0后夢加的開發(fā)者還在翹首以待的功能。希望提供給其他開發(fā)者作為技術(shù)評估的參考,也希望Unity中國的大大們能夠看到并幫助改進吧。

第一,Unity4開始全面進入了使用Retargetable(可重定向)動畫技術(shù)和圖形動畫狀態(tài)機的Mecanim的時代。 Retargetable動畫是游戲業(yè)的巨大福音,制作一套動畫就可以適用于不同的骨骼和蒙皮模型,對于項目生產(chǎn)來說吸引力非常驚人。不過目前為止這個特 性還不能用于頁游的動態(tài)載入,因為負責(zé)動畫Clip引用的Animator里不支持任何動態(tài)讀取,可以說是阻礙頁游項目全面升級Mecanim動畫系統(tǒng)的 最大障礙了?!墩羝恰吩赨nity3.X時代就開發(fā)了自定義的腳本FSM(有限狀態(tài)機)來作為動畫控制系統(tǒng),盡管在Unity4里我們已經(jīng)能夠使用 Mecanim的Avatar來運行本地原型里的動畫重定向,但因為不能動態(tài)讀取加載,一直還沒有在游戲中正式更換動畫系統(tǒng),非常的遺憾。

第二,Unity4里說好的新GUI系統(tǒng)無限期跳票。GUI的開發(fā)對于任何項目來說都意味著很大的挑戰(zhàn)和工作量,《蒸汽之城》的GUI使用的是 Unity自帶的GUI系統(tǒng)加上一套自己開發(fā)的設(shè)計工具來制作。在GUI的設(shè)計和圖像生產(chǎn)方面已經(jīng)做到了高效率,但是調(diào)整GUI功能時代碼的修改量還是太 大了。盡管很多人在官方新GUI系統(tǒng)跳票之后已經(jīng)轉(zhuǎn)投了第三方中間件的解決方案,但作為有自己工具開發(fā)組,對項目擴展性要求很高的網(wǎng)游團隊,始終還是希望 能夠拿到官方的解決方案來定制,而不是依賴于某個隨時可能停止維護的第三方插件。由于Unity4.0目前GUI系統(tǒng)的懸而未決,我們在配套GUI系統(tǒng)的 優(yōu)化方面也被迫遭遇了停滯。很希望這個系統(tǒng)能夠最終塵埃落定!

第三,Timeline功能神龍見首不見尾,而且更糟糕的是Unity似乎已經(jīng)不再維護以前的Animation View了。Unity4里增加了完整的新動畫系統(tǒng)Mecanim,但對于一些簡單的UI或特效動畫,很多時候開發(fā)者還是希望能夠在Unity里快速調(diào)整 和制作。Animation View在Unity4里效率下降,子物體動畫曲線的顯示也有些奇怪。而集更多功能于一身的Timeline在Unite2012上亮相之后卻遲遲不見更 新的消息。Mecanim是一個專門處理骨骼動畫、動作捕捉、動畫分層和融合的專業(yè)系統(tǒng),但除此之外一個有時間線和關(guān)鍵幀的編輯器還是對任何游戲項目都非 常有用的,個人認為Unity團隊不應(yīng)忽略這方面的需求。

腳本來為測試加上配套工具,然后再交給資源生產(chǎn)部門來添加游戲中的資源。

地下城、任務(wù)和戰(zhàn)斗系統(tǒng)因為涉及到很多和服務(wù)器端的通訊部分,如果需要測試就必須使用一個支持最簡單的客戶端服務(wù)端架構(gòu)的單元測試檔案配置。這里所 說的檔案,就是定義了你全部測試內(nèi)容數(shù)據(jù)(或者去哪里找這些數(shù)據(jù))的scriptableObject。包括你用來測試的帳號、角色信息、測試場景、任務(wù) 或技能配置等等。以主城和地下城為游戲內(nèi)容載體的《蒸汽之城》里,我們也制作大量測試用的地下城或主城場景作為任務(wù)和新功能生產(chǎn)的測試環(huán)境。測試環(huán)境由美 術(shù)或策劃來制作,然后交給程序部門來測試代碼,最后再交給QA測試剛完成的功能。

Unity的強大原型制作能力主要還是應(yīng)該體現(xiàn)在項目初期。一旦客戶端服務(wù)端架構(gòu)形成,可以在穩(wěn)定的服務(wù)器環(huán)境上運行游戲以后,開發(fā)團隊就應(yīng)該把更 多的精力集中在如何能夠在實際服務(wù)器上快速添加新內(nèi)容并進行測試。《蒸汽之城》有過三組測試服務(wù)器,分別用來進行代碼、資源和網(wǎng)頁接口的測試;此外對于需 要頻繁更新調(diào)整數(shù)據(jù)的任務(wù)策劃和關(guān)卡設(shè)計人員,他們會使用在個人電腦上架設(shè)的服務(wù)器,來避免數(shù)據(jù)更新對其他人測試帶來的干擾。

結(jié)語

制作網(wǎng)游或有聯(lián)網(wǎng)功能的手游本身就是艱巨的工程,Unity讓表面的一切看起來更美好和更容易,但不可否認廣泛獲得成功的Unity項目還是以相對簡單的手機游戲為主。在網(wǎng)游制作方面開發(fā)者能參考的知識和信息還是太少了。夢加團隊從零開始一點點的把Unity網(wǎng)游制作各個謎題拼起來,到了今天終于有 了即將上線的高素質(zhì)的頁游《蒸汽之城》。希望我們這里總結(jié)的經(jīng)驗?zāi)軌驇椭鷩鴥?nèi)業(yè)界的朋友們,我們的解決方案也有很多不足的地方,希望國內(nèi)開發(fā)者們能夠多多 分享,促進Unity和網(wǎng)游開發(fā)技術(shù)的交流!《蒸汽之城》的中文本地化版本也在進展中,預(yù)計暑期就會跟大家見面!


網(wǎng)站標(biāo)題:Unity網(wǎng)游開發(fā)生存干貨分享:蒸汽之城實例解說
網(wǎng)址分享:http://www.5511xx.com/article/coisojs.html