《游侠姐妹》(附源码)《游侠姐妹》联网游戏开发实例项目状态分享游戏名称:《游侠姐妹》工具说明:本游戏前端使用EgretEgret开发,后端联网部分通过接入实现MatchvsGameCloud的SDK。游戏介绍:《游侠姐妹》是一款支持联机对战的休闲游戏。游戏的具体玩法是:当屏幕上的大灰狼走进游侠姐妹的弓箭瞄准具时,点击相应瞄准具进行射击,击中大灰狼可获得加分。红姐只能打红狼,蓝姐只能打蓝狼。如果打错了颜色或错过了自己的颜色,你的生命值就会被扣除。成功集中狼可以获得积分,使用金币可以复活狼。随着游戏的进行,狼的前进速度会越来越快。游戏时间结束后,得分最高的一方获胜。注:多人游戏:本游戏为在线对战游戏。测试完整的游戏流程需要两部手机和两个微信账号,多人对战同时进行。单人模式:登录后,大厅界面的创建房间按钮可以体验真人+机器人玩法(需要联网)。部分技术实现方案的UI使用了Egret游戏引擎。Egret有一套完整的工具来支持UI的开发。网络使用MatchvsJavaScriptSDK配合Matchvs云服务完成通信链路的开发。同步机制使用Matchvs采用帧同步策略,定时触发同步但不等待。客户端定时上报消息,服务器定时向客户端发送数据。高延迟的客户不会拖累别人。对于图片同步,实现方法也很简单。当数据同步帧和渲染帧分离时,接收同步帧数据驱动渲染帧的渲染。首先,在发送事件之前,我们设置同步帧的帧率,使用接口setFrameSync,一般设置为10(看你的项目需求)。这时候我们发送帧同步数据,sdk每隔100ms(1s/你设置的帧率)只会发送一个数据包,这个数据包含了这段时间的所有数据包(也叫这一帧数据),接收方可以接收到这一帧的数据。具体使用方法:先使用接口setFrameSync设置帧率,然后选择进入游戏界面,使用接口sendFrameEvent发送帧同步事件(例如:游戏战局实时事件)。此时房间内的所有玩家都可以通过绑定frameUpdate回调事件接收到这一帧的数据。我们的实现:玩家点击按钮射箭后,通过接口sendFrameEvent发送消息,但玩家不会立即处理客户端屏幕。当播放器(包括播放器)通过接口frameUpdate接收到数据时,修改客户端屏幕。从而实现同步。基本原理:先绑定,再发送帧同步事件(其实和普通接口一样)接收帧同步数据,根据不同的事件判断不同的事件资源地址:源码和体验地址源码地址:https://github.com/matchvs/Ra...目前游戏已上线微信平台,在线体验地址如下:
