当前位置: 首页 > news >正文

Cocos Creator《星际征服者》3D实时对战战机类游戏

演示视频

Cocos Creator《星际征服者》3D实时对战战机类游戏

联系作者

微信号:devzhl
联系方式.png

源码下载

Cocos Creator《星际征服者》3D实时对战战机类游戏

游戏体验

  • 进入游戏后有三个体验账号,可以登录不同账号体验联机对战。
  • 玩家也可以进入游戏后注册自己的账号体验游戏
  • 游戏第一次打开会比较慢,请耐心等待(最低配的云服务器)。
  • web体验地址
  • 安卓下载地址

开发环境

  • 引擎版本:Cocos Creator 3.6.1
  • 前端编程语言:TypeScript
  • 后端框架:FastAPI
  • 后端编程语言:Python 3.6
  • 通讯方式:Http、Websocket
  • 数据库:Mysql 8.0.28

已适配平台

H5微信小游戏Android原生iOS原生抖音小游戏OPPO小游戏vivo小游戏

游戏简介

《星际征服者》是一款致力于带给玩家极致实时对战体验的星际战机类游戏,为玩家带来高度紧张的星际战斗体验。在这个宇宙中,玩家将操控星际战机,参与激烈的空战。玩家需要凭借精湛的飞行技巧和快速的反应能力,在变幻莫测的战场上击败对手。

游戏玩法

  • 玩家可以创建房间等待对手加入,或者直接快速开始游戏。

  • 安卓端玩家通过手柄控制镜头方向,PC端玩家通过长按鼠标控制镜头方向。点击加速按钮进入加速状态,加速状态下,战机能量会减少,减少到0则会结束加速状态。蓄力炮能量满后,点击蓄力炮按钮,可以发射蓄力炮。基本操作如下图。
    群体.gif

  • 当瞄准镜锁定敌人后,瞄准度高于特定值会自动发射子弹,瞄准度低于特定值会结束自动发射子弹。
    自动攻击.gif

  • 能量值满后,点击蓄力炮按钮发射蓄力炮(PC端可以按E发射蓄力炮)。
    蓄力炮.gif

  • 点击加速按钮,进入加速状态(PC端可以按W进入加速状态)。
    加速移动.gif

  • 当敌方护盾归零则会击毙敌方。
    攻击.gif

  • 当被敌人击中时,护盾值会降低。
    被攻击.gif

项目说明

  • 基于这套源码,可以学会搭建前后端框架、使用Centos服务器部署、Http域名绑定、ICP备案、Nginx转发等游戏开发到上线的流程
  • 该资源从0开始搭建了前端、后端开发框架(前端框架说明、后端框架说明),并且这套框架下已经开发了各种类型的游戏(其他源码),您可以通过该资源学习如何搭建前后端通用开发框架。
  • Http域名的绑定、ICP备案、域名购买等可以参考(其他文档)
  • 游戏本地启动:前端代码中把script/common/GlobalVar.ts文件中的server_url和ws_url改为本地,然后运行后端项目即可。运行指引
    image.png

游戏功能列表

  • 快速匹配功能:如果检测到有可加入的房间就加入战斗,如果没有则自动创建房间战斗。
  • 房间系统:可以创建房间,选择房间加入战斗。
  • 状态同步框架:同步玩家基本操作、预测玩家位置状态同步给其他玩家减少延迟感。
  • 心跳断线检测机制:长时间收不到心跳会断开与玩家的连接。
  • 游戏AI:自动攻击、自动追踪、自动瞄准等功能。
  • 战机基本控制:旋转、移动、射击、加速等。
  • 界面动画:锁定动画、检测敌人标记、敌人坐标显示等。
  • 欧拉四元数万向锁问题处理。
  • 手机端和PC端操作兼容。
  • 缓动系统封装。
  • 3D音效管理。
  • 相机动画系统。

同步实现

  • 游戏中使用的是状态同步的方式实现,即每0.1s广播所有玩家的位置状态,发射子弹等指令。
  • 游戏逻辑放在房主客户端处理,而不是放在服务器处理游戏逻辑。服务器把所有的玩家操作同步给房主,然后由房主处理所有的游戏逻辑(包括碰撞检测、AI执行等)。
  • 房主运算游戏逻辑与传统服务器运算优缺点对比
    • 优点:
    1. 房主同步逻辑这样做可以大大减少服务器的压力,运算的压力全部集中在了房主客户端。服务器仅仅是做协议的分发,即使是性能很差、很便宜的服务器也可以承载大量玩家。
    2. 开发更加简单,因为游戏的逻辑全部在客户端,可以直接客户端调试逻辑运行,不需要服务端来写游戏逻辑。
    3. 可以利用引擎优势开发游戏逻辑,例如物理等较难实现的效果,可以直接使用引擎自带的物理系统,而不需要后端自己植入一套物理引擎。
    4. 不需要多个客户端处理一个逻辑,调试开发更加方便快捷。
    • 缺点:
    1. 房主网络不好会影响所有的玩家,因为逻辑会集中在房主运算,房主运算结果不能及时的发给服务器,就会导致其他玩家看到的表现效果异常。
    2. 防作弊困难,因为所有的逻辑集中在房主客户端,房主修改数据可以很容易作弊。
    3. 房主断线需要自动切换其他玩家为房主处理游戏逻辑(本游戏中已处理这个问题)。
  • 结合上面的原理,本游戏的同步方式更加适合低成本的游戏开发者使用,对于这种同步方式的缺点,可以通过下面的方式优化(本游戏中目前没做这些处理):
    • 对于网络环境不好影响其他玩家的问题,可以通过检测房主网络状态,如果房主心跳异常可以自动切换到网络较好的房主。
    • 对于防作弊问题,服务器可以对房主广播的数据进行进一步检测,确认是否有异常操作。

