大多数浏览器和
Developer App 均支持流媒体播放。
-
为 Apple 平台设计高端游戏
了解如何调整你的高端游戏,在 Mac、iPad 和 iPhone 上提供浑然天成的游戏体验。我们将介绍如何让游戏在不同的显示屏上呈现令人惊艳的画面、量身定制输入和控件以便在各款设备上提供直观的使用体验,以及利用众多 Aple 技术提供卓越的玩家体验。
章节
- 0:00 - Introduction
- 1:18 - Design for the device
- 14:05 - Design for input
资源
- Download the Game Porting Toolkit 2
- Forum: Design
- Human Interface Guidelines: Designing for games
- Human Interface Guidelines: Game controls
相关视频
WWDC24
-
下载
大家好 我叫 Linda 来自设计布道团队 如果你是初次 为 Apple 平台开发游戏 那么现在正是前所未有的绝佳时机 我们的每一款台式设备 和移动设备 都能胜任主机级别的高端游戏 而且借助统一的游戏平台 你的游戏现在可以同时在 Mac、iPad 和 iPhone 上实现 令人惊叹的图形表现力和性能 从而让更多玩家可以畅玩你的游戏
此外 《人机界面指南》中新增了 “游戏设计”部分 还有最新版本的 游戏移植工具包 你可以观看视频 “将高端游戏移植到 Apple 平台” 详细了解这个工具包 上述资源可以帮助你简化开发流程 并节省时间 这意味着 为 Mac、iPad 和 iPhone 制作游戏比以往任何时候都要简单
在本次讲座中 Dylan 和我将介绍 为了在各个 Apple 平台上 为玩家提供更出色的体验 该如何设计游戏 我将展示如何让你的游戏界面 适应各种设备 然后 Dylan 将带大家了解 如何设计游戏的输入 我们首先谈谈 如何针对设备进行设计 提供出色的游戏体验 意味着需要周全地考虑到游戏的 默认设置、布局、文本和控件 会给 Apple 设备的玩家 带来怎样的感受 首先 需要考虑的是 如何让玩家尽快 投入到游戏中 从玩家首次在设备上 安装你的游戏时起 就要开始考虑这一点
高端游戏的初始下载文件 往往比较大 所以想一想你的玩家 他们会耐心等待游戏完成安装 他们超级期待体验你的游戏 然而游戏启动后 他们收到一条信息 告知他们需要等待下载另一个文件 这样的首次启动体验 大概并不是 玩家所期待的样子 尤其考虑到 Apple 平台上的玩家 希望 App 能够“开箱即用” 这就更加突显了上述体验 与玩家期待之间的差距
要想改变这一情况 你可以 尽量缩短等待时间 让玩家 一完成安装就能立即开始畅玩游戏
为此 请确保在启动时 已下载游戏的初始关卡 目标是将大约前 15 分钟的游戏体验 捆绑在 App Store 下载文件中 在此基础上 可以开始 在后台载入游戏的 后续章节
这样一来 玩家就能 从游戏启动无缝进入游戏体验 而无需等待 与此同时 你需要在后台处理 进一步的下载任务 尽量对玩家隐藏下载进度 在很多情况下 他们根本不必知道 数据仍在载入 而且这样会让玩家觉得 一启动就能畅玩整个游戏
如果玩家在游戏中成功晋级 进入某个尚未载入的区域 这候最好通过 UI 告知玩家 游戏尚未完全安装
然后找一个位置来显示下载进度 最好把这一信息放在既有相关性 又不会干扰游戏体验的位置 比如关卡选择屏幕
还可以考虑允许玩家 在等待过程中重玩先前的 章节或关卡 这样一来 玩家就不会 眼巴巴盯着进度条干等
为了在后台下载游戏数据 你可以利用 On-Demand Resources 也可以利用 Background Assets 两者都是 Apple 框架 让你能够在 App 安装后 进一步下载 游戏数据 On-Demand Resources托管在 App Store 上 而 Background Assets 则托管在你自己的数据库中 如需进一步了解这两个框架 可以访问开发者网站
但无论你以何种方式载入素材资源 你想要的最终结果 都是安装体验与游戏体验融为一体 在玩家不知不觉的情况下完成安装 还有一种针对 Apple 设备设计游戏 的方法是设定出色的默认设置
你可以直接获得 有关玩家 Apple 设备的 大量信息 比如硬件机型、屏幕分辨率 或是任何已配对的配件 玩家启动游戏后 你不需要让玩家 优化上述设置
而是可以通过自动为玩家 设置一些选项 来简化游戏的新手引导过程
例如 在新手引导和设置中 设法移除不相关的选项 比如询问屏幕的尺寸或宽高比 你可以通过设备自身获取这些信息
不要让玩家手动设置实体游戏控制器 你可以使用 Game Controller 框架 来自动检测游戏控制器是否已配对 并获取其配置文件
这样就可以在启动时 直接将玩家的实体按钮 映射到你的 UI
在选取不同平台的默认值时 可以考虑调整 游戏的初始性能设置 以便与设备的功能相匹配 例如 你可以选择 为顶配 Mac 设置 比 iPhone 更高的默认画质
在移动平台上 尤其要牢记 玩家希望拿起设备就能开始游戏 所以与你可能 在台式设备上提供的设置相比 在移动设备上要设法降低 设置的精细程度
在这里 可以将大量前期选项 浓缩成玩家的一个决定 无论玩家优先考虑的是画质 还是性能表现
选择出色的默认设置可以减少步骤 并让玩家更快体验到 游戏带来的乐趣
现在已经设定了出色的默认设置 下面我们来深入探讨游戏的布局 以及如何让布局灵活适应 每一款 Apple 设备 借助统一的游戏平台 你的游戏可以轻松支持 各种大小的屏幕 在设计初期就要做好规划 实现能够缩放的自适应游戏界面 这不仅能为你节省 跨屏幕设计花费的时间 还有助于让你的游戏 适应未来发布的新设备 最简单的着手点 可确保你的布局能够 响应不同的宽高比 即使在同一个平台上 不同的设备机型 也仍有可能具有不同的宽高比
在 UI 中处理这个问题的方法之一 是将界面放大或缩小 以适应其他设备
但是这种方法可能会导致 控件的最终位置不精确 可能会导致 UI 不太方便 用户用手操作 可能会让用户觉得太小或太大 而且最终看起来 可能会与设备本身不一致
正确的做法是 将 UI 布局 分割成几个独立的部分 其中每个部分都锚定到 屏幕的特定一侧
在形状不同的设备之间切换时 你可以让每个部分的大小 以及与锚点之间的距离 保持一致
这样就能让控件保持 合适的实际大小 从而 为移动设备的玩家带来舒适体验
通过这种方法 你的 UI 不仅能够充分利用
不同设备上的屏幕空间 还能消除别扭的外观或手感 实现体验舒适、目标明确的布局 现在 你已经有了一个 能够适应不同设备的布局 接下来 我们要确保你的心血之作 始终能够呈现在玩家眼前 为此 你可以 针对全屏模式进行设计 在 Mac、iPad 和 iPhone 上 设计全屏游戏体验 意味着需要时时牢记安全区域 安全区域是指显示屏上的 一些特定区域 UI 元素可以安全地放置在这些区域 不会与硬件或软件功能重叠
在 iPhone 和 iPad 上 安全区域可以帮助你 避免将 UI 置于可能会 被设备的圆角遮挡的位置 还可以帮助你避开系统主屏幕指示器 以及 iPhone 上的灵动岛 这两者可能会与控件的轻点目标重叠
在 Mac 上 安全区域是从顶部嵌入的 可以帮助你避开设备的圆角 以及摄像头周围的区域
在安全区域内进行设计可确保 UI 的每一部分都能被玩家 看到和触达
Apple 设计资源中 提供了一些安全区域模板 可以帮助你在安全区域内进行设计 Apple 设计资源 可通过开发者网站下载
你还可以尝试将游戏构建到 Xcode 中的“Simulator”App 在“Simulator”中 你可以预览 游戏在不同设备机型上、 在不同边框内和方向上的布局 还可以检查是否有任何 UI 不在应有的位置
请注意 安全区旨在 为 UI 元素的放置提供参考线 但并不是整个游戏的实际边距
请根据游戏环境 充分利用 屏幕上的每一个像素
如果有重要游戏内容 由于设备比例的缘故而被剪切 首先请尝试调整游戏内的相机 在不同的缩放比例 和视角下进行游戏 看看能不能让内容适应设备
在某些情况下 比如 在播放电影效果过场动画时 你的内容可能会经过预先渲染 并且已经设置为特定的宽高比
在这种情况下 你可以利用信箱模式 将所有重要细节都装进屏幕空间
为了在采用信箱模式的同时 仍然给人以类似全屏模式的观感 可以使用自定游戏图案 填充相应区域 或者填上黑色 以便与设备的实际硬件边框融为一体
但是 只有在不得已的情况下 才应该使用信箱模式 因为全屏模式下的 游戏体验永远能给人更强的沉浸感
好的 为了让游戏在 Apple 设备上 呈现绝佳效果 最后要注意的一点是 确保 UI 清晰可辨 如果希望将主机游戏或 PC 游戏移植 到具有较小屏幕的 Apple 设备上 那么这一点尤其重要 有些内容在大尺寸电视上看起来很棒 但如果不经调整而直接压缩到 尺寸紧凑的设备上 可能会难以辨认
有一件再小不过的事情 如果加以注意 就能给你的游戏体验 带来巨大的改变 这个注意事项就是 确保文本足够大 方便玩家阅读 设备尺寸越紧凑 文本就应该越大 每个平台上 都有建议使用的 默认字号和最小字号 在 iPhone 和 iPad 上 尽量使用 17 磅或更大的字体 这个大小非常适合正文和标注 对于不太重要的信息 尽量不要使用小于 11 磅的字体 否则玩家可能会 无法看清屏幕上显示的内容
在 Mac 上 合适的默认文本大小 是 13 磅或更大 与此同时 最小的 10 磅字体 也仍然能让文本清晰易读
正如你希望玩家 能够阅读你的游戏文案一样 你也希望玩家能够 轻松自在地与你的控件交互
要确保控件足够大 方便玩家进行选择 这一点对于我们移动平台 上的游戏尤其重要 在玩家可能会使用触控输入的位置 需要针对玩家的手指 提供尺寸更大的操作提示元素 在 iPhone 和 iPad 上 默认的 轻点目标尺寸应该是 44 乘 44 磅 这样的大小比较合适 能让大多数人的手指 轻松选择控件
对于不太重要的 UI 元素 这一数值可以下调到 28 磅 但请记住 这个尺寸的按钮 可能会更难准确选中 在玩家专心致志地玩游戏时更是如此
在 Mac 上 你应该尽量 将控件点击区域的尺寸设置为 28 乘 28 磅 以便提供足够的空间来放置 鼠标或触控板等指针
对于不太重要或不太常用的控件 这一数值最低可以下调到 20 磅
对于文本和按钮 都要尽量采用默认值 而不是最小值 这样可以让更多玩家 获得更舒适的游戏体验
现在 如果你想知道如何 让更紧凑的屏幕空间 装下这些尺寸更大的 UI 元素 请记住 人们非常习惯于 在移动设备上滚动浏览 所以你可以利用滚动视图 来显示更多 UI 元素
例如 无需一次性 将所有游戏设置塞进屏幕 你可以利用滚动操作 来充分利用垂直方向上的更大空间 这样也可以留出一些余地 以便增加控件的大小 文本也是如此 如果信息超出屏幕上的容量 请使用滚动视图 而不要通过缩小字号来解决问题
如果你想知道 玩家在你的游戏中能否 顺利阅读文本或触及各种控件 我最推荐的方法就是 在真实设备上测试一下 亲身体验最有助于你了解 你的游戏 UI 是否不 在外观和运行方面都没有问题 更好的方法是 让尽可能多的测试员 在尽可能多的设备上 试用你的布局 这样你就可以确信 玩家无论使用哪款硬件进行游戏 都会感到非常舒适 好的 我们刚才介绍了为 Apple 设备 设计游戏的一些最佳做法 包括让玩家快速投入到游戏中的方法 以及让游戏内信息 更加清晰易读的灵活布局 接下来交给 Dylan 来谈谈输入
谢谢 Linda! 大家好 我叫 Dylan 来自 Apple 设计团队 我将为大家介绍如何 让游戏的输入方案 适应 Apple 平台 我将讨论每种输入方法的注意事项 然后深入探讨 如何通过调整移动和相机 直观地放置控件 响应游戏玩法和提供反馈 来设计出色的触摸控件 我们先来看看 Apple 平台上提供的各种输入方法 Apple 平台全面支持 人们熟悉的多种输入方法 包括键盘、鼠标和游戏控制器 因此你可以轻松将游戏 移植到 Apple 平台上 你在其他平台上使用的控制方案 应该差不多都可以直接迁移到 iPhone、iPad 和 Mac 只有一些小小的注意事项 一方面 我们支持的控制器 比大多数其他平台范围更广 每种控制器都有自己的一套字形 这些字形印在相应的控件上
你可以使用“SF Symbols”App 在你的设计作品中 采用这些字形 这个 App 提供了一个 庞大的字形资料库 包括这些字形以及诸多其他字形 但是不应在自己的游戏中 生搬硬套这个字形库提供的资源 而是应该使用 GameController 框架 来为你的控制器获取恰当的符号 这样可以确保你的游戏随时能够处理 任何新的控制器或重新映射的控件 在实现键盘支持时 需要注意的是 Apple 键盘上的 修饰符按键 排列顺序和常规 PC 键盘不一样 因此你应该验证控件映射 能否提供舒适体验 并根据需要进行调整
除了对鼠标、键盘 和游戏控制器的支持之外 Apple 在触控优先的平台上 对高端游戏的支持 尤其独具优势 虽然有些玩家可能会使用控制器 在 iPhone 或 iPad 上玩游戏 但绝大多数玩家 没有可用的控制器 为了让游戏触达尽可能多的玩家 并为希望随时随地畅玩游戏的玩家 提供出色体验 你在设计 自定触摸控件时可以更进一步 面向触控操作的设计 与面向控制器的设计略有不同 传统游戏中有丰富的设计空间 可以响应控制器的静态输入
但在触摸屏上 输入表面同时也是输出 设计游戏意味着也需要设计输入方式 因为触控操作是动态的 并且可以利用游戏本身提供的信息 在我构建的这个游戏中 我直接将游戏机的控件 移植到了 iPhone 上 当前的控件杂乱地塞满了屏幕空间 遮挡了游戏内容 也让玩家难以 舒服而可靠地按下正确按钮 接下来 我要解构这个控制方案 并展示如何让它更好地支持触控输入 首先展示如何让实体摇杆的 移动和相机控件 适应触控操作 对于像我的游戏这样的 第一人称或第三人称游戏 我要创建一个虚拟控件来替换 实体左手摇杆控件 触摸屏的动态本质意味着 在不使用这个控件时 我可以将它隐藏起来 以免遮挡游戏内容
虽然传统的实体摇杆具有固定尺寸 但触摸屏不受这些限制的约束 而且由于玩家无法 实际感受到自己的手 相对于某个触感控件的位置 因此必须尽可能扩大输入区域
在我的游戏中 玩家按下控制器上的 一个摇杆即可加速冲刺 但我的虚拟摇杆无法实现这一操作 我可以创建一个按钮 来实现这项功能 但这个按钮使用起来很不方便 我需要停止移动才能进行切换
所以我要换个方法 利用触控表面上 比较大的动态范围 将冲刺功能 直接整合到虚拟摇杆中 而不必使用额外的按钮
对于通常位于右手摇杆上的相机控件 我可以使用另一个虚拟摇杆 将控制器输入移植到触摸屏 但这种方法不能充分利用触摸屏
我要改为通过直接触控输入 来平移相机 请注意 当我的手指上下左右拖移时 我是在直接操纵相机的位置 这样可以实现非常快速且精准的移动 在速度和精确性方面 更接近鼠标输入 而不是控制杆 正如我刚才所说的 为了方便移动 这个控件的输入区域 应该尽可能宽大
在采用俯视角或 或等距视角的游戏中 需要考虑几个不同的注意事项 虽然一个虚拟摇杆 可能足以实现移动操作 但是你还应该考虑 让玩家通过轻点来进行移动 此外 虽然通过平移来移动相机 这一操作可以顺利实现转移 但是你也可以添加惯性 来帮助实现长距离快速穿越 还可以通过双指开合 来放大和缩小 对于 iOS 用户来说 以上都是非常熟悉的行为 因为它们出现在整个系统中 比如在这里的“地图”中 现在 我已经挑选好了 核心的移动和相机功能 接下来谈谈如何在我的游戏中 放置控件以实现所有其他操作 正如 Linda 刚才介绍的 我需要注意安全区域嵌入 并避开屏幕边缘区域 但除此之外 我还需要 避免将控件放置在 预计会发生移动或相机输入的位置 当然 我也需要避免遮挡游戏角色 所以我不会在显示屏的中心 放置任何控件
这样一来 留给我的就是 缩略图周围的区域 这些区域非常适合放置 高频操作或重要操作 还有屏幕顶部的区域 这里非常适合放置不太常用的控件 比如菜单按钮 由于玩家很可能会只用两根拇指 来玩你的游戏 因此你需要考虑玩家可能需要 同时使用哪些控件 以便将这些控件放置在 屏幕上恰当的一侧 控制器的一种常见模式 是使用左侧扳机或 L2 按钮 来缩放相机以进行瞄准 同时用 R2 在瞄准状态下施展技能 这种控制方案在转化成触控操作后 很难保持原样 我无法同时进行瞄准和移动 也无法在瞄准的同时执行 R2 操作 如果我交换一下这些控件 就可以用右手拇指 同时进行缩放和瞄准 同时用左手拇指进行移动或开火
现在 我的控件放置方式没问题了 但我还可以添加一些 只能在触摸屏上实现的全新动态行为 从而提升这些控件 只需遵循一些简单的指南 这样一来 你的游戏 就能在触控优先的平台上 为玩家带来更加舒适自在的体验 首先 不要显示静态控制器按钮字形 而应该使用能够更好地 代表控件操作的字形 当控件根据上下文改变其行为时 你应该相应地更新控件的符号 非常重要的一点是 如果某个操作不可用或不相关 则应该将它完全移除 以免让屏幕显得杂乱
将这一方法应用于我的游戏时 我要用具有描述性的字形替换 每个控件的标准游戏机按钮字形 并完全移除不可用的控件 例如只有在瞄准时 才可以使用的“开火”按钮
当玩家开始瞄准时 我会更新各个控件的可见性 显示“开火”按钮 并隐藏所有其他控件
我甚至可以使用控件 来反映游戏状态的详细信息 在这里 我使用了“开火”按钮 来直观地表示 何时可以再次使用这项技能
当然 在显示菜单时 会完全隐藏所有控制器 UI 菜单必须能够响应触控操作 这一点至关重要 虚拟控件不仅会遮盖游戏内容 还会让菜单导航变得很不方便 现在 我已经让游戏的控制方案 完全适应了触控操作 但是还缺少一个关键要素 那就是 反馈 由于触摸屏无法 像实体控制方式那样提供触觉反馈 因此需要以其他方式提供反馈 你创建的控件 必须具有按键状态 这一点非常重要 按键状态能让玩家确信 自己按下了某个按钮 而如果没有按键状态 玩家会觉得控件没有响应 按键状态可以通过非常简单的方法实现 比如让按下的按钮颜色变深或高亮显示 但在玩家忙于操作的游戏情境中 你可能需要在控件的边界之外 引起闪光等视觉效果 借助这些视觉效果 即使在手指盖住了按钮本身的情况下 也可以提供反馈 还可以对这些视觉效果应用主题 以便更好地 与游戏的视觉风格融为一体 声音和触觉反馈也是很棒的反馈形式 甚至可以超越单纯按下按钮 所带来的感官体验 除了为控件执行的操作 设计声音和视觉反馈之外 你还可以为按下和松开按钮的 触控操作 添加细微的触觉反馈 从而带给玩家响应灵敏的感觉 现在 将反馈内建于控件之后 我已经完成了对游戏输入的调整 并创建了一个控制方案 能够利用触摸屏的种种优势
如果你想更深入地了解 我们对输入的建议 请查看《人机界面指南》 “输入”部分中的 “游戏控件” 我和 Linda 介绍了有关 如何针对设备进行设计 以及针对输入进行设计的许多内容 我们希望这些指导可以帮助你 让各种 Apple 设备上的玩家 即刻沉浸于 赏心悦目的游戏体验 我们也希望玩家能够 采用他们觉得最舒适的输入方式 来畅玩你的游戏 他们可以使用键盘和鼠标、控制器 甚至还可以使用你设计的 全新自定触摸控件 要进一步了解将游戏移植到 Apple 平台上的技术细节 请观看 “将高端游戏移植到 Apple 平台” 谢谢观看!
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。