歷經開發十年堅持不懈,開源即時戰略遊戲《0 A.D.》開花結果
https://technews.tw/2018/09/09/the-story-of-0-a-d/
這一兩年,有一個長得很像《世紀帝國》(Age Of Empire,縮寫 AOE)的免費即時戰略
遊戲──《0 A.D.》悄悄崛起,被國內外玩家推崇。它有 13 個各有特色的文明,遊戲性
與歷史真實性平衡、革新的設計、強大類似真人行為的 AI、豐富的模組機制而為人稱道
。然而很少人知道這款遊戲的背後祕辛:1. 已開發 18 年了,超越 Duke Nukem
Forever 的紀錄。2. 開放原始碼,也是罕見能做到 3A 級遊戲質感,可跟商業遊戲一較
高下的開放原始碼遊戲,這次筆者就來為大家揭開它神祕的面紗。
https://www.youtube.com/watch?v=56ApgXzGDmU
▲ 遊戲玩家沃芬獅的推薦介紹影片。
越來越多人使用開放原始碼軟體或說自由軟體,比如 Firefox、Libre Office、Linux 為
基礎的系統等(Android 基底也是 Linux 喔)。然而說到遊戲,大概就想不出有哪個夠
好夠有名的原生作品了,大多數開源遊戲不是經典遊戲的模仿重製,就是商業遊戲 Doom
、Quake 系列把過時遊戲引擎開放原始碼,然後以之製出作舊世代水準的懷舊遊戲。
脫胎自 AOE 的 0 A.D.,加上活躍的開源社群完成度高
0 A.D. 就不一樣了,它是自發性新創意、新構想由社群所製作。0 A.D. 顧名思義意思就
是《西元 0 年》,開發單位是 Wildfire Games 志工團,遊戲全部以開放原始碼釋出(
程式用 GPL / LGPL,圖像、音樂音效用 CC 授權),跨平台提供 Linux、Mac、Windows
版本,最新版本是 alpha 0.0.23,這種版號顯出開發社群的謙虛,但其實已有高度可玩
性。此外也有中文翻譯,以模組(MOD)型態存在,使用方法是遊戲選單到 setting 選擇
Mod selecting,然後進入官網模組下載器下載中文模組,然後設定 enable 按啟動,遊
戲重啟就變成中文。
雖然名為西元 0 年,其實收錄的文明橫跨西元前 500 年到西元後 500 年──雅典、斯
巴達、波斯、馬其頓、托勒密(白人統治的埃及)、塞琉古(亞歷山大帝國分裂後西亞部
分)、庫施王國(Kush,俗稱黑埃及)、羅馬共和國、伊比利、迦太基、孔雀王朝(古印
度)、高盧、不列顛(跟高盧一樣的賽爾特文明),將來還會繼續追加,就是基於開放原
始碼的好處──自己做想要的功能分享給大家。例如庫施王國就是 0.0.23 版才加入,之
前是以附加模組存在,其他文明如漢朝、匈奴(所有帳篷真的都可以搬家)、維京(有盾
牆陣型 )、盎格魯─撒克遜、卡洛林王朝、拜占庭等還在排隊,不過裡面有些文明已晚
於西元 500 年,屬前中古時代,將來是否能通過社群討論正式加入遊戲?或一直保持模
組型態或成為另一款遊戲(類似絕對武力 Counter Strike 從 Half Life 戰慄時空獨立
),暫且不得而知。
遊戲的第一印象是開始的市鎮中心(0 A.D. 術語略不同於 AOE )就配有 4 名女生,兩
名拿長槍或刀劍的男生、兩名拿射擊武器的男生、一名騎兵,有的文明還會配一隻工作用
大象!跟 AOE 觀念很不一樣──男女有真實意義的分別,女性公民主要負責生產,男性
公民則兵民合一,平時砍柴、挖礦,有戰事時就地成兵,徵召出去打戰(為了部落?),
可謂「在鄉是良民,在營是好兵」。
更進一步男性公民也有區分,最有錢的人「東市買駿馬,西市買鞍韉,南市買轡頭,北市
買長鞭」,那平常幹麼哩?就是打獵囉,這跟史實一樣,打獵就是貴族有錢人的專利,打
獵打著打著,不小心還會發現金銀珠寶呢,當然騎兵移動速度最快囉;次一等買不起馬的
,就是當重步兵、劍士等近戰勇士,全身盔甲與精良的武器閃亮亮當然跑不快;最窮買不
起武器的人呢?就只好當投石部隊、射標槍或弓箭手等,但移動速度超快,也是經濟生產
的中堅。
你可能會覺得奇怪,怎麼 0 A.D. 的一般兵種好少?不像 AOE 單刀劍手的單位就有民兵
、裝甲步兵、長劍兵、雙手劍兵、劍兵勇士等分別,要花錢升級。0 A.D. 的設計是公民
兵單位隨著戰功會自動持續升級,且很有趣的是三級階級章跟現代許多國家的軍隊完全一
樣,姑且稱之為二等兵、一等兵、上兵,每晉升一級戰鬥力、防禦力都會增加,圖像也會
看到從一開始的粗陋布衣,漸漸變成整齊的制服與金光閃閃的盔甲,所以這個遊戲不太像
AOE 那樣隨便用人海戰術拉出去就不管他們死活了,而要善待自己的公民士兵,盡可能
保存戰力,畢竟匯集出一支老鳥隊,必定大勝對手的新兵隊,不過也有副作用,那就是老
鳥的工作效率非常低(這似乎反應了什麼 XD)。
既然有公民兵或說是「義務役」(也有人戲稱「不願役」),那麼相對就有「志願役」─
─精英與英雄單位(選擇單位時,底下會出現三角形圖示),只負責打仗,完全不負責工
作生產。此外甚至還有傭兵單位,想僱用鄰居強悍的山地戰士嗎?建立外交,成立「大使
館」,拿錢出來,精壯的傭兵就可以為你所用。
再來打仗時會有陣型,這個遊戲的陣型實做了歷史真的有的陣型,希臘系文明的重步兵有
希臘式方陣(phalanx );馬其頓系與有交流關係的文明重步兵有馬其頓改良式方陣(
Macedonian phalanx );羅馬劍兵單位則有龜甲鎮(Tetsudo),當然沒有這些陣型的文
明遇到這些陣型就會處於較劣勢,必須從別的方面彌補。
其他還有一些特性:國境勢力線概念──建築除了血量還有勢力值(或說忠誠度),不同
於 AOE ,一般單位攻打建築很難消滅(也符合現實,刀劍一直砍石造建築怎麼可能砍得
破呢?),最有效的方式是削弱它、佔領它,然後就可以刪除這棟建築物,這使遊戲戰術
就跟 AOE 有很大差異,畢竟佔領時間成本較低,再輔以國境線勢力外擴,把別人的建築
物籠罩在自己的勢力下,自動變成自家建築也是一種方法。此外像古裝片一樣城牆上真的
可以進駐射手單位、城門可以選擇上鎖或打開,這使城牆不只是裝飾用途,有實際軍事作
用,遊戲性跟史實合一。
O A.D. 的建築、服裝有考據,文明呈現更貼近實際歷史
更深入看文明差異,首先視覺不同於 AOE──建築只有分西亞文明、東亞文明、歐洲文明
、美洲文明,甚至所有文明的一般兵種都穿著一模一樣的西洋盔甲(日本武士穿著西洋甲
拿西洋劍講日語?);0 A.D. 可就大不相同,只有相同文明的分支才會有共同建築。例
如說高盧與不列顛一樣;雅典與斯巴達一樣;亞歷山大帝國分裂出來的馬其頓、塞琉古、
托勒密一樣。此外有更細緻的,例如托勒密的埃及其實是被馬其頓/希臘人殖民統治,所
以建築物與單位兼有希臘與傳統埃及的特色;塞琉古繼承自原來亞歷山大帝國征服的波斯
區域,所以塞琉古兼有馬其頓重步兵與波斯優秀騎兵單位的特色。
看到發展升級樹,0 A.D. 只有三階段:村莊、鄉鎮、城市,遊戲因此節奏更快,糧食生
產有種田、採果、打獵、畜牧四種且有較好的自動分配機制。文明科技樹方面,不同文明
並非建築、兵種數值稍微不同或有的文明少掉某些共同建築,然後圖片都一樣換湯不換藥
,0 A.D. 除了共通單位與建築,每個文明不但有不同世界奇觀,還各自有特殊功能的建
築 1~3 棟,例如:
◎ 雅典的港口也可以生兵(陸戰隊),甚至戰船也可以生陸戰隊。
◎ 馬其頓文明都有便宜的軍事化殖民地建築(類似城鎮中心但較便宜,可以生比較多軍
種)。
◎ 羅馬除了一般城堡,還有可以蓋在國境以外的前鋒城寨(較便宜),還有特殊的木牆
,可進行「建築進攻法」。
不是笨 AI,而是要小心應付的對手
文明的差異與相剋與其說像 AOE,倒不如說更接近星海爭霸(StarCraft)系列。AI 方面
,官方 AI bot 是 PetraBot,可以 Javascript 自己撰寫。它的行為很像真人,可以跟
它交易、外交,例如賄賂本來中立或敵對的電腦變成盟友,攻打其他電腦或真人玩家。對
戰起來,PetraBot 中等難度就已有相當實力,懂得集中攻擊;當你跟它在正面戰場纏鬥
僵持不下時,也懂得出奇兵偷襲後方,很有挑戰性。
遊戲內在機能有創意也有精密的規劃,外觀品質也不遑多讓。圖像的品質精細,例如雖然
同樣是公民,但會有多元穿著甚至攜帶不同家紋的盾牌武裝(志願役職業軍人當然就整齊
劃一囉),音樂音效也不像一般開源遊戲只有較粗糙品質的聲響,配樂主題旋律之悅耳,
可跟 AOE 分庭抗禮。
0 A.D. 血淚發展史
這幾乎就是 3A 級大作了嘛,0 A.D. 是怎麼開發出來的呢?故事要說回 2000 年。美國
有一個 AOK(世紀帝國 2 資料片:征服者入侵)的粉絲討論區網站 Age of Kings
Heaven,有三個很熱情的粉絲團體想改良世紀帝國成為更好、更完善的遊戲,分別是:
◎ Tonto Clan:想用 AOE2 引擎實做 AOE1。
◎ Wildfire Studio:WildfireGames 前身,開發 AOK 模組 Rome at War。
◎ TLA:想利用 AOE2 的引擎開發奇幻遊戲模組,事後想做自己的遊戲引擎。
然而當時遇到微軟的限制──AOE2 的專有引擎限制太多,而下一代轉開發《神話世紀》
,當然就不想理會粉絲的吶喊。既然商業公司不願改良產品,於是這 3 個團體乾脆合作
準備自幹獨立遊戲,命名為 0 A.D.,目標是合力開發出 0 A.D. 與 TLA 共用引擎,在上
面做出品質優秀好玩的免費遊戲。
從 2003 年正式開始開發,一直到 2009 年為第一階段,這段時間是以傳統封閉模式開發
遊戲,要加入開發團隊還要冗長的審核呢。開發主力是 Wijitmaker、TheRealDeal(60
歲)、Acumen,由來自華盛頓州 23 歲的 Wijitmaker 擔任專案經理。老實說其中沒有多
少專業 IT 背景的人,大家憑的是滿腔熱血與傻勁,中間雖有兩名資工系大學生加入,但
不久後為了念研究所離去。到最後幾年,TheRealDeal 去世,Wijitmaker 因家庭因素辭
去專案經理,改由 Feneur 接手。2009 年是最慘的一年,沒有新手加入,舊人中堅又紛
紛凋零,Feneur 只好決定試試新方式──開放原始碼。
2009 年一直到今天,是第二階段。首先劍橋博士生 Ykkrosh 加入團隊,把大量程式原始
碼轉寫成好維護的形式,接著 Feneur 把專案經理交棒給 20 歲法國大學物理系學生
Ltms,Feneur 繼續服務直到今天(0 A.D. 團隊待最久的元老)。轉為開放原始碼模式
以後,就活了過來,參加的人不斷增加,囊括世界各國,至今核心人員達 100 人之多,
開發效率也變好,遊戲每隔幾個月就會大更新,然後各種有趣的構想經過延伸模組的試做
測試,做得好就會採納到主程式裡。蓬勃發展下,達到今天我們看到的非凡成果。
這是以開放原始碼模式做遊戲了不起的里程碑,完全靠社群開發出匹敵商業版的遊戲,就
像當年奮鬥的 Mozilla 瀏覽器、GNU / Linux 系統等等,當然更讓人敬佩的是 18 年不
放棄的堅持,不忘他們的初衷──玩家做給玩家的完美遊戲。看到這可歌可泣的經驗,你
是否得到了什麼?
====
開放原始碼遊戲又一里程碑呀!
真的厲害!