紅色警戒2技術教程:INI并不是真正的代碼 作者:saite240mt 由于EA的不作為,紅色警戒2發(fā)布后十年未做任何更新,玩家要想在老游戲里找到新樂趣只能自己創(chuàng)新,所以大量的自制地圖、紅警Mod應運而生。紅警修改真的只是修改INI那么簡單嗎? 很多MODER都以為INI是控制游戲的代碼,其實不然,對于專業(yè)軟件開發(fā)人員來說,INI僅僅只是存儲游戲靜態(tài)參數的數據庫而已,真正產生邏輯效果的,是game.exe。也就是說,game.exe讀取INI里的參數來為邏輯流程提供運行數據,不同的參數可以產生不同的運算結果,從而在游戲中表現出不同的感觀效果 那么有人就要問了,game.exe是如何實現邏輯流程的呢?如果你學過C++軟件開發(fā),你就會明白,game.exe是用Virtual Stuido這種編譯器,將一份C++源代碼編譯而成的可執(zhí)行文件,而控制游戲邏輯的,就是C++源代碼里的各種函數以及那些if...else分支、for循環(huán)、while循環(huán)的組合了(好吧,再說下去就太專業(yè)過頭了),只要你能修改C++源文件里的這些函數和語句組合,重新編譯之后就能改變原有game.exe的功能邏輯,比如原版RA2的入侵者無法對空,你可以修改C++源代碼,修改對空攻擊的邏輯判斷條件,使得空對空成為可能 曾經有人天真的以為改INI就能改出一切想要的結果,看了這個帖子,你有沒有一種想洗洗睡了的感覺? 額,看完了saite240mt對游戲修改的認識,我們實地考察一下作者的修改實例吧。紅色警戒共和國之輝3D版:http://m.hezyo.cn/zt/gh3/ |