Mac 和 iPhone 用同一块芯片,手游为什么还是上不了 Mac
更新于 · OS FIGHT TACTICS 团队
同一年出的 MacBook 和 iPhone,今天跑的是同一套指令集。自从 Mac 换上 Apple Silicon,两台机器共用 ARM 架构、同一套图形接口和绝大部分系统框架,以至于 Mac 可以原封不动地启动一个为 iPhone 编译的程序包:不用重写,不用兼容层,不用模拟器。按这个道理,macOS 的手游库本该在几个月里自己长满。它至今还是空的,而原因不是技术。真正卡住的是一个勾选框、一套反作弊、两根拇指、几个不存在的传感器,还有一张财务表。下面按真正的分量排出五个原因,也说清楚这对想开一局的人意味着什么。
Apple Silicon 的 Mac 本来就能跑 iPhone 的程序包
2020 年之前,把一款手游搬到 Mac 上是一件正经工程:两套指令集、两条编译链,往往还有两套渲染后端要养。Mac 换上和 iPhone 同族的芯片之后,这一级台阶一次性消失了。为 iOS 编译的应用不需要重新编译,就能在 Apple Silicon 的 Mac 上安装并启动,因为处理器、图形接口和大部分框架两边是同一套。剩下的事情已经不叫移植,叫适配:一个能拖大拖小的窗口,而不是固定尺寸的屏幕;一个光标,而不是一根手指;一块本来就在那儿的实体键盘。这是真活儿,但它以界面工作的周为单位计算,而不是重写引擎。也正因为技术的墙倒了,空荡荡的真正原因得去别处找。
原因一:一个大多数工作室不去勾的选项
iPhone 应用要不要出现在 Mac 上,不需要申请,只需要勾。在发行商管理 App Store 页面的后台里,有一个选项决定这个应用是否向 Apple Silicon 的 Mac 提供,而且随时可以撤回。没有额外的审核要过,也没有额外的合同要签:这是一个产品决定,做决定的人清楚它意味着什么。游戏一旦出现在 Mac 上,Mac 就成了一个受支持的平台,连带它的工单、评分、退款和热修。第一个说不的理由甚至不是画面,而是操作:手游工作室从来没有设计也没有测试过键鼠模式,勾下去等于一夜之间接手一套自己没画过的操作方案,玩家会给它打分,出问题也得自己认。不勾,零成本。勾了,成本是一个团队。
原因二:反作弊是照着一台封闭手机写的
手机是一台封闭设备:用户不是管理员,应用彼此隔离,系统能向服务器证明自己没被改过。竞技手游整套反作弊都建在这个地基上。电脑不提供任何一条这样的保证:想装什么装什么,进程内存可以翻,外设可以接,点击可以写脚本。桌面端的反作弊当然存在,但那是另一类产品,跑得离系统更近,要单独接入、单独测试、单独维护。所以对一款有排位的游戏来说,问题从来不是「能不能在 Mac 上跑起来」,而是「谁来担保 Mac 上这局是干净的」。答不上来,很多发行商宁可不开这扇门,而这个理由你永远不会在版本更新说明里读到。
原因三:为两根拇指画的界面,不会自己变成鼠标界面
手游的界面是围着一条很具体的限制画出来的:两根拇指会挡住一部分屏幕,目标要大到不用瞄准就能点中,操作按钮被推到边缘,因为手指就落在那里。把这套设计搬到十四寸屏幕上用鼠标操作,它立刻歪掉。按钮显得巨大,真正有用的空间跑到了四角,双指手势找不到明显的对应,长按也很难翻译成按住不放的点击。这些都不是做不到,只是没有一样会自己发生:屏幕要重画,每个键做什么要重新定,还得凭空发明一套触摸从来没有过的悬停状态。这正是勾选框不会替工作室干的活,所以前两个原因是连在一起的。这一点上,手机版和电脑版的对比把得失讲得很清楚。
原因四:Mac 身上没有的那些传感器
- 加速度计和陀螺仪:Mac 不会倾斜。凡是靠设备姿态的玩法,从赛车的方向盘到体感瞄准,都没有对应物。
- 多点触控:触控板认得手势,但触控板不是屏幕。要求两根手指按在画面两个具体位置的操作,没有直接的翻译。
- 摄像头和屏幕方向:像手机那样摆放的前置摄像头、竖屏横屏的翻转、扫描另一台设备上显示的二维码,在电脑上都不是同一回事。
- 推送和与手机的联动:每日奖励提醒、召回活动、从聊天消息里点开的链接,在应用搬到电脑上之后不一定跟得过来。
- 上面每一条都是一小段要写的代码,更要命的是一小段要在工作室根本不测的平台上测的代码。
原因五:最后拍板的是那张财务表
前面几条最终都折算成工程时间,而工程时间要和预期收入放在一起看。Mac 就是在这里输的,不是因为它差,而是因为它小:安卓和 iOS 的手机保有量与苹果电脑的量级完全不在一个层面上,而手游靠的是走量。这里不值得引用任何公开数字,因为光看方法就够理解这个决定了:工作室把能覆盖的设备数、这些设备上每位玩家的平均付费、以及多出来的支持成本三样并排放着。当第三项是确定的支出,前两项是边角料,那个框就一直空着。这不是对 macOS 的评价,这是算术,而且每个财年都会重算一次。
《云顶之弈》的例子:Mac 上既没有商店页面,也没有桌面客户端
《云顶之弈》一次性把五个原因都演了一遍。它的 App Store 页面写明兼容 iPhone、iPad 和 iPod touch:Mac 不在里面。也就是说手机版一直在,也一直在维护,内容和别的平台一样,只是没有向 Apple Silicon 的 Mac 提供。这不是编译出的意外,就是前面说的那个勾选框,没人去勾。新马一带的玩家在 Mac 的 App Store 里搜 TFT,什么也搜不到,界面也不会解释为什么:一个被收起来的应用,看上去和一个从未做过的应用一模一样。
第二层是更近的事。18.1 版本开启第 18 赛季、把《云顶之弈》搬上 Unreal Engine,同时撤掉了桌面客户端对 macOS 的支持:既没有支持,也不再修问题。拳头把这次撤除说成是暂时的,并表示正在为未来某个版本重新支持该系统,但没有公布日期。同一个版本也告别了内存最小的一批老款 Android 和 iOS 设备。这个过程中没有任何账号被重置:进度、段位和已购买的内容仍旧挂在 Riot 账号上。这个版本具体挪动了什么,写在讲 macOS 被撤下的那篇里。
Mac 玩家现在还剩下什么办法
- 等发行商去勾那个框,或者等桌面客户端回来:不花钱,但没有公布任何日期,也没有任何东西保证那个框有一天会被勾上。
- 在有提供的地方走云游戏:画面从网络送过来,所以延迟取决于线路,片单也不由你决定。
- 把仍然受支持的安卓版,放进 Mac 上一台真正的安卓设备里跑。OSFT Launcher 在 Apple Silicon 上做的就是这件事:它装好设备、把游戏装进去、接管键盘和全屏,而 Riot 账号一点不动。
- 三条路里,账号、段位和已购内容都不会动:它们在 Riot 的服务器上,不在这台机器上。写给新马玩家的那篇把第三条路从头到尾讲了一遍。
芯片都一样了,为什么 macOS 上的手游还是这么少?
因为障碍已经不是技术了。自 Apple Silicon 起,Mac 不需要重新编译就能跑 iPhone 的程序包。卡住的是发行商的决定:要不要把应用提供给 Mac,是 App Store 页面上的一个开关,大多数游戏工作室把它关着。打开它就等于承诺支持一套自己没设计过的键盘和鼠标,要处理这个平台来的工单和评分,还要在自己根本不测的机器上修问题。
Apple Silicon 的 Mac 真的能启动 iPhone 应用吗?
能,前提是发行商允许。这个机制从第一台苹果芯片的 Mac 就存在:应用会出现在 Mac 的 App Store 里,像其他应用一样安装。如果发行商撤回了可用性,应用在任何搜索里都不会出现,也没有官方办法强行装上。Intel 芯片的 Mac 完全不在这个机制之内,因为它的处理器和 iPhone 不是同一族。
为什么最缺的偏偏是竞技类游戏?
因为反作弊。手机上系统是封闭的,用户不是管理员,游戏可以拿到一份完整性证明。电脑什么都给不了:内存能翻,外设能接,操作能写脚本。要在电脑上保护排位对局,需要另一套技术,得在手机那套之外单独接入和维护。很多发行商宁可不开这扇门,也不想开了之后天天守着。
《云顶之弈》能从 App Store 装到 Mac 上吗?
不能。这款游戏的 App Store 页面写的兼容设备是 iPhone、iPad 和 iPod touch,里面没有 Mac。手机版本身活得好好的,内容和其他平台同步,只是发行商没有把它提供给 Apple Silicon 的 Mac。所以在 Mac 的 App Store 里搜索它什么都搜不到,而这一点并不说明手机版本身有什么问题。
18.1 版本对 Mac 玩家意味着什么?
它开启第 18 赛季,把《云顶之弈》搬到 Unreal Engine,同时撤掉了对 macOS 的支持:桌面客户端既没有支持也不再有修复。拳头把这次撤除描述为暂时的,并表示正在为未来的更新重新支持该系统,但没有公布日期。同一个版本还告别了内存最小的一批老款 Android 和 iOS 设备。没有任何账号被重置:进度、段位和已购内容仍然绑在 Riot 账号上,安卓版也依旧受支持。
在 Mac 上玩安卓版,算正常游戏吗?
从游戏这边看,算。那是官方的安卓客户端,连的是同样的服务器,用的是同一个 Riot 账号、同一条排位队列、同一套赛季内容。OSFT Launcher 在 Apple Silicon 的 Mac 上把这个版本放进一台安卓设备里运行,配上键盘和全屏,但它既不改游戏也不动账号。进度和购买记录在 Riot 的服务器上,不在这台机器上。