由光子工作室及 Krafton 联合研发的 PUBG MOBILE 依然保持着极高的人气,目前全球有 10 亿玩家,日活跃 5,000 万 (不包括中国大陆地区)。从游戏策划伊始,团队就打算为各个平台的玩家们打造功能完善的社区模块。

在 PUBG MOBILE 中,玩家们被空投到一个荒岛上,孤身奋战或与队友合作,努力与对手周旋,幸存到最后赢得胜利。想要在这个游戏里 "吃鸡",玩家的敏捷反应和大局意识都很重要——而对负责开发游戏内社区模块的团队来说,这两点正好也是他们成功的秘诀。

△ PUBG MOBILE 如何连接 10 亿玩家 | Flutter 开发者故事

全平台一盘棋,大局意识很重要

负责 PUBG MOBILE 游戏社区模块的团队规模并不是很大,但服务的玩家群体却十分庞大,这也让团队对任何能提高效率的开发技术都十分敏感。2020 年下半年,当团队着手为社区模块寻找解决方案时,就在着眼寻找合适的 跨平台解决方案: 他们需要让社区模块能很方便地覆盖 Android 和 iOS 平台。

我们测试的很多解决方案都存在这样那样的限制,但这些限制在 Flutter 中则不存在: 即便在引入了复杂的业务逻辑后,Flutter 的性能表现仍然十分优秀。

胡明春,PUBG MOBILE 开发团队高级工程师

△ Flutter 打造的社区模块一直能保持稳定的帧率

团队选择 Flutter 的另一个原因是它能很方便地 和现有的游戏进行整合。这也让社区模块在开发层面不至于和其他模块 "高度耦合",让团队能专注打造社区功能本身。

Flutter 可以很轻松地和现有的游戏进行整合,基本上照着官方文档操作就行,用不了多少时间。

张海鹏,PUBG MOBILE 开发团队高级工程师

大幅降低代码量,敏捷开发很重要

"一次编写,到处运行" 是 Flutter 跨平台特性带来的 "福利" 之一。除去一些平台特定的功能外,团队可以只用一个代码库就覆盖 Android 和 iOS 两个平台。这样做的另一个好处是能确保平台之间功能的一致性,在高强度迭代时这个好处更是非常重要。

自从采用 Flutter 后,我们发现可以将前端所需的开发工作量减少 80%

程建,PUBG MOBILE 开发团队高级工程师

△ 一次编写,到处运行

如果正在阅读本文的读者还没有体验过 Flutter 带来的这些优势,那也许还会心存顾虑: Flutter 好学吗?

正好我们也能从团队的反馈中找到答案:

我们在 Java、Kotlin 和 Objective-C 方面有着坚实的基础,这让 Dart 语言的学习成本很低。

张海鹏,PUBG MOBILE 开发团队高级工程师

用跨平台连接更多玩家

游戏中的社区模块一直很受用户欢迎。统计数据表明,每月有近千万玩家使用社区模块在游戏中分享屏幕录像等内容。

汪增灏,PUBG MOBILE 开发团队高级产品经理

△ PUBG MOBILE 丰富的社区功能由 Flutter 打造

展示战利品、时装、精彩录屏……玩家们一次次精彩的对抗,也是一段段难忘的时光。社区功能的存在,是让这些时光得以留存,让玩家们彼此相连,让快乐从一个人传递给更多的人。

节省代码、平台统一、性能优秀、易于上手,则是 Flutter 带给开发者们的快乐。跨平台的游戏社区体验,毫无疑问是 PUBG MOBILE 游戏在成功路上的重要一环。

"用上 Flutter,今晚吃鸡!"

