游戏行业一直在变化,游戏开发者需要不断适应最新趋势。其中一个趋势是,为特定设备创建的游戏很快就会过时,因为玩家现在希望在各种硬件上玩游戏。下图显示,使用智能手机等新型游戏设备的游戏玩家数量(26 亿)超过了使用游戏机等更传统游戏设备的游戏玩家数量(7.3 亿)和个人电脑(15 亿)。
根据 Inovecs games(一家游戏开发公司)的说法,游戏的商业成功取决于多种原因,例如游戏的吸引力、游戏玩法以及游戏在设备上的可用性。但事实证明,可用性是游戏受欢迎程度和成功的最重要因素之一。他们的统计数据显示,87% 的多人游戏玩家不断寻求更多的跨平台游戏,使游戏跨平台可以带来 20% 到 40% 的收入增长。一些最成功的跨平台游戏包括:
光环无限:Xbox One、Xbox Series X/S、Xbox 云游戏
Fortnite :PS4、PS5、Xbox One、Xbox Series X、Switch、PC
我们之中:Android、iOS、PC、Switch
使命召唤:先锋:PS5、PS4、Xbox One、PC、Xbox Series X/S
因此,要想吸引更多参与的玩家并通过赚取更多利润在游戏行业取得成功,跨平台游戏开发非常重要。
跨平台游戏开发意味着构建可以同时在多个平台上运行的游戏。它允许一组开发人员编写一次代码并随处发布。跨平台游戏开发相当复杂。与使用系统开发人员提供的官方工具的本地游戏开发不同,跨平台开发需要其他软件来帮助将单个代码库适应多个系统。开发人员使用单一代码库,而游戏引擎、库、脚本语言和软件开发工具包 (SDK) 创建所需的特定于平台的元素。
跨平台游戏通常采用全周期开发设计,游戏在发布前同时为多个平台构建。这不同于将已经在一个平台上发布的游戏移植到其他游戏平台。创建跨平台游戏通常需要更长的时间,但它可以防止花费时间和精力来使已经发布的游戏在其他平台上可用。
以下是跨平台游戏开发的一些好处。
易于维护:无需为每个平台维护单独的代码库,这也有助于升级。团队可以简单地更改代码库并立即将其部署到所有平台,从而节省时间和金钱。
改进的可访问性:跨平台开发通过使游戏在观众可能使用的不同类型的设备上可用,帮助游戏开发者尽可能多地接触目标观众。
更快的开发过程:立即创建跨平台游戏比为PC创建单独的游戏,然后将成品适配到移动设备更快。
更快的上市时间:将跨平台游戏推向市场比单平台游戏要容易得多,因为该游戏同时吸引了多个细分玩家的兴趣,因此传播速度更快。
更好的游戏体验。跨平台游戏让每个人都可以不受地理位置或平台的限制,将社区聚集在一起。这有利于在线游戏。
节省成本:创建跨平台游戏可以在一个开发周期内支付所有发布成本,因为没有额外的成本来吸引新的受众。只需为所有平台管理一个代码库,还可以降低维护成本。
有效的营销。跨平台游戏最大程度地减少了平台之间的销售竞争。因此,广告努力集中在游戏上,不受平台限制。
根据 Nexon Games 的说法,游戏的未来指向跨平台体验,玩家可以以一个价格在不同平台上享受相同的游戏。
跨平台开发也带来了许多挑战,其中一些将在下面讨论。
它需要更多的技巧来处理
使游戏适应多个设备时可能会出现显示困难。
PC、游戏机和智能手机的游戏控制将完全不同。
保持游戏的个人氛围和游戏的特点——跨多个设备玩是一个挑战。
下图显示了跨平台游戏开发过程中需要考虑的众多因素中的一些。
然而,跨平台游戏开发的好处大于困难。
同时在多个平台上创建游戏需要一定的技能、知识、特殊工具和编程语言。首先,需要了解目标平台。如果它是流行的 PC、控制台和移动三重奏,那么可以使用 C++ 安全地进行开发。但是,使用 C++ 开发跨平台游戏的成本会更高,因为它比其他语言更难使用。但该语言非常高效,在游戏开发者中很受欢迎。根据所使用的工具,跨平台游戏开发可以分为有游戏引擎的开发和没有游戏引擎的开发。
1. 使用游戏引擎进行开发
游戏引擎是一种软件开发程序,用于通过放置允许用户更轻松地创建游戏组件的框架来简化视频游戏开发。所有繁重的工作,如 2D 和 3D 渲染、动画、人工智能、物理和碰撞引擎、音频引擎等,都由游戏引擎处理,而开发人员使用公开的应用程序包接口 (API) 来创建所需的内容。用于跨平台游戏开发的流行游戏引擎包括:
Unity: Unity 是一种流行的基于 C++ 的多平台游戏引擎,适用于 PC、游戏机和手机。它使用 C#、Boo 或 UnityScript 编写脚本,并具有直观的界面和易于设置的跨平台游戏开发。 Unity 经常被不专注于高级图形的小型游戏公司使用。
虚幻引擎:虚幻引擎是目前可用的最强大和最先进的跨平台游戏引擎之一。它有一个名为 Blueprint 的内置可视化脚本工具,用于为不同的硬件创建游戏视觉效果。它也是基于 C++ 的,但在使用该软件时,可以通过为每个目标平台安装单独的 SDK 来避免编写 C++ 代码。但是,如果需要,也可以修改源代码。与 Unity 一样,Unreal 支持 PC、手机和游戏机的游戏开发。
其他正在使用的跨平台游戏引擎包括 Cry 引擎、GameMaker Studio 和 Godot 引擎。
2. 没有游戏引擎的开发
这涉及使用编程语言,通常是轻量级库和框架,其中一些是;
HTML 5:据 Vision Mobile 称,超过 50% 的手机游戏和应用程序是使用 HTML5 以及 JavaScript 和 CSS 构建的。这会产生一个响应式游戏,可以在任何设备上的任何浏览器中显示。它还涉及非常有限的预算。
LibGDX:有时也称为游戏引擎,LibGDX 是一个流行的开源、跨平台的 Java 编程语言游戏开发库。
Cocos2d-x: Cocos2d-x 是一个简单快速的跨平台开源框架,用于游戏和其他图形应用程序。它是移动平台的理想选择,只需要对特定平台进行少量调整。 Cocos2D-x 在 C++、JavaScript 和 Lua 中可用,有时也被称为游戏引擎。
上面讨论的跨平台游戏开发工具都是快速、耐用和多功能的软件开发工具。但是,它们中的每一个都有其自身的局限性。前两个游戏引擎(Unity 和 Unreal 引擎)被广泛称为跨平台游戏开发的最佳工具。
然而,游戏引擎是重型软件,并且经常创建大型二进制文件,这使得它们的使用成本很高,因为需要具有先进规格的昂贵硬件,并且需要支付订阅费或版税才能使用它们创建游戏。
因此,它们不容易访问。另一方面,在游戏开发中使用编程语言既困难又耗时,而其他非游戏引擎软件(HTML5 和游戏开发库/框架)要么完全依赖于 Web 浏览器,要么设备数量非常有限他们支持。
有了这些限制,就需要一种万能的跨平台游戏开发工具,它结合了游戏引擎和游戏开发框架的优点,同时尽可能减少它们的缺点。即一个可访问、快速、易于使用、高性能、独立和多功能的跨平台游戏开发工具。这就是 Flutter ——跨平台软件开发行业的一个充满活力的新入口——考虑的地方。
Flutter 是谷歌于 2017 年发布的一款免费、开源的移动 UI 框架,它允许人们只用一个 co-debase 来创建原生的、跨平台的移动应用程序。这意味着使用一种编程语言和 co-debase 来创建两个不同的应用程序(适用于 iOS 和 Android)。
Flutter 使用 Dart,一种专注于前端开发的编程语言,可用于创建移动和 Web 应用程序。 Flutter 由两个重要部分组成:
正如 Flutter & Dart 的产品总监 Tim Sneath 在 2020 年 3 月所引用的那样,Flutter 的目标是“从根本上改变开发人员构建应用程序的方式,而不是从他们的目标平台开始,而是从他们想要创建的体验开始”。
这一目标一直在追求,Flutter 目前已从单一的 co-debase 稳定地支持移动、Web、桌面和嵌入式设备上的原生应用程序(丰田已采用 Flutter 作为在其汽车中创建嵌入式系统软件的工具)。因此,该框架被描述为第一个为环境计算世界设计的 UI 平台。这使得它在跨平台游戏开发中很受欢迎。
使用 Flutter 进行游戏开发相对较新,但很有前景。 Flutter 支持两种类型的游戏开发,它们与已经描述的两种游戏开发方法相关。
第一种是休闲游戏开发,使用flutter休闲游戏开发工具包构建跨平台的类app游戏(如超级井字游戏、4图1字、国际象棋变体——全能棋等,都是用flutter构建的)。这说明了没有游戏引擎的游戏开发。
第二个是视频游戏开发,涉及使用 Flutter Flame 游戏引擎构建更高级的跨平台游戏,例如 Flappy Bird。
因此,与之前描述的游戏开发工具通常要么是游戏引擎要么不是游戏引擎不同,Flutter 支持游戏引擎和非游戏引擎的跨平台游戏开发。
目前,Flutter 中的游戏开发仍然非常有限。比较幼稚的火焰引擎暂时只部署到移动设备上,休闲游戏工具包目前只支持安卓、iOS和web。但是 Flutter 的巨大优势——专注于所有设备的支持、编译为本机代码、速度和易用性、易于访问等——再加上它得到了像谷歌这样的巨头公司的支持,使它看起来就像一个很有前途的工具,可以在不久的将来解决跨平台游戏开发的大多数问题。
总之,Flutter 是一个通用的 UI 开发框架,具有原生性能和支持几乎所有设备的巨大优势。然而,它在跨平台游戏开发方面仍然非常有限,因为它的游戏引擎还处于早期阶段,目前只能将游戏部署到移动设备和网络上。因此,它目前还不能称为跨平台游戏开发的灵丹妙药。但它对未来的跨平台游戏开发有着良好的前景,至少从用户界面创建的角度来看是这样。
Unity 游戏引擎和 Unreal 游戏引擎仍然是目前最好的跨平台游戏开发工具。