猫捉老鼠小程序——基于地图的游戏多人在线游戏

我要开发同款
蓝瑟科技2023年12月28日
359阅读
开发技术系统架构、mysqljavascript、设计模式、java

作品详情

项目模块:
猫捉老鼠小程序是我们针对当下火热的线下游戏猫捉老鼠开发的一款小程序。该游戏的功能主要基于地图和地理位置信息实现。通过该小程序,玩家可以发起游戏、设置游戏范围、邀请玩家并进行游戏。该小程序基于传统的猫捉老鼠游戏规则制定了游戏的流程。我们在此之上还融入一系列互联网的游戏特色,并以此来增加游戏的趣味性。如战争迷雾、在地图上随机生成道具、实时监测玩家是否在游戏区域内等。该小程序已经正式上线,可在微信搜索小程序“蓝瑟科技LBS服务猫猫捉鼠”并直接打开进入。
游戏主主要由以下几大块组成:
1.游戏创建模块,这个模块主要负责按照玩家需求创建游戏。主要创建房间、配置游戏参数、一键邀请、预设角色等多个功能组成。
2.游戏生命周期模块。这个模块控制整个游戏的进度,按照每秒一个周期来判定和调整游戏状态。该模块包含游戏结束判定、游戏范围变化、判定游戏角色变化、控制玩家视野等。
3.地图与控制特效。主要包括迷雾特效、电子围栏、敌军靠近告警、玩家显示、地图道具展示与拾取等。再出现告警时,手机会同步震动。
4.玩家数据交互模块。当玩家的地理位置信息发生变化时,玩家会实时上传。与此同时,玩家每秒从服务器上下载数据,从而能查看到其他玩家的位置、拥有道具情况、以及游戏的其他信息。
5.道具模块。主要包括道具刷新、道具显示、道具拾取、道具特效这几个功能点组成。道具会周期性的刷新在道具点,玩家使用后会有相应变化。如隐身、消除迷雾等。
使用技术:
该小程序由于需要方便实用。因此前台决定使用原生微信小程序来开发。由于微信小程序的对地图的支持有限。因此我们只能选择完备程度不高的腾讯地图来作为底图。前台的主要技术是javascript、wxss。而后台则是java、springboot、redis、mysql。为了让整个游戏活起来。我们自主编写了一个简易的游戏引擎。实现对整个游戏的全局控制。
难点攻克:
1. 迷雾特效。由于微信小程序平台受限制,我们无法自由的选择地图和使用地图,因此迷雾效果比较难以实现。最后经过多轮尝试,使用了基于半径计算和遮罩的方式实现了迷雾特效。我们首先查看地图的缩放等级、然后根据地图的缩放等级的比例尺和像素比率计算出玩家视野范围需要多少个像素,最后按这个结果绘制出一个遮罩来充当迷雾特效。
2. 游戏引擎。为了让整个游戏真正活动起来,我们必须针对性的开发一个游戏引擎来管理游戏整个游戏生命周期。游戏引擎主要包含两个部分,一个是客户端部分,也就是在小程序这一侧。一个是在服务端这一块。服务端这一侧尤为重要,涵盖了从组建游戏到游戏全部生命周期管理的部分。服务端引擎记录玩家的信息、游戏的状态,而这些状态会随着玩家移动、开宝箱、捕获敌人、逃离安全区、隐身等一系列行为的改变而改变,服务端需要对游戏的这些方面进行管理,起到了一个中央枢纽的作用。而客户端的部分则是不断和服务端进行交互,如上报自己的位置、使用道具、拾取道具等。与此同时,从客户端获取各种各样的信息,比如道具刷新信息、其它人的位置,游戏状态、游戏区域变化等信息。游戏引擎是这个LBS游戏的关键和难点,也是我们的小程序与市场上其它小程序相较之下的一个优势所在。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论