如何使用Twitch扩展打破第四堵墙

你的背景是什么? 告诉我们您的职业道路。

我在萨凡纳艺术与设计学院获得平面设计学士学位,但是我的兴趣爱好遍及整个大学。 我学习了各种各样的创意学科。 我涉足摄影,网页设计和开发,插画,动画,游戏开发,产品和包装设计,然后再继续。 我曾是一名专业插画家和游戏开发人员多年,但是我迷上了生成艺术(也就是用代码制作艺术),这最终使我成为广告领域的创意开发人员。

生成艺术就是关于开发定制工具以产生动态体验的一切。 我喜欢为自己制作这些工具,并意识到这是我梦想中的工作:为艺术家制作工具。 我想改变制作方式。

这种愿望表现为实时光绘应用Lightpaint Live。 目标是制作一种平淡无奇的平视显示器,以便艺术家可以在制作时预览他们的作品(通常单击触发器,四处摇动灯光,然后返回相机查看结果)。 该项目开始于片段着色器的简单实验,可以追溯到Flash流行之时。 从那时起,它已经生活了许多生命。 它成为我学习新平台和语言的MVC。 我将其重写为Flash / AS3 / Flex,适用于台式机和Android的Java,处理,Chrome应用(但Google杀死了Chrome应用商店),适用于Mac和Windows的电子应用以及渐进式网络应用(尚未发布,仍处于测试版) )。

如果我说实话,它本身并不是很赚钱,但是对于我来说,这是跟上新技术(例如ImageCapture API)的一种很好的方式,并且它吸引了我很多附带意见。

您目前的专长是什么?

我戴着很多帽子,但是最近我一直在开发Twitch扩展。 这是一个相对较新的平台,于2017年末推出。这是一种在实时Twitch流中添加反应/交互层的方法。 一些扩展与游戏API集成在一起,因此它们可以显示玩家清单,球队组成,统计数据或API公开的其他内容。 其他人只是在笑。 最受欢迎的扩展之一(声音警报)简直就是简单。 用户需要付费才能在流上播放声音效果,如果选择正确的时间,可能会很有趣。

我进行的第一个Twitch扩展程序是为了宣传The Grand Tour – Battle Cars Live。 前提是使用真正的炸药对战舰进行现场游戏,使用汽车代替船只。 该扩展名大部分是不可见的。 它被覆盖在广播图形的顶部,允许观众单击他们想要引爆的单元格来提交投票。 一轮结束时票数最高的牢房将被引爆。 我们最终获得了可观的视图数量,并且最多拥有约5.5万个并发用户。 毕竟,谁不喜欢炸毁东​​西?

以下扩展名适用于“星期四晚上足球”。 2018赛季是NFL首次在Twitch上直播,因此这是一个超越传统观看体验的绝佳机会。 我们与实时NFL API(SportRadar)集成在一起,以便对游戏中的事件做出反应,并使游戏变得有趣而引人入胜。 该扩展程序的主要功能是游戏预测。 总体上有游戏预测,例如最终比分,总传球码,总冲球码等。每个季度的开始都进行了季度预测,但有一个转折! 用户可以在本季度开始时投票选出最高分,也可以决定等到本季度末再进行预测。 等待的结果是,分数乘数随着时间的推移而降低,因此他们可以在季度末做出更明智的决策,但最终并没有获得多少回报。 驱动器开始时还会弹出一些奖金问题。 这使用户可以预测驱动器将如何结束:着陆,失误,射门得分或平底船。

除了预测之外,还有统计浏览器,以便观众可以用事实来支持他们的决策。 还有每周和累积的排行榜,因此用户可以与朋友竞争,看看谁可以得分更高。

开发扩展需要一些习惯,但最终,它只是网络技术。 Twitch在不同的地方加载了iframe和您的内容。 内容选项包括视频叠加,视频叠加组件(可以由拖缆拖放),配置(用于初始配置),实时配置(显示在拖缆仪表板上,用作实时控件),面板(在流下方的面板)和移动设备(显示为聊天旁边的标签)。

客户遇到的最重要的问题是什么?

