CrazyCar
CrazyCar copied to clipboard
网络联机游戏解决方案---Unity制作的联机赛车游戏,服务端为SpringBoot + Mybatis Plus;后台为Vue + Element;游戏端采用QFramework框架,Addressable+HybridCLR实现热更新,支持KCP和WebSocket网络。
网络联机游戏解决方案
中文 | English
简介
Crazy Car是一款联机赛车游戏,她的整体架构为:QFramework & Addressable(游戏端) + Spring Boot & Mybatis(服务端) + KCP / WebSocket (网络) + Vue & Element(后台),借助于此架构,开发者只要稍作修改就可完成一款定制化的网络联机游戏。
主要提供的演示功能有:登录注册、热更头像与装备、计时赛、双人比赛、版本控制(后台)、用户信息管理(后台)等功能。



下载:Android 、IOS (由于证书问题,如果想体验ios需要单独联系作者)
ID:(VIP账号 :Tast;密码:111111 )
开始使用(视频) | 技术文档 | 更新日志 | 设计文档
:clap: 欢迎使用 Crazy Car !
:loudspeaker: Crazy Car处于开发阶段,线上的数据库会不定期重置;mater不是发布分支,建议使用最新releases进行本地测试
特性 :point_down:
Finish
:pushpin:支持版本强制更新
:satellite:网络同步采用物理同步方式
:telephone:支持KCP和WebSocket两种网络传输协议
:foggy:使用URP渲染管线
:blue_book:资源热更新方式为Addressable
:video_game:采用Unity新版本Input System,支持多款手柄
:alien:机器人,计时赛中机器人可与玩家共同竞技
:sunrise: 支持头像和装备的资源热更新
:rocket: 登录页面可以一键切换单机模式
:car: 可以进行头像和赛车的购买和穿戴
:iphone:你可以在 Windows 、Android和IOS 设备上使用此客户端
:earth_asia: 支持多语言,通过TranslateEditor.cs可以一键创建多国语言
:page_facing_up: 个人信息页面,记录个人成就
:gemini: 计时赛和多人比赛两种竞技模式
:baby:新手教程功能,提供可视化配置新手教程方案
:roller_coaster: 路线规划功能,自定义路线
TODO
- [ ] 使用UniTask优化回调逻辑
- [ ] 优化机器人逻辑
- [ ] 赛车加入悬挂系统
- [ ] 优化比赛界面,加入速度仪表盘等
- [ ] 引入Timeline,实现对话系统
- [ ] 后台:装备与头像资源配置
- [ ] 使用网格破碎实现翻车效果
- [ ] 热修复:Lua
- [ ] 优化入水效果
- [ ] VIP购买
联系
:email: : [email protected]
示例截图











贡献
我们欢迎任何形式的贡献。你可以用 pull requests 或 issues 的方式提交任何想法。
:seedling: 当然 Crazy Car 还很年轻,有很多不足,但请相信,它会不停向前:running:
项目优化
优化方案总览
详细文档地址
已完成的优化
- 动态合批、静态合批、手动合批、GPU Instancing、SRP Batcher
- LOD
- Mipmap
- 包体优化
- 网络同步算法
- Addressable
引用
- UnityWebSocket: The Best Unity WebSocket Plugin for All Platforms.
- QFramework: Unity3D System Design Architecture
- java-Kcp: 基于java的netty实现的可靠udp网络库(kcp算法),包含fec实现,可用于游戏,视频,加速等业务
- kcp4sharp: kcp for c#.
- DOTween (HOTween v2) Unity Asset Store
- Unity实现简化版卡丁车漂移
- UIEffect: UIEffect is an effect component for uGUI element in Unity
- UnityNativeShare: A Unity plugin to natively share files
- Path-Creator: Path creation asset for Unity game development
- AudioKit:音频控制插件
- Same Material - Static Mesh Combiner :Mesh合并
- AutoLOD:自动生成降低Mesh并生成LOD
- UniTask: Provides an efficient allocation free async/await integration for Unity.
- 全部免费字体大全 (chaziti.cn)
- Transparent Culling System (URP) 遮挡剔除插件
- Simple Spin Blur
- LearnUnityShader: 记录学习Unity Shader过程中实现过的一些Demo)
- Simple Water Shader URP
- Metaverse Full-Body Online 3D Avatar Creator | Ready Player Me
- spring-boot: Spring Boot
- Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
- element: A Vue.js 2.0 UI Toolkit for Web
- vue-element-admin: A magical vue admin