差友們,我要說一個離譜的事。
有這么一款游戲,過了二十多年,還有一堆人像磕了藥一樣天天玩。
它就是紅警 2。
你別不信。
咱們編輯部就有好幾個老哥,每天中午不看小姐姐也不刷差評君,就逮著紅警視頻下飯,完了周末還上對戰(zhàn)平臺 PK。
在各大媒體平臺,也有很多專門制作紅警視頻的 UP 主,粉絲高達(dá)幾十萬甚至百萬。
看到這,可能有差友回憶被勾起來了,腦子里已經(jīng)框好幾十輛光棱坦克準(zhǔn)備 All in。
但問題來了,當(dāng)你突然想來一把紅警,回味下童年時——
抱歉,你一定會被勸退。
你網(wǎng)上搜到的那些紅警安裝包,雖然能玩,但很容易遇到問題。你要調(diào)好兼容性,解決一個個報錯彈窗,才能勉強(qiáng)進(jìn)入游戲。
你可能想問,有沒有電腦小白能玩上的版本?
有是有。
一些紅警玩家會和你說,去下一個對戰(zhàn)平臺,再注冊一個賬號,接下驗證碼,完事了去大廳里加入或創(chuàng)建對局。。。
還是有點(diǎn)麻煩,有官方正版嗎?
也有。
但即便在 Steam 上買了 EA 官方的紅警 2,大概率也是花錢找罪受,黑屏、卡頓、報錯的問題非常多,很多人表示體驗還不如盜版。
以上,還是針對 Windows 用戶而言。
至于 Mac 用戶?哥們建議直接放棄治療。
所以世超就想問了:
在這個地球上,到底還有沒有簡單粗暴點(diǎn)的方法,讓咱們這種普通玩家想回味童年時,馬上就能來一把紅警呢?
別搞什么兼容性,什么報錯,什么對戰(zhàn)平臺,系統(tǒng)要求,最好那啥,也別讓我找資源,下載安裝包。。。
有嗎,有嘛?
其實算有的。
最近世超摸魚時,找到一個網(wǎng)頁版紅警Chrono Divide(時空分裂)。
注意,重點(diǎn)是:網(wǎng)頁版,免費(fèi)。
不管你是 PC、Mac、手機(jī)、平板還是小天才電話手表、冰箱門的顯示器——
只要有瀏覽器,點(diǎn)開就能玩。
其實一開始啊,世超對它沒抱太大期望。畢竟網(wǎng)頁性能擺在這,估摸著是個青春版,體驗體驗得了。
直到我打開它。。。
臥槽。
單機(jī)、聯(lián)機(jī)對戰(zhàn)有了,天梯排位有了,甚至還支持打 mod。
游玩成本幾乎沒有,進(jìn)入網(wǎng)頁點(diǎn) download,它會自己下載并解壓游戲包。
10 秒后,你就能看到下面的畫面了。
只能說,世超一下就回到了當(dāng)年的暑假。。。
別急,再進(jìn)入游戲操作兩下。
光棱坦克、蜘蛛機(jī)器人、V3 火箭、基洛夫飛艇,你童年記憶里的一切,全都回來了。
就連更高階點(diǎn)的操作,按住 Ctrl 強(qiáng)制攻擊,工程師修復(fù)建筑,這些也都完美支持。
真要說美中不足,就是巡邏功能無法循壞,粒子效果沒有復(fù)現(xiàn)。
但各位,這可是一個網(wǎng)頁?。?/p>
更離譜的事情還在后面。
我本以為這是某種移植、封裝、模擬器技術(shù),把原版紅警塞進(jìn)網(wǎng)頁里,但通過一周的努力聯(lián)系上作者 Alexandru Ciuc?,一個有 15 年編程經(jīng)驗的羅馬利亞程序員。。。
他告訴我——
哦,我用 TypeScript(JavaScript)重寫了紅警。
不是?
重寫游戲?
兄弟們,你要知道:
紅警 2 源代碼,官方都弄丟了。。。
所以 Alexandru 要重寫游戲,就要通過黑盒逆向工程,分析紅警 2 所有的行為邏輯。
有點(diǎn)難以理解?
想象一下,你要復(fù)刻一道菜,但沒有菜譜。你只能觀看別人吃這道菜的視頻,通過筷子動作、咀嚼節(jié)奏,來猜測食材的軟硬、口感。
Alexandru 就是這樣復(fù)刻紅警的。
除了官方的美術(shù)素材,rule.ini 配置文件(寫著每個單位的攻擊力、血量、成本)可以直接引用——
整個游戲邏輯核心引擎,都是 Alexandru 靠著錄屏、慢放、逐幀分析、修改 rules.ini 文件、一遍遍測試、試錯,推導(dǎo)出游戲邏輯的。
火箭飛行兵起飛時的動畫是怎樣的?在空中時那種一上一下的飛行狀態(tài)如何復(fù)刻?建筑摧毀后四散碎片是怎么飛濺的?
這些都需要反復(fù)斟酌,反復(fù)模擬的。
這個工程量到底有多大,沒人知道。
但看到官網(wǎng)的更新日志密密麻麻記錄了整整 5 年,咱心里也差不多有數(shù)了。
不過,有意思的來了。
世超在日志中翻到了幾個版本,說修復(fù)了紅警 2 原版 bug。
比如 0.64 版本,修復(fù)防空步兵對防空炮的傷害(原版《紅警2》bug)。
0.18版本,建筑工場不再能夠同時被打包/移動和出售(紅戒2及尤里復(fù)仇 bug );防止免費(fèi)工程師被刷出。
嘶,是不是不太對?
按理說,游戲引擎和代碼都是自己重寫的,為啥會有原版 Bug?
對于這個問題,Alexandru 的回答很讓人震驚。
我給大伙總結(jié)下,網(wǎng)頁紅警 bug 有 3 種。
第一種屬于邏輯 bug。
Alexandru 寫了一些基礎(chǔ)規(guī)則后,一些復(fù)雜的游戲機(jī)制就可以在這個規(guī)則基礎(chǔ)上直接形成,同樣也會帶來 bug。好比你用樂高按照別人的設(shè)計堆房子,別人的房子有 bug 不太穩(wěn),你的也一樣。
第二種屬于數(shù)據(jù) bug。
Rules.ini 配置文件,里面記錄著所有單位的攻擊力、血量、建造成本這些參數(shù)。當(dāng)官方自己寫錯了參數(shù)值,那 Alexandru 導(dǎo)入這個配置文件時,也會出錯。
第三種屬于故意的 bug。
眾所周知,有些 bug 存在久了,反而會成為游戲特色和文化,比如 CF 鬼跳,街霸 2 的取消技,文明的核彈狂魔甘地。
紅警也是如此。
現(xiàn)在很多對戰(zhàn)平臺會評估紅警 bug:不影響平衡性的就保留,成為游戲特色;嚴(yán)重破壞公平的才打補(bǔ)丁修復(fù)。
所以到這你也明白了:
Alexandru 為了完美還原紅警 2 的手感,把某些原版 bug 也復(fù)刻了出來。
什么叫真正的原汁原味啊。。。
但這,還不算復(fù)刻紅警最困難的部分,最讓Alexandru頭疼的是在 3D 引擎里渲染 2D 的素材。
原版紅警用的是畫家算法(一種圖形渲染技術(shù))。
它把 2D 圖像一層層疊在平面上,靠著先后排序(比如讓士兵蓋在草地上面),達(dá)到一種立體效果。
但網(wǎng)頁版紅警用了真正的 3D 引擎來顯示這些貼圖后,反而出問題了。
坦克該壓著草地還是草地該露出來,建筑該擋住士兵多少,這些細(xì)節(jié)會很難和原版對得上。
“ 這種底層決定一旦做了就改不了,我在這些細(xì)節(jié)上花的時間簡直荒謬 ”,這是 Alexandru 原話。
所以,這么一個方便你游玩紅警的網(wǎng)頁項目,背后真下了很大的功夫。
目前 GitHub 上有個叫 redalert2 的倉庫,里面反編譯了 Chrono Divide 的代碼并開源,大家有興趣的或者也想重制一個網(wǎng)頁紅警,可以逛一逛。
寫到這,世超發(fā)現(xiàn) Chrono Divide 雖然牛逼,但對國內(nèi)玩家還是有門檻:
英文界面得慢慢適應(yīng),第一次進(jìn)入要等待下載美術(shù)資源,國內(nèi)聯(lián)機(jī)時延遲也比較高,平板上操作也很費(fèi)勁。
原本世超還打算寫一點(diǎn)使用教程,但發(fā)現(xiàn)有人已經(jīng)把事情辦了。
北京一個前端程序員阿晨,做了一個中文鏡像網(wǎng)站 ra2web。
https://www.ra2web.com/
這哥們不光把界面全部漢化,還用付費(fèi) CDN 加速,優(yōu)化玩家網(wǎng)絡(luò)體驗。
最關(guān)鍵的是,他花了兩周時間逆向 JS 代碼,給移動端加上了快捷面板——編隊、強(qiáng)攻、回基地,這意味著你即便用手機(jī)、平板,也能爽玩紅警了。
后來Alexandru知道后,還專門為中文站開發(fā)了一套 API,也把中文站寫進(jìn)了致謝名單。
阿晨做 ra2web 原因很簡單,他的經(jīng)歷和各位一樣。
2021 年他在 Win10 上玩紅警,調(diào)試兼容性調(diào)到崩潰。后來偶然接觸到 Chronodivide 項目,想到國內(nèi)一堆玩家還在買模擬器玩紅警,于是注冊了 ra2web 做中文站。
時至如今,ra2web 聯(lián)機(jī)用戶數(shù)已經(jīng)超過 10 萬,備受粉絲歡迎。
但阿晨為這個用愛發(fā)電的項目,也付出不少代價。
可能因為影響了商業(yè)平臺和商家的利益,他的網(wǎng)站被攻擊過,域名被 DNS 劫持過,還遭過一些人身攻擊,也因為自掏腰包得不到家人理解。。。
阿晨和我說,他的網(wǎng)頁紅警賬號之前莫名其妙上了次熱門,原因是一堆人@網(wǎng)警時,把他也艾特上了。
時代確實變了,已經(jīng)有很多人不知道紅警是啥了。
但看著 Alexandru 那份持續(xù) 5 年、密密麻麻的更新日志,看著阿晨說的那句“網(wǎng)站的運(yùn)營就是滿足我自己對紅警的熱愛”,你會明白:
當(dāng)這個經(jīng)典游戲在現(xiàn)代系統(tǒng)上越來越難運(yùn)行,當(dāng)官方?jīng)]有推出適配新系統(tǒng)的版本,總有人會站出來,用自己的方式守護(hù)共同的記憶。
他們不圖錢,甚至賠錢。
他們只是想讓每一個突然想起紅警的人,打開瀏覽器,就能回到那個夏天。
撰文:刺猬
編輯:莽山烙鐵頭
美編:萱萱
圖片、資料來源:
網(wǎng)頁紅警:https://chronodivide.com/
網(wǎng)頁紅警中文站:https://www.ra2web.com/
GitHub - huangkaoya/redalert2
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.