| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 架构篇《一》:我会什么?能完成一个什么样的架构 -> 正文阅读 |
|
[系统运维]架构篇《一》:我会什么?能完成一个什么样的架构 |
开篇: ??????? 我一直觉得国产游戏,需要上升一个新高度。不再是那些,一天到晚648的氪金,圈钱,圈时间。某讯的楼已经盖到40多层那么高了。 可还是在做着648氪金,骗小孩子的钱。在从技术角度和人才资源上,完全都是绰绰有余的。 ??????? 国产网游起步在,? 03年左右。03x讯代理某游戏,上架了国区。那个时候的网游,初步还都是2D,大话西游,传奇这些类似暴力的东西。那个黑暗的年代里,烧钱如烧纸,倾家荡产打装备备。到我们这个年代,这些东西默默的退场了。给现在的00后怕是,根本不会多瞧一眼。但,就算这样,照样可以月流水2亿。 ??????? 所以, 那个时候的是一种什么样子的架构。上古时代可能就没有那么多刀子,勺子的 直接就是ClientN,Server。 那么,对应的后期,人数越来越多,服务器的性能也到达了极限,无法满足当前的需求了。开发商的钱包赚的越来越厚。开始,想这,拆分服务器。把对应的服务分到对应的服务端上,这时候就有了,一些所谓的什么 GateWay,Login,Account, Logic,GamServer,CenterServer,DB这些。把对应的服务都独立出去。这个时候服务端,会长什么样?就是大概下面这样。 客户端,依旧不变,服务端,被拆分出来,好多功能。client 只跟网关交互,而网关去请求对应的服务。这就是一种MMO类型的游戏架构了。架构的方式多种多样,所选对应游戏的类型不同,架构方式也不同。比如卡牌类, MOBA类,还有网页端的,这就是三种了。就不列举了。毕竟能有一套,玩精的就足够你折腾了。这上面大多是一种长连接架构(TCP),网页端不算(HTTP)。 ????????那么下一带,如今的现在的架构会是什么样的。有人可能听过ECS的架构。ECS架构 ,这个架构叫ECS,是17年GDC 峰会上谈出的,提到了用一种EntityComponentSystem的架构,虽然现在早已物是人非了。ow2也远遥不可及了。翻译过来就是 实体(Entity),组件(ComponentS),系统(System)统称ECS。这个架构给人的感觉是一种新的思维方式去解决问题。并不是按照传统的拆分,组合。 ???????????把结构这个简单的说一下:把官方那个图拿过来更形象一点。是这样说的,假如,我有一个世界,我的世界里,只有两种东西System,Entity。Entity里只有Component(组件)组件里包含了各种组件A,B,C,D。而System里就只包含了行为。换句话说,就是。这个System里只有函数,Component里只有成员变量。System利用这些成员变量表现行为。world世界,又EntityAdmin。所以大体就是这样一个结构。这个项目从开始立项研发,到发布,大概是四年的时间。而这个主讲前身是泰坦陨落的主要程序之一。泰坦项目前后经历许多的变革,不得放弃了。随后出来的这overwatch算是泰坦的前身。彼此有着不可拆分的关系。18年之后,Unity上陆续也有了一些ECS的架构,具体的可以去搜搜。我不写了。Lua的ECS也有,好巧不巧的我还用过。你问我懂了多少?那就是没有。?? ????????好多人说,这个moba+fps两种类型游戏的结合。其实是四种,深刻的体会,去玩才能感受到。那么,作为一个资深20年游戏玩家的我,和一个玩了这个游戏有四五年的时间里。可以很明确的告诉你,这就是一个帧同步,协议也是UDP。不然,不可能有现在这样的结局。现在什么结局?玩过的,都知道了。不细说了。 ??????? 那么,我们来准备写自己的框架了。先前的东西,大概会一律不用。抛弃,所有的旧概念。用全新的东西。我准备使用上UDP,在UDP基础上做重传。就是重写一套自己的网络层。 为什么不用TCP? 不为什么,达不到效果。 如果用UDP的话,你的这是一个什么游戏? 用UDP的话,就是帧同步了,即时战略类游戏吧! 你的框架会长成什么样子?结局会不会和ow一样? 答案是:可能会的。服务端只做相对的转发。至于长什么样,大概会有一个新的样子出来。 UDP不可靠,你怎么解决? 已经有较好的解决方案了。 引擎的话你打算用什么? Unity或Unreal(20年的五月份刚发了UE5)。底层渲染可能会上DX12,我会选用FSR。目前FSR的底层渲染已经被我拿过来了。可以看下跑起来的实列。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:52:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |