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

类《双人成行》3D动作益智冒险类双人控制游戏开发

        服务器端采用了基于开源Kbengine(引擎使用C++和Python编写)的多人在线游戏服务器,客户端采用Unity3D。游戏支持线上的双人联机房间功能。

资源地址:类《双人成行》3D动作益智冒险类双人控制游戏开发教程 | Unity 中文课堂

一、游戏玩法

    进入游戏主界面,有三种玩法,第一种是单机模式,第二种是联机模式即类《双人同行》、第三种是乱斗模式。如下

图片

第一种-单机模式(单人操作模式),玩家需要操作两个角色,两个角色配合过关,目前实现了7个关卡,后面会不定期增加;在每个关卡里威廉和安娜一起冒险,根据限定的游戏时间、闯关是否成功、收集到所有的金币、宝石才能过关,并进行关卡评级。

第二种-乱斗模式(单人操作模式),玩家操作角色进行打怪过关,当所有的怪物被消灭后即可完成关卡。

第三种-双人模式(双人联机房间模式)即类《双人同行》玩法,该玩法需要用户先进行用户注册,以从“游客”角色转变成“登陆用户”,从而登陆到后台服务器端。具体为,一个玩家首先进行用户注册,然后建立房间,并把房间号告诉给别的玩家;另一个注册玩家拿到房间号后通过房间号查询并登陆到同一个房间,就可以进行类《双人同行》的玩法了。

二、游戏项目特点

* 新颖的游戏风格:3D开放空间中双人协作过关

* 游戏模式1:用户双人控制模式,一人饰两角,双人配合协同过关

* 游戏模式2:乱斗模式,经典RPG风格 - 和关卡内的各种怪物进行战斗

* 游戏模式3:双人模式(双人联机房间模式)即类《双人同行》玩法

* 通用关卡逻辑的封装:在每个关卡复用同一套过关逻辑

* 各关卡独立部分的游戏逻辑封装:每关通过逻辑接口派生的方式衍生出各自独有的游戏逻辑

* 主角和怪物角色脚本动画组件:通用的角色脚本,支持角色的逻辑业务,如idle、追逐、攻击等等,方便建立你自己的怪物角色。

* 通用的模型动画功能组件:功能组件有,如模型的简单、复杂运动的封装(旋转,移动、来回移动、多次移动)、各种功能性的开关(一次按钮触发,持续触发)、辅助角色加速跳跃的螺旋桨和模拟风力的粒子效果等等。然后可以通过这些已经封装好的众多功能组件,组合出可复用的创意形功能,当然你也可以开发出自己特有的功能组件,然后结合项目中其它功能组件组合出更多的创意形的关卡。

三、项目中学到的东西

* 游戏教程适合初学者,同时适合中高级Unity开发人员,原因如下

* 项目的开发以逐步功能的实现为顺序准则,代码也是尽量以逐行手写的方式,力求大部分学习者能够学习到游戏开发的习惯和完整的游戏开发技术

* Unity中角色控制和Animator动画:首先使用5节基础实操课进行讲解以帮助入门,然后通过若干节的课程,讲解主角和怪物的实现,以帮助更深入的掌握

* 关卡复用的“模型动画功能组件”的制作:帮助大家掌握动画的制作,通过这部分内容大家同时也能学到3D数学在游戏开发中的使用。

* MVC的UI游戏框架的学习:首先使用9节课程进行MVC的基础DEMO讲解;然后通过若干节的课程,讲述在游戏中MVC框架的业务实现技术细节,以帮助更深入的掌握。

* 多人在线的游戏服务器开发:首先使用6节课进行基于C++和Python的游戏服务端的讲解,然后使用若干节课进行类《双人同行》的双人联机的网络游戏的开发学习。

* “图形学相关的知识和3D数学应用”在项目功能开发中进行了完整的讲解:如Vecto3向量、Quaternion方位、模型旋转之插值计算方法、Vector3.Dot点乘计算角度等等都在项目开发中应用并进行了详细的讲解。

* 教程遵循严格的C#编码规范:帮助大家养成良好的编码习惯,以适应正规公司多人协同下的开发流程

四、学习者需要的基础

*掌握基本的C#编码经验

*基本的Unity编辑器的使用

*由于教程是包含有基础部分的,所以不强制要求学习者掌握游戏图形学方面的知识

五、关键技术架构

* 商用级别的MVC UI框架

* 基于KBEngine分布式的多人在线游戏服务器,C++和Python的游戏中心架构技术

* 所有关卡可复用且通用的关卡逻辑

* 当前关卡独有的通用关卡逻辑(所有关卡派生功能)

* 对象池技术:对象的生成和回收复用技术,如关卡4中采用的铁球障碍物

* 通用且可复用的模型动画功能组件

* 乱斗模式中怪物的可复用技术,多种类型怪物通用同一套功能架构

http://www.xdnf.cn/news/1941.html

相关文章:

  • iOS/Android 使用 C++ 跨平台模块时的内存与生命周期管理
  • PCI 总线学习笔记(五)
  • 【网络原理】TCP提升效率机制(二):流量控制和拥塞控制
  • 高等数学第三章---微分中值定理与导数的应用(3.1微分中值定理3.2洛必达法则)
  • 通信算法之273 : 循环自相关函数和自相关函数
  • Linux:进程的等待
  • UniApp学习笔记
  • Registry镜像仓库的安装与使用
  • 26考研 | 王道 | 数据结构 | 第八章 排序
  • 阿里云基于本地知识库构建RAG应用 | 架构与场景
  • 带根线就无敌?光纤无人机如何成为电子战的终结者
  • 使用kubeadmin 部署k8s集群
  • Unity中数据和资源加密(异或加密,AES加密,MD5加密)
  • 基于大牛直播SDK的Android屏幕扬声器采集推送RTMP技术解析
  • Linux实验课
  • c++之网络编程
  • 全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
  • 计算机存储数据的顺序——小端(Little-Endian)与大端(Big-Endian)
  • chrome://inspect/#devices 调试 HTTP/1.1 404 Not Found 如何解决
  • 配置 RDP 远程桌面协议连接ubuntu服务器桌面
  • prometheus通过Endpoints自定义grafana的dashboard模块
  • C++23中if consteval / if not consteval (P1938R3) 详解
  • PySide与PyQt对比:为何PySide是更优选择
  • google ads超额投放解决策略
  • RFID使用指南
  • 大模型备案对模型训练语料的要求
  • 用 LangChain 手搓 RAG 系统:从原理到实战
  • 嵌入式鸿蒙系统环境搭建与配置要求实现01
  • WebUI可视化:第5章:WebUI高级功能开发
  • 【专题刷题】二分查找(二)