引子:
过年的时候无聊就在盘算在今年还有什么东西可以玩。当时感觉曹操传补丁这方面似乎没什么新东西能够继续进行下去的了——除了联机对战!虽然在补丁的发布贴里从没人提过这个功能,但是相信不少老玩家应该都有想过希望试试曹操传PVP是什么感觉。继而花了几天时间先查看和调试原版代码分析可行性和实现的复杂程度,最终得到的结论是:有点麻烦但也不是不能做。
说做就做吧,首先还是要整理一下代码和完善一些将来可能会用到的细节,算是为1.0版本的做一个最终版。毕竟,接下来2.0的版本,一开始肯定是不会那么稳定的。有心的玩家或许也能在1.61版本更新说明里看出点端倪,当时那几项改动对于单机版来说是意义不大的,其实都是在提前为2.0PVP的发布做准备。经过这几天的修改和测试,总算是完成了一些基本的功能。
好了,开场白结束,接下来是正文。
首先声明,这里只针对原版讨论,如需玩mod请自行测试恕不提供技术支持。
原因一:联机测试比单机测试过程要繁琐很多,需要的测试量完全就不是一个数量级的,即使有心也是无力。
原因二:mod作者大概也不愿意自己精心设计过的作品被随意应用到对战当中。
原因三:原版不少战场地图设计十分巧妙,攻防方面跟mod相比也相对均衡,不需要做太多变动即可使用。
目前的设定/规则有:
【轮流指令系统】必须开启
【固定物理伤害】自动开启但【残血必杀】禁用
【以命换命】和【待机蓄力】还有【手动双暴】禁用
禁用命令:道具,围攻,交换(后两项是原版本来就没有的,道具这块由于仓库共享敌军要吃的话有点麻烦)
禁止策略:沙暴(主要出于是规则上建议,程序里并没有做任何限制)
禁止装备:绝影,方天画戟等(还有其他特殊装备需要进一步测试验证是否支持)
禁止经验获取(打一局应该也升不了几级吧)
友军不可控(【轮流指令系统】暂不支持友军指令数)
扳手无用(友情提醒:因为对战时双方只同步操作命令并不同步内部数据,所以修改的只能是本机数据丝毫影响不了对方)
全剧情剧本自动禁止(某些道具可能也会因此而失效)
操作步骤:
1. 双方预先使用同一【新存档】记录进入战场。当前补丁压缩包【SaveEx】里附有某关对战地图示例,大家可以先采用它进行快速测试。
2. 在主窗口菜单里选【CczHelper】->【网络】->【建立连接】,
同一个局域网内两人玩的话,只需一人设为【TCP Server】,另一人设为【TCP Client】,把做为服务端的IP填好,再点OK就可以了。切记服务端需先开,客户端才能连接上。
3. 两人都建立好连接后,可以先试试发送【发送消息】,打一句话看看对方能否收到。此步骤通常可跳过。
4. 确定双方通信无碍后,由其中一方【发起挑战】,等待另一方确定应战即可。
5. 对战中双方按指令数交替控制(先手每轮指令数可在【战场配置】期间预先设定)。
6. 右键结束指令操作。
7. Ctrl+Enter 发送即时聊天消息。
胜负:
先手方主将被杀或回合耗尽则判定失败。
后手方主营被占或全员被杀则判定失败。
注:主营位置可在【战场配置】期间到【轮流指令系统】菜单项下自定义。
将来可能会实现的一些想法:
每轮固定等待时间超时自动结束
双方战前准备,整理装备和一定区域内自由移动以布阵,即正式开局前不知道对方具体位置和装备。
支持敌我友三方混战(这个非常麻烦,估计最终不会去弄,姑且记下)。
前面也说了,现在发布的版本绝对不可能是稳定的,不少的地方实现起来都很粗糙。直接下载打开很可能会无从下手,需要对补丁以前的拓展功能有一定了解才行。要到简单下载就能玩的程度估计还得等个大半年吧,到时候大家再上来看看好了。
总而言之,发这个贴的目的主要是:
1. 召集几个愿意帮忙测试的小伙伴。以前在补丁发布贴里有反馈/建议过的吧友优先考虑,因为目前测试使用的是免费的R云IM接口,提供的服务相当有限,它的免费服务器对于多人在线后的稳定性怎么样我完全不了解。所以不敢给大家提供太多的账号进行测试。自认为有查bug能力想提前体验的朋友,可把希望在游戏里登陆用的ID私信给我,我会为你的ID注册一个AppToken,只要使用它登陆游戏建立连接就能实现PVP网络对战了。(Tips: 其实如果你是公网IP的话,可以直接使用TCP方式联机,不需要再找我要什么Token。或者局域网内两人玩也可以直接使用TCP方式,我单独本机调试的时候就是程序多开再TCP建网来测)
2. 向广大爱好者征集制作好的适合对战用的地图,只需上传分享【新存档】文件即可。在【建立连接】的情况下保存新存档即可显示为【Map V.S.】标志。
3. 目前网络通信是写在另外一个新的CczSvr.dll,里面仅简单实现了点对点通信,只是为了满足测试需要而已。不少应该有的功能(如查看全部在线用户,查看战绩等)都未实现,将来真要建立战网的话,这个dll是必须要重写的。dll对外接口也就几个(补丁打包里有说明),不知是否有哪位在这方面有余力且感兴趣的朋友,愿意帮忙改成cs构架并自建服务器为大家提供平台。
4. 想了解一下大家对于PVP有什么好的想法和建议。其实我感觉可能只是看上去跟人打比较新鲜,真正玩起来或许也没那么有意思。不过没关系,反正我写这个也是用来消磨时间的,即使最后没人玩我也不会特别在意。
5. 我在做分析可行性时,曾搜索到一篇强文《从曹操传分析战棋类游戏的精神 》(相关链接就不贴了百度一下就有了),里面 @胖史来姆 和 @无敌神鸟人 之间的讨论十分精彩。看过后真的很想见识一下这两位不同理念的高人之间的对决,因此这里冒昧地@一下邀请试试,不晓得胖史来姆是不是这个百度ID现在还有没有在玩呢。
补丁链接在二楼发吧,发了后估计又会被系统删还得再去申诉才能看到,不过熟悉的吧友应该都知道到哪下吧。
然后三楼会留来专门发直*播预告,以后条件允许的话可能会跟吧友联机测试时候进行直*播。觉得有点意思但是又懒得下载尝试的朋友,届时不妨顺道去瞧瞧。
最后,希望大家不要在此贴里发一些没讨论价值的回复,如“顶”“支持”“圣小白”“字多不看”之类。主要是考虑到如果此楼含水量太大就有可能令后来的人“只看楼主”,这样一来中间那些吧友提出有价值的回复就很难被后来的人注意到了。谢谢合作,如删莫怪。
过年的时候无聊就在盘算在今年还有什么东西可以玩。当时感觉曹操传补丁这方面似乎没什么新东西能够继续进行下去的了——除了联机对战!虽然在补丁的发布贴里从没人提过这个功能,但是相信不少老玩家应该都有想过希望试试曹操传PVP是什么感觉。继而花了几天时间先查看和调试原版代码分析可行性和实现的复杂程度,最终得到的结论是:有点麻烦但也不是不能做。
说做就做吧,首先还是要整理一下代码和完善一些将来可能会用到的细节,算是为1.0版本的做一个最终版。毕竟,接下来2.0的版本,一开始肯定是不会那么稳定的。有心的玩家或许也能在1.61版本更新说明里看出点端倪,当时那几项改动对于单机版来说是意义不大的,其实都是在提前为2.0PVP的发布做准备。经过这几天的修改和测试,总算是完成了一些基本的功能。
好了,开场白结束,接下来是正文。
首先声明,这里只针对原版讨论,如需玩mod请自行测试恕不提供技术支持。
原因一:联机测试比单机测试过程要繁琐很多,需要的测试量完全就不是一个数量级的,即使有心也是无力。
原因二:mod作者大概也不愿意自己精心设计过的作品被随意应用到对战当中。
原因三:原版不少战场地图设计十分巧妙,攻防方面跟mod相比也相对均衡,不需要做太多变动即可使用。
目前的设定/规则有:
【轮流指令系统】必须开启
【固定物理伤害】自动开启但【残血必杀】禁用
【以命换命】和【待机蓄力】还有【手动双暴】禁用
禁用命令:道具,围攻,交换(后两项是原版本来就没有的,道具这块由于仓库共享敌军要吃的话有点麻烦)
禁止策略:沙暴(主要出于是规则上建议,程序里并没有做任何限制)
禁止装备:绝影,方天画戟等(还有其他特殊装备需要进一步测试验证是否支持)
禁止经验获取(打一局应该也升不了几级吧)
友军不可控(【轮流指令系统】暂不支持友军指令数)
扳手无用(友情提醒:因为对战时双方只同步操作命令并不同步内部数据,所以修改的只能是本机数据丝毫影响不了对方)
全剧情剧本自动禁止(某些道具可能也会因此而失效)
操作步骤:
1. 双方预先使用同一【新存档】记录进入战场。当前补丁压缩包【SaveEx】里附有某关对战地图示例,大家可以先采用它进行快速测试。
2. 在主窗口菜单里选【CczHelper】->【网络】->【建立连接】,
同一个局域网内两人玩的话,只需一人设为【TCP Server】,另一人设为【TCP Client】,把做为服务端的IP填好,再点OK就可以了。切记服务端需先开,客户端才能连接上。
3. 两人都建立好连接后,可以先试试发送【发送消息】,打一句话看看对方能否收到。此步骤通常可跳过。
4. 确定双方通信无碍后,由其中一方【发起挑战】,等待另一方确定应战即可。
5. 对战中双方按指令数交替控制(先手每轮指令数可在【战场配置】期间预先设定)。
6. 右键结束指令操作。
7. Ctrl+Enter 发送即时聊天消息。
胜负:
先手方主将被杀或回合耗尽则判定失败。
后手方主营被占或全员被杀则判定失败。
注:主营位置可在【战场配置】期间到【轮流指令系统】菜单项下自定义。
将来可能会实现的一些想法:
每轮固定等待时间超时自动结束
双方战前准备,整理装备和一定区域内自由移动以布阵,即正式开局前不知道对方具体位置和装备。
支持敌我友三方混战(这个非常麻烦,估计最终不会去弄,姑且记下)。
前面也说了,现在发布的版本绝对不可能是稳定的,不少的地方实现起来都很粗糙。直接下载打开很可能会无从下手,需要对补丁以前的拓展功能有一定了解才行。要到简单下载就能玩的程度估计还得等个大半年吧,到时候大家再上来看看好了。
总而言之,发这个贴的目的主要是:
1. 召集几个愿意帮忙测试的小伙伴。以前在补丁发布贴里有反馈/建议过的吧友优先考虑,因为目前测试使用的是免费的R云IM接口,提供的服务相当有限,它的免费服务器对于多人在线后的稳定性怎么样我完全不了解。所以不敢给大家提供太多的账号进行测试。自认为有查bug能力想提前体验的朋友,可把希望在游戏里登陆用的ID私信给我,我会为你的ID注册一个AppToken,只要使用它登陆游戏建立连接就能实现PVP网络对战了。(Tips: 其实如果你是公网IP的话,可以直接使用TCP方式联机,不需要再找我要什么Token。或者局域网内两人玩也可以直接使用TCP方式,我单独本机调试的时候就是程序多开再TCP建网来测)
2. 向广大爱好者征集制作好的适合对战用的地图,只需上传分享【新存档】文件即可。在【建立连接】的情况下保存新存档即可显示为【Map V.S.】标志。
3. 目前网络通信是写在另外一个新的CczSvr.dll,里面仅简单实现了点对点通信,只是为了满足测试需要而已。不少应该有的功能(如查看全部在线用户,查看战绩等)都未实现,将来真要建立战网的话,这个dll是必须要重写的。dll对外接口也就几个(补丁打包里有说明),不知是否有哪位在这方面有余力且感兴趣的朋友,愿意帮忙改成cs构架并自建服务器为大家提供平台。
4. 想了解一下大家对于PVP有什么好的想法和建议。其实我感觉可能只是看上去跟人打比较新鲜,真正玩起来或许也没那么有意思。不过没关系,反正我写这个也是用来消磨时间的,即使最后没人玩我也不会特别在意。
5. 我在做分析可行性时,曾搜索到一篇强文《从曹操传分析战棋类游戏的精神 》(相关链接就不贴了百度一下就有了),里面 @胖史来姆 和 @无敌神鸟人 之间的讨论十分精彩。看过后真的很想见识一下这两位不同理念的高人之间的对决,因此这里冒昧地@一下邀请试试,不晓得胖史来姆是不是这个百度ID现在还有没有在玩呢。
补丁链接在二楼发吧,发了后估计又会被系统删还得再去申诉才能看到,不过熟悉的吧友应该都知道到哪下吧。
然后三楼会留来专门发直*播预告,以后条件允许的话可能会跟吧友联机测试时候进行直*播。觉得有点意思但是又懒得下载尝试的朋友,届时不妨顺道去瞧瞧。
最后,希望大家不要在此贴里发一些没讨论价值的回复,如“顶”“支持”“圣小白”“字多不看”之类。主要是考虑到如果此楼含水量太大就有可能令后来的人“只看楼主”,这样一来中间那些吧友提出有价值的回复就很难被后来的人注意到了。谢谢合作,如删莫怪。