IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 后端游戏引擎调研-2021.07 -> 正文阅读

[游戏开发]后端游戏引擎调研-2021.07

一、Redis的消息同步

简单的可以做websocket,支持有限

https://zhuanlan.zhihu.com/p/107109334

二、Unity自身插件

Network组件 实现状态同步

1.Transform同步

2.发射子弹与减血的同步

3.动画的同步

Multiplayer 服务

中继服务器;负责玩家之间的连接更加稳定、可靠

介绍

https://docs.unity3d.com/cn/current/Manual/UnityMultiplayerSettingUp.html

Unity’s Multiplayer Service is the easiest way to set up real-time, networked games for Unity. It’s fast to implement and highly customizable. Unity-provided servers and matchmaking services ensure that your players can easily find and play with each other.

案例

《Apex英雄》24天从0到5000w

成本

您可以免费获得20CCU(并发用户)(专业版的为200)。如果需要更多,我们将收取0.49美元的费用来支付基础设施的费用(中继服务器),并取消这个限制。

这费用用来支付您所使用的带宽

三、商业引擎

ETKBEngineSkyNet
技术栈客户端服务器共用C#
支持很多C#新特性,语法简洁、高效
底层架构C++
逻辑层Python实现的MMOG游戏服务器框架
底层架构C
逻辑层Lua作者自述该框架是服务器框架的框架
服务器架构特性双端ECS支持
Actor模式支持
类守望先锋架构
2.0版本开始服务器端支持ECS
基于实体定义的服务器对象管理概念简洁明了
基于 Actor 模式的开源分布式并发框架
作者唐海,经历不明柯标,开源中国站长云风,Lua领域大神
跨平台能力较难,与Unity和C#语言紧耦合可支持Unity、UE4、Cocos等多平台项目通过Protobuf对接,不直接支持跨平台
文档和案例完善度5.0开始加入教程
没有专门文档有官方案例
文档比较成熟
案例相对丰富已经被电魂网络收购,
英文文档, 有中文翻译
商业游戏养不大
天天躲猫猫2(ios2019春节下载排行19)
牛虎棋牌
很多卡牌、棋牌游戏在用简悦的陌陌争霸、食物战争等等很多产品在用
热更支持可热更改造后可支持服务端逻辑层热更,客户端热更需要自行实现需要自己开发的功能较多
网站https://github.com/egametang/EThttps://github.com/kbengine/kbenginehttps://github.com/cloudwu/skynet
引擎开发语言C#PythonLua
今年累计更新501486
维护频率2-3天一次,都是大范围的代码修改和维护平均每半月一次,主要都是小范围的修复bug2-3天一次,更新内容较多
数据库MongoDBMongoDB/MySQLMongoDB
参与开发者3136103
星数4.6k4.5k10.4k

四、其他小众商业引擎

pomelo

网易开源的框架,支持分布式, 周边完善

一个用于Node.js的快速,可扩展的分布式游戏服务器框架

https://github.com/NetEase/pomelo

NoahGameFrame

几月c++支持c#/lua,是一个轻量级,快速,可扩展的分布式插件框架,基于Bigworld的思想,可用作MMO RPG / MOBA游戏旖旎情

https://github.com/ketoo/NoahGameFrame

代表做全民无双

pitaya

基于golang,可伸缩的分布式游戏服务器框架

使用的技术比较先进 ETCD实现服务发现 NATS GRPC实现rpc可以docker部署, 国外公司TFG Co 开源项目

https://github.com/topfreegames/pitaya

zooba appstroe排行很高的moba、吃鸡类游戏

goworld

用Golang写一个分布式可扩展、可热更的游戏服务器

GoWorld代码:https://github.com/xiaonanln/goworld

Pinus

Pinus是基于node.js的高性能,分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。 Pinus不但适用于游戏服务器开发, 也可用于开发高实时web应用,它的分布式架构可以使Pinus比普通的实时web框架扩展性更好。

http://pinus.io/zh-cn/introduce.html

Leaf

Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。

Leaf 的关注点:

  • 良好的使用体验。Leaf 总是尽可能的提供简洁和易用的接口,尽可能的提升开发的效率
  • 稳定性。Leaf 总是尽可能的恢复运行过程中的错误,避免崩溃
  • 多核支持。Leaf 通过模块机制和 leaf/go 尽可能的利用多核资源,同时又尽量避免各种副作用
  • 模块机制。

https://github.com/name5566/leaf/blob/master/TUTORIAL_ZH.md

五 面临的问题

1 服务器运维

docker

https://blog.csdn.net/qq_19646129/article/details/102477071

https://www.cnblogs.com/geekmao/p/7992731.html

https://gitee.com/llsw/docker-skynet

kubernetes(k8s)

主要包括以下几点:

  1. 服务发现与调度
  2. 负载均衡
  3. 服务自愈
  4. 服务弹性扩容
  5. 横向扩容
  6. 存储卷挂载

2 热更

A. Lua

SLua、Tolua、XLua

slua:https://github.com/pangweiwei/slua

tolua:https://github.com/topameng/tolua

xlua:https://github.com/Tencent/xLua

B. ILRuntime

http://ourpalm.github.io/ILRuntime/public/v1/guide/index.html

C. 对比

50万次的加法运算#

ILRuntime使用全局变量:UnitTest_Performance50万 Elapsed time:1050ms, result = 445698416 ,Tick:10527445

ILRuntime使用局部变量:UnitTest_Performance50万 Elapsed time:534ms, result = 445698416 ,Tick:5436060

Unity原生代码:mono UnitTest_Performance50万 Elapsed time:1ms, result = 445698416 ,Tick:19900

xlua中lua:[10:42:43.8636]LUA: cost: 4.00ms

D. 一些评语

第一,ILRuntime相对于lua来说还算是比较新兴的东西

第二,很多公司有自成一套的lua框架,不想也不需要使用ILRuntime

第三,lua热更新是wow带起来的,那么大一个ip,大家也都知道,并且信任lua

但是就如你所说,ILRuntime开发效率比lua高很多,虽然纯计算的话性能不如lua,但是游戏开发还是逻辑居多,所以长远来看ILRuntime无疑会越来越流行,如果没有另外一款牛逼的热更方案介入 ILRuntime会慢慢的把lua挤出市场。

E. 网站介绍

http://ourpalm.github.io/ILRuntime/public/v1/guide/index.html

https://zhuanlan.zhihu.com/p/260216935

https://www.jianshu.com/p/495372db2527

使用ILRuntime来实现热更新的优与劣!

https://cloud.tencent.com/developer/news/151033

3 苹果审核

对于绕审, 苹果的态度是一样的

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 11:59:17  更:2021-07-25 11:59:30 
 
开发: 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年3日历 -2024/3/29 19:15:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码