總之,不同的遊戲引擎,特點和特長都不太一樣,有的特長在於畫麵,有的在於效率,有的在於自由度。
不同的遊戲類型,需要的特長也不一樣。
比如即時戰略遊戲,最重要的就是單位的尋徑。如果尋路算法很高效,移動的單位看上去就會很流暢,而如果這個算法效率比較低,就會顯得單位比較呆。
當然,大多數遊戲,就算是紅白機裏的遊戲,也是有尋徑的。不過,這些遊戲的尋徑功能,相比即時戰略遊戲,還是不夠看的。
如果把卷軸遊戲,看上去是一幕戲劇的話,那麼這些演員都是固定的。當玩家走到一個位置的時候,就會觸發不同單位的不同反應,這些反應都是固定的,不需要變化。
而即時戰略遊戲裏麵移動的單位,可不是隻會按照固定移動的木偶。這個遊戲裏的單位,會隨著玩家下達的指令,自動計算出行動路線。
如果,這個玩家命令的單位隻有一個,那尋路也不是難題。
要命的是,即時戰略遊戲,不是回合製遊戲,也不是單人角色扮演遊戲。它需要遊戲畫麵對於玩家命令的迅速回應,而不是“你打我一拳,我打你一拳”這種紳士般的回合類型。
玩家命令的單位不會隻有一個,也許會有五個、十個、五十個。一個單位移動時,尋路確實不會出現問題。而多餘一個的時候,就會有幾率出現一個問題。
就是一個單位,把另一個單位下一步要走的尋路路線占用了。這時候尋路就會出現錯誤,就需要重新計算尋路路線。
而單位越多,這種問題也就越大。最後麵臨的問題,可能是災難性的。整個遊戲因為尋路的關係,占用了大量的中央處理器頻率。這樣的後果,就是有大量的電腦玩不了,而能夠玩的電腦,遊戲體驗也不會好到哪裏去。
當然,這時候需要的就是優化了。
大部分遊戲都是需要好優化的,畢竟玩家的電腦或者遊戲機是有極限的,想要在這個極限下,表現出最好的遊戲內容,就需要遊戲廠商的努力了。
優化在很大程度上,可以算作是一種偷懶。如果,把遊戲單純的堪稱一層又一層疊加起來的圖層的話,沒有經過優化的遊戲,就是顯示所有圖層的全部內容,然後展現出最終的畫麵。
而經過優化的遊戲,則不是這個樣子。經過優化的遊戲,就是隻顯示玩家可以看到的內容。顯示效果和未經優化,全部顯示的一樣。
不過,如果揭開它的麵紗,就會發現它內裏是如何的節約了,用千瘡百孔來形容也不為過。
林彥以前也沒有製作過即時戰略遊戲的經曆,也不像他在主機遊戲街機遊戲方麵一樣,是個老專家。
所以,尋路的優化問題,就需要他自己想辦法解決了。他的優化方案,也讓比較的粗暴。
一隊兵玩家不是命令他們前往一個地點麼,那麼這個時候,不就可以吧這些兵想象成一個整體,不就可以采用一個尋路,不也就不那麼容易被其它單位卡位了麼。
而這個小隊自身的卡位分體,則分為兩個解決辦法。第一個是忽略這個小隊裏所有單位,對單位內單位的碰撞體積。
也就是說他們碰到障礙物的時候,可以重疊在一起,停止移動的時候,就會再恢複碰撞體積,一點點分開。
這種模式,對於負責采集資源的農民,以及戰鬥單位中的空中單位是可以的,但是,對於地麵單位來說,這就是一個災難了。
因為,雙方戰鬥的時候,看上去就是一堆重疊成一個點的兵戰鬥,這還看個毛線,體現個蛋的即時戰略遊戲的魅力。
所以,地麵戰鬥單位,必須時刻擁有碰撞體積。林彥對於這些單位的解決辦法,就沒有前一個那麼粗暴了,還是把一隊單位當成一個整體,不過,以前不是把一隊單位當成是一個點麼。這回是當成一條線了。