基于亚马逊云科技Serverless,朝夕光年和Second Dinner携手打造年度手游

news2024/10/7 18:29:55

经典的漫威IP,酷炫的卡牌对战,丰富的故事情节,这款移动游戏《MARVEL SNAP》一经上线就深得全球玩家喜爱。在The Game Awards 2022的年度颁奖典礼上,它更是以出色的表现,一举斩获最佳移动游戏奖项。

其研发公司Second Dinner早在一开始就有一个雄心勃勃的愿景:希望能够以小博大,用小规模的工程师团队制作出拥有全球百万级别玩家、低维护成本的在线游戏。他们希望让开发人员能够快速将产品推向市场,并将他们从维护基础设施的繁重工作中解放出来。

 

c233977b7f8743089ab3823e2bb5d288.png

 

基于亚马逊云科技的Serverless架构,Second Dinner与其发行商朝夕光年(Nuverse)合作,设计并应用了一套全新的解决方案,该方案在全托管的同时具备高弹性可拓展的特性,可快速扩展到百万级别玩家。基于该方案制作的游戏在推出4个月后成为世界上广受欢迎和好评的作品之一,并获得了“年度手机游戏大奖”的荣誉。

 

机会:运用亚马逊云科技游戏解决方案,大规模提升开发速度和灵活性

卡牌游戏《炉石传说》在发布1个月内就获得了超过1000万名用户,而Second Dinner的创始人正是《炉石传说》的幕后主创。作为2019年新成立的独立游戏工作室,在得到漫威娱乐授权后,Second Dinner开始研发一款基于漫威IP的游戏。在一次行业活动中,该团队偶然遇到了来自朝夕光年的代表,他们希望与具有全球视野且经验丰富的工作室合作。

Second Dinner工程师向朝夕光年的团队展示了《MARVEL SNAP》的原型,玩家可以在在线的漫威宇宙中与包含特殊能力的数字卡牌竞争。玩家通过使用包含各种特殊能力的漫威宇宙角色卡牌与其他玩家对决,游戏风格与《炉石传说》迥异但运维特性有类似之处。

“Nuverse可以为开发人员提供规模优势,为独立工作室提供包括营销资源和投资等小型企业所缺乏的关键资源。”朝夕光年全球业务开发团队负责人Tom van Dam表示,“我们还负责后端基础设施,为开发人员提供充分的自主权和创作自由。”

在传统模式中,类似的游戏都运行在数据中心或云中的单个服务器上,但Second Dinner致力于使用亚马逊云科技游戏解决方案所提供的Serverless架构,帮助用户构建、运行和开发他们的游戏云服务和解决方案。Second Dinner的工程副总裁Aaron Brunstetter谈到,“我们在很早的时候就意识到,使用亚马逊云科技的服务可以让我们更好地聚焦于游戏的创意和开发这些独一无二的工作。为此,我们使用了一系列可以帮助我们实现目标的服务和方案。”Second Dinner在自己的亚马逊云科技账户下开发游戏,然后将架构迁移到朝夕光年的亚马逊云科技账户进行压力测试和部署。

Second Dinner和朝夕光年的团队与亚马逊云科技的技术客户经理合作,在3周内即完成了部署的迁移。“如果只靠我们自己,这将花费我们大约6个月的时间。”Brunstetter谈到,“近乎即时的转移部署对我们产品的成功发布至关重要。”完全托管的Serverless架构意味着工程师可以专注于游戏功能,而不是基础设施的运维。“亚马逊云科技的支持帮助我们快速学习,”van Dam说。“《MARVEL SNAP》在几乎没有遇到任何问题的情况下顺利发布,进一步验证了这一点。”

 

解决方案:完全托管的Serverless架构,全方位满足开发需求

Second Dinner这款名为《MARVEL SNAP》的游戏于2022年10月推出后,便在短短几个月内拥有全球范围内数百万名玩家。早期的压力测试已将并发水平推至每分钟140,000场游戏,且不会出现中断,这让团队可以更有信心地处理大量用户的请求。

《MARVEL SNAP》的其中一个重要功能是匹配:在几秒钟内评估和选择合适的玩家进行卡牌战斗。由于其内部匹配解决方案达到可扩展性上的限制,Second Dinner转而使用Amazon GameLift中的一项功能,该功能为基于会话的多人游戏提供专用服务器管理。他们使用Amazon GameLift FlexMatch功能作为独立的匹配服务,并根据《MARVEL SNAP》的需求进行定制化。Second Dinner使用Amazon GameLift FlexMatch创造了使用该服务有史以来最高的游戏匹配量。“独立的Amazon GameLift FlexMatch功能恰到好处地满足了我们需求,并且适用于我们已经采用的事件驱动型Serverless架构(Event-Driven Architecture)架构,”Second Dinner高级软件工程师Brenna Moore说,“它提供了可配置的规则集,让我们可以根据我们的需要进行高质量的匹配。”

