类《双人成行》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中采用的铁球障碍物

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

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

相关推荐
清风笑烟语17 小时前
rustfs 集群部署
3d
还是大剑师兰特21 小时前
Unity 从零搭建简易3D场景(新手分步教程)
3d·unity·游戏引擎
EQ-雪梨蛋花汤1 天前
Android 3D 开发教程(三):Sceneform-EQR 配置 PBR 材质、光照、相机与实时阴影
android·3d·材质
弈语道破AI1 天前
3D渲染不再熬时间!即梦 Seedance 2.5 具备3D白模渲染功能的AI视频生成工具
人工智能·3d·音视频
答案—answer1 天前
VibeCoding 能做到什么程度?我用它做了一座 3D 数字博物馆
3d·ai编程·threejs·vibecoding
玖玥拾2 天前
Unity3D RPG 入门项目(四)背包拖拽、物品悬浮提示、项目开发思维
3d·unity·游戏引擎
cyadyx3 天前
【Three.js】Three.js 中加载 3D 模型
前端·javascript·3d
chaoyuanl3 天前
悬空玻璃剧场源头厂家选型全解析|270°裸眼3D悬空玻璃剧场投资避坑指南
大数据·人工智能·3d·xr·娱乐·mr
在下胡三汉3 天前
GLTF vs OBJ vs FBX vs GLB:选择合适的 3D 文件格式,怎么获取下载
3d
fanfan_hongyun3 天前
Cesium for unity (可加载3dTileset)
3d