Unity多人在线网络游戏实战(Moba类)
从网络到战斗全面解析
4.00 (23 reviews)
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
Rating
Enrollment distribution
Related Topics
3634360
udemy ID
11/14/2020
course created date
11/20/2020
course indexed date
Bot
course submited by