案例研究:Soma Games 在 Intel® Ultimate Coder Challenge 中为 Ultrabook™ 开发图形丰富的游戏
案例研究:Soma Games 在 Intel® Ultimate Coder Challenge 中为 Ultrabook™ 开发图形丰富的游戏
- 下载文章:Soma Games 案例研究(PDF 1.05MB)
Soma Games 最近为 Windows 8* 和 Ultrabook™ 系统开发了游戏《Wind Up Football》。Ultrabook 技术使开发者能够创造出外观和性能都更出色的游戏,并借此重新进入 PC 游戏市场。
游戏开发历时仅六周,是 Intel® Ultimate Coder: Ultrabook™ Challenge 的一部分。这项开发工作很大一部分集中在多平台编程、确定硬件功能的最佳使用方式以及根据 Ultrabook 的性能提升视觉效果。
本案例研究描述了 Soma Games 团队在为 Windows 8 设计《Wind Up Football》并针对 Ultrabook 进行优化时所做的开发机会和决策。主要机会包括:
- 利用现有角色和元素创作新游戏
- 使用 Unity* 3D 进行开发
- 精心制作图形元素,充分发挥 Ultrabook 的功能
- 利用新技术包含有趣的上下文元素
- 调整用户界面 (UI),以利用更大的屏幕尺寸
- 坚持采用仅触控界面
Company
Soma Games 及其姊妹品牌 Code Monkeys,在 PC、在线和移动平台上的各类游戏中进行创作。游戏包括《G:Into the Rain》,该游戏于2009年在基督教游戏开发者大会上荣获最佳 iPhone 游戏奖,以及即将推出的《F:The Storm Riders》。这些游戏是计划中的“Arc”系列的前两部。该团队的其他游戏包括《Bok Choy Boy》、《Santa’s Giftship》、《Wind Up Robots》和《Wind Up Football》。
产品
《Wind Up Football》(参见图1)是 Soma Games 去年发布的《Wind Up Robots》的游戏衍生作品。《Wind Up Robots》的故事情节是关于六英寸的机器人保护一个睡着的男孩免受爬出床下的怪物的侵扰。Soma Games 的 CCO 和 CTO Chris Skaggs 表示:“当我们得知 Intel® Ultimate Coder: Ultrabook™ Challenge 时,我们想到可以利用相同的角色,因为我们可以重新利用一些模型,而无需重新制作全新的素材。 《Wind Up Football》融合了足球和躲避追逐的主题,据 Skaggs 所说,它探讨了一个问题:“Wind Up Robots 有一天休息时会做什么?”答案是:“它们会聚集在后院的足球场上,互相碰撞。这部分是碰碰车,部分是躲避追逐,一切都是关于碰撞和冲击,东西四处飞溅。”
选择正确的开发工具:Unity 3D
选择正确的编程工具对开发过程至关重要。Soma Games 开发团队自2010年以来一直在使用 Unity。Skaggs 描述了团队对该工具的初步印象:“它是一个新兴的游戏开发引擎,主要面向移动设备。它易于上手且价格低廉。多年来,它变得越来越强大、功能越来越丰富;我们是它的忠实粉丝。”
对于《Wind Up Football》,团队能够一次性构建游戏,然后通过简单的插件将其移植到 Mac OS* X、PC、Apple iPhone*、Apple iPad* 和 Google Android*。Skaggs 说:“基本上可以一次性完成,只需对 UI 进行微小改动。我们使用它的主要原因是跨平台功能。”
Skaggs 解释说,Unity 使团队能够创建“功能层”。游戏具有某些功能,可以根据平台开启或关闭。例如,“Ultrabook 比 iPad 具有更强的图形处理能力。图形密集型功能,如粒子、烟雾和季节性效果;光线传感器;或在游戏场地上的更多生物,都会响应 Ultrabook 上的事件。因此,当我们切换到‘导出到 Ultrabook’时,这些功能将保持开启,但当我们导出到 iPad 时,它们将关闭。这样,我们就可以拥有一个游戏,并根据硬件的可用性来组织功能。”
能够轻松定制特定平台,另一个需要考虑的因素是游戏的盈利方式。Skaggs 解释了团队的方法:“应用内购买在 Apple 和 Android 之间的销售方式可能有很大差异。我们分解了项目,知道哪些部分将在哪个环境中工作,这样我们就可以标准化主要部分,只为单个硬件替换一些小部分。”
Skaggs 补充说:“Unity 在一个程序中完成了我们所需的大部分工作,并为《Wind Up Football》提供了我们在其他 3D 项目中获得的全部优势。”其他开发工具包括 Autodesk Maya* 和 Adobe Photoshop*,用于合成和纹理,然后导入引擎,以及 C# 作为脚本环境。
Windows 8 的开发过程
Soma Games 刻意努力做到平台无关。Skaggs 解释说:“我的应用程序获得的关注越多,就越有可能找到核心受众。Windows 8 显然会有大量用户关注。Ultrabook 是一个重要的推动力。它对我们现有的代码很友好。因此,如果我需要再购买一个插件来导出到 Windows 8,那就太简单了。”
Windows 8 桌面版 vs. Windows 8 应用商店应用
团队可以选择开发 Windows 桌面版或 Windows 应用商店应用,并选择了 Windows 桌面版,因为这是 Unity 引擎当时支持的平台。Skaggs 说:“Unity 没有 Windows 8 应用商店导出工具。当时它仍在开发中,所以如果我们想的话,也无法进行 Windows RT。Unity 根本不支持。”他补充说,如果可以选择,团队可能会选择应用商店,因为它是一个较新的平台。
Windows 8 硬件支持
除了考虑屏幕尺寸和分辨率外,团队几乎没有对流程进行任何更改即可为 Windows 8 桌面版进行设计。“更大的挑战,”Skaggs 说,“是硬件。”特别是,多点触控屏幕对于像《Wind Up Football》这样的游戏至关重要,这款游戏没有键盘和鼠标的对应选项。Skaggs 说:“Windows 支持触控并且已经支持了很长时间,所以它支持这款游戏。只要硬件有触摸屏,我们就可以在 Windows 上运行。”
尽管如此,Skaggs 说:“多点触控相当新,所以很难确切知道其中哪些部分是 Windows 的,哪些部分是 Unity 的。作为一个支持多点触控的新平台,我认为各种软件组件的调试还没有完全完成。”
例如,团队在处理双击事件时遇到了困难。Skaggs 解释说:“据我们所知,Unity 通过一种类似于 Apple iOS* 的框架来理解双击事件,但 Windows 将其报告为鼠标单击。因此,我们遇到了一些奇怪的问题,这给我们带来了一些重大麻烦。有趣的是,发生这种情况时,我们无论如何都无法修复它,而且截止日期快到了。这是一个重大的阻碍性功能,但我们就是无法解决。然后,Windows 8 有一次更新,我们安装后,问题就消失了。”Skaggs 确信,如果问题没有解决,团队也会找到变通方法。
他指出,Unity 在 iOS 和 Windows 之间对许多组件的处理方式不同:“Unity 被设计成多平台的。对于 Corona 等任何多平台引擎来说,情况都是如此。我们碰巧喜欢 Unity,但还有其他公司也能做同样的事情。”Skaggs 强调,在当前的开发世界中,成为一名多平台程序员是关键,而不是成为一名 Windows、Mac 或 iOS 开发者。
Unity 确实有助于泛化功能,但 Skaggs 指出它无法处理 Ultrabook 光线传感器,该传感器会根据光线条件改变游戏玩法。团队不得不找出如何专门访问光线传感器。他们还使用 C# 脚本来插入 Unity 的脚本环境。
Ultrabook 的开发过程
Soma Games 团队为 Ultrabook 添加了几项优化。首先,他们增强了 Skaggs 所称的“眼球糖果”,例如照明和粒子效果,以及与季节相关的效果,如吹落的树叶和飘落的雪花。这些效果的艺术素材是手工制作的,然后用于在 Unity 中创建效果。Skaggs 指出,他们能够做到这一点,因为“Ultrabook 在图形处理器和核心处理器方面都有很大的运行空间。”
随着团队使用 Ultrabook,他们意识到与过去几年他们一直在开发的移动设备相比,有了更大的灵活性。Skaggs 说:“这是我们很长时间以来第一次为更强大的设备编程。在移动领域,你学会了在内存和处理器速度方面要相当精简。所以,拥有大量额外的处理能力可以玩弄,这令人兴奋。额外的计算能力使团队能够添加新功能、角色和图形,并鼓励他们考虑重返 PC 市场的可能性。
情境计算
通过开发过程,团队对 Ultrabook 的潜力有了更多的了解。 Soma Ultimate Coder 博客解释了这种潜力的一个组成部分:“[我们希望《Wind Up Football》]更能感知用户周围发生的事情,并适应[他/她的]情况。一个简单的例子是使用 Ultrabook 的光线传感器、时钟和 GPS 来跟踪环境光以及 weather.com 报告的当地天气,然后相应地改变游戏的关卡。天黑了吗?调高场地灯光并添加萤火虫。白天?关掉体育场灯,添加清晰的白天阴影。下雨?下雪?热浪?这些任何或所有因素都可能反映在游戏的关卡中。”1
情境计算组件的开发,如与天气相关的图形(参见图2),在整个过程中不断发展。Skaggs 解释说:“比赛的性质是为了看看哪个应用程序最适合 Ultrabook。我们不想为了比赛而随意添加功能。这引出了关于 Ultrabook 平台目标的一些更大讨论。这个问题的答案之一就是便携性和用户位置感知。因此,让游戏在一定程度上感知其周围环境和上下文,感觉是朝着这个方向迈出的巨大一步。这并没有需要很多额外的工作;它只需要一些不同的思考。”
在 Intel® Ultimate Coder: Ultrabook™ Challenge 结束时,情境计算的应用给评委留下了深刻的印象:“《Wind Up Football》很好地展示了 Ultrabook 的图形实力。他们还以一种特别独特的方式利用了 Ultrabook 的传感器——通过情境计算。他们通过编写游戏代码,使其能够感知一天中的时间和一年中的时间,进而游戏的关卡会根据这些感知做出相应的气候效果和照明。2
更新的 UI
与以前的游戏设计相比,另一个变化是 UI,它被修改以匹配 Ultrabook 的屏幕分辨率和纵横比。Skaggs 说,这涉及创建一些不同的图形,但这是一个“相对容易的改变”。
另一个未包含在最终设计中的建议功能是开发一种在游戏过程中显示有用信息的新方法。 Soma Games 博客指出:“该计划基本上取代了我们作为鼠标用户熟悉的悬停工具。[控件]是一个简单的问号,当触摸并按住时,它会暂停游戏并使整个屏幕变暗,只留下它指向的对象。例如,在游戏过程中,您将按住问号图标并将其拖到机器人上。当它停留在机器人上方时,游戏的所有其他部分将保持变暗,只有该机器人除外。将出现一个弹出区域,显示有关机器人以及其他教程文本和说明的详细信息。”3
然而,Skaggs 指出:“这个功能从未进入最终版本。我们研究了这个概念,但纸面上听起来很有趣的东西在实践中却变得笨拙和令人困惑。”
通过为 Ultrabook 开发《Wind Up Football》,团队改进了游戏。Skaggs 解释说,这尤其体现在图形方面:“我们能够最大化一些效果,如照明、阴影和粒子,这些效果为用户体验增加了更多乐趣、丰富性和光彩。由于计算能力的提高,我们还可以实现动态阴影和不断变化的照明条件。这些类型的效果使游戏看起来更漂亮、更锐利、更清晰、更干净。音效的质量也有所提高。”
由于 Unity 3D 是多线程的(每个硬件核心运行一个线程),它利用了所有 CPU。这有效,因为 Unity 对其某些系统(如物理和粒子)执行基于任务的工作。几个额外的系统在单独的线程上运行(如音频、渲染和解压缩)。
多人游戏功能
团队**未能**实现的一项优化是多人游戏功能。Skaggs 说:“Ultrabook 支持的触控次数不如 iPad 多,这意味着我们无法在 Ultrabook 上实现我们想要的多人游戏。”当 Ultrabook 支持时,团队打算集成多人游戏功能。Skaggs 指出,计划是为不支持完全平放的 Ultrabook 型号提供两人对战选项,或为支持的型号提供并排对战选项。
键盘支持
团队决定**不**使用的另一个潜在的 Ultrabook 组件是键盘。Skaggs 解释说:“我们讨论了键盘支持是否适合我们的游戏,最终我们认为它不适合。它不适合键盘的最大原因是玩家需要同时控制三个不同的机器人,它们以不同的方向独立移动。此外,还有诸如特殊攻击之类的东西。试图将所有这些映射到键盘需要一个非常复杂的键盘布局。需要三组 ASDF 键以及额外的攻击键。因此,我们意识到游戏的本质是故意设计的触控,而键盘实际上并没有带来任何好处。我们可以强行加入一些东西,让你可以使用键盘做些什么。相反,我们着手制作一款充分发挥 Ultrabook 触控特性的游戏。”
然而,该团队并非绝对反对在其设计中使用键盘。Skaggs 指出:“我们还有一款游戏即将发布到 Ultrabook 上,其性质恰恰相反。这款游戏作为触控设备效果很好,并且它是其主要平台,但用键盘操作也很有意义。它的控制范围相当有限,因此双指操作的键盘布局很有效。控件更简单。这款游戏是一款轨道射击游戏。使用键盘来改变高度或移动目标是很有意义的。我们将根据游戏的性质,为每款游戏逐案考虑键盘的使用。”
学到的教训
团队在开发过程中经历过一次熟悉的事情:观察用户实际如何使用程序。Skaggs 解释说:“我们喜欢尽早做的一件事就是把原型带到我们附近的大学校园,让人们试用,看看他们会怎么做。这总是有启发性的,因为人们会以你意想不到的方式使用你的游戏,而你想看看他们的自然倾向是什么。他们是想把它放在腿上吗?如果他们期望打开它,他们是在使用键盘吗?你观察他们在做什么,以及你是否满足了他们的需求。”
一个具体的例子是,用户希望将状态栏中的对象拖到战场上。Skaggs 报告说:“这从未在我们脑海中出现过。几个人试图这样做,但游戏不支持。因此,我们知道这是一个添加功能的好地方。我们还发现,使用平板电脑时,人们通常是手持它,并用拇指在两侧当作操纵杆。”《Wind Up Football》有一个选项供想要以这种方式玩的用户选择。人们可以使用单手或双手进行游戏(参见图3)。
Ultrabook 的优势
团队在为 Ultrabook 进行开发时发现了几项有用的优势。
帧率
当《Wind Up Football》最初设计时,游戏以较低的每秒帧数 (FPS) 运行。Ultrabook 的功能使团队能够调整程序以利用纹理、阴影效果和其他效果,从而创造出更有趣的游戏,同时保持合理的帧率。Skaggs 说:“FPS 是我们使用的主要指标。我们的目标是大约 60 FPS。我们可以接受 40 到 45,但 60 是我们的目标。在测试中,我们能够在 Ultrabook 上以大约 100 FPS 的速度运行完整游戏。最终游戏限制在 60 FPS,所以我们仍有扩展空间。”
由于 Ultrabook 较高的 FPS 率,团队能够加入一些 iPad 版本无法实现的功能,例如场地灯。这些灯在游戏中提供固定的明亮光源。Skaggs 说:“在 iPad 上,角色在地面上只有一个跟随他们的模糊阴影。但在 Ultrabook 上,我们可以使用来自所有真实光源的真实阴影。所以你会看到一个很酷的东西,比如机器人站在场地中央。它在四个方向投射着阴影。根据他是否靠近或远离每个光源,阴影会变亮或变暗。这是一个小细节,但它增加了许多丰富性。在单人游戏接近尾声时,场地上可能有 30 个角色,每个角色投射六个阴影。但 Ultrabook 似乎都能很好地处理。”
性能和灵活性
团队对 Ultrabook 的运行以及它为开发带来的可能性印象深刻。Skaggs 指出:“如果你从传统移动设备的角度来看,你会获得高移动性但硬件不够强大。有了 Ultrabook,你就能获得一个漂亮、强大的硬件,同时它也仍然是移动的。
“我们可以利用这些功能的组合来做一些非常有趣的事情。例如,我们经常谈论 GPS,以及如何制作一些有趣的游戏和技术来利用它。随着 Ultrabook 上这项功能的推出以及浏览器的支持,我们可以开始推出许多游戏创意,这些创意将非常前沿,与现在市面上的游戏截然不同。
“这项技术可用于商业,例如使用 GPS 处理易腐库存或实施地理传感。例如,假设我有一部电影将在 15 分钟后开始,但电影院有一半是空的。作为影院老板或经理,我可以向一定半径内的所有人广播,‘嘿,这部电影将在 15 分钟后开始。如果你过来,可以打五折。’其他例子包括寻宝游戏或管理应急响应。这些类型的用途是这些硬件平台灵活性和移动性所带来的前所未有的新奇方式。”
Ultimate Coder Challenge 体验
Intel® Ultimate Coder: Ultrabook™ Challenge 为团队提供了一个扩展到新平台的机遇。Skaggs 说:“能够多一个发布平台,这很有意义。我们获得了更多的关注、更多的分发,而 Ultrabook 提供了一个很酷的新空间。我们认为 Ultrabook 可能会吸引比我们曾开发过一些应用程序的上网本更广泛的游戏受众。”
Skaggs 指出,这场比赛挑战了团队的极限:“它带来了新的技术挑战。它教会了我们一些新技巧,并让我们重新接触到 PC 世界。我们之前完全没有考虑过 PC,它让我们对这个领域重新感到兴奋。这很重要。”
有关 Intel® Ultimate Coder: Ultrabook™ Challenge 的详细信息,请访问 http://software.intel.com/sites/campaigns/ultimatecoder。
摘要
Soma Games 最近通过创建一款新游戏《Wind Up Football》参加了 Intel® Ultimate Coder: Ultrabook™ Challenge。成功开发过程的一个关键是使用了 Unity 3D,团队选择它作为其编程工具,使其能够在游戏中构建跨平台功能。选择移植到 Windows 桌面版而不是 Windows 应用商店版,是基于开发时 Unity 3D 的功能。Ultrabook 的优化包括图形和性能升级以及更新的 UI。在 Ultrabook 的升级中,团队能够保持高水平的图形运行,同时将帧率维持在可接受的水平,从而实现了更深层次的图形复杂性,提升了游戏体验。
1“Ultimate Coder: Ultrabook Challenge Week 5: Post IDF Thoughts,” Som(a)niloquy. September 2012。
2Stone, H. "Intel’s Ultimate Coder Challenge: Week 7," Chip Chick blog. October 3, 2012。
3“Ultimate Coder: Ultrabook Challenge Week 4 All About Touch,” Som(a)niloquy. September 2012。
作者简介
Karen Marcus,文学硕士,是一位拥有15年经验的技术营销作家。她为 HP*、Samsung*、IBM*、Microsoft、Amazon Web Services*、Intel 和 EMC* 等知名公司撰写过案例研究、宣传册、数据表、解决方案简介、成功案例、文章和网站文案。Karen 熟悉各种当前技术和概念,包括云计算、企业计算、视频显示、操作系统和个人计算。除了技术文案撰写,Karen 还拥有撰写项目提案、内容营销、解读性写作和图书编辑的经验。在她所有的工作中,Karen 以严谨的访谈和研究、出色的语言能力和响应迅速的服务而闻名。
Intel、Intel 标志和 Ultrabook 是 Intel Corporation 在美国和/或其他国家/地区的商标。
版权所有 © 2012 Intel Corporation。保留所有权利。
*其他名称和品牌可能被声明为他人的财产。