![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
一些总结和笔记
文章平均质量分 90
空、白、
NO GAME NO LIFE
展开
-
【学习总结】通用服务端框架(二)
玩家的数据结构当客户端连接服务端时,它还只是一个连接,只需要处理网络信息收发和心跳。当玩家输入用户名和密码,点击登录按钮之后,客户端会和某个游戏角色关联起来,因此需要一个数据结构来记录这些信息。(这里设置为player对象)当玩家成功登录之后,程序会给player对象赋值,player对象包含id(帐号)等信息,代表一个游戏角色。游戏角色的某些数据需要保存到数据库而另一些则不需要。因此给Player对象定义一个PlayerData类型,它记录了所有需要保存到数据库的信息。 public clas原创 2022-03-12 16:17:24 · 5875 阅读 · 0 评论 -
【学习总结】通用网络服务端框架(一)
以下内容摘自《Unity3D网络游戏实战》PS:好久没发版号了,感觉要失业了~服务端架构服务端的大致框架如下图所示服务端程序的两大核心是处理客户端的消息和存储玩家数据。(也可以将一些消耗性能的计算放到服务端来进行)。“网络底层”是指处理网络连接的底层模块,它有处理粘包半包,协议解析等功能。消息处理模块属于游戏的逻辑层,比如当收到客户端的MsgMove协议的时候,服务端会在消息处理模块中记录玩家坐标,然后将MsgMove协议广播给所有的客户端。在服务端中,事件处理指的是玩家上线和下线之类的操作,这些原创 2022-03-09 12:12:01 · 6201 阅读 · 0 评论 -
【学习总结】通用客户端网络模块
内容摘自最近继续看的《Unity3D网络游戏编程》NetMannger和ByreArray综述同前文,网络模块的核心静态类是NetManager,它将提供一些基础的网络方法。NetManager基于异步Socket实现,异步Socket回调函数把收到的消息按顺序存入队列msgList中。Update方法依次读取消息,再跟几乎监听表和协议名,调用相应的处理方法。网络模块分为两个部分,第一部分是框架部分Net。Net包含网络管理器NetManager、为提高运行效率使用的Byte原创 2022-03-06 20:29:17 · 4375 阅读 · 0 评论 -
【学习总结】《Unity3D网络游戏实战》正确收发数据流
目录TCP数据流粘包半包现象解决方案1.长度信息法2.固定长度法3.结束符号法代码部分大端小端问题解决方案使用Reverse()兼容大小端编码手动解决完整发送数据TCP数据流当客户端和服务器使用TCP协议进行通信的时候,当收到对端数据时,操作系统就会将数据存入到Socket的接收缓冲区中。操作系统层面上的缓冲区完全由操作系统操作,程序并不能直接操作他们,而是要通过Socket.Recive和Socekt.Send方法来间接操作。同时,缓冲区分为发送缓冲区和接收缓冲区两个部分Socket的Recive方原创 2022-02-05 12:27:52 · 1475 阅读 · 0 评论 -
【学习总结】《Unity3D网络游戏》Part 1
以前都是在客户端这边研究一些逻辑和画面效果,乘着大四最后一个寒假学习一些服务端和客户端交互的内容,正好买了这本书,边看边做边写笔记,希望能用到毕设里面另外多提一句。微软居然把暴雪收购了!!我超,这下压力来到了索尼这边目录Socket相关socket概念Socket通信的流程TCP和UDP协议Unity异步Echo程序客户端部分服务器部分测试Socket相关socket概念网络上的两个程序通过一个双侠奴工的通信连接实现数据交换,这个连接的一端称为一个Socket。一个Socket包含了进行网络通信必原创 2022-01-19 15:47:57 · 2371 阅读 · 0 评论 -
【学习总结】CatlikeCoding基础渲染部分(资源指路)
利用提前实习的摸鱼时间,摸完了Unity大佬CatlikeCoding的基础渲染部分,然后把完整跟完之后的源码和笔记都上传过来~(Github日常发疯,以后再传了)笔记大致如下源码附带注释原创 2021-11-11 17:27:13 · 2787 阅读 · 1 评论 -
【学习总结】在Unity中用C#写一棵红黑树
红黑树作为基本的二叉查找数据结构,大概是属于游戏客户端这边必须知道的东西。所以一不做二不休,干脆手写一个出来。参考文章或视频:红黑树原理和算法详细介绍红黑树详解首先需要知道的是红黑树的特性:红黑树的每一个节点都必须是红色或者是黑色红黑树的根节点一定是黑色的每个叶子节点(这里指的是NULL的那些节点)是黑色如果一个节点是红色的,则其子节点一定是黑色的,即不存在两个连续的红色节点从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点与AVL树相同,红黑树由于也是一棵平衡二叉树,所以原创 2021-09-14 13:21:00 · 681 阅读 · 0 评论 -
【学习总结】Ray tracing in the next Weekend
这是Ray tracing三部曲的第二部,这一part稍微有点上了难度,很多地方其实比较难思考,但是书上是说了个大概思路就给出代码过了。我自己去尝试理解这些部分花了些时间(本来应该更早出这篇的)。还是一样,因为原书其实写的很详细了,所以我只对不太好理解的地方做出补充~(或者评论区告诉哪里不太清楚,我们一起探讨一下)如果有错误的地方,烦请指正~!原书链接在这里:Ray Tracing The Next Week推荐翻译在这里:日天大佬的翻译自己的代码GitHub:Ray Tracing The Ne原创 2021-08-19 12:22:23 · 1685 阅读 · 5 评论 -
【学习总结】Ray Tracing in One Weekend(梳理与总结)
被群友推荐了这个光追(这一篇应该是路径追踪)教程,学完下来确实收获蛮多的,也解决了以前遗留的很多问题。最大的感触是,图形学是真的好玩,hhhhh 晚点看看能不能开个超清分辨率来渲染一张图,就看GPU能不能挺住了。如果有错误的地方,欢迎指出这门课的前置知识可能需要闫令琪老师的101课程,b站就可以搜得到(强推)整个制作流程原文在这里:Ray Tracing in One Weekend但我推荐这位老哥的翻译:中文翻译本文还有一些引用的地方来自于这一篇我觉得也可以成为教程级的博客:光线追踪渲染实战原创 2021-08-08 15:05:03 · 4501 阅读 · 0 评论 -
【学习总结】COCOS的渲染流程
秋招了秋招了,再不写点总结就寄了,由于我最爱的Unity底层代码看不到,所以只能从COCOS底层的渲染过程大致揣测一下Unity的做法文章结构关于COCOS渲染流程的一些总结COCOS渲染流程的启动Visit()方法做了什么关于COCOS渲染流程的一些总结首先,COCOS组织整个项目资源的方式是通过资源树来进行的。据以往学习到的知识来看,使用资源树最大的好处是方便做空间划分然后剔除掉不用渲染和处理的部分,(四叉树,八叉树等空间划分法加速处理过程)。因为只要一个节点不在相机范围之内,那么这个节点之后的原创 2021-08-05 21:42:27 · 2030 阅读 · 0 评论 -
【学习总结】C++八股文(应该会持续更新,嗯 )
跑路吧,做游戏没有前途的,hhhhC++八股文C++基础面向对象编程部分类部分内存管理相关关键字相关STL与泛型编程部分容器(Containers)迭代器(iterator)算法(algorithm)仿函数(Functor)适配器(adpater)分配器(allocator)C++基础面向对象编程部分类部分面向对象的三大特性:封装、继承、多态封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别继承:子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和原创 2021-08-05 20:12:17 · 2483 阅读 · 3 评论 -
【学习总结】快速的渲染管线相关知识回顾(入门向)
这两天实习中被指派的新活是将项目的渲染流程和渲染管线做一个整理,写成一篇提供给新人看的入门文档(我也是新人啊喂!新人写给新人看的文档真的好吗,hhhh)然后我摘抄了不涉及保密协议的部分出来,同时对照着之前学习的内容做了一个整理,希望能帮到同样是需要回顾或者入门的同学们另外:如果文中有错漏的地方,十分欢迎在评论区或者私信指出(怕误人子弟)文章结构渲染管线概述应用阶段几何阶段光栅化阶段关于渲染管线的剔除视锥体剔除(平截头体剔除)遮挡剔除裁剪背面剔除渲染管线概述渲染管线一般指的是一个物体从场景中被渲染到原创 2021-08-03 11:40:16 · 506 阅读 · 0 评论 -
【学习总结】游戏客户端可能需要知道的有关服务器消息分发的一些小知识
注:这些知识来源于我实习中的一些总结,由于需要遵守公司的保密协议,所以很多东西不会往深了讲,会关联网上的相关内容进行介绍。作为游戏客户端,MVC游戏架构比较流行的当下,其实是需要去了解客户端如何与服务端交互,需要去了解消息是如何被分发传递下来的。文中还会提及作为游戏客户端需要掌握的一些常见知识,不过这一部分我只会大致提及,具体的内容还是需要找到资料学习清楚文章结构一、大致流程二、Socket套接字2.1 概念2.2 链接过程2.3 Scoket类型2.4套接字缓冲区2.5一般传输模型三、Porotob原创 2021-07-27 18:58:43 · 779 阅读 · 0 评论