最近,HTML5游戏领域发生了一些爆炸。 浏览器游戏的受欢迎程度迅速增加,开发人员开始寻找一套方便使用的API和其他工具。 Rob Hawkes热衷于赞扬HTML5及其在浏览器游戏中的应用。 Rob是Mozilla的视觉程序员,作家和技术布道者,在开发人员社区中领导Mozilla工作的游戏方面。 他在最近在墨尔本举行的Web Directions Code上作了闭幕主题演讲,向我们展示了HTML5游戏正迅速变得如此强大的一切。

嗨,罗布。 告诉我们您的开发背景。

我从事网络开发已有13年了。 我学习了有关HTML和CSS的点点滴滴–我对Web设计更加感兴趣,但是后来我了解到您可以在服务器端开发中做相当强大的事情,因此后来发展为PHP。 一旦我知道如何创建我认为的表格,现在,您将如何访问该数据?

每个人都从使用表单开始学习PHP……

对! 能够将数据发送到某物真的很酷。 因此,我去了该行业工作了几年,主要从事前端开发。 我对媒体很感兴趣,并且对JavaScript非常感兴趣,从那时起,我意识到我对真正制作网站的兴趣不大,而是学习了技术并将其推向极限。 我一直对游戏制作非常感兴趣,只是为了学习游戏的工作原理而疯狂地做一些事情,所以在我上大学的时候,我就用HTML5做很多事情,尤其是canvas

在早期,您肯定一直在与canvas混为一谈。

实际上, canvas是在我开始之前就已经存在了。 苹果使用它创建了他们的仪表板小部件。 它始终在WebKit中使用,尽管它在其他浏览器中从未真正稳定过-至少它从来没有引起人们的兴趣。 没有人真正做过很多。 但是当我碰到canvas我认为它真的很酷。 我进入了一个好时机–确实没有关于它的书,但是随之而来的是机遇。 我是少数正在研究它的人之一。 除此之外,我还参与了JavaScript API的试验。
我认为自己既不是设计师,也不是开发商–处于中间位置。 我喜欢视觉编程。 诸如游戏制作和canvas之类的东西非常完美,因为您可以将核心开发与一些真正的视觉前端体验结合在一起。 这就是我对Mozilla的关注; 网络游戏开发方面–和Boot2Gecko (我们正在研究的移动设备项目)。

那么,什么使您对HTML5游戏感兴趣? 你是大玩家吗?

我一生中一直有游戏–我有ZX Spectrum,游戏机……

您是ZX Spectrum的粉丝吗?

我父亲不喜欢电脑,但是出于某种原因,他认为买电脑是个好主意。 而我只是对放入卡带的想法着迷,这款游戏就出现了! 我的意思是,我当时还很年轻,但我仍然记得-Duck Hunt和所有这些疯狂的游戏。 然后,当我进入PC游戏时,这是很长一段时间以来我生产力的尽头! 但是游戏对我来说一直很有趣。 Flash和JavaScript之类的技术使我意识到,很酷,我现在可以制作游戏。 然后,一旦您开始创建游戏,它就会打开一个全新的可能性领域。 就像我刚创建一个网站时的那种感觉–我创建了那个! 您将在游戏开发中学习到许多不同的技术-输入,视觉图形,声音-并且在构建标准网站时并不总是会获得这种体验。 使用游戏,您总是将事情推向极限。

因此,如果我对HTML5游戏开发感兴趣,那么我会教自己的第一件事是什么?我会去哪里?

掌握JavaScript; 与语言相关的标准内容。 但是,一旦您对JavaScript感到满意,就可以看看一些图形API,例如Canvas API。 Canvas是一个很好的API。 在碰到它之前,我真的不知道如何在浏览器中绘制图像而不创建图像。 还可以查看音频API。 HTML5中的多媒体功能非常有趣。
看一些游戏引擎。 您可能不一定想从头开始学习它们,但是有很多游戏引擎可以让您无需完全了解基本知识即可启动并运行。 像Crafty这样的东西,我相信它是澳大利亚的引擎,并且是免费的。 然后有一个非常不错的游戏,价格为$ 99美元,它被称为Impact ,这是一个出色的游戏引擎,而且确实有据可查。 如果您想使用JavaScript来创建游戏,但并不一定要在实现中根深蒂固,那么这些引擎是一个很好的入门方法。
如果您真的想精通游戏开发,请学习如何使用requestAnimationFrame工具制作动画,该工具可让您优化JavaScript中的循环。 当您将其与Canvas API结合使用,并说要在屏幕上移动一个块时,从那里跳到使用键盘输入并不是很大的转变。 从那里到您要携带的地方。

因此,您似乎仍然需要对基本JavaScript有所了解。

对。 我的意思是,有类似jQuery的游戏库– Crafty和Impact等引擎有点像那样。 但是它们并不像jQuery那样抽象。 如果您想做一些更复杂的事情,您仍然需要编写JavaScript。 但是,如果您只想进行基本的动画处理(例如将图像作为精灵放入并四处移动),则可以使用Crafty。 问题是您没有完全了解幕后发生的事情。 在网络之外,如果您要制作游戏,则可以使用Flash或Unity ,这仅仅是因为它为复杂的动画和物理方法提供了一种抽象方法。
不过,对我而言,了解JavaScript意味着我可以从头开始创建游戏。 是的,这可能很困难,并且可能需要一段时间,但是从长远来看,这是值得的。 如果您至少可以了解它的基础知识(例如循环,数组和对象之类的东西),那么当您想进一步推动它时,您将非常感激。

HTML5似乎促进了逆向游戏的爆炸式增长,包括策略游戏,平台游戏和Pong等旧游戏的复活。 您是否看到它进入其他更复杂的交互式项目?

换东西很酷。 HTML5游戏处于一个非常简单的阶段,因此复古游戏非常完美–它们不需要太多的功能,它们主要是2D的,并且很容易创建。 Flash游戏很大时也是一样。 开发人员无法停止使用JavaScript来创建更身临其境的游戏体验。 我们开始在WebGL中看到这一点。 许多人开始使用硬件加速之类的技术来制作更接近于iOS上的游戏的游戏,甚至3D游戏。
Pong很棒,但是并没有推动这项技术的发展。 甚至《 愤怒的小鸟 》也不会把它推得太多。 我见过人们在WebGL中创建Quake 4 ,并且运行平稳。 我们需要看到更多这类游戏,以帮助将网络合法化为现代游戏的平台。 我们拥有创造合适游戏的技术和力量。 通过适当的游戏,我的意思是您会在PC游戏中看到什么。
我们现在开始看到公司和开发人员都朝着这个方向倾斜。 我们需要创建一个针对网络打造的网页游戏。 现在,我们看到了互动游戏的兴起,但是我们没有看到太多专门为网络创建的游戏。 我希望看到利用网络优势的游戏,同时也意识到设备的局限性。 仅仅因为您可以在两个平台上制作相同的游戏,并不意味着它应该完全相同 。 而且我认为网络本身就有机会成为游戏平台–一个独特的目标,而不仅仅是放置标准游戏的另一个地方。 游戏开发人员掌握了这些内容后,我认为我们会看到一些非常有趣的内容。
目前,网络上的游戏实际上只是在复制其他平台-这些游戏是静态的,它们并没有真正使用网络提供的任何功能,例如社交功能或连接其他API的能力。 所有这些东西都是网络固有的,我们正在网站中使用它,但是如果在游戏中使用它会发生什么呢?

开发人员在浏览器游戏中所做的很多事情都涉及到挖掘过去,这不一定是一件坏事–但是您能看到概念和想法正在扩展吗?

那将是我的梦想。 现在,我认为我们对HTML和Web作为游戏平台不公平。 我们正在将其与以前的平台进行比较; 因此,例如,我们要从iOS移植游戏-我们以HTML格式在网络上运行了《 愤怒的小鸟》 ,但它并不是为此而创建的。 我们带来了成功的原因。 这不公平; 我们将网络平台与为其构建的本机平台进行了比较。 当然,原生语言更好-它是为触摸控制以及某种编程语言和技术而构建的。 我们绝不会通过将网络限制为我们之前所做的事情来让网络蓬勃发展。 我们可以释放网络的力量,并尝试一些不像通常玩的游戏那样受限制的游戏-例如,在我们看到的游戏包含在浏览器小盒子中。 没有理由将游戏作为网站的一部分放在一个小盒子里–它可能是网络的一部分; 您可以在网上追逐游戏。 没有理由不能在Twitter上玩游戏。
我希望随着人们对网络游戏理念的热情,我们会看到新游戏的爆炸式增长。 JavaScript API是为Web构建的。 这是非常基本的技术; 建立Web套接字连接和几个事件,您就可以实时向Web服务器发送和接收消息-从那里开始制作多人游戏并不是什么大的事情。

