红色警戒2技术教程:INI并不是真正的代码 作者:saite240mt 由于EA的不作为,红色警戒2发布后十年未做任何更新,玩家要想在老游戏里找到新乐趣只能自己创新,所以大量的自制地图、红警Mod应运而生。红警修改真的只是修改INI那么简单吗? 很多MODER都以为INI是控制游戏的代码,其实不然,对于专业软件开发人员来说,INI仅仅只是存储游戏静态参数的数据库而已,真正产生逻辑效果...
红色警戒2技术教程:INI并不是真正的代码
作者:saite240mt
由于EA的不作为,红色警戒2发布后十年未做任何更新,玩家要想在老游戏里找到新乐趣只能自己创新,所以大量的自制地图、红警Mod应运而生。红警修改真的只是修改INI那么简单吗?
很多MODER都以为INI是控制游戏的代码,其实不然,对于专业软件开发人员来说,INI仅仅只是存储游戏静态参数的数据库而已,真正产生逻辑效果的,是game.exe。也就是说,game.exe读取INI里的参数来为逻辑流程提供运行数据,不同的参数可以产生不同的运算结果,从而在游戏中表现出不同的感观效果
那么有人就要问了,game.exe是如何实现逻辑流程的呢?如果你学过C++软件开发,你就会明白,game.exe是用Virtual Stuido这种编译器,将一份C++源代码编译而成的可执行文件,而控制游戏逻辑的,就是C++源代码里的各种函数以及那些if...else分支、for循环、while循环的组合了(好吧,再说下去就太专业过头了),只要你能修改C++源文件里的这些函数和语句组合,重新编译之后就能改变原有game.exe的功能逻辑,比如原版RA2的入侵者无法对空,你可以修改C++源代码,修改对空攻击的逻辑判断条件,使得空对空成为可能
曾经有人天真的以为改INI就能改出一切想要的结果,看了这个帖子,你有没有一种想洗洗睡了的感觉?
额,看完了saite240mt对游戏修改的认识,我们实地考察一下作者的修改实例吧。红色警戒共和国之辉3D版:https://www.uc129.com/zt/gh3/
展开