《星際尖兵》的單人模式中,主角最初扮演的是一位應征入伍的新兵。


    因為在訓練營中表現出色,被任命為一個五人新兵小隊的隊長。


    遊戲的第一關開始,這個五人小隊奉命去一處據點接替輪換的友軍。


    但到達據點後,發現這裏正在被進攻。


    主角配合據點內的友軍擊退了第一波敵人。


    此時任務轉換為從危險地區安全撤離。


    和大多數的即時戰略遊戲類似。


    這一關的作用是讓玩家熟悉遊戲的操作。


    如何移動,如何選定進攻目標等等。


    裏奇弗萊徹是個老即時戰略玩家了。


    從《沙丘2》開始便接觸這類遊戲。


    基礎的操作難不倒他。


    但是他很快發現了這款遊戲的不同之處。


    “作為蟲族的敵人會爬坡。”


    而且並不隻是階梯和緩坡。


    近乎絕壁的角度也能爬上來。


    到了遊戲的第二關。


    玩家可以操作載具的時候。這一點就更是明顯了。


    遊戲中的不同載具,越野能力也不同。


    有些坡度輪式車輛能通過。有些就非得是履帶車輛不可。


    而且上坡下坡時,車輛的動作明顯和平地不同。


    根據坡度不同,會有特定的傾斜角度。


    “難道這是一款3d遊戲?”


    裏奇好歹是遊戲廠商的員工。雖然是銷售方麵的職位。但是對遊戲的基本原理也算是有些了解。


    從畫麵上看,遊戲中無論地形還是單位,都不像是3d即時演算的樣子。


    九十年代的即時戰略遊戲。大多數都使用的是“瓦片地圖”。各種地圖元素拚合起來後,本質上還是一張2d圖片。


    這張地圖上有時候會利用視覺錯覺製造出一些高低起伏的地形效果。


    在一般的遊戲中,這種高低起伏的區域起著一種障礙物的作用。


    雙方的戰鬥單位在這種有落差的地形上也許可以互相攻擊,但無法越過陡峭的坡度進行移動。


    那麽《星際尖兵》這款遊戲的爬坡功能是如何實現的呢。


    其實在這款遊戲開發的早期,東海軟件上海工作室曾經“瘋狂”的嚐試過製作一款全3d即時演算的rts遊戲。


    甚至借助於虛幻引擎製作出了一個原型出來。


    在遊戲的前幾個關卡當中。雙方總共出現的單位加起來隻有幾十個。


    這個原型運行起來還算流暢。


    至少,在高配置的電腦上運行還算流暢。


    但到了後麵的關卡。以九十年代的電腦配置就實在吃不消了。


    遊戲進入中期以後,玩家控製的主角因為戰功晉升為指揮官。


    要完成一係列基地守衛,星球空降突擊之類的任務。


    人類陣營這邊的情況還好。


    為了符合遊戲設定。蟲族單位在相同難度下是要比人類數量多的。


    當一局遊戲中雙方總人口加在一起超過二百個以後。


    就算是九十年代頂級配置的家用電腦也已經吃不消了。


    這還隻是遊戲中期。


    考慮到遊戲後期的大場麵。還必須留出更大的冗餘來。


    當然,造成這種情況的原因也不全是電腦機能的限製。


    作為一款遊戲原型。


    需要優化的地方還很多。


    比如說遊戲中細小的蟲族單位,因為建模時隻是等比例縮小。


    在遊戲運行中占用的多邊形數量過於浪費。


    這種事情其實是可以通過後期優化改善的。


    但就算是改善。也改變不了全3d化之後高配置需求這個問題。


    最後,上海工作室放棄了這個激進方案。


    回到了2d畫麵的原點。


    但是2d歸2d。


    八足或者六足移動的蟲族如果會被一個小土坡擋住,這也實在有些可笑。


    更不要說遊戲的過場畫麵當中,就拍攝了漫山遍野的蟲族順著陡峭山壁衝擊的場景。


    由此可見,“爬坡”恐怕是這款遊戲的基本設定。


    最後,解決這個問題的,還是齊東海作為獨立遊戲開發者的野路子思路。


    齊東海給上海工作室提出的建議是。在2d地圖的基礎上,引入z軸這個概念。


    一般2d遊戲的坐標係中,隻有表示縱橫兩個方向的x和y軸。


    但在3d遊戲裏,有z軸這個概念。


    當然,《星際尖兵》當中的z軸並不是真正的z軸。


    而僅僅是一個表示高度的數值。


    遊戲的地平麵被設定為100。低於這個數值的就是下凹的坑。高過這個數值的便是凸起。


    為了減少計算量。並不是地圖信息中每個像素都有獨立的高度值。


    而是借助瓦片地圖的“瓦片”這個單位。


    每片瓦片元素有自己的高度值。


    通過比較相鄰的兩個瓦片元素的高度差,就可以得到“坡度”這個數值。


    遊戲中的不同單位有不同的爬坡能力。


    通過坡度值可以判定相鄰的地圖塊是否可以通過、通過時要減速多少等等。


    爬坡時人類載具的不同仰角,又或者是蟲類的不同動作。靠的也不是3d即時演算的結果。


    而純粹是靠製作了各種角度的貼圖動畫而已。


    至於地形信息的存儲。


    與其使用不直觀的數組或結構體。齊東海提供了二十一世紀通用引擎中司空見慣的一種思路。


    使用一張圖片文件來記錄高度值。


    通過讀取圖片中特定像素點的顏色值,把顏色值轉換為數字。用以標示地形的高度值。


    當然,實際使用時,為了節省運行內存。


    這張標示了地形的圖片文件並不與遊戲地圖的像素一一對應。


    而是每個像素表示一塊“瓦片”。


    這樣做的好處是負責地圖編輯的策劃人員無需懂得代碼。


    隻用繪圖軟件,像繪製等高線地圖一樣就可以標記出地圖的起伏。


    實際上,每個《星際尖兵》的用戶,都可以得到一份地圖編輯器程序。


    但是這款遊戲的地圖編輯器有兩種運行模式。


    一種是傻瓜式的,隻需要編輯地圖塊和資源等內容即可。


    另一種,則可以更細致的編輯地形。甚至通過簡單的腳本語言為地圖增加特定的事件。


    編輯出一張有特殊規則或者故事性的地圖來。


    既然網絡時代已經來臨。玩家社區的創造力不容忽視。


    齊東海期待著玩家們用自己提供的工具搞出一些有趣的東西。


    當然,如果玩家們實在自己想不出什麽也沒關係。


    齊東海將來自己會搞。

章節目錄

閱讀記錄

東京1991遊戲製作新時代所有內容均來自互聯網,uu小說網隻為原作者西園寺公長的小說進行宣傳。歡迎各位書友支持西園寺公長並收藏東京1991遊戲製作新時代最新章節