借助 Flutter 跨平台特性连接 10 亿玩家 | Flutter 开发者故事的更多相关文章

  1. 转载:四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍

    四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍 时间 2016-07-22 16:57:00 炼数成金 相似文章 (5) 原文  http://www.dataguru.cn/ ...

  2. 转 DataTorrent 1.0每秒处理超过10亿个实时事件

    DataTorrent是一个实时的流式处理和分析平台,它每秒可以处理超过10亿个实时事件. 与Twitter平均每秒大约6000条微博相比,最近发布的DataTorrent 1.0似乎已经超出了需求, ...

  3. 看好腾讯,鄙视百度(腾讯的核心竞争力,不是超过10亿的QQ的注册用户,也不是某一项产品、技术方面优势,而是“耐心”:懂得在合适的时间推出合适的产品。”)

    百度,自始至终只是一个低劣的模仿者,且一切向前看,完全违背了一个搜索引擎所应该遵循的基本原则.谁给的钱多就能搜着谁,这跟贩毒有什么区别? 腾讯也在模仿别人,但是,它是模仿然后超越.在中国互联网发展历史 ...

  4. 【转帖】影响超 10 亿设备,博通和 Cypress 芯片曝惊天漏洞,苹果、华为、三星等中招

    影响超 10 亿设备,博通和 Cypress 芯片曝惊天漏洞,苹果.华为.三星等中招   https://www.infoq.cn/article/lpNEQGrxZL22gHDPBE2z   26 ...

  5. 这么设计,Redis 10亿数据量只需要100MB内存

    本文主要和大家分享一下redis的高级特性:bit位操作. 本文redis试验代码基于如下环境: 操作系统:Mac OS 64位 版本:Redis 5.0.7 64 bit 运行模式:standalo ...

  6. 使用HAProxy、PHP、Redis和MySQL支撑每周10亿请求

    在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求.Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架构,使用H ...

  7. 转 使用HAProxy,PHPRedis,和MySQL支撑10亿请求每周架构细节

    [编者按]在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求.Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架 ...

  8. “军装照”背后——天天P图如何应对10亿流量的后台承载。

    WeTest 导读 天天P图"军装照"活动交出了一份10亿浏览量的答卷,一时间刷屏朋友圈,看到这幕,是不是特别想复制一个如此成功的H5?不过本文不教你如何做一个爆款H5,而是介绍天 ...

  9. 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

    前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些. 先拿10000个数建堆, ...

  10. 安装win10操作系统的设备将要突破10亿台

    导读 该公司最初的目标是在发布后的三年内在 10 亿台设备上运行 Windows 10. 据微软高管梅赫迪 (Yusuf Mehdi) 周四在 Twitter 上透露,目前已经有 8 亿多台设备安装了 ...

随机推荐

  1. Flask框架:运用Ajax轮询动态绘图

    Ajax是异步JavaScript和XML可用于前后端交互,在之前<Flask 框架:运用Ajax实现数据交互>简单实现了前后端交互,本章将通过Ajax轮询获取后端的数据,前台使用echa ...

  2. .NET 7.0 重磅发布及资源汇总

    2022-11-8 .NET 7.0 作为微软的开源跨平台开发平台正式发布.微软在公告中表示.NET 7为您的应用程序带来了C# 11 / F# 7,.NET MAUI,ASP.NET Core/Bl ...

  3. Python 包(package)

    在比较大型的项目中常常需要编写.用到大量的模块,此时我们可以使用包(Package)来管理这些模块. (一)什么是包? Python包,就是里面装了一个__init__.py文件的文件夹. __ini ...

  4. 真正“搞”懂HTTP协议04之搞起来

    前两篇文章,我们从空间和时间的角度都对HTTP有了一定的学习和理解,那么基于上一篇的HTTP发展的时间顺序,我会在后面的文章由浅入深,按照HTTP版本内容的更迭,一边介绍相关字段的使用方法,一边讲解其 ...

  5. 2022春每日一题:Day 10

    题目:CF1110E Magic Stones 每次操作 c[i]变成c[i-1]+c[i+1]-c[i],那么显然,c[1]和c[n]是不会改变的,因此只要c[1]和t[1],c[n]和t[n]不相 ...

  6. AtCoder Regular Contest 151补题

    AtCoder Regular Contest 151 A. Equal Hamming Distances 简单题,注意下答案需要字典序最小即可 #include<bits/stdc++.h& ...

  7. C++初阶(list容器+模拟实现)

    list介绍 list的本质是一个带头的双向循环链表. 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点 ...

  8. python小练习:涉及print,json,numpy

    枚举参考文件夹中的文件,并与待比较文件件中的同名文件比较是否一致. #! /usr/bin/python3.6 # -*- coding:utf-8 -*- import os import sys ...

  9. 群晖NAS搭建外网可访问的calibre

    一.在群晖docker上安装calibre-web 1. 下载相关的镜像文件 打开Docker后点击左侧注册表,在上方搜索栏搜索calibre 然后我们选择使用 technosoft2000/cali ...

  10. springboot接收前端传参的几种方式

    1.通过HttpServletRequest接收,常用于获取请求头参数以及Cookie,适用于GET 和 POST请求方式,以下两种方式: @GetMapping("/demo1" ...