2c389e4c9956471ba24867575cdd5a75.png

 

为了更好地服务全球六个区域内的数百万名玩家,《MARVEL SNAP》的客户端用Amazon API Gateway与玩家的移动终端设备连接。Amazon API Gateway完全托管的特性,让创建、发布、维护、监控和保护API接口变得更轻松,而它所连接的Serverless、事件驱动的Amazon Lambda计算服务,可以运行几乎任何类型的应用程序或后端服务的代码,而无需预置或管理服务器。Second Dinner基于Amazon Lambda打造的Serverless架构能够很好地与朝夕光年账户中的其他亚马逊云科技服务相集成,共同提供稳定的在线用户体验。

为了进一步提升架构的弹性,Second Dinner使用了Amazon EventBridge,这是一种Serverless事件总线,可帮助接收、过滤、转换、路由和交付事件。例如,Amazon EventBridge可以定位存储在Amazon DynamoDB中的玩家数据,Amazon DynamoDB是一个完全托管的Serverless键值NoSQL数据库。“我们不想为游戏构建后端,”Moore说,“我希望我们的精力可以花费在构建真正的游戏上。”事实上,Second Dinner为工程师省下了多达20个额外人力成本,否则他们将不得不招聘这些岗位去管理服务器和后端等基础设施的运维管理。

不仅如此,Second Dinner和朝夕光年也对基础设施成本有了更深入的了解,并且在运营业务时避免了需要自己构建硬件,并承担软件财务负担的状况。“成本从一开始对我们来说就是重要的因素,”van Dam说,“我们还能够克服时区和语言上的障碍,虽然我们与亚马逊云科技团队在多个地点一起工作,但无需花费大量时间来为基础设施提供支持,只需专注在核心功能的开发上。”该架构对跨区域游戏的支持有助于实现新的功能。例如,战斗模式为玩家提供了与朋友或互联网上的匿名玩家竞赛的选项。

 

成果:迁移后的全栈Serverless数据分析,实现30%成本降低

2022年,《MARVEL SNAP》荣获The Game Awards年度最佳移动游戏奖项。随着游戏人气的不断攀升,Second Dinner还将在游戏中持续推出新的功能,旨在满足全球数百万玩家同时在线游戏的服务需求。朝夕光年全球BD团队负责人Tom van Dam 认为,“《MARVEL SNAP》是一款旗舰级别的产品。我们在致力于为全球范围内更多玩家服务的同时,也希望以《MARVEL SNAP》为样板大规模构建这样优秀的游戏,让成功得以复制。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/662987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ElasticSearch】中文分词器

ES默认的analyzer(分词器),对英文单词比较友好,对中文分词效果不好。不过ES支持安装分词插件,增加新的分词器。 1、如何指定analyzer? 默认的分词器不满足需要,可以在定义索引映射的时候&#…

Python自动办公之合并多个PDF文件

本文基于使用pycharm平台,使用glob库和PyPDF2库实现 首先将需要合并的文件放于一个文件中 如下图 addpdf文件夹为需要合并的文件位置 good.py为代码块 代码如下 print(这个小代码仅仅用于合并pdf文件数量小于10的情况) print() from PyPDF2 import PdfMerger,P…

深度解析DuckDB的ScheduleEvents

深度解析DuckDB的ScheduleEvents 1.ScheduleEventData2.ScheduleEventsInternal3.SchedulePipeline 3.1 Event3.2 PipelineEventStack3.3 主逻辑4.可视化总结 书接上回熬夜三晚之深度解析DuckDB MetaPipeline,MetaPipeline在初始化的时候会构建出下面几个&#xff1…

【ARMv8/v9 异常模型入门及渐进2 - 系统控制寄存器 SCTRL_ELx 介绍】

文章目录 SCTRL_ELx 介绍背景ARMv8 SCTLR_ELx 介绍ARMv9 SCTLR_ELx 介绍 SCTRL_ELx 介绍背景 由于在做DFD 测试过程中需要测试 EL1 状态下的 self-hosted trace 功能,但是这个测试是在UEFI中做的,在开发验证阶段UEFI默认是运行在EL3 下的,所…

mac安装VsCode遇到的问题

万事开头难,头一次在安装生产工具的时候,就遇到了这么棘手的问题。百度和Google都试过了,网上的所有方式对我都没效果。最终自己阴差阳错解决了,我看内外网反馈这个问题的还挺多,在这里记录一下,希望可以帮…

Docker专题系列之十三:docker容器内安装vim编辑器