我们的世界越来越受数据驱动,并且越来越具有交互性。 还记得戳电脑显示器时会留下指纹吗? Twitch扩展为我们提供了一种方法,可以使人们从实时视频流中真正获得所需的内容,即使他们自己可能没有意识到。 这包括我们的客户。

第一次观看彩带游戏《炉石传说》时,我碰巧将鼠标悬停在其中一张卡片上,这是“哦嘘**!”的时刻。 它弹出了一个放大视图,我可以看到所有统计信息和功能(通过Innkeeper)。 这非常吸引人,因为我可以浏览拖缆的甲板并猜测他们的策略是什么。 如果我确实擅长游戏,可以在聊天中发布我推荐的策略。 即使是旁观者,我也可以改变比赛的进程!

与我谈论工作的大多数人甚至都不知道Twitch的存在,更不用说它可以超越传统广播了。 当然,它并不是每个项目都适合,但它是一个很好的工具,可以用于项目推销。 Twitch扩展有很多尚未开发的潜力,对于大多数人来说,它仍然是一个新概念。 在广告中,新颖性卖。

在此领域的职业生涯中,您最难忘的经历是什么?

Twitch扩展程序(特别是针对大量宣传的现场直播)使我的生活变得异常艰难。 通常,当您拥有产品时,它会有机地增长,并且可能偶尔会出现一些流量高峰。 您可以花时间护理它,并调整服务器设置以优化它。 在我的情况下,前两个扩展估计可获取数万个并发用户(出于测试目的,我们的最大目标是10万个),因此我必须确保我们的服务能够满足需求。 从表面上看,这似乎很简单,但很快变得比我们预期的要复杂得多。 我们很幸运能够与Twitch的开发支持团队联系,他们警告了我们一些常见的陷阱。 我通常对自动扩展云服务(例如Cloud Functions,App Engine等)抱有很大的信心。但是,它们实际上无法快速扩展以满足每分钟5–10k新用户的需求。 它们像普通计算机一样窒息而失败,原因很简单,因为为代码提供新实例需要花费时间。

对我们有用的解决方案是预测流量的高峰,以便我们可以在太迟之前请求计算机。 Battle Cars扩展非常简单,因为我们可以手动旋转一堆机器,并在广播期间将它们运行几个小时。 对于NFL扩展程序,我们根据启动时间使命令自动化以扩大实例数量。 我们会在演出开始前十分钟放大,然后在演出结束后十分钟缩小。

负载测试是准备发布产品的重要组成部分。 它是帮助我们识别瓶颈并实施优化的关键工具。 但是,我们无法准确地重新创建现场制作的条件,因此发布会当天出现了一些麻烦。 回顾过去,我们应该花更多的时间来微调负载测试。 我们没有足够强调,因为原始时间表已经很紧。

与实时API集成非常困难。 我们的供应商有一些每天运行四次的测试游戏,但是由于某种原因,他们加快了测试速度,因此一次只能运行三十分钟。 这意味着我们每天总共只有两个小时进行测试。 它一直在中断开发,使我们放慢了脚步,因为我们不得不等到第二天才能恢复测试。 让我们震惊的另一件事是,测试数据的格式与实时数据的格式不同,因此我们在第一次实时测试运行中立即遇到了问题。 如果我要再做一次(很可能会),我将创建一个可以记录真实游戏中的数据并以相同速度播放的系统。

您用来提高技能的知识来源是什么?

我多年来没有上过任何正式课程。 通过积极地修改一些东西,我学得最好,所以我的过程如下:

  • 通过任何必要的方式获得启发。
  • 谈论我与同伴所做的事情。 他们可以提供深刻的见解。
  • 参加会议。 会议上有很多非常奇怪的利基产品。
  • 写我的经历。 我最近才再次开始这样做,但这确实可以帮助我将每个项目之后学到的知识内部化。 我有一个只期待的习惯,但是通过分析以前的项目可以学到很多东西。
  • 即使没有直接连接到工作,也要制作新的东西。 我花了很多时间做灯,炮制新的辣酱食谱,偶尔还是做艺术。

我将自己的娱乐项目发布在Instagram和Github上。 这里有几个:

Alex Savinkin提出的问题

投资基金和策略咨询的前数字处理师。 Geekforge开国元勋之一。 区块链和技术奇点的真正信徒。