admin管理员组文章数量:1619729
2019年01月20日草稿
0x00 项目思路
注:作者不是专业的游戏开发者,只是按照自己思路进行此项目开发,如有实际更好的方案欢迎指出共同进步。目的如下:
- 让读者熟悉MQTT使用方法
- 验证PVP网游帧同步方式
- 为AI人机算法作铺垫
此项目只用了3天左右的时间,得利于MQTT和Unity3D这两个很适合快速原型开发的好东西。
0x01 准备工作
- 消息中间件使用MQTT
- 逻辑服务端使用Java编程
- 游戏客户端使用Unity3D/C#开发
- 游戏场景和人物模型可以去某宝几块钱买到,或者使用Unity3D自带资源
0x02 搭建MQTT服务器
这里使用EMQ作为MQTT服务器 官网 http://www.emqtt/
下载对应系统的版本,bin目录下命令行启动即可
EMQ 服务启动:
emqttd start
EMQ 服务停止:
emqttd stop
EMQ 2.0 消息服务器默认占用的 TCP 端口包括:
端口号 | 说明 |
---|---|
1883 | 1883 MQTT 协议端口 |
8883 | MQTT/SSL 端口 |
8083 | MQTT/WebSocket 端口 |
8080 | HTTP API 端口 |
18083 | Dashboard 管理控制台端口 |
启动好后浏览器打开 http://localhost:18083/ 可进入后台控制面板,默认登录用户名: admin, 密码: public
里面有个Websocket客户端工具方便调试
0x03 Unity3D客户端连接MQTT服务器
Unity3D用C#来开发,引用mqtt的客户端dll库即可,这里用的是M2Mqtt.dll
在unity项目目录下的Assets目录下新建 Plugins 文件夹,并将生成的 M2Mqtt.dll 和 M2Mqtt.pdb连个文件放入其中即可完成导入。
需要注意的是由于Unity Mono的.NET版本问题上文提供的dll库用不了,详情可参考《vs2017导入m2mqtt.dll使用mqtt协议开发unity3d客户端》
这里提供一个Unity3D可用的M2Mqtt库 点击下载 M2Mqtt_Unity3D
C# MQTT客户端编程可参考我的另一篇文章:《MQTT协议 C#客户端》
0x04 Java服务端连接MQTT服务器
0x05 客户端连接管理
php登录、session持久化同步
服务器管理连接,Redis管理连接
0x06 自定义消息通信协议
0x07 登录并获取用户信息
网页+mqtt形式
0x08 房间组队逻辑实现
红蓝队
0x09 队友和全体消息逻辑实现
0x10 人物行走同步逻辑实现
版权声明:本文标题:利用MQTT和Unity3D开发英雄联盟 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728794225a1174016.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论