English: please use your browser to translate to english
一个LOL风格的球球大作战游戏,基于ET,使用状态同步
基于C#双端框架ET框架,ETPlus ET8.1加强版(EUI+YooAsset+Luban)。 注意:当前Master正在同步ET8.1升级修改(基础热更流程,技能/Buff系统已经迁移完毕,开房间匹配跟ET8.1一样修改ConstValue数量即可,当前房间内已经支持玩家移动同步,尚缺技能、子弹同步)。
此游戏为ET的一个实践项目demo,玩法主要是球球大作战类型的吃食物吃敌人/被敌人吃的生存玩法。此项目采用状态同步,所有碰撞检测、技能、AI等逻辑都放在服务端执行。当前仍在开发中,具体功能模块及进度看下面的Todo即可
国内GitHub访问异常或者速度太慢可以前往Gitee Legends-Of-Heroes拉取项目
-
- 安装Unity2022.3.15f1,安装VS2022/Rider2023,安装.Net8 SDK.
-
- Unity打开编辑器菜单:ET/BuildTool,CodeMode选择Client,找到GlobalConfig, 勾选EnableDll,按F6编译客户端代码(请不要用IDE编译dll,当前仅支持Unity编译递增dll),Init场景找到Global上的Init脚本选择YooAsset运行模式为EditorSimulate
-
- 打开ET.sln,编译整个项目,运行DotNet.App.(服务器、客户端拆分模式才需要单独运行,默认是Client-Server模式)
-
- Unity运行游戏即可看到登录页面,输入账号密码登录即可
- 接入UnityC#热更新框架HybridCLR,包含热更新资源检测下载流程。
- 一键打包(支持HybridCLR模式一键打包,不需要分开处理,当前测过Win/Android),菜单栏:ET/Build/一键打包xxx
- 接入Unity运行时可视化Log调试组件Debugger
- 接入基于UGUI适配ET的UI框架EUI
- 接入YooAsset资源管理打包热更框架,实现热更下载重载逻辑。
- 摇杆控制角色移动,相机跟随,通过服务端广播位置同步
- 实现一个比较基础版本的断线重连,返回登陆等操作。
- 配置表接入强大的多平台配置方案 Luban
- 房间大厅,匹配房友,每个房间最多20个玩家。
- 一个Demo关卡流程:有限的2d地图,随机生成食物,吃食物会变大,碰到敌人会产生伤害(大吞小,小死亡)。
- 基础战斗技能框架设计,主动/被动技能释放(demo已经包含主动技能演示)。
- Buff系统
- 时间线技能事件系统
- 子弹碰撞系统(碰撞检测使用Box2dSharp)
- 额外(有空的话):2d moba玩法。
感谢JetBrains公司提供的使用许可证!