借助Epic在线服务和Hathora打造Loftia的MMO游戏架构

图片由Qloud Games提供
本篇特邀博文由Hathora高级软件工程师Justin Chu撰写,并收录了Eric Mallon(Qloud Games联合创始人兼CTO)的访谈内容。

Hathora是一个服务器编排平台,为Qloud Games开发的温馨太阳朋克MMO游戏《Loftia》提供技术支持。《Loftia》在Kickstarter上取得重大成功,并聚集了超过40万忠实粉丝的活跃社区。
由Qloud Games提供
可别被游戏清新可爱的视觉风格所迷惑:工作室对《Loftia》多人功能的技术愿景从项目伊始便极为宏大——这对首发作品而言尤其不易。项目目标涵盖单人模式与无缝在线合作、支持玩家房屋动态合并的会话系统,以及容纳数百玩家的大规模社交中心。
 
我们近期采访了Qloud Games联合创始人兼CTO Eric Mallon,深入了解他们在架构设计过程中的关键决策与技术挑战。继续阅读,探索Qloud Games如何通过Epic在线服务(EOS)和Hathora,赋能小团队实现宏大技术愿景。
由Qloud Games提供

深入《Loftia》早期架构

为在小团队规模下实现宏大目标,Qloud选择依托第三方成熟工具,而非从零开始自主开发。正如Eric所言,游戏引擎的选择显而易见。

“虚幻引擎5开发体验极佳,背后有大量技术投入支撑,”他指出,“这是我们的不二之选。[虚幻引擎5]人才储备丰富,插件生态完善,跨平台支持成熟。”

在游戏引擎之外,Eric迅速着手研究实现温馨风格的MMO游戏体验所需的核心在线服务。早在首次Alpha测试前一年半,Qloud便已部署Epic在线服务和Hathora,以支持团队内部远程测试需求。

“Epic在线服务和Hathora入门门槛都很低,”Eric说道,“更重要的是,两者都为后续功能扩展提供了良好的灵活性。”
由Qloud Games提供

精简团队的最佳工具选择

“我们对团队工程实力和自研后端系统的能力充满信心,”他说,“但考虑到团队规模限制,我深知应当利用现有工具来处理跨平台玩家身份验证和可扩展服务器托管等时间密集型任务。”

Eric深知,跨平台玩家身份认证功能的完善实现需要大量开发投入,而Epic在线服务提供的免费成熟方案大大简化了接入过程。随着项目推进,Qloud持续深化Epic在线服务模块化功能的应用,包括会话管理和语音聊天等。

在服务器托管方面,Eric及其团队深谙构建和维护此类系统的复杂性——通常需要专门团队进行实时维护和监控——这并非Qloud在《Loftia》项目中所能承担的资源配置。

“Hathora配置快速便捷,专为游戏场景设计,”Eric说,“无需直接管理EC2实例这一点特别有价值,因为我们有众多其他技术重点需要关注。”
由Qloud Games提供

可持续扩展性的核心价值

采用Epic在线服务免费解决方案对Qloud CTO及其团队来说是明智选择。凭借数百款游戏通过EOS成功发布、服务全球近十亿玩家的实绩,Eric对平台可持续扩展能力充满信心。“初期成本控制与最终规模化成本同等重要,这对我们这样的独立团队尤为关键,”Eric强调。

游戏服务器历来是多人游戏运营的最大成本项。Hathora按使用量计费的模式立即引起了Eric的兴趣。结合Hathora提供的低成本裸机服务器与云端弹性扩容的无缝整合能力,Eric确信服务器成本在早期开发、测试及正式发布阶段都将保持可控。

《Loftia》服务器已在Hathora平台稳定运行近两年时间,从早期内部测试到最近一次超过万名早期支持者参与的Alpha测试,全程表现稳定。Epic在线服务始终充当架构基石角色,确保用户在跨平台上进行无缝连接、匹配与游戏。

“Epic在线服务和Hathora都能保障《Loftia》在发布及后续运营中实现成本的良性增长,这让我倍感安心,”Eric表示。

《Loftia》匹配架构:Epic在线服务与Hathora集成方案概览

《Loftia》后端架构划分为两大核心体系:
  1. 数据与遥测管线:负责数据持久化、分析统计及长期玩家状态管理。Qloud为此采用Sentry、AWS Firehose和DynamoDB等工具。
  2. 实时游戏玩法基础设施:负责运行玩家实时交互的游戏会话。

《Loftia》的独特之处在于Qloud对匹配机制的创新处理——并非传统竞技游戏的匹配概念,而是如何让玩家流畅进入合适会话,立即与好友开始游戏。这套方案既精巧又简洁实用。

世界类型架构

《Loftia》支持两类不同的游戏世界,各自对应不同的匹配需求:
  1. 社交中心——支持每会话最多100名玩家。这些共享公共区域供玩家相遇、完成任务、收集资源并与NPC交互。
  2. 玩家住宅——支持最多25名玩家。这些公共区域中,玩家动态分配住房“位置”,与最多八名玩家和好友在小型社区环境中共享居住空间。
由Qloud Games提供

玩家世界加入机制

玩家连接流程注重速度与可靠性:

1. 玩家发起世界加入请求
2. 游戏通过Epic在线服务搜索现有会话: 3. 若无匹配会话,通过Hathora启动新服务器实例。
表面上看这套流程相对简单,但如所有多人在线游戏项目一样,边缘场景往往暴露系统薄弱环节。让我们深入分析Qloud遇到的几个典型技术挑战:
 

挑战一:新服务器竞态条件

项目初期,《Loftia》团队面临一个棘手问题:如何在无匹配会话时避免服务器资源过度配置。

团队目标是将玩家尽可能集中到较少的社交中心会话中——既为提高技术效率,也为维持游戏世界的活跃氛围。相同原则同样适用于玩家住宅系统。

解决方案是什么呢?使用AWS Lambda缓冲机制,在Hathora启动新实例期间对服务器请求进行队列管理。此缓冲机制解决了并发请求导致的重复服务器启动问题。

实战验证《Loftia》首次非公开Alpha测试期间,缺失此缓冲逻辑导致了大量额外服务器实例启动。这再次证明了Alpha测试阶段的重要价值!
 

挑战二:服务器位置预留机制

另一个细微但关键的技术细节:加入过程中的开放位置预留。当五名玩家同时尝试加入仅有五个开放位置的服务器时,存在请求重叠导致部分玩家连接失败的风险。

《Loftia》通过虚幻在线信标(Unreal Online Beacons)巧妙规避此问题,不仅用于查询可用性,更在连接尝试前主动预留会话位置。这一细节虽小,却能显著提升用户的即时体验质量。

对于《Loftia》这类注重温馨社交体验的游戏,任何细微的交互障碍都可能破坏游戏的沉浸感,而这些实现细节的精心处理对玩家体验具有深远影响。

基于温馨理念的可扩展发布策略

作为独立工作室,开发多人在线游戏仍是极具挑战性的目标,对首发作品而言更是如此。但通过对游戏设计与架构的深入思考,并借助Epic在线服务和Hathora将设想转化为现实,确实能够降低《Loftia》这类游戏的技术门槛。
 
Eric和Qloud团队通过选用适合团队特点的优秀工具,为小规模团队构建大型MMO游戏体验探索出可行路径。正如《Loftia》的太阳朋克主题所寓意的,这支志存高远的精干团队前景一片光明。
 

相关链接与延伸阅读

    Epic在线服务入门说明

    Epic在线服务(EOS)为所有主流引擎、商店和平台提供统一服务,助力开发者免费发布和扩展游戏规模。