Unity多人在线网络游戏实战(Moba类)

从网络到战斗全面解析

4.00 (23 reviews)
Udemy
platform
中文
language
Game Development
category
instructor
Unity多人在线网络游戏实战(Moba类)
263
students
19 hours
content
Oct 2021
last update
$34.99
regular price

What you will learn

学习Unity客户端与游戏服务器的交互

学习用户系统、大厅、匹配、聊天、战斗系统的开发

学习网络同步相关的技术

Why take this course?

从0开始,讲解多人在线网络游戏的开发,本课程将教会大家如何去开发网络系统、各个常用的游戏模块,如账户、角色、大厅、聊天、匹配以及战斗等,课程不仅讲了Unity客户端的开发,同时也讲解了服务器的开发、以及Protobuf协议、Ecxel配置表转CS脚本等工具的开发和使用,服务器使用C#进行编写,网络使用UDP作为通信协议,在UDP的基础上针对数据可靠、有序进行了封装。

Reviews

Chin
December 4, 2023
本人看到第2季 就跟intro说的一样,这个course本身需要一定的c#基础和unity开发经验 为什么这么说呢, 因为从第2季开始,很多bug导师是没留意到的,所以第2季的Bug学生要自己修 比较严重的Bug都是和多线程有关的和静态(static) 数据构造结构 首先来说一下static, 因为unity本身是不会帮你重置static variable的,导致很多进入playmode和退出playmode的写入和读取没有在下一次进入playmode状态下重置,所以null reference 老是莫名其妙的触发 再来就是多线程, 导师没有很小心的去处理多线程, 游戏在退出playmode的状态下,实际上多线程的逻辑还是在后台跑着的, 如果这些不出来,会触发很多很难发现的Bug,比如说 ReceiveTask里的awaitHandle因为导师没有写管理所以multithreading task的api, 所以当你退出playmode在进入的时候,有几率发生上一个ReceiveTask的API在接受服务器的包裹,而新的ReceiveTask收不到服务器的包裹,这会导致在当前HandleTask的这个awaitHandle的包裹为0,但旧的awaitHandle也就是ReceiveTask里的awaitHandle储存了所以服务器发送过来的包裹,简单来说就是一个平行时空,你已跃迁到下一个时空,但你所要的包裹被送到上一个时空,你在新的时空是获取不到上一个时空的东西 其余方面还是蛮实用的 比如说UI MVC 的这个框架能够很好的处理游戏的UI, 比起手动写一个script for 每一个UI Window, 集中起来有效率的管理,方便很多 还有就是net event的dispatch方式也是很实用, 至少不需要在每一个需要监听事件的物体添加event的reference,很好的实现的了event集中管理 整体来说课程内容还是有实用的东西,但是如果没有自己动手DIY的能力,也就是没有一些开发经验的人,那这个course可能不适合你,因为就算你一步一步照着教程去写,你还是没有修复我上面提到的严重Bug.

Charts

Price

Unity多人在线网络游戏实战(Moba类) - Price chart

Rating

Unity多人在线网络游戏实战(Moba类) - Ratings chart

Enrollment distribution

Unity多人在线网络游戏实战(Moba类) - Distribution chart

Related Topics

3634360
udemy ID
11/14/2020
course created date
11/20/2020
course indexed date
Bot
course submited by