游戏录像
游戏玩法
1.类似吃鸡的小游戏,但是这里没有毒圈,武器只有炸弹,没有枪。
2.游戏开始后所有人的体力会不断下降,当体力下降到0就会死亡。
3.玩家只有吃食物增加体力才能活下去,而食物只能通过空投获取或者干掉其他玩家获取。(这就意味着你必须去干人,不能躲在一边苟活)
4.玩家开始有碰撞型炸弹、倒计时炸弹、地雷、c4,碰撞型炸弹和倒计时炸弹数量无限,其他炸弹数量有限(可以通过空投补充)。
5.空投可以获取特殊类型炸弹、食物、急救包。空投还有几率获取毒气弹。
6.空投即将降落时整个天空会变绿,提醒所有玩家空投即将到来,空投落地会发出紫光,此时空投还不能获取(避免先到的人抢了就一直跑),空投着陆一段时候后,会发出绿光,并且冒烟,此时玩家才可以抢空投。
功能
1. 动画状态机控制角色动作。
2. 分发网络协议,实现实时同步。
3. 使用Mysql存储数据。
4. 创建游戏房间,玩家可刷新房间进入游戏。
5. 聊天、弹幕系统。
实现
1. unity地形编辑器编辑地形设置碰撞。
2. 使用Mysql存储用户数据。
3. 游戏的碰撞检测是使用unity自带的。(速度过快容易出现穿透问题,可以自己实现简单的碰撞检测,用类似补帧的方式来避免速度过快导致的穿透问题)
4. 网络同步是使用状态同步,后端不断的分发各个玩家的状态来实现位置的同步。
5. 扣血的技能命中等逻辑是依靠前端判断的。(这个问题比较致命,容易出bug,这种命中判断应该由服务端进行判断,然后服务端分发说扣多少血就扣多少血。但是这个游戏是客户端说扣多少血就扣多少血,这就会出现两边不同步的情况。)
6. 状态机部分分开了上半身和全身设计动作。
7. 框架的设计参考《Unity3D网络游戏实战》设计的,这个框架比较简单易懂,可以更好的理解网络游戏开发的原理。
8. 数据库方面账号是逐渐递增的,但是为了记录递增的id又另外弄了一个表来记录最大值,这个设计有点微妙。主要就用户表、玩家数据表、递增最大id表。
9. 界面使用了MVC的设计模式。
10. 网络协议设计。
游戏截图
开发工具
unity 2020.3.32
其他说明
项目运行需要一些配置。
详细配置可参考:惊爆游戏运行流程
美术资源基本都来自unity的asset store。
下载地址
关注微信公众号:程序资源库
回复:惊爆游戏,可获取整个项目。
如若转载,请注明出处:https://www.daxuejiayuan.com/38668.html