框架功能列表

  • 前端框架文档
  • 后端框架文档
  • 该框架主要采用了ECS的设计模式
  • 资源管理框架
    • 只需要输入资源的路径,就把可以直接加载对应的资源,同时自动监听资源的释放,对应节点被销毁会自动释放引用的资源。
      image.png
  • PROP监听者模式
    • 先监听对应的属性heroName,绑定函数
      image.png
    • 修改heroName后,会自动触发所有绑定的函数
      image.png
  • 消息管理框架
  • MVC框架
    • 一行代码即可创建ItemDlg界面,同时自动把ItemDlgCom添加到对应节点
      image.png
  • UI自动转代码工具
    • 选择预制体,点击自动生成代码即可生成节点数据,可以快速获取节点。
      动画.gif
  • 简单的对象池功能
    • 输入预制体路径,自动新增对象池管理资源
      image.png
  • 导表excel转代码
    • 里面附带了现成的excel转ts工具,可以直接导出代码,只需要配置excel即可新增角色、关卡等
      动画.gif
  • 音效管理系统
  • 时间管理系统
    • 一行代码添加定时器
 SysMgr.getSys(TimeSys).addTimer(this, "loop", this.loopTime, true);

技术文档

  • 该源码有完整的技术文档,开发过程中遇到任何问题也可以联系作者。
  • 前端框架文档:该文档详细说明了前端框架代码以及各个模块的使用
  • 后端框架文档:该文档说明了后端的模块以及各个模块的功能实现
  • linux服务器部署:该文档说明了如何在centos服务器上部署项目,以及部署项目所需要执行的指令
  • 游戏逻辑文档:该文档说明了游戏的逻辑控制实现
  • 运行指引:第一次运行项目指引
  • excel游戏配置:游戏的导表配置
  • https的nginx配置:配置nginx转发,配置ssl
  • 其他文档:记录一些备案、服务器部署、域名配置等链接和服务器文件路径等
  • 文档汇总:这里将汇总所有的项目文档,后续新增的文档可以在这里查看

游戏运营

战机配置(fighter.xlsx)

  • 通过配置excel可以设置不同战机的属性值
    image.png

内置插件

1. UI自动转代码工具

选择预制体,点击自动生成代码即可生成节点数据,可以快速获取节点。
动画.gif

2.微信打包自动刷新

打包微信平台后,自动删除一个文件再重新复制进去(主要是解决打包微信平台后,微信开发者工具不会自动刷新的问题)。进入插件调整一下bat和hook.js的路径即可。

商城其他源码


《绯色神域online》联机对战卡牌回合制游戏

《绯色神域》ai生成的卡牌回合制游戏

《幻境之巅》联机对战 消除类 回合制游戏

文字斗争

消消乐(PC、安卓、H5)益智类 项目展示+完整项目源码

《图形决斗》帧同步实时对战策略类游戏

几何武装蛇

喵喵退退退

基于函数替换的热重载

python游戏分布式强连接框架

常用动画效果

AI生成资源汇总

游戏开发集成工具

搞心态小游戏-闯关类

3D俄罗斯方块

购买须知

本产品为付费虚拟商品,一经购买成功概不退款,请在购买谨慎确认购买内容。

版权声明

  • 3D模型源于:Kenny空间站场景
  • 该游戏的框架和代码可以商业化使用,图片资源由AI和PS生成可以随意使用。
  • 本套源码不可转卖,不可众筹。
  • 严重声明:请用于合法项目,若发现用于涉嫌违法项目,将中止任何交流与合作,且概不退款。

http://www.mrgr.cn/news/75021.html

相关文章:

  • 设计模式(四)装饰器模式与命令模式
  • Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】
  • Rust学习(二):rust基础语法Ⅰ
  • Leetcode 3352. Count K-Reducible Numbers Less Than N
  • 智慧医疗:纹理特征VS卷积特征
  • 常用字符串和集合处理工具类
  • 基于Springboot+微信小程序的健康饮食小程序 (含源码数据库)
  • 飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问
  • 什么?postman 还可以做性能测试?
  • C++的返回值在内存中的传递过程
  • 【微信小程序】关于小程序开发过程中的一些经验之谈,很有用!!
  • StableDiffusion系列教程 |SD提示词编写指南
  • PSRR仿真笔记
  • 37拼购模式后期可能面临的问题及解决方案
  • 数据分析师证书怎么考
  • 后端-实现excel的导出功能(超详细讲解)
  • 海天味业监事交易违规,新任女掌门现管理漏洞
  • 121、SQL Server取开始时间、截止时间
  • redis的事务
  • 编程之路,从0开始:知识补充篇
  • Spring Boot 应用程序中集成 Redis 并实现存储读取字符串或者复杂对象
  • 得物精准测试平台设计与实现
  • ros1 noetic跑UR5_gripper_camera_gazebo
  • Android Framework AMS(16)进程管理
  • Excel筛选的操作教程
  • QEMU 模拟器中运行的 Linux 系统