背景
当以前开始玩安卓机的时候,就发现Android可以玩以前在红白机玩的游戏,而且可以联机,感觉真的很神奇,加上自己对红白机有特殊的情感,当时就琢磨着什么时候把这个模拟器改成可以在线联机,后来可能是运气吧,恰好找到了模拟器的源代码,于是就开始看源码琢磨,发现好像代码并不是很复杂,底层的模拟器C,C++和汇编代码可以不懂,只需要了解如何在上层调用接口就好。后来做了个聊天软件的项目,发现这个聊天软件服务器软件Openfire,Openfire作为服务端,Smack作为客户端,发送消息,传输文件都可以,可以在这个地方使用。于是就花了一段时间完成了这个联机平台。这个平台的目的是想吸引怀念经典的玩家加入,然后形成一个良好的游戏氛围。
项目解析
截图
1.主界面

2.创建连接

3.游戏中

游戏开始前
游戏联机平台需要由一方通过选择ROM创建连接,然后另一方连接,连接成功后,连接方判断本地是否存在此ROM:1.存在即发送存在消息双方同时开始游戏。2.不存在,发送请求获取ROM的消息。对方收到获取ROM的消息,把ROM发过去,另一端接收完毕,发送接收完毕消息,同时开始游戏。

本文介绍了一个基于Android的在线游戏联机平台,该平台允许玩家在线联机玩经典游戏。作者通过改造模拟器源代码和利用Openfire与Smack实现通信,创建了从创建连接到游戏进行中的完整流程。尽管Openfire在高同步需求下表现不理想,但作者计划使用Netty改进服务端以提高同步效率。项目已在GitHub开源,欢迎大家关注。
最低0.47元/天 解锁文章
314

被折叠的 条评论
为什么被折叠?