您如何将这些想法推向市场?

这是我们在Mozilla试图解决的问题。 这是我们通常从游戏开发人员那里得到的问题之一–“听起来不错,但是如果我不想免费赠送我的游戏怎么办?” 人们已经习惯了DRM和代码保护,并且他们进入了网络,而且一切都是开放的。 源代码就在那里。 因此,我们有两个问题要解决。 一:我们如何说服人们相信开放技术是一个好主意? 我认为这是一个容易解决的问题,因为如果您担心自己的游戏被盗,那么我认为网络不适合您。 仅仅因为您可以用HTML编写游戏并不意味着这是您游戏的最佳平台。 还有一些方法可以通过减少代码量来减轻这些麻烦,这些方法可以帮助开发人员更轻松地发布他们花费了很多时间进行的代码开发。
第二个问题是市场营销:您如何销售游戏? 如果您不能维持生计,那么至少作为一家公司,毫无意义地进行游戏。 而且,您可以走上一条路线,在该路线上,您不必担心如果人们不付款就阻止人们进入您的游戏,但是您可以采用捐赠模型。 另一方面,如果您想将人们拒之门外而实际上将他们拒之门外,则可以这样做。 我们正在Mozilla上开发开放式Web应用程序API,使您能够提供需要在游戏开发者服务器上验证的收据。 我们正在寻找拥抱代码开放性的方法,而不是阻止人们查看源代码,而是在一个可以说的观点上说,您为此游戏付费了吗? 如果没有,那么您将不会获得完整的体验。
这不是魔术子弹。 如果这只是他们付钱购买的单人游戏,那么一旦他们拥有了所有源代码,接手并采取人们对网络技术的工作,就无法阻止某个人。 我高度怀疑网络游戏是否会比其他地方的游戏受到更多盗版。 盗版游戏不仅有源代码,还有很多。 如果您有服务器端组件,那么您将得到保护,这就是收据系统可以进入的地方。如果您知道除非有人访问您的服务器,否则游戏无法进行,您可以控制这种体验。 如果他们窃取了前端代码,则他们仍然无法玩游戏,因为他们没有掌握您的服务器端代码;如果他们可以进入您的服务器,那么您将完全遇到另一个问题。
我认为通过网络上的游戏获利绝对没有问题-现在的问题是我们还没有取得巨大的成功。 这是鸡与蛋的事–人们在等待成功,而成功并没有因为人们在等待而来。 我们需要有人加紧努力。
它是网络,因此您不必像以前那样出售游戏。 您可能可以通过游戏中的付款来赚钱,因此您仍然可以拥有免费的游戏体验,但可以控制人们在游戏中体验到的东西–玩家达到的水平,他们拥有的装甲或道具。 一旦我们完全了解了可能性,我们就会研究如何将其货币化,特别是现在我们正在吸引像EA这样的大公司参与进来-如果有人知道如何赚钱,那就是那些家伙。 而且我认为独立开发者将在此之后效仿。 这并不像在iOS上那样简单,但是他们已经有了巨大的领先优势。 网上有很多方法。 报纸已经开始考虑引入收费墙……

哪些不一定有效。

就是这样,您应该锁定内容吗? 这不违背网络吗? 还有其他更适合网络的赚钱方法吗? 也许这就是问题的答案–不是,“除非人们付费,否则我如何阻止人们玩我的游戏?”而是“如何利用网络擅长的东西从这款游戏中获利?” 也许那不是从玩家那里得到钱,而是从赞助商那里得到。 我很想知道我们一年后的状况。 我们可能会看到一堆成功的游戏赚了很多钱。

From: https://www.sitepoint.com/html5-gaming-forget-angry-birds-we-want-webgl-awesomeness/