在使用docker时,有时候我们需要编辑配置文件,需要使用vim或者vi命令,但是会发现: root20ab69bedcdb:/etc/mysql# vim my.cnf bash: vim: command not found这是因为vim没有安装,使用如下命令安装: apt-ge…

Tomcat架构设计

Servlet规范 Servlet是JavaEE规范中的一种,主要是为了扩展Java作为Web服务的功能,统一定义了对应的接口,如Servlet接口,HttpRequest接口,HttpResponse接口,Filter接口。然后由具体的服务厂商来实现这些接口…

adroit java反编译

环境准备 靶机链接:百度网盘 请输入提取码 提取码:4e5y 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.探测目标靶机ip地址 arp-scan -l 2.用nmap探测靶机开放端口和服务情况 nmap -p- -A -T4 19…

二分类结局变量Logistic回归临床模型预测—— 模型评价(一)

本节讲的是二分类结局变量的临床模型预测,与之前讲的Cox回归不同,https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/1240…

基于springboot+Redis的前后端分离项目(二)-【黑马点评】

🎁🎁资源文件分享 链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA?pwdeh11 提取码:eh11 商户查询缓存,缓存更新策略,缓存穿透 商户查询缓存a.什么是缓存1.为什么要使用缓存2.如何使用缓存 b.添加商…

一文读懂ISM频段

ISM(工业、科学、医疗)频段为国际电信联盟(ITU)《无线电规则》定义的指定无线电频段。这些频段是为电信之外的其他射频用途挪出的频段。因此, ISM频段虽然理论上可用于电信用途,但使用ISM频段的电信设备必须…

南卡OE Pro开放式耳机开售,将音质和舒适度提升至行业巅峰!

随着科技的不断发展和创新,开放式耳机作为一种全新的音频体验方式正逐渐走红。而在这个充满竞争的市场上,南卡品牌的最新款OE Pro开放式耳机如今上市,以其出色的表现和全能的功能成为行业的颠覆者。 南卡品牌在骨传导耳机音频技术领域有着超过…

【系统开发】尚硅谷 - 谷粒商城项目笔记(三):OSS阿里云存储

文章目录 OSS阿里云存储OSS基础配置OSS跨域设置原生sdk方式上传阿里云sdk方式上传将oss配置加入nacos加入网关的路由分发和前端整合测试 OSS阿里云存储 OSS基础配置 上传的账号信息存储在应用服务器 上传前先找应用服务器要一个policy上传策略,生成防伪签名 OSS跨…

帮助中心的设计指南

帮助中心是一个网站或应用程序的重要组成部分,因为它可以让用户轻松找到他们需要的信息。正确设计和实施一个高效的帮助中心可以确保用户满意度提高,并增加品牌忠诚度。本文将介绍如何设计一个优秀的帮助中心。 确定帮助中心的目标 在设计帮助中心之前&…

风控安全产品系统设计的个人感悟

背景 本篇文章会从系统架构设计的角度,分享在对业务安全风控相关基础安全产品进行系统设计时遇到的问题难点及其解决方案。 内容包括三部分:(1)风控业务架构;(2)基础安全产品的职责&#xff1…

重新安装ROG Armoury Crate

文章目录 使用官方卸载工具卸载奥创安装奥创 更新奥创之后 Aura Sync 坏了,无法调整灯光,打开 Aura Creator 提示服务运行异常: 在任务管理器中随便禁用了几个奥创、Asus的服务后,再次打开 Aura Creator,提示出了具…

【码银送书第一期】通用人工智能:初心与未来

目录 前言 正文 内容简介 作者简介 译者简介 目录 前言 自20世纪50年代图灵在其划时代论文《计算机器与智能》中提出“图灵测试”以及之后的达特茅斯研讨会开始,用机器来模仿人类学习及其他方面的智能,即实现“人工智能”(Artificial …

CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法

CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法 CSS实现盒子模型水平居中的方法 水平居中效果图 水平居中 全局样式 .parent { color: #FFFFFF; height: 200px; width: 200px; margin: 0 auto; background-color: #000000;} .child { widt…

No module named ‘torch_geometric‘解决办法

参考链接: https://blog.csdn.net/weixin_47779152/article/details/120570367 https://data.pyg.org/whl/torch-1.12.0%2Bcu113.html https://blog.csdn.net/qq_44832009/article/details/129351554 https://blog.csdn.net/qq_43750528/article/details/130644899 …

五、elasticsearch查询操作

目录 数据准备 1、查询指定字段包含指定内容的文档 2、指定输出的文档字段查询(“_source”) 3、排序查询(默认根据指定字段升序asc排序)(“sort”) 4、分页查询 5、布尔查询(多条件查询&…