/Legends-Of-Heroes

A battle of balls game, lol style. 基于ET 8的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战。

Primary LanguageC#MIT LicenseMIT

Legends-Of-Heroes

English: please use your browser to translate to english

一个LOL风格的球球大作战游戏,基于ET,使用状态同步 loh22023532242551

Main

基于C#双端框架ET 注意:当前Master正在同步ET8升级修改,跑Demo请切换到ET7.2+分支。

觉得项目不错的话麻烦右上角给个star哈.

此游戏为ET的一个实践项目demo,玩法主要是球球大作战类型的吃食物吃敌人/被敌人吃的生存玩法。此项目采用状态同步,所有碰撞检测、技能、AI等逻辑都放在服务端执行。当前仍在开发中,具体功能模块及进度看下面的Todo即可

环境:

    1. 安装Unity2022.3.0,安装VS2022/Rider2023,安装.Net7 SDK.

运行步骤:

    1. Unity打开编辑器菜单:ET/BuildTool,CodeMode选择Client,然后点击BuildModelAndHotfix.
    1. 打开ET.sln,编译整个项目,运行DotNet.App.(服务器、客户端拆分模式才需要单独运行,默认是Client-Server模式)
    1. Unity运行游戏即可看到登录页面,输入账号密码登录即可

TODO && Features

  • 接入UnityC#热更新框架HybridCLR
  • 接入Unity运行时可视化Log调试组件Debugger
  • 接入基于UGUI适配ET的UI框架EUI
  • 接入YooAsset资源管理打包热更框架,实现热更下载重载逻辑。
  • 摇杆控制角色移动,相机跟随,通过服务端广播位置同步
  • 实现一个比较基础版本的断线重连,返回登陆等操作。
  • 配置表支持多Key(也可自行接入强大的多平台配置方案 Luban,当前Demo用不到那么复杂excel就不进行接入了)。
  • 房间大厅,匹配房友,每个房间最多20个玩家。
  • 一个Demo关卡流程:有限的2d地图,随机生成食物,吃食物会变大,碰到敌人会产生伤害(大吞小,小死亡)。
  • 一个比较基本的战斗技能框架设计,主动/被动技能释放(demo已经包含主动技能演示)。
  • 时间线技能事件系统
  • 子弹碰撞系统(碰撞检测使用Box2dSharp
  • 额外(有空的话):2d moba玩法。

补充说明

  1. 多key配置说明,表格配置多key如下,字段列头顶增加“key”标识即可,最多支持4个key,组合key最后会合并成一个long字段存储,4个key最大数值分别为:32位,16位,8位,8位。 image

    示例,读取技能等级表中技能id=1001,level=2的数据:

    SkillLevelConfig skillLevel = SkillLevelConfigCategory.Instance.GetByKeys(1001, 2);

支付宝二维码捐赠(如果觉得还不错的话,扫码请我喝杯咖啡继续维护更新增加更多功能哈)

QQ图片20230619181842

特别鸣谢

感谢JetBrains公司提供的使用许可证!

JetBrains的Logo

友情链接/鸣谢

UniJoystick 一个基于UGUI通用遥感组件

X-ET7 ET7的一个分支,集成FGUI+YooAsset+Luban

NKGMobaBasedOnET 烟雨的开源moba案例,基于ET5.X魔改

XAsset 一个很高效易用强大的资源管理系统(打包/加载/热更)

ETPro ET加强版,基于ET6.0,自带技能系统、UI框架、镜像版无缝大世界。