HTML5游戏:忘记愤怒的小鸟; 我们想要WebGL很棒!相关推荐

  1. html5 交互作品,20个交互动效很棒的网页设计例子

    20个交互动效很棒的网页设计例子 11月 19, 2014 评论 (1) Sponsor 不可否认使用FLASH制作的网站确实很有动感,但有利必有弊,它的加载速度相当慢,在移动端的表现很差,导致访客下 ...

  2. html5游戏开发-愤怒的小鸟-开源讲座(一)-跳入弹出的小鸟

    愤怒的小鸟是一款人气火爆的益智游戏,现在我试着用lufylegend库件和Box2dWeb物理引擎来看看在html5中如何制作此类经典的物理游戏. 准备工作一 首先,你需要下载lufylegend库件 ...

  3. HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)

    HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.) 著 谢光磊 译 ISBN 978-7-121-21226-0 ...

  4. 盘点20款表现出众的HTML5游戏

    不管是对用户还是开发者来说,HTML5和JavaScript游戏这几年的发展真的是件好事.随着浏览器平台的日趋成熟,并开始整合这类型游戏所 要求的技术,我们每天都能在各大应用商店和社交网站中看到越来越 ...

  5. html5游戏引擎-Pharse.js学习笔记(一)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 前几天随着flappy bird这样的小游戏的火爆,使我这种也曾了解过html5技术的js业余爱好者也开始关注游戏开 ...

  6. Phaser开源2d引擎 javascript/html5游戏框架

    功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...

  7. html5游戏开发--动静结合(二)-用地图块拼成大地图 初探lufylegend

    一.前言 本次教程将向大家讲解如何用html5将小地图块拼成大地图,以及如何用现有的高级html5游戏开发库件lufylegend.js开发游戏. 首先让我们来了解了解如何用html5实现动画,毕竟& ...

  8. Phaser开源2d引擎 html5游戏框架中文简介

    功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...

  9. HTML5游戏开发引擎

    CSDN话题挑战赛第2期 参赛话题:学习笔记 HTML5,新的Web标准在2014年10月份发布,旨在让浏览器上运行的页面内容和互动更加丰富.许多之前需要插件完成的事情,标准都以简洁的形式予以支持.各 ...

最新文章

  1. 沉甸甸的证书,沉甸甸的心情
  2. Python 无法安装PyAudio问题
  3. 思维dp ---- CF41D Pawn [可达状态统计dp]
  4. 【学术相关】高校教师提前离职需支付“天价违约金”,坑!
  5. pyqt控件显示重叠_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习...
  6. java mbean获取堆信息_实时取得虚拟机类信息、内存信息、MXBean的使用方法
  7. CentOS7.2部署KVM虚拟机
  8. 六款WEB上传组件性能测试与比较
  9. Hokuyo‘s first try
  10. mysql ocp考试准备多久_MySQL OCP考试复习系列--开篇:了解MySQL考试
  11. 优雅代码之巧用 Ramda
  12. 【微积分的本质|笔记】指数函数求导
  13. X16 - 999、中国近代史纲要、03708
  14. 基于Nonebot2搭建QQ机器人实战篇(一)
  15. vue中watch进行ajax,vue watch自动检测数据变化实时渲染的方法
  16. 图像空间域分析之图像统计特征
  17. php刮刮卡代码,基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法_php实例...
  18. NFS配置(RHCE考试题)
  19. Pycharm全局搜索关键字
  20. 浮动IP地址(Float IP)与 ARP欺骗技术

热门文章

  1. 颠覆传统:神码AI写作将是文字创作的一个新开端
  2. iOS Matter 操作证书签发方案
  3. openwrt 自定义DHCP
  4. [luoguP2031] 脑力达人之分割字串(DP)
  5. 8个免费的高清视频素材下载网站,资源超多,随意下载
  6. 极值和最值和中值定理和水平渐近线的练习
  7. 如何在linux系统安装搜狗输入法,在Ubuntu 12.04 LTS版本下安装搜狗输入法 for Linux...
  8. html js 设置样式,原生js设置样式 笔记:JS设置CSS样式的几种方式
  9. 记一次spring boot项目启动失败
  10. git clone下来的代码放在哪里,如何放在指定路径