/CrazyCar

网络联机游戏解决方案---Unity制作的联机赛车游戏,服务端为SpringBoot + Mybatis Plus;后台为Vue + Element;游戏端采用QFramework框架,Addressable+HybridCLR实现热更新,支持KCP和WebSocket网络。

Primary LanguageC#MIT LicenseMIT

网络联机游戏解决方案

中文 |  English


简介

Crazy Car是一款联机赛车游戏,她的整体架构为:QFramework & Addressable & HybridCLR(游戏端) + Spring Boot & Mybatis(服务端) + KCP / WebSocket (网络) + Vue & Element(后台),借助于此架构,开发者只要稍作修改就可完成一款定制化的网络联机游戏。

主要提供的演示功能有:登录注册、热更头像与装备、计时赛、双人比赛、版本控制(后台)、用户信息管理(后台)等功能。

下载:AndroidIOS (由于证书问题,如果想体验ios需要单独联系作者)

ID:(VIP账号 :Tast;密码:111111 )

开始使用(视频)  |  技术文档  |  更新日志  |  设计文档 

👏 欢迎使用 Crazy Car

📢 Crazy Car处于开发阶段,线上的数据库会不定期重置;mater不是发布分支,建议使用最新releases进行本地测试


特性 👇

Finish

📌支持版本强制更新

📡网络同步采用物理同步方式

☎️支持KCP和WebSocket两种网络传输协议

🌁使用URP渲染管线

📘资源热更新方式为Addressable

♨️热修复使用:HybridCLR

🎮采用Unity新版本Input System,支持多款手柄

👽机器人,计时赛中机器人可与玩家共同竞技

🌅 支持头像和装备的资源热更新

🚀 登录页面可以一键切换单机模式

🚗 可以进行头像和赛车的购买和穿戴

📱你可以在 WindowsAndroidIOS 设备上使用此客户端

🌏 支持多语言,通过TranslateEditor.cs可以一键创建多国语言

📄 个人信息页面,记录个人成就

♊ 计时赛和多人比赛两种竞技模式

👶新手教程功能,提供可视化配置新手教程方案

🎢 路线规划功能,自定义路线

🌟 引入技能系统,让玩家能够学习和升级各种技能,增强游戏深度和策略性。

Future Support

🛠️ 创意工坊

  • 玩家可以自定义赛道和车辆,例如添加贴花等。

🏗️ 基于Actor的ECS架构重构游戏服务器

  • 使用基于Actor的ECS架构重构当前的服务端游戏部分。这种架构能够提高游戏服务器的性能和可维护性,使系统更加灵活和高效,适应未来更多的扩展需求。

🔁 回放系统

  • 实现游戏回放功能,允许玩家回放自己的比赛或观看其他玩家的比赛录像。

🎞️ 增加Unity的后期处理特效

  • 在游戏中引入Unity的后期处理特效,如泛光效果、景深、抗锯齿和颜色校正等。这些特效将大幅提升游戏画面的视觉质量,使游戏看起来更加生动和逼真,从而增强玩家的沉浸感和整体游戏体验。

🤝 好友系统

  • 添加好友、私聊、组队功能,增强玩家社交互动。

🎨 UI/UX优化

  • 不断优化用户界面和用户体验,提升整体操作流畅度。

🤖 AI优化

  • 不断优化AI的智能和行为,使其更具挑战性和趣味性。

🔒 数据安全

  • 加强用户数据的安全保护,防止数据泄露和作弊行为。

联系

📧 : TastSong@163.com

QQ群:577016553

视频课堂:image-20240710170059182


示例截图


贡献者

CherryWhite

欢迎任何形式的贡献,你可以用 pull requestsissues 的方式提交任何想法。

🌱 当然 Crazy Car 还很年轻,有很多不足,但请相信,它会不停向前​ 🏃


项目优化

优化方案总览

详细文档地址

已完成的优化

  1. 动态合批、静态合批、手动合批、GPU Instancing、SRP Batcher
  2. LOD
  3. Mipmap
  4. 包体优化
  5. 网络同步算法
  6. Addressable

引用

  1. UnityWebSocket: The Best Unity WebSocket Plugin for All Platforms.
  2. QFramework: Unity3D System Design Architecture
  3. java-Kcp: 基于java的netty实现的可靠udp网络库(kcp算法),包含fec实现,可用于游戏,视频,加速等业务
  4. kcp4sharp: kcp for c#.
  5. DOTween (HOTween v2) Unity Asset Store
  6. Unity实现简化版卡丁车漂移
  7. UIEffect: UIEffect is an effect component for uGUI element in Unity
  8. UnityNativeShare: A Unity plugin to natively share files
  9. Path-Creator: Path creation asset for Unity game development
  10. AudioKit:音频控制插件
  11. Same Material - Static Mesh Combiner :Mesh合并
  12. AutoLOD:自动生成降低Mesh并生成LOD
  13. UniTask: Provides an efficient allocation free async/await integration for Unity.
  14. 全部免费字体大全 (chaziti.cn)
  15. Transparent Culling System (URP) 遮挡剔除插件
  16. Simple Spin Blur
  17. LearnUnityShader: 记录学习Unity Shader过程中实现过的一些Demo)
  18. Simple Water Shader URP
  19. Metaverse Full-Body Online 3D Avatar Creator | Ready Player Me
  20. spring-boot: Spring Boot
  21. Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
  22. element: A Vue.js 2.0 UI Toolkit for Web
  23. vue-element-admin: A magical vue admin
  24. Midjourney
  25. Customizable skybox | 2D 天空 | Unity Asset Store
  26. Plugins for mobile platforms to enable file downloads in background (github.com)
  27. focus-creative-games/hybridclr: HybridCLR是一个特性完整、零成本、高性能、低内存的Unity全平台原生c#热更方案
  28. 在Unity中制作完整的技能系统(介绍篇) - 知乎 (zhihu.com)

Star History

Star History Chart

赞助

Featured|HelloGitHub

证书

MIT