Coder Social home page Coder Social logo

flameskydexive / legends-of-heroes Goto Github PK

View Code? Open in Web Editor NEW
518.0 13.0 118.0 630.59 MB

A battle of balls game, lol style. 基于ET 8.1的双端C#(.net8 + Unity2022.3, EUI+Luban+YooAsset)多人在线英雄联盟风格的球球大作战。

License: MIT License

C# 87.72% Emacs Lisp 0.01% Batchfile 0.35% C 1.50% C++ 0.23% CMake 3.25% Shell 0.30% PowerShell 0.02% Smalltalk 0.01% Smarty 6.59%
et lol dotnet ecs statesync battleofballs batte game unity mmo

legends-of-heroes's Introduction

Legends-Of-Heroes

English: please use your browser to translate to english

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

Main

基于C#双端框架ET框架ETPlus ET8加强版(EUI+YooAsset+Luban)。 注意:当前Master正在同步ET8.1升级修改(基础热更,技能/Buff系统已经迁移完毕,差开房间组队),跑Demo请切换到ET7.2+分支。

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

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

国内GitHub访问异常或者速度太慢可以前往Gitee Legends-Of-Heroes拉取项目

环境:

    1. 安装Unity2022.3.15f1,安装VS2022/Rider2023,安装.Net8 SDK.

运行步骤:

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

TODO && Features

  • 接入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公司提供的使用许可证!

JetBrains的Logo

友情链接/鸣谢

UniJoystick 一个基于UGUI通用摇杆组件

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

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

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

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

legends-of-heroes's People

Contributors

752636090 avatar dream-young-soul avatar egametang avatar ep-toushirou avatar fistchina avatar flameskydexive avatar hi-fangj avatar ihaiucom avatar kteong1012 avatar kylinok avatar lishengyang-yiyi avatar mister91jiao avatar petertan123 avatar starsmiao avatar susices avatar tenbit avatar web-flow avatar wqaetly avatar zzgamer666 avatar zzjfengqing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

legends-of-heroes's Issues

FixedUpdate 在 ThreadScheduler 和 ThreadPoolScheduler 线程里好像不是固定间隔

FixedUpdate 只有 MainThreadScheduler 是通过 FixedUpdate 单例的回调实现了固定时间间隔刷新,【World.Instance.AddSingleton<FixedUpdate, Action>(FixedUpdate);】

而 ThreadScheduler 和 ThreadPoolScheduler 好像都是直接在 Thread 的 while 循环里和 Update 一样调用了,没有走 Xenko 的固定时间间隔刷新器里的流程。

TemplateMultiKeys 有个问题

TemplateMultiKeys.txt里有个小错误
第22行 foreach ((ConfigName) config in list)
应该是 foreach ((ConfigName) config in s.list)

不然在多个key时,生成的catagory里的dict会有问题

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.