此产品实现了MOBA类游戏玩法基础功能,可用于二次开发或学习全栈游戏制作技巧。
产品前后端全采用TypeScript语言实现,同时业务代码使用同一套ECS框架设计,前后端代码风格接近,便于理解学习。
前端框架采用 oops-framework 做为业务框架。
后端框架采用 tsrpc 框架,使用这套框架前后端通讯协议就不需要在学习其它中间协议语言,全自动工具生成协议代码,底层二进制传输数据,可把精力关注到游戏业务逻辑设计上,提高开发效率。(感谢 tsrpc 作者提供优秀的开源技术资源)
- 引擎版本:Cocos Creator 3.6.1(需要Cocos Creator 3.x低版本购买后联系作者获取)
- 编程语言:TypeScript
H5 | 微信小游戏 | Android原生 | iOS原生 | 抖音小游戏 | OPPO小游戏 | vivo小游戏 |
---|---|---|---|---|---|---|
✔ | ✘ | ✔ | ✘ | ✘ | ✘ | ✘ |
- 本资源仅保证支持作者已测试通过平台,其他平台理论上是支持的,其它平台兼容问题请自行适配或加入交流群与作者交流
- 有其它定制需求的开发者可加入交流群与作者交流
- 如果无同类解决方案,使用此产品二次开发网络游戏可省至少二个月的自研开发成本
- 学习 oops-framework 实战开发技巧,里面包含客户端框架中大多技术的应用
- 学习 tsrpc 实战开发技巧,里面包含服务器框架中大多技术的应用
- 学习网络游戏程序设计技巧
- 学习游戏技能系统程序设计技巧
- 玩法功能
- 账号功能
- 游戏区服
- 房间管理
- 创建
- 加入
- 选择加入
- 匹配加入
- 退出
- 网络即时战斗玩法
- 摇杆控制角色移动
- 触摸地图控制角色移动
- 弱网移动同步策略
- 网络即时战斗系统
- 角色数值系统
- 技能系统
- 技能释放前摇与后摇
- 木桩类打靶NPC
- 死亡后3秒后服务器复活角色
- 客户端功能模块
- 游戏登录模块
- 游戏公共模块
- 游戏初始化模块
- 摄像机管理模块
- 轨道摄影机
- PC平台鼠标滚轮调整镜头距离
- 地图管理模块
- 房间管理模块
- 角色管理模块
- 遥感控制移动
- 触摸地图控制移动
- 角色动作移动、攻击、死亡、复活
- 角色数值系统
- 技能系统模块
- 可自定义类扩展技能框架
- 技能配置表
- 技能数值计算框架
- 自动选目标
- 验证技能是否满足触发条件
- 技能效果对角色数值的影响计算
- 技能动画播放框架
- 立即触发效果类技能
- 远程射击技能
- 瞬发回复技能
- 全体连锁闪电技能
- 位移类技能
- 持续触发效果类技能
- 持续伤害
- 持续控制(新增)
- 持续光环类范围影响技能(新增)
- 持续陷阱类范围影响技能(新增)
- 可自定义类扩展技能框架
- 服务端功能模块
- 支持 HTTPS、WSS
- 支持 数据加密
- 服务器与服务器之间通讯白名单
- 网关服务器
- 账号登录
- 账号注册-数据库中没帐号会自动注册
- 登录权限-未登部分协议无法使用
- 匹配服务器
- 服务器初始化
- 房间服务器加入并进入工作状态
- 获取在线的游戏房间列表
- 创建一个房间
- 在人数所少房间服务器创建
- 匹配一个房间,如果在超时前没匹配到则创建一个新房间进入
- 房间服务器
- 服务管理模块
- 服务器初始化
- 申请加入匹配服务器,等待授权进入工作状态
- 登录权限验证
- 断线逻辑
- 玩家断线自动离开房间
- 与匹配服务器断线,无限尝试连接匹配服务器直到恢复正常后继续提供服务
- 空房回收策略
- 聊天业务处理
- 房间管理
- 创建
- 加入
- 选择加入
- 匹配加入
- 退出
- 房间管理模块
- 房间数据状态管理
- 房间内玩家状态广播
- 房间内战斗逻辑管理
- 服务器同步验证验证客户端技能计算结果
- 服务器只广播技能触发命令,不广播技能结果的状态,减小数据包
- 服务器验证逻辑与客户端同一套技能框架代码,减小开发成本
- 服务器同步验证验证客户端技能计算结果
- 玩家管理模块
- 玩家数据状态管理
- 玩家玩法协议代码分离设计
- 玩家移动状态同步
- 玩家移动广播
- 玩家攻击广播
- 玩家离开房间广播
- 角色数值系统
- 服务管理模块
- 公共配置 ShareConfig.ts
- 开启https与wss
- 传输协议是否使用加密功能
- 是否用二进制数据传输
- 客户端
- assets 资源与脚本目录
- 使用 vscode 打开 cocos creator 3.6.0 项目
- 使用 vscode 中的终端(Ctrl + `),运行 npm install -d
- 连接服务器配置文件 GameServerConfig.ts,默认连接外网作者的服务器,本地调试可修改为本地IP
- 服务端
- tsrpc_server 脚本目录
- 使用 vscode 打开 tsrpc_server 目录
- 使用 vscode 中的终端(Ctrl + `),运行 npm install -d
- 配置文件 Config.ts
-
安装软件
- 安装 MongoDB 官网地址:https://www.mongodb.org/downloads, 选择操作系统及位数,进入下载页
-
调试环境
- npm run dev:gate 启动网关服务器
- npm run dev:match 启动匹配服务器
- npm run dev:room 启动房间服务器
- npm run dev:room2 再启动一个房间服务器测试分布式
- npm run build 构建发布
-
生产环境
- npm install pm2@latest -g 安装工具
- pm2 start ecosystem.config.js --env production 启动生成环境
- pm2 start ecosystem.config.js --env develop 启动调试环境
- pm2 delete all 停止所有服务器
-
oops-framework 文档传送门
-
tsrpc 文档传送门