现代的web已经高速发展成为一个可行可靠的平台,它不仅能够用来创建高质量的酷炫游戏,同时也能够用来发布和传播这些游戏。

采用现代网页技术和较新的浏览器,完全有可能做出令人影响深刻的顶级页面游戏。它能够制作的游戏种类可以和桌面端以及原生系统相当。我们这里所说的,并不是很久之前就采用Flash®制作出的简单卡牌游戏或者多人社交游戏。而是牛逼的3D 动作射击游戏,RPG 游戏等等。得益于 JavaScript 实时编译技术性能的大幅提升,以及新开放的 API。在制作运行在浏览器(或者是基于类似 Firefox OS 的 HTML5技术支持的设备)上的游戏时,我们不用妥协。

 

HTML5游戏平台

你可以真正地为你的游戏考虑下 Web 来作为更好的目标平台。我们总是喜欢说,"the Web is the platform."  让我们浏览下 Web 平台的核心部分:

Function Technology
Audio Web Audio API
Graphics WebGL (OpenGL ES 2.0)
Input Touch events, Gamepad API, device sensors, WebRTC, Full Screen API, Pointer Lock API
Language JavaScript (or C/C++ using Emscripten to compile to JavaScript)
Networking WebRTC and/or WebSockets
Storage IndexedDB or the "cloud"
Web HTML, CSS, SVG, Social API (and much more!)

商业案例

作为一名游戏开发者,无论你是独立的个人还是大型游戏工作室,你想知道你的下一个游戏项目瞄准 Web 是有意义的 。让我们看看 Web 是如何帮到你的 。

  1. Web 触手可及;它无处不在。如今可以看到,用 HTML5 构建的游戏运行在智能手机,平板,个人电脑和智能电视。
  2. 提高营销和曝光度。你不限于在某商店推广你的游戏。相反,你可以像其他媒体一样在 Web 宣传和推广你的游戏,利用网络的固有性和共享性接触新客户。
  3. 你可以掌握最重要的事项:支付。你不必交付超过收入的 30% 给他人,仅仅就因为你的游戏在他们的生态系统。相反,你可以管理任何你想要的和使用任何你喜欢的付款处理服务。
  4. 拥有更多控制权的是,只要你愿意,你可以随时更新游戏。 不必着急等待审核通过,仅当其他公司的某某人决定你的关键 bug 修复是否会在今天或明天交付。
  5. 掌握你的数据分析! 不必依靠别人作出所有决定,你需要什么分析,你可以收集自己的 -- 或选择你最喜欢的第三方平台, 来收集有关你的销售和游戏产生的信息。
  6. 你可以用你的方式更密切地管理你的客户关系。 再也不用苦苦等待只能通过应用商店有限的机制来过滤客户的反馈。用你想要的方式与客户交流, 没有中间人。
  7. 你的玩家可以随时随地玩你的游戏。因为 Web 是无处不在的,你的顾客可以在手机,平板,家庭手提,个人电脑或其他设备上关注游戏动态。

针对游戏开发者的Web技术

技术同行们, 让我们发掘出所有关于Web的APIs,将它们呈现给所有的游戏开发者们。下面是一个比较完整的列表,可以一窥Web究竟能够做些什么:

Full Screen API
这个简单的API能够让你的游戏占据整个屏幕,从而使玩家沉浸在动作中
Gamepad API
如果你想你的用户能够使用游戏手柄或其他游戏控制器来控制游戏,你需要这个API
HTML and CSS
二者合璧,可以构建,设计并对你的游戏界面布局,HTML有一个提供2D图形的元素,即<canvas>
HTML audio
 <audio> 元素可以用来播放一些简单的音效和音乐。如果你想要更多的参与,可以学习Web Audio API 来深入了解音频处理的力量!
IndexedDB
一个强大的数据存储API,用来在电脑或者设备上保存用户自己的数据。一个很好的方法用来保存游戏的状态和其它最近的信息,这样在需要的时候不用每次重新下载。也可以用来让你的游戏即使用户没有链接到网络也能继续玩 (例如在飞机上的数小时)。
JavaScript
JavaScript是网络上使用的编程语言,在现代浏览器中正在快速发展,而且一直在快速发展。 使用它的力量为您的游戏编写代码,或者使用EmscriptenAsm.js等技术轻松移植您现有的游戏。
Pointer Lock API
指针锁定API允许您在游戏界面中锁定鼠标或其他指针设备,以便您不用绝对定位光标就可以获得坐标变化值,从而准确地判断用户正在做什么,并且还可以防止用户意外地进入另一块屏幕或别的什么地方,从而导致误操作。
SVG (可缩放矢量图形)
无论用户显示器的大小或分辨率如何,都可以构建平滑缩放的矢量图形。
Typed Arrays
JavaScript中的类型数组可以让您访问原始二进制数据;这使您可以操纵GL纹理,游戏数据或其他任何东西,即使它不是原生JavaScript数据格式。
Web Audio API
这个API用于控制JavaScript代码中的音频的回放,合成和处理,使您可以创建出色的音效,以及实时播放和操作音乐。
WebGL
允许您从Web内容创建高性能,硬件加速的3D(和2D)图形。 这是一个Web支持的OpenGL ES 2.0实现。
WebRTC
WebRTC(实时通信)API使您能够控制音频和视频数据,包括远程会议以及两个用户之间来回传输其他应用程序数据。 希望你的玩家能够在殴打怪物的同时互相交流? 这是你的API,快使用它吧。
WebSockets
WebSocket API使您可以将您的应用程序或站点连接到服务器,实时传输数据。 构建完美的多人游戏动作,聊天服务等必备。
Web Workers
Workers API 能够让您生成运行JavaScript代码的后台线程,以充分利用现代的多核CPU。
XMLHttpRequest and File API
XMLHttpRequest和File API的组合使您可以从Web服务器发送和接收任何类型的数据。比如下载新的游戏关卡,文件,以及传递非实时游戏状态信息等。

 

文档标签和贡献者

标签: 
 此页面的贡献者: varcat, WMin, hansonfang, 13310, magiclyde, fierayan
 最后编辑者: varcat,