2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

视频游戏《光环 4》的 Actor 模型设计和实现

  • 2015-03-18
  • 本文字数:1257 字

    阅读完需:约 4 分钟

在开始设计光环(Halo)系列视频游戏的下一代——光环4 的时候,现有的游戏引擎与可用的服务已经无法满足游戏的需求了,因此开发者基于 Actor 模型设计了一套全新的解决方案,并使用 Orleans 框架完成了这套模型的实现。在 QCon 伦敦大会上, Caitie McCaffrey 在演讲中为听众介绍了他们设计与创建这个新游戏背后的服务的过程。

McCaffrey 原本在微软游戏工作室就职,目前则在 Twitter 担任分布式系统工程师的职位。他提到了在游戏开发过程中所遇到的一个架构上的挑战,是如何设计该游戏将要面对的海量访问的负载。在光环 4 上线当天,共有 100 万独立在线用户参与了游戏,这个数字在一周之内就上升到了 400 位,游戏时间总和超过了 3000 万小时。为了应对如此庞大的负载,该项目选择了在云端进行托管,更具体地说是托管在 Azure 上,毕竟光环 4 是微软所推出的游戏。其它的挑战还包括如何保证游戏能够始终在线运行,这就要求服务器永远保持可用状态,还要尽量降低延迟,并且提高并发能力。

在寻找能够满足该项目需求的解决方案过程中,项目组的目光投向了 Actor 模型。从本质上说,Actor(角色)是并发的基础,该模型的核心概念在于:作为并发计算的基元,每个 Actor 将通过异步消息发送的方式与另一个 Actor 进行通信。当某个 Actor 收到一条消息之后,它可以选择将消息发送给其它 Actor,或是创建一个新的 Actor,也可以修改它的内部状态。这样一来,就能够高效地将某个 Actor 的所有数据保存在同一个地方,因此 McCaffrey 和他的团队通过实现这些保持状态的服务,创建了一套能够保持状态的中间层,它一方面具有缓存的高性能优点,另一方面也不会产生由于并发造成的问题。

项目组在微软内部四处寻找可行的方案,他们最终发现了 Orleans 框架,这是一个用于创建基于 Actor 模型的分布式系统的运行时与编程模型。Orleans 框架与其它 Actor 模型框架最重要的不同之处在于它所独有的概念:虚拟 Actor。这个虚拟 Actor 永远不会被创建或是销毁,从逻辑上来说它是永远存在的。虚拟 Actor 所具有的关键思想,一是地址的透明性,即发送给某个 Actor 的消息会被自动路由至该 Actor,无论该 Actor 的地址在哪里;二是能够在不重新进行部署的情况下进行自动横向扩展。

McCaffrey 声称,在使用了新技术的全新架构中,服务器的 CPU 利用率能够持续稳定在 90% 的水平上,并且能够实现接近线性增长的可扩展性,能够轻易地应对负载的变量,这一点在访问量突发性增长的时刻相当实用,例如当游戏刚刚上线的时候。

McCaffrey 相信,如果没有 Orleans 这个框架,光环 4 的项目就不可能获得成功。由于 Orleans 能够为开发者编写在分布式环境中运行的代码提供极大的帮助,因此寻找合适的开发者也变得简单了许多。并且由于它提高了开发者的生产力,因此开发者能够专注于提高游戏的用户体验,让它的表现更加出色。

McCaffrey 在一篇较早的博客帖子中,曾经介绍了使用 Orleans创建RESTful 服务的过程。

对于实现Actor 模型的不同途径,InfoQ 之前曾经专门进行过讨论和报告

查看英文原文: Building Halo 4, a Video Game, Using Actor Model

2015-03-18 06:123205
用户头像

发布了 428 篇内容, 共 189.5 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

昆仑万维开源中国首个面向AI短剧创作的视频生成模型SkyReels-V1,重塑AI短剧行业格局

新消费日报

【FAQ】HarmonyOS SDK 闭源开放能力 —Scan Kit(2)

HarmonyOS SDK

harmoyos

新闻速递丨2025 年度 Altair Enlighten Award 作品征集正式启动

Altair RapidMiner

altair 轻量化大赛 轻量化设计 轻量化技术 Enlighten Award

Elasticsearch AI Assistant 集成 DeepSeek,1分钟搭建智能运维助手

阿里云大数据AI技术

elasticsearch 可视化 nlp AI搜索 DeepSeek

百度网盘防雪崩架构实践

百度Geek说

百度 后端 架构-

AI 智能体(AI Agent)的开发

北京木奇移动技术有限公司

AI开发 AI智能体 软件外包公司

一文带你了解清楚供应链管理!

积木链小链

数字化转型 数字化 制造业 供应链管理

AI 智能体(AI Agent)的开发框架

北京木奇移动技术有限公司

AI开发 AI智能体 软件外包公司

AI 智能体的开发技术

北京木奇移动技术有限公司

AI开发 AI智能体 软件外包公司

上海交大师生畅用满血DeepSeek!昇腾加速中国自主创新大模型

极客天地

Go 语言互斥锁

FunTester

延长LED显示屏使用寿命指南

Dylan

商业 广告 LED LED display LED显示屏

KubeEdge 1.20.0发布! 6大新特性提升边缘管理能力

华为云开发者联盟

容器 云原生 k8s 边缘计算 kubeedge

国内加大政策推动,多层级标准建立产业规范

芯盾时代

数据安全 零信任 信息安全建设

人工智能丨DeepSeek风靡一时:一篇文章带你全面了解这款AI工具的强大之处

测试人

DeepSeek

当AI邂逅日志海:从骨感现实到无限可能

权说安全

AI 网络安全

行云管家加入信创生态联盟“金兰组织”, 携手共建信创产业新生态

行云管家

信创 信创国产化

视频游戏《光环4》的Actor模型设计和实现_DevOps & 平台工程_Jan Stenberg_InfoQ精选文章