需要優化的地方還很多。
比如說遊戲中細小的蟲族單位,因為建模時隻是等比例縮小。
在遊戲運行中占用的多邊形數量過於浪費。
這種事情其實是可以通過後期優化改善的。
但就算是改善。也改變不了全3d化之後高配置需求這個問題。
最後,上海工作室放棄了這個激進方案。
回到了2d畫麵的原點。
但是2d歸2d。
八足或者六足移動的蟲族如果會被一個小土坡擋住,這也實在有些可笑。
更不要說遊戲的過場畫麵當中,就拍攝了漫山遍野的蟲族順著陡峭山壁衝擊的場景。
由此可見,“爬坡”恐怕是這款遊戲的基本設定。
最後,解決這個問題的,還是齊東海作為獨立遊戲開發者的野路子思路。
齊東海給上海工作室提出的建議是。在2d地圖的基礎上,引入z軸這個概念。
一般2d遊戲的坐標係中,隻有表示縱橫兩個方向的x和y軸。
但在3d遊戲裡,有z軸這個概念。
當然,《星際尖兵》當中的z軸並不是真正的z軸。
而僅僅是一個表示高度的數值。
遊戲的地平麵被設定為100。低於這個數值的就是下凹的坑。高過這個數值的便是凸起。
為了減少計算量。並不是地圖信息中每個像素都有獨立的高度值。
而是借助瓦片地圖的“瓦片”這個單位。
每片瓦片元素有自己的高度值。
通過比較相鄰的兩個瓦片元素的高度差,就可以得到“坡度”這個數值。
遊戲中的不同單位有不同的爬坡能力。
通過坡度值可以判定相鄰的地圖塊是否可以通過、通過時要減速多少等等。
爬坡時人類載具的不同仰角,又或者是蟲類的不同動作。靠的也不是3d即時演算的結果。
小主,這個章節後麵還有哦,請點擊下一頁繼續後麵更精彩!
而純粹是靠製作了各種角度的貼圖動畫而已。
至於地形信息的存儲。
與其使用不直觀的數組或結構體。齊東海了二十一世紀通用引擎中司空見慣的一種思路。
使用一張圖片文件來記錄高度值。
通過讀取圖片中特定像素點的顏色值,把顏色值轉換為數字。用以標示地形的高度值。
當然,實際使用時,為了節省運行內存。
這張標示了地形的圖片文件並不與遊戲地圖的像素一一對應。
而是每個像素表示一塊“瓦片”。
這樣做的好處是負責地圖編輯的策劃人員無需懂得代碼。
隻用繪圖軟件,像繪製等高線地圖一樣就可以標記出地圖的起伏。
實際上,每個《星際尖兵》的用戶,都可以得到一份地圖編輯器程序。
但是這款遊戲的地圖編輯器有兩種運行模式。
一種是傻瓜式的,隻需要編輯地圖塊和資源等內容即可。
另一種,則可以更細致的編輯地形。甚至通過簡單的腳本語言為地圖增加特定的事件。
編輯出一張有特殊規則或者故事性的地圖來。
既然網絡時代已經來臨。玩家社區的創造力不容忽視。
齊東海期待著玩家們用自己的工具搞出一些有趣的東西。
當然,如果玩家們實在自己想不出什麼也沒關係。
齊東海將來自己會搞。
喜歡東京1991遊戲製作新時代請大家收藏101novel.com東京1991遊戲製作新時代101novel.com更新速度全網最快。