找回密码
 点一下
查看: 1141|回复: 6

galaxy + 自制协议可能实现非BN多人对战

[复制链接]
发表于 2010-11-9 11:58:10 | 显示全部楼层 |阅读模式
http://bbs.plu.cn/thread-1343715-1-1.html

hmm。简单的说就是设计协议模拟游戏的主机行为,即玩家异步发送操作 -> 主机验证发回 -> 同步执行。
通信使用自制程序,而执行则使用galaxy,直接在galaxy环境中与程序进行交互。(自定义native)

这样就可以用单人游戏模拟出多人对战了。。
发表于 2010-11-9 12:20:45 | 显示全部楼层
虽然有很多不可能想说。但我觉得要考虑有人去做才是王道啊。不管成功不成功什么的。。
回复

使用道具 举报

发表于 2010-11-9 12:39:11 | 显示全部楼层
重新看完了帖子。楼主的设想的确是相对比较可靠的。
但问题还有一些,例如:
1、现在操作的函数可以HOOK,但如果BLZ方面加密这些地址,是否还可以这么简单的HOOK到。
2、通信中的操作同步、掉线处理之类的。
3、随机因子的问题(在帖子中好像也有提到)。
4、异步对象(例如war3中的localplayer)的操作。

或者其它的一些东西,如galaxy中的一些数据仓库的实现之类。个人感觉可以实现一些简单的功能。但要完全支持需要走很长很长的路。
回复

使用道具 举报

 楼主| 发表于 2010-11-9 13:08:52 | 显示全部楼层
引用第2楼喂喂于2010-11-09 12:39发表的  :
.重新看完了帖子。楼主的设想的确是相对比较可靠的。
但问题还有一些,例如:
1、现在操作的函数可以HOOK,但如果BLZ方面加密这些地址,是否还可以这么简单的HOOK到。
2、通信中的操作同步、掉线处理之类的。
3、随机因子的问题(在帖子中好像也有提到)。
4、异步对象(例如war3中的localplayer)的操作。

或者其它的一些东西,如galaxy中的一些数据仓库的实现之类。个人感觉可以实现一些简单的功能。但要完全支持需要走很长很长的路。


1. 这个问题不大。。
2. 如果屏蔽所有的选择和操作,然后用galaxy实现同步(更重要的是实现alive包!控制好每个玩家的时间轴),应该是可以同步的。。
3. 这个,开始之前同步吧。。。
4. 可能会需要在本地修改玩家属性,例如冒充玩家的player属性要改成玩家而不是电脑,否则如果地图判断则会错误。。
bank那么远的事情还是不想了。。
回复

使用道具 举报

发表于 2010-11-9 13:15:55 | 显示全部楼层
嗯。基本上我也觉得这样可以实现一些简单的地图。例如对战什么的应该会比较欢迎。
回复

使用道具 举报

发表于 2010-11-9 13:52:59 | 显示全部楼层
理论上可行
支持FB大做出来~~~
回复

使用道具 举报

发表于 2010-11-10 03:13:41 | 显示全部楼层
那个帖子一上来就看懂LZ思路了,觉得想法非常好。但担心的也很多,我觉得这个做法风险实在是太大了(暴雪的更新很容易修改你步骤里用的那些东西),而且我个人觉得galaxy的效率并不好,对于同步,会出现达不到最终效果的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-22 15:29 , Processed in 0.084123 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表