Demo简介

个人Demo项目,所有代码都已在github开源。// 个人博客:CodingCodingK.top github首页:github.com/CodingCodingK

使用Unity客户端、.net core服务端实现类王者荣耀帧同步Moba手游。系统方面主要实现了背包系统;战斗方面,实现了主要游戏流程、实现了3个人物及其技能:亚瑟、后裔、金克斯(lol)。

  • 使用UDP通信、Protobuf协议实现帧同步网络通信库
  • 使用Odin、xNode实现自定义可视化编辑器,且保持数据一致
  • 使用Luban实现本地Excel数据配置导表方案
  • 使用对象池、虚拟列表等进行背包系统优化
  • 使用定点数实现碰撞环境生成、确定性物理碰撞检测
  • 实现基于客户端负责计算的帧同步Moba战斗系统
  • 不同客户端独立计算的显示结果统一与运动平滑
  • 逻辑层与显示层分离,复用技能、Buff、子弹逻辑代码的战斗系统
  • 业务内容上,大致实现了登陆系统、大厅主城、背包系统、匹配系统、选角系统、加载系统、战斗系统。

Demo演示视频⭐

1P 游戏内容展示:登录客户端1 => 大厅、背包系统展示 => 登录客户端2 => 匹配、选人、加载读条系统展示 => 整个战斗流程展示 => 结束返回大厅。

2P 开发环境展示:Excel配置、自定义编辑器、服务器数据库等。

视频地址 ↓↓↓

https://www.bilibili.com/video/BV1ML4y177hc

Demo演示环境

服务器:使用腾讯云,配置 4核 8G 带宽10M 微型个人服务器。

真机测试:华为P40手机 鸿蒙OS。

Demo源码

apk下载地址(可连远端服务器,支持安卓实机):https://pan.baidu.com/s/1tI8O0xLUQ4xP9YpQrNxOgQ 提取码:1234

MobaDemo(双端)源码地址:https://github.com/CodingCodingK/UnityMobaDemo

Demo实现细节展示

限于篇幅以及可观赏性,很多东西没办法通过视频的形式呈现,

每个模块的demo代码以及个人笔记地址。

项目实现细节

技能系统、物理碰撞模拟等在项目中的运用:王者荣耀复刻项目 笔记目录

使用Protobuf协议的UDP简易网络通信库

源码地址:https://github.com/CodingCodingK/CodingK_Session

个人笔记:工具篇:protobuf序列化 工具篇:帧同步网络库

常用定时器

源码地址:https://github.com/CodingCodingK/CodingKTimer

个人笔记:工具篇:定时系统

自用定点数数学库

源码地址:https://github.com/CodingCodingK/CodingKMath

个人笔记:工具篇:定点数运算数学库

自用定点数物理碰撞模拟

源码地址:https://github.com/CodingCodingK/CodingKPhysx

个人笔记:工具篇:定点数物理碰撞库

基于Luban实现的Excel配置方案

源码在moba demo中。

个人笔记:工具篇:本地配置

Odin、xNode自定义编辑器

源码在moba demo中。

个人笔记:工具篇:Odin 可视化编辑器 王者荣耀复刻项目 技能配置编辑器篇

此外

其实在开始这个Demo之前,为了能够学习游戏开发,在业余时间我也在各类网课学习了很多简单的游戏案例,尝试理解一些框架诸如GameFramework、UGUI的源码。从2021年4月起学习Unity官方游戏案例Ruby,到如今正式求职一份Unity工作已经过去了一年。我还有很多想学习的,想做出更接近商业级的东西。

非常感谢也许是面试官也许是hr的您,能够看到这里。