【问题标题】:browser for creating mobile game app用于创建手机游戏应用程序的浏览器
【发布时间】:2013-08-03 05:41:41
【问题描述】:
我不知道我的问题是否属于这里,但我还是在问。为什么使用 HTML5 创建游戏而不是创建原生游戏应用程序(尤其是移动应用程序)没有太多转变?虽然我完全理解并假设我的理解是正确的,但对于桌面游戏,本机游戏可以使用计算机中的显卡,从而减轻 CPU 的图形处理负担。手机浏览器是什么情况?移动浏览器是否允许拥有与原生应用程序相同数量的处理资源?在我看来,处理器在手机中无处不在。如果这是正确的,那么我认为使用浏览器创建游戏会更容易。
我的理解正确吗?我在这里错过了什么吗?如果我想使用 HTML 和 javascript 创建游戏应用程序,有什么问题?
【问题讨论】:
标签:
javascript
html
game-engine
【解决方案1】:
作为原生应用程序的游戏通常使用比 javascript 更高效的语言编写,例如 Android 上的 Java 或 iOS 上的 Objective-C。 Javascript 通常在运行时被解释(据我所知),这会影响性能。此外,虽然您可以混淆 javascript 以隐藏实现(如果您想保护您的代码),但它不如编译原生应用程序有效(尽管我不知道对 Java 进行逆向工程有多难)。
然而,WebGL 正变得越来越流行,并允许 javascript 代码使用硬件加速来加速图形。当这在移动设备上得到很好的支持时,在网络浏览器中制作复杂的游戏可能是可行的。它确实使它更便携,您可以将它放在本机 WebView(或类似的)中,使其像本机应用程序一样工作。
这里有一些例子:http://www.chromeexperiments.com/webgl/
【解决方案2】:
HTML 5 有几个潜在的缺点,其中一个已经被指出,就是潜在的性能损失。这是一个很大的问题,尤其是对于不能使用 WebGL 的设备。无论如何,对我来说另一个真正重要的是带宽使用。大多数手机(至少在美国)都使用相当严格的数据计划,因此如果您通过 HTML 5 访问游戏,您每次玩游戏时都可能会占用您的带宽,同时下载一次本机应用程序,这是数据使用的最后一个……输入延迟是另一个大问题,特别是如果你的游戏需要特定的时间。诚然,随着移动设备上的速度越来越快,这成为一个越来越少的问题,但它永远不会等同于可以在本地应用程序上完成的事情。最后,正如所指出的,代码隐藏,您可能关心也可能不关心,但在本机应用程序上更容易做到。