模拟器游戏连网作战全攻略 Chocobo 2000年 第42期   在报刊上很少见到有关模拟器连网的文章,在这里我要向大家介绍这一被人遗忘的功能。   先介绍一下模拟器连网的基本知识。连网的模拟器都是一方做服务器端,其他的做客户端。做服务器端的人必须告诉客户端自己当前IP地址。要获取自己当前的IP地址,可以在Windows下的“开始”→“运行”里输入“winipcfg”,启动“IP配置”程序后就可以从“IP地址”栏获取当前的IP。做服务器的一方还要告诉客户端方自己使用的端口(Port)的值。这在每个模拟器设置时都会有显示。   连网双方使用的模拟器最好是同一个版本号,使用的ROM也应该是同一个版本,建议双方在同一地点下载同一个ROM进行游戏。 #1 SFC   现在最强的两大SFC模拟器就是Snes9X和Znes了。Znes是老牌的SFC模拟器,虽然早就有了连网功能,但由于它基于DOS平台,需要一些比较复杂的调试,用ISDN的我也没怎么研究过。最近Znes终于推出了它的Windows版,但连网功能还没加入,只有主菜单选项,所以这里也就不讨论它了。Snes9X很早就开始有Windows平台下的版本,它的连网功能直到1.30B1版才出现,且很不成熟,连制作者自己在更新列表中都承认这点。1.30正式版修正了不少网络方面的BUG。下面叙述一下最新的Snes9x 1.31版的连网方法——(^42060302a^)   首先打开Snes9x,做服务器端的人先打开要连线的游戏,再选择Netplay里的“Act as Server”,这时此选项前会有个“√”出现。要改变端口号可以到“Option...”里的“Socket port number”里修改。之后客户端玩家选择Netplay里的“Connet to Server...”,在“Server hostname or IP address”栏填服务器端的IP,“Socket port number”栏中数字要和服务器保持一致。按“OK”后就开始连接服务器。连接完成后就会收到打开一个ROM的请求,ROM头名称会显示在一个引号中(注意:这是ROM的头名称,在Snes9x的LOAD游戏列表里会显示,而不是ROM的文件名),这时客户端玩家在硬盘里选择相对应的ROM,确定后如果和服务器端匹配就会收到一个S-RAM 数据,服务器端Reset所有人游戏(服务器端需要将“Sync Using Reset Game 同步重置游戏 ”选中),然后就可以进入连网模式进行游戏了。这里需要注意的是,服务器端玩家一般是将要连线的ROM打开后再让后客户端连,否则客户端会先收到一个无效的请求。(^42060302b^)   进入游戏后服务器端玩家作为1号主机,客户端先接入方作为2号主机,次为3号……最多可以同时有5人进行游戏。服务器端的游戏运行速度明显比客户端要快,机器速度和网速快的一方作为服务器使用。连网状态会在标题栏和画面下方显示。(^42060302c^)   第一次测试是用日文版的《实况足球2》,模拟器为Snes9x1.30b1,结果发现进的球在对方看来都是乌龙,双方比分和显示画面都有出入(我们后来截了图进行比较后才知道一切都是模拟器的错),看来是数据传送错误。   第二次用Snes9x1.31版一切OK,测试了一个4M小容量的国际象棋游戏,成功。SFC上的《魂斗罗》做服务器端用户玩起来比较流畅,但作为客户端就有些惨了……再试《实况足球2》,这次完全正常了。但试用《最终幻想Ⅵ》的双人协作战斗模式却出现问题,一方战斗胜利后无法回到普通画面。   参阅了模拟器的说明文件,看到了作者的建议:在游戏时关闭尽可能多的后台应用程序,游戏中不要拖动模拟器窗口,不要使用“Ctrl+Alt+Del”显示任务列表……(感觉它好脆弱),否则可能造成跳帧或音效延迟。如果机器太慢或网络条件不好可能会造成双方不同步……对于《炸弹人》系列等声音出错的游戏可以把Sound→Option里“Volume envelope height reading”前的钩去掉。   在游戏中可以存档和取档(Snes9x存档方式为“Shift +F1-F9”,共9个记录档,区档为F1-F9)。当服务器端取一个存档后就会将它发送到所有的客户端,然后大家一起从那个存档位置玩游戏。   评价: Snes9X的连网功能已经成型,如今我们希望它能加入聊天功能,缺少这个功能是很不方便的一件事……只能用OICQ联系……又是一个造成游戏不同步的隐患! #1 CALLUS   这个老牌街机模拟器的风头虽然被Impact等所掩盖,但它的连网功能已经很完善了。   首先,双方需要有0.42版的Callus模拟器,此版本模拟器有几个升级版,最好双方都使用同一版本的。我使用的是patch2.3版。(^42060302d^)   在菜单选择NET,做服务器的一端选择“Host”,在“Nickname”栏填自己在对方聊天栏里显示名称,“Port”用默认的7734即可,选“Start”。然后客户端选择"Connect"连接,在IP Address里填服务器的IP,其他表单和服务器同,选“Connect”。连通后会弹出一个聊天窗口,在其中能用中文交谈,很方便的。(^42060302e^)   其中任何一方Load ROM之后另一方的模拟器会在默认ROM路径中自动寻找相对应的ROM并调用,双方就可以进入游戏了(默认ROM路径在Game→Directories设置)。(^42060302f^)   实际测试用的ROM是《街霸ZERO》,服务器端和客户端在速度上没有什么区别,在游戏中有比较明显的迟钝现象,搓招有些困难,网速慢的一方效果会更差一些。   应该说CALLUS模拟器的发展已经到了极限,而我们希望能有可以连网的其他大型街机模拟器问世…… #1 FC 我试用了几乎所有的Windows版的FC模拟器,结果只有一款模拟器有连网功能——NESticle的WIN95版本。这个模拟器是个极老也极好的FC模拟器,可惜后来没有升级过。它的Windows版本支持的MAP不是很多,很多新DUMP的游戏不能玩,还有一些合集ROM不能游戏。但瑕不掩瑜,它的连网功能已经十分成熟了。下面介绍它的连网方法。   打开模拟器,选择NET一项,作为服务器端的人选择“Start server……”在“NAME”栏填自己在对方机器里显示的名称,“Protocol”协议里选择“TCP/IP”,“UDP PORT”端口不必动,使用默认值“6996”就可以了,最后按“START”,模拟器会自动开启一个连接状态窗等待客户端的连接。然后,客户端的人选择“Connect……”其他地方和服务器端一样设置,只是要在“IP ADDR”栏填上服务器端的IP地址,并让端口号和服务器端保持一致,按“CONNET”,弹出连接状态窗并开始连接主机。   连接上之后,双方的连接状态窗会显示自己的登录名和对方的登录名以及网络状态。对方的RETRY数值会不断变动,如果发现该数值不断上升,则说明对方可能断线了。一旦重试数超过一定数值就会自动与对方断开。(^42060302g^)   在NET菜单里选择“Chat window”,可打开聊天窗口,可惜的是这个模拟器的聊天窗内不能使用中文,所以各位就用英文或汉语拼音凑合一下。聊天窗口可用ESC键隐藏或显示。   这个模拟器的连线方式属于对等式的,任何一方都可以调用自己喜欢的游戏。被动一方需要把ROM放在模拟器的默认路径,一般是与模拟器程序在同一目录,要调整这个目录可以在配置文件NESTCL95.INI中修改“-romdir ***** ”一行。(^42060302h^)   双方所使用的ROM必须是同一文件名的同一游戏。一方选择自己硬盘上的某一个ROM后,对方模拟器会自动搜索默认ROM路径中是不是有这个ROM,如果有的话就可以看到游戏画面并开始游戏。调用ROM的状态过程可以在聊天窗里看到。调用方作为1号机进入游戏,而ROM被调用方作为2号机进入游戏。   我们测试了《松鼠大作战》、《魂斗罗》、《俄罗斯方块》、《玛利医生》、《赤色要塞》、《坦克大战》等经典游戏,效果都还可以,有轻微的迟顿现象。由于FC游戏相对其他机种而言需要传输的数据量较小,所以是个比较好的连网选择。   评价:这个模拟器实在是太老了,那盘经典的64合一居然不能玩……只能找《坦克大战》的单卡……和异地的玩友一起重温那些经典的老游戏,一起比赛俄罗斯方块……那感觉真好。我希望SMYNES模拟器能在1.2新版中加入连网功能,这个号称最强的FC模拟器怎么能没这个功能呢? #1 GB   现在可以连网的GB模拟器就我们所知只有prototype-D和TGB。其中prototype-D的连网功能很不成熟,这里就不介绍它。TGB模拟器最新版为0.24x,这是日文版的模拟器,连网功能比较成熟,但操作方法和其他的有些区别,在此就简单对它进行一下介绍。   选择“オブション(设置)→通信→オンラィン(连接)→连接”,会弹出一个online窗口。服务器端选择Server,客户端选择Client并在“サ-バのIPアド”(服务器IP地址)栏填入服务器端的IP地址。如果连接上了就会自动弹出一个聊天窗口。接下去的问题就是如何真正连网游戏,它与其他模拟器有些不同……   以《KOF96》为例,双方LOAD此游戏后分别进入选单画面,在此之前画面不同步。选单画面有4个选项——SINGLE PLAY,TEAM PLAY,SINGLE VS和TEAM VS。只有当双方都进入此画面才能选择两个VS对战模式。当任意方选择VS模式,就会一同进入角色选单画面,之后的画面保持同步。其他游戏的连网方法应该与此类似。   此模拟器本身没有双打功能,但它还有一个单机连网模式:开两个同样的模拟器窗口(最好是两个目录下的程序,否则会造成按键设定重复),一方选择“オブション(设置)→通信→オフラィン(断开)→连接”,另一方会收到确认信息,确定后请求方会收到反馈信息,这样两个进程的程序就算连上线了。游戏方法和广域网的类似。(^42060302j^)   就模拟效果而言,它的速度并不是很快。但或许这是GB模拟器连网的唯一选择了,传递《口袋妖怪》的怪兽应该是没问题的。   我们这里只讨论使用ROM文件的部分模拟器连网方法,希望起到抛砖引玉的作用,另外,VGS这一PS模拟器靠VGSnet插件就可以实现连网功能。具体我们暂时没条件测试,有兴趣和条件的朋友不妨一试。文中介绍的所有模拟器大家都可以到“最终幻想世界”(http://ffworld.yeah.net)下载专区的“史克威尔游戏天堂”里去下载。(^42060302i^)   感谢fehead(fehead@21cn.com)和任天堂世界(http://3g3d.126.com)的3g3d的大力帮助。