需求:
完成8个玩家在同一个竞技场内使用各系魔法竞技;50*50
环境随着时间减少而缩小;
地图内会发生随机地形魔法,可以被玩家触发;
胜利玩家,和击杀数可提供额外的奖励 ;
玩家可以购买装备提升自己;
玩家可以通过提升等级来强化自己;
游戏模式分为普通的娱乐模式,乱斗模式和赛季排名;
环境中有部分地形可以阻挡部分魔法;
玩家可以进行一对一聊天;
游戏中可以语音输入,多人聊天;
成就系统;
玩家达到要求可以学习新技能;
总体设计:
前端Unity3D;
模型设计:MAYA,PS;
后台架构 springboot + netty redis mysql,kakfa;
架构图:
网络传输:统一前2位定义长度,之后2位定义操作,之后全为消息内容
协议:protobuf,json
操作内容及编号
0-9999 系统消息 100ping 101 pong
10000-29999战斗信息
大厅:
房间 :10001 快速加入,10002 房间列表 10003 加入,10000 退出,10004切换房主,10005 准备,10006 取消准备,10007开始
战斗: 11000战斗开始,11001战斗结束 11002加载就绪 11003移动 11004释放技能 11005受到伤害 11006玩家死亡 11007输入聊天信息
(战斗逻辑在后台计算)
商店信息:
商品列表 购买
角色信息:
查看当前角色信息
查看历史记录
装备 拥有装备和装备装备
技能 拥有技能和装备技能
装备(技能) 取消装备
聊天信息
好友列表 添加好友 删除好友 发送消息
战斗协议详情
1开始游戏2.移动信息3.释放技能4.被打中6.死亡7.游戏结束8.退出
数据库设计
参数:参数编号,参数名称;
参数类型:编号,所属参数编号,参数类型名,类型描述;
用户:主键,账号,密码,名称,头像,邮箱,电话,角色编号,有效状态,创建时间,唯一key;
用户好友表:主键,用户主键1,用户主键2;
角色:编号,用户id,名称,金币,属性编号,包裹编号,装备编号,技能编号,创建时间,游戏编号,场次,rank,kill;
角色-游戏表:主键,角色编号,游戏编号,详情编号,创建时间;
游戏:游戏编号,游戏类型,开始时间,是否有效;
详情:游戏编号,详情编号,角色编号,造成伤害,承受伤害,杀敌数,死亡数,助攻数;
属性:角色编号,属性编号,血量,魔法值,攻击力,防御力,血量回复,魔法回复,施法速度,移动速度,冷却缩减;
包裹:包裹编号,包裹内容;
装备:装备编号,帽子,法杖,魔法石,衣服,裤子,手套,戒指(l),戒指(r),项链,鞋子;
用户意见反馈:反馈编号,反馈名称,反馈内容,反馈时间,反馈处理,反馈结果;
法术设计
法术设计的思路:向量发展,然后压缩,量变引起质变;
基础魔法:
闪烁:进行一次短暂的位移
法力涌动:击退四周的敌人,击散附件的魔法
火球术:向目标发射技能,击退遇到的第一个敌人
法术接口:编号,名称,动画,施法时间,冷却时间,耗蓝,伤害,图标,施法距离,作用范围,法术属性,描述;
装备设计:
装备接口:编号,名称,描述,模型,属性加成,类型,等级,打孔,强化,附魔;
简单背景
魔力衰竭的时代,魔法师们因资源匮乏,明争暗抢魔法石来增强自己的实力。魔法工会为了减少不必要的伤亡,开启了魔法战场,在场内你无需杀害你的对手,只需要将他们击退就可以取得胜利。胜者将会得到更多的魔力提升能力。弱者需要团结起来击退强者,强者需要分化弱者,保证自己的胜利。去战场,击败更多的对手获取更多奖励。
前端设计
场景:ui , 动画, 音乐
首页:登录,注册,
大厅:商店,商品信息,用户信息,技能栏,装备栏 ,好友列表
房间信息:地图选择,玩家列表
战斗场景:摄像机跟随,玩家信息,技能拖拽释放,聊天信息,点击屏幕移动,地形,技能特效
已完成: 人物使用简单模型
人物释放技能
技能碰撞到人物会击退人物,人物扣血
地形随时间减少
人物血量为零消失
人物在火焰场景下持续扣血
网络同步
登录注册
弹窗提示
房间系统
技能特效优化
技能种类扩展
地形模型优化
声音添加
待做:人物模型优化
人物使用UI控制器
人物详情ui
技能栏ui
装备背包ui
商店ui
github
服务端源码:https://github.com/ynhj123/magicWarServer.git
客户端源码:https://github.com/ynhj123/magicWar.git
一.投掷类法术
1.弹射法球,碰到物体或玩家后反弹,能无限反弹。
2.回力镖,碰到物体反弹,碰到玩家消失,满级可反弹四次。发射者接住可以减少CD.
3.月牙法球,发射月牙型轨道的法球,可用于攻击掩体后的玩家。
4.火球术,升级后飞得越远越大。
5.冰片术,没有伤害,会造成持续减速。
6.导航法球,会自动攻击沿途最近的敌人。
7.魔法飞弹,充能型法球,等级越高充能次数越多。
8.电击术,发出闪电可攻击掩体后的玩家。
二.防御类法术
1.反射脉冲,反射周围的法球。
2.能量盾,格挡并反射一个方向的法球。
3.锁链术,免疫击退并且降低收到的伤害。
4.相位转移,效果类似dota2 帕克的F,激活后免疫所有技能并能手动取消。
5.岩柱,竖起一根岩柱格挡法术。
6.时之锚,在当前位置放一根锚,再次激活后可返回锚的位置。
7.风行步,隐身,升级后可制造一个幻象。
8.虚空吞噬,激活后吸收鼠标方向受到的法术。
三.AOE法术
1.黑洞,拉扯周围的法球和玩家。
2.落雷术,召唤落雷攻击指定位置。
3.陨石术,召唤陨石造成巨大伤害。
4.毒池术,召唤一个缓慢扩大的毒池。
5.奥术地雷,召唤一个奥术地雷,碰到的玩家受到伤害并击退。
6.九头蛇,射出一个法球飞行一定距离后后分裂成几个小法球。
四.功能性法术
1.钩锁,发射后如果抓住掩体则会把玩家拉向掩体,如果抓住玩家则会把玩家抓向施法者。
2.次元门,在面前和目标地之间建立两个次元门,法球弹道会穿过次元门攻击。
3.加速术,提高移动速度,可提前取消。
4.抓取术,传送到目标地点并在短暂延迟后返回,会抓取目标地点的玩家一同返回。
5.时间罩,建立一个时间气泡,其中的法球和玩家移动速度都会减慢。
五.位移类法术
1.闪现,瞬移到目标地点
2.冲锋,冲向目标地并击退沿途玩家。
3.交换法球,发射一个发球再次激活后与法球交换位置。
4.次元步,短距离闪现两次,升级后为三次。
5.旅行宝珠,化身成一个宝珠快速移动,免疫法术。