Skip to content

Latest commit

 

History

History
192 lines (171 loc) · 4.86 KB

README.md

File metadata and controls

192 lines (171 loc) · 4.86 KB

项目信息介绍

项目名:

Defense of Paragon Legend

项目成员:

  • 陈翔飞_1851756
  • 孙文麒_1852652
  • 贾小玉_1851620
  • 邓斯语_1853615

小组成员贡献比例:

  • 陈翔飞:25%
  • 孙文麒:25%
  • 贾小玉:25%
  • 邓斯语:25%

项目github地址:

https://github.com/NeverRaR/moba/tree/master

项目进度时间线:

  • 5.22
  1. 实现基础人物的攻击和行走行为,添加攻击动画通知
  • 5.23
  1. 实现属性组件以及攻速属性和攻击行为的交互
  • 5.24
  1. 实现了角色速度变换以及方块检测
  2. 实现了攻击交互和人物死亡
  3. 优化了走a手感,实现了死亡动画通知
  • 5.25
  1. 实现了生命与魔法恢复,添加了一位新的英雄的素材
  • 5.26
  1. 添加了打击特效,修复了一次打击单个单位会被多次判定的的bug
  • 5.28
  1. 实现了近战和远程小兵的攻击行为和基本ai,添加了开火粒子特效
  2. 修复了动画路径出错的问题,添加了防御塔动画
  3. 修复CharacterProperty部分属性未暴露给蓝图的bug
  • 5.29
  1. HP/MP的UI
  2. 联机·初步完成人物移动,转向还未设置
  • 5.30
  1. 完成了经验和金钱交互,完善了士兵AI
  • 6.1
  1. 小怪刷新(还未实现阵营对立)
  2. 重写了AI Controller,优化了普通单位ai,实现了所有普通单位的模型以及动画
  3. 英雄选择关卡制作、英雄选择界面
  • 6.2
  1. 增加功能:英雄普通攻击动画 联机同步
  2. 实现了技能和buff组件,和基础技能释放
  • 6.3
  1. 实现了buff机制和吸血,添加了一位新英雄
  2. 小怪刷新修改(30s一次)
  • 6.4
  1. 完成了红蓝buff和灼烧debuff,实现了粒子特效
  2. 增加客户端播放动画的函数
  • 6.5
  1. 添加了一位远程英雄,实现了攻击和移动
  • 6.6
  1. Kuang和Shinbi两位英雄的技能联机同步完成
  2. 增加了英雄技能
  3. buff同步完成,修复Kuang技能无法释放的bug
  4. 添加了英雄ai
  • 6.7
  1. 复活
  2. 中立怪刷新
  3. 人物切换
  4. 优化了ai,添加了基地
  5. 最终生物版本,完成所有技能,完善了野怪ai
  • 6.8
  1. 英雄、防御塔、野怪可移动UI
  • 6.9
  1. feat(shinbi): 实现技能2幽灵形态的联机
  2. 联机·释放技能3
  3. 联机·技能2、技能3
  4. 联机·释放技能2
  5. 联机·普攻
  6. 联机·攻击时正常旋转
  7. 联机·释放技能1
  • 6.10
  1. 游戏结束
  2. 复活时间随等级增加增加
  3. 商店
  • 6.11
  1. 商店背包
  2. 商店买卖物品
  • 6.12
  1. 开局英雄按阵营的刷新位置
  • 6.13
  1. 联机·属性
  2. 联机·动画
  3. 实现了阵营设置
  4. 更新商店系统,出售功能
  • 6.14
  1. 小地图初版
  2. 联机·装备
  • 6.15
  1. 玩家控制器读取
  2. 修正选择关卡,新增开始界面
  3. 小地图
  • 6.16
  1. 调整小怪位置
  2. 完善了联网系统,基本release版本完成
  3. 增加等待客户端响应机制,完善了技能伤害
  4. 改善UI表现

项目开发文档

项目引擎:

  • UE4

游戏整体架构设计:

  • Server <- {网络通讯、AI、角色数据}

  • Client <-> Server 一对一

  • 游戏框架 <- {生物部分、AI部分、机制部分、交互部分}

小组分工:

  • 陈翔飞:
  1. 英雄、小怪、野怪、防御塔、水晶设计
  2. AI实现
  3. 地图地形
  4. buff实现
  5. 阵营实现
  6. 等级实现
  • 孙文麒:
  1. 全部分联机实现
  2. 具体属性设计
  • 贾小玉:
  1. 商店实现
  2. 装备实现
  3. 整体UI
  • 邓斯语:
  1. 小怪、中立怪刷新机制
  2. 小地图
  3. 英雄复活实现

设计模式:

  • 工厂模式

C++特性:

  1. 类型推断
  2. 基于范围的for循环
  3. 字符串字面值
  4. 初始化列表
  5. 类和多态

实现的功能点及实现思路:

  • 支持联机对战
  • 1v1地图
  • 三种英雄
  • 三种小兵:近战 远程 炮兵
  • 金钱的获取方式(击杀、时间、补兵)
  • 支持经验、等级系统
  • 支持装备系统
  • 支持战绩、装备查看
  • 支持小兵、防御塔、野怪AI
  • 英雄操作
  • 三种野怪
  • buff系统

困难及解决方案和过程:

联机部分的关卡切换和不同gamemode之间的交互

  • 解决过程
  1. 网上查阅相关博客资料
  2. 多次实验与探索
  • 方案
  1. 借助PlayerController的同步来完成
  2. 重载DefaultPawn

国内UE4C++教程稀少

  1. 查阅蓝图教程与官方文档
  2. 通过UE4自带的蓝图模块提示查看对应的库源码,加以应用

亮点部分:

  • 使用断言验证程序性质
  • buff实现
  • 实现所有动画同步
  • 实现小地图
  • 模型精致
  • C++和蓝图并行

其他:

操作方式:

  1. 联机时编辑bat文件,将127.0.0.1处改为目标IP即可,先运行server.bat,后运行client.bat即可。
  2. 鼠标左键攻击,鼠标右键右击目标地移动
  3. 1, 2, 3对应技能1, 技能2, 技能3的加点,W, E, F对应技能1, 技能2, 技能3的释放

special thanks to

  • ljj