【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。

Legends-Of-Heroes

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

Main

基于C#双端框架[ET7.2],同步到ET主干详情请看日志。(https://github.com/egametang/ET) 注意:已经升级.Net7,请安装.Net7 SDK.

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

运行步骤:

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

TODO && Features

  •  接入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);

原文链接:https://www.cnblogs.com/flamesky/archive/2023/05/09/17385936.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • asp.net 文件下载功能函数代码整理

    我来为您详细讲解如何整理“ASP.NET文件下载功能函数代码”。 1. 准备工作 在开始整理代码之前,我们需要先创建一个空白的ASP.NET Web应用程序,以及在应用程序中添加文件下载功能所需要的按钮和相关控件。 2. 在代码中添加文件下载功能函数 我们可以在C#代码中添加文件下载功能函数,使我们能够在需要的地方直接调用该函数来实现文件下载。下面是一个简单…

    C# 2023年5月31日
    00
  • C# WinForm实现自动更新程序的方法详解

    C# WinForm实现自动更新程序的方法详解 在开发Windows应用程序时,自动更新功能是一项非常重要的功能。本文将介绍如何使用C# WinForm实现自动更新程序的方法。 第一步:设计自动更新界面 在设计WinForm的自动更新界面中,需要考虑以下几个方面: 显示当前应用程序版本号和更新版本号; 显示更新进度和下载速度; 提供更新日志和更新说明; 提供…

    C# 2023年6月1日
    00
  • C# 获取系统字体的示例代码

    获取系统字体是C#语言中常见的操作之一,可以通过以下步骤和示例代码来完成。 步骤一:导入字体库 在C#中,需要导入System.Drawing.Text的命名空间,该命名空间包含了查找系统字体的类和方法。可以在代码中使用“using System.Drawing.Text;”对该命名空间进行导入。 using System.Drawing.Text; 步骤二…

    C# 2023年5月15日
    00
  • C# 模式匹配完全指南

    C# 模式匹配完全指南 什么是 C# 模式匹配? C# 7.0 开始加入了一种新的特性,那就是模式匹配(Pattern Matching)。模式匹配的主要作用是用来匹配各种数据类型,从而简化我们的程序设计,并且让代码更加简洁易懂。 C# 模式匹配的类型 常量模式(Constant Patterns) 次类型模式(Type Patterns) 变量模式(Var…

    C# 2023年5月15日
    00
  • Solaris 10 OS 快速安裝配置 Apache + Mysql + php

    Solaris 10 OS 快速安装配置 Apache + Mysql + PHP攻略 简介 本文介绍如何在 Solaris 10 操作系统上快速地安装配置 Apache、MySQL 和 PHP 环境。 步骤 1. 安装软件包管理器 # pkgadd -d http://get.opencsw.org/now 2. 安装 Apache # pkgutil -…

    C# 2023年5月31日
    00
  • c#使用wmi查询usb设备信息示例

    下面我将为您详细讲解如何使用c#和wmi查询usb设备信息: 1. 什么是WMI? WMI即Windows Management Instrumentation(Windows管理规范),是微软在Windows NT 4.0中推出的一个系统管理标准。它提供了一种机制,用于通过应用程序编程接口(API)收集有关计算机系统硬件、软件甚至网络服务的信息。我们可以通…

    C# 2023年6月3日
    00
  • C#时间格式化(Datetime)用法详解

    C#时间格式化(Datetime)用法详解 在C#编程中,时间格式化是一个非常重要的应用,不同的时间格式化操作可以让我们更好的理解和处理时间数据。这篇文章将会详细介绍C#时间格式化的用法和示例。 1. 时间格式化基础 C#通过DateTime类型来表示日期时间。DateTime类型属性包含日期和时间,还有一些特定的格式,下面是一些常用的时间格式化操作: 格式…

    C# 2023年6月1日
    00
  • C# Linq的Join()方法 – 将两个序列中的元素联接在一起

    C#中的Linq提供了Join()方法来实现两个数据源之间的连接。Join()方法接受四个参数,可以在连接过程中指定连接的条件以及返回的结果类型等信息。接下来,我将为您提供一个完整的攻略来详细讲解C# Linq的Join()方法。 Join()方法的基本语法 下面是Join()方法的基本语法: var result = from s in source1 j…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部