《BitUp》:畫素風格遊戲及地圖編輯器的開發歷程
來自墨西哥的Cosmogonia是一個由5名成員組成的小型獨立遊戲團隊,2013年,我們得益於PlayStation拉丁美洲孵化計劃的契機組建了工作室。
《BitUp》是工作室的第一款遊戲,我們希望藉助這款遊戲實現創意。從最初設計遊戲概念開始,《BitUp》就像擁有著靈魂的生物般不斷髮生變化。
我們希望讓這款遊戲致敬不同的遊戲時代,最初的想法是讓遊戲通過影象的變化而進行演變,使遊戲從文字冒險遊戲逐漸轉變為3D遊戲。
隨著我們開發的進展,原來的想法開始發生變化,遊戲的敘事讓遊戲內容和世界逐漸成形。這時候,我們想到了給遊戲提供實際視覺風格的方法,即16位風格。由此我們開始構建藝術風格,並使用了“畫素化3D效果”的開發方向。
由於嚴重缺少資金,我們在過去五年間斷斷續續開發這個專案,並且同時為其它獨立工作室去完成一些工作。現在積攢了足夠的資金,終於可以專注於自己的專案。
在這段時間期間,我們製作了2個原型。第一個原型使用Unity 4製作,執行在PSVita主機上。我們花了三週時間完成這個演示,並將遊戲在索尼開發峰會活動上向發行商展示。
下圖是PSVita中的原型。
第二個原型使用UE 4製作,執行在PS4 Dev Kit上。
下圖是PS4中的原型。
在此期間,遊戲也發生了變化,由原來的聚焦戰鬥的2D平臺遊戲,轉變為注重探索的銀河戰士惡魔城遊戲。
藝術風格
根據“16位時代的角色在遊戲中觀察周圍世界”的設定,我們開始設想遊戲世界的組成方式,效果和製作方法。
藝術風格的主要目標是創造一個充滿活力的遊戲世界。雖然我們設定是16位遊戲,但我們希望把它做成生動的世界。我們無法直接從螢幕看出這種生動感,但我們可以通過遊戲內角色體會到這種生動感。
開發工具
為了實現藝術風格,所有遊戲世界都是為UE 4原型而定製。遊戲中的內容都由立方體組成,由於這不是體素化遊戲,所有內容都需要手工製作,從而實現最佳效能。
《BitUp》的第二個原型在PS4 Dev Kit上執行效果不錯,但是要渲染的幾何體數量太多。我們嘗試使用Substance Designer製作靈活的可定製紋理,從而提供類似這些幾何體的相同外觀。
在嘗試過使用UE 4製作原型後,我們最終將《BitUp》的新版本使用Unity 2019開發。
這背後的主要原因有三點:
我們的團隊對Unity擁有更豐富的開發經驗。
Unity最新的版本可以實現非常出色的視覺效果,我們使用了非常強大且優化效果很好的輕量級渲染管線LWRP。
作為嚴重缺少資金的獨立遊戲團隊,使用UE 4的製作成本過於昂貴。
關卡設計
《BitUp》中的所有關卡都使用Unity的建模工具ProBuilder製作,ProBuilder幫助我們加快了關卡設計和測試過程。
我們進行了大量測試,從而找到組成所有遊戲世界的最佳管線。在一些成員進行關卡設計時,其他成員可以處理相同區域的場景佈置和光照設定,然後把兩個部分組合起來並進行測試。
雖然ProBuilder是一個早期測試的好工具,但隨著我們開始使用更加精簡的管線,很多內容會出現問題和崩潰情況。因此,我們把所有內容都轉變為使用UModeler外掛來處理。
由於遊戲地圖的複雜性,我們開發了一個地圖編輯器,用於控制和組成玩家可以使用和理解的地圖。該編輯器在Unity中開發,因此所有內容都可以結合使用。
地圖編輯器
在一次關於地圖可用性和設計方面的漫長討論後,我們產生了製作地圖編輯器的想法。
我們主要討論的問題包括:我們應該展示什麼?如何展示?玩家如何與地圖進行互動?在確定好關於地圖問題的答案後,程式的工作便開始了。
為了實現想要的功能,我們必須要取得地圖的所有資訊,這些資訊分為:區域,部分和模組,然後把資訊存在可以持續更新和儲存的資料結構中。
我們使用的資料結構是鄰接表,每項資料都是帶有連線的節點。在專案中,節點是包含陣列中對應模組資料的部分,這裡的模組指地圖上可以劃分出的最小部分。但主要問題在於如何構造這個資料結構。
遊戲關卡是通過手工進行建模的,唯一的規則是整個關卡大小必須可以被以模組為單位完整劃分。除此之外,關卡可能有各種變化。
首先,我們的想法是設計一個演算法,它可以讀取關卡的網格資料,形成自己的資料結構,邏輯上把關卡劃分為“構想中的”組成模組,但我們很快放棄了這個想法。
我們意識到可以嘗試自己編寫資料結構,於是編寫了一個帶有部分和模組的小型JSON檔案,然後建立一個簡單的指令碼,它可以讀取檔案並反序列化資料結構,這種的方法起到了作用。我們有了製作地圖所需要的資料,即實際關卡的表現形式。
但又遇到另外一個問題是:要寫入的部分不止一個,而是有很多個,每個部分都有自己的模組資料,以及和其它部分的連線。
手動完成所有操作將是一項無休止的任務,每次關卡發生改動時,都要對檔案進行更新。此外,出於安全性考慮,最終檔案可能不是JSON格式或其它可以直接讀取的檔案。
下面將介紹我們開發的地圖編輯器。
上圖是一個基於節點的編輯器,每個節點表示一個部分和相應的資訊,各部分可以互相連線。通過使用節點的Dimensions欄位,我們可以定義模組的網格,在模組檢視視窗中快速繪製組成各部分的模組。
我們曾使用過Unity中的節點編輯器,而且經常使用舊的IMGUI API。為了進行繪圖,同時也為了擴充套件編輯器,我們的地圖編輯器使用Unity 2019.1中UIElements來開發,它完全改變了在編輯器中繪圖的範例。
IMGUI使用即時繪圖模式,執行繪圖的程式碼位於迴圈中,並且會在每幀執行。UIElements更類似於網頁,我們可以定義物件的層級,然後引擎會繪製物件。
在完成編輯器的開發後,製作地圖檔案的方法非常簡單。我們只要新增節點,給節點加入必要的資訊,然後點選滑鼠匯入檔案,這樣我們便得到了一張遊戲地圖。遊戲的世界非常龐大,大約有超過80個不同的部分。
資源
遊戲的第一批資源使用傳統方法並通過手工製作,但現在我們會使用Houdini程式化來快速實現更有趣的結果。
模組性特點是該遊戲的核心,因此所有資源都會考慮到模組性而設計。這樣我們可以使用相同的部分組成許多變體,使用Unity的GPU例項化功能來結合這些部分,從而提高遊戲的效能。
VFX
為了讓所有內容有相同的藝術風格,視覺效果保持著相同的“畫素風格”外觀,相應的效果可以在我們的VFX展示圖集看到。
Unity粒子系統對製作視覺效果來說非常靈活,我們可以在較短時間內製作多種效果。
小結
《BitUp》已經確定好敘事、角色、環境和關卡的設計,即將完成遊戲的預製作階段,預計在明年釋出。後續我們將分享《BitUp》更多的開發故事以及遊戲效果展示。
來源:Unity官方平臺
原地址:https://mp.weixin.qq.com/s/1Tg6QFv9ZoWqFNWMcv6c_g
相關文章
- 遊戲畫素畫風格研究:變遷與發展遊戲
- 地圖編輯器開發中的心得地圖
- 遊戲地圖編輯器 (轉)遊戲地圖
- 掌握web開發基礎系列--物理畫素、邏輯畫素、css畫素WebCSS
- 黑白畫素風格、無對話、敘事遊戲《地球上最長的路》發售遊戲
- 【風農翻譯】開始畫畫素畫 #2
- 【風農翻譯】開始畫畫素畫 #1
- 【風農翻譯】開始畫畫素畫 #3
- 【風農翻譯】開始畫畫素畫 #8
- 【風農翻譯】開始畫畫素畫 #7
- 【風農翻譯】開始畫畫素畫 #5
- 【風農翻譯】開始畫畫素畫 #4
- 【風農翻譯】開始畫畫素畫 #6
- 高難度畫素風格動作遊戲引薦與評價遊戲
- 室內三維地圖編輯器,什麼軟體可以編輯地圖地圖
- 手繪風格獨立遊戲《失眠》製作人分享創作靈感和開發歷程遊戲
- 遊戲策劃設計中地圖編輯器的使用介紹(轉)遊戲地圖
- WPF網格型別畫素著色器型別
- 地圖編輯器幾種實現的總結地圖
- 編碼風格和開發習慣
- Linux平臺 Luola 地圖編輯器(轉)Linux地圖
- 以畫素風遊戲為例,分析戲劇性畫面的營造遊戲
- 移動前端適配—邏輯畫素和物理畫素前端
- 一個室內地圖編輯器,製作停車場地圖的平臺地圖
- 能夠輕鬆編輯畫報的圖片編輯軟體
- Tiled地圖編輯器 Tiled Map Editor 的使用(二)動畫效果地圖動畫
- Unity3D實現地圖編輯器的外掛Unity3D地圖
- Windows風格的個人網盤,支援文件線上編輯Windows
- 什麼是物理畫素、虛擬畫素、邏輯畫素、裝置畫素,什麼又是 PPI, DPI, DPR 和 DIP
- 遊戲趣史:開羅遊戲與它的畫素帝國遊戲
- 遊戲微科普:畫素的魅力遊戲
- MarsEdit for mac(部落格編輯器)Mac
- 從零開發一款圖片編輯器MituMIT
- 手機遊戲編輯器遊戲
- 《壞小孩》主角領銜 幽默風畫素敘事遊戲《長夢》現已發售遊戲
- R plot 柵格地圖時 設定 asp引數代表"寬高比"(Aspect Ratio) 畫素大小地圖
- 可以製作地圖的平臺,最好的可以編輯的地圖工具地圖
- 記憶中的畫素塊褪色了嗎?用開源的體素編輯器重新做個 3D 的吧!3D