如果你是游戏开发者,那么在过来几年里,你可能会感觉有人给了你一把双刃剑。
整个行业一直蓬勃发展,但玩家的预期值也越来越高。玩家们总是心愿游戏体验可能更快、更实在、更具创造性。此外,他们还心愿可能定期推出新的游戏和更新。
基于这种文化背景建设起来的行业,总是须要一直解决各种难题,这就是游戏开发人员的劫难源头,或者说,至多是他们产生职业倦怠的次要起因。
局部游戏公司曾经踊跃采取了许多措施,心愿可能打消职业倦怠。以拳头游戏公司为例,这家公司会在一段忙碌的工作周期之后,为所有员工放一个星期的假,让他们劳动、放松。
一周的假期尽管不错,但这只是开始。
如果既心愿按估算如期交付更优质的产品,同时又打算打消职业倦怠,做好员工关心工作,那么游戏行业必须制订久远的解决方案。
这就是 DevOps 受青眼的起因。
游戏开发过程中,DevOps 是否是解决开发人员职业倦怠的良药?
尽管有时游戏开发过于简单,无奈引入 DevOps,但从很多方面来看,它都是游戏开发零碎和流程的完满抉择。
DevOps 帮忙你专一于解决重要的事务。在游戏开发过程中,DevOps 的所有主旨就是缩小节约,尽可能进步自动化程度,同时汲取过来的经验教训踊跃调整工作过程。剔除所有不必要的事物,使你的团队能够专一于构建更优质的游戏。
围绕迭代开发构建。DevOps 的外围是继续交付和继续学习。你一直地构建软件,公布软件,收集反馈意见。而后又从新开始——只有到了这个时候,你能力依据各种谬误、客户反馈或投诉以及上次开发过程中影响开发流程的各种问题,调整你所采纳的办法。对游戏开发来说,整个流程十分完满。每公布一个补丁,投放一个新的性能,或推出新的降级,游戏就会变得更快、更有效率。就像是职业生涯中的 New Game Plus(新游戏增强版)。
易于监测工作业绩。没人喜爱仓促地推出产品。游戏公司须要寻找更好的办法,辨认职业倦怠迹象,同时在开发初期确定游戏中潜在的问题。有了 DevOps,你能够在开发过程中记录和监测尽可能多的信息,特地是 CPU 负载 RAM 调配、网络流量统计和内存使用率等信息。这样能够缩小各种意外,同时还能依据游戏公司和 DevOps 的指标体系,实时地理解业绩体现。
弹性伸缩空间大。玩家最无奈承受的游戏毛病就是提早。如果云空间使用率能够主动调整,那么当大量用户同时拜访服务器时,你也可能轻松应答,防止因配置了过多云贮存空间,导致在闲暇工夫内产生大量节约。
零停机工夫。无需多言。当你部署了多个环境,并在不影响玩家的前提下更新游戏时,你能够让玩家们自行决定何时装置更新并重启游戏。另外,即使更新周期很紧,你也能够加重团队的压力;不须要停机,你能够在更新或补丁准备就绪后再公布。
更平安的工作形式。正是出于这样的起因,宝可梦公司在公布《精灵宝可梦 Go》游戏时,开始更加依赖 DevOps。这家公司手握数百万儿童的数据,必须在保障数据安全的同时,扩大或缩减其基础架构。如果没有弱小、牢靠的 DevOps 开发技术以及反对 DevOps 的云基础架构,《精灵宝可梦 Go》相对没法在保障客户数据安全的前提下,增长得如此之快。
继续集成 (CI) 让大型团队和我的项目之间的沟通更顺畅。当你一次性集成多个小块代码时,在代码块存入代码库时就立刻测试新代码、筛选出潜在问题,工作会变得容易得多。团队中的任何成员都能够进入 CI 流程的任何阶段来查看进度状况,而不用定期梳理查看大量数据。
游戏开发过程中 DevOps 的五大强劲趋势
那么,在游戏开发过程中,你须要从哪里开始应用 DevOps 呢?个别在这种状况下,随大流不会出错,而且许多 DevOps 趋势曾经被业内游戏公司所采纳。
云游戏开发
玩家心愿游戏速度越来越快,细节越来越明确,沉迷式体验越来越好,然而每次更新过后,游戏都会越来越低廉,玩家们必须配置更好的硬件,他们要承当的老本压力也越来越大。要满足玩家们的需要,游戏就必须反对一般的游戏机,不然就会错失大量潜在客户。
将游戏解决从玩家的硬件端转移到服务器端,能够突破这样的僵局,为游戏留出增长空间。事实上,一些游戏公司曾经开始应用云计算,将游戏开发和游戏玩法抬升到一个新的高度。
以育碧游戏为例,作为《刺客信条》系列游戏的开发者,这家公司始终以其深度、简单的虚拟世界而闻名,然而当初,这家公司曾经开始应用云计算,迈向更远的路线。最新的《刺客信条》系列游戏不仅仅为玩家带来沉迷式的历史体验,还利用云计算的力量,促成人工智能驱动的游戏环境一直演变和倒退。
继续交付和迭代显然就是 DevOps 的外围,而 DevOps 办法能够让云部署变得更容易。通过测量、继续学习和自动化等 DevOps 实际,你能够防止许多问题,例如网络问题和低提早等,确保游戏开发者顺利完成云部署。
无服务器架构
无服务器计算实质上就是将搭建架构的责任从物理服务器转移到 AWS Amplify 或 Azure 等第三方架构供应商身上。
一旦你深刻理解无服务器架构,你就会明确为什么 DevOps 在游戏开发中如此受欢迎。
首先,DevOps 反对超级弹性伸缩。无需专门指派开发人员监测基础架构应用状况并进行手动调整,你的后端供应商能够依据须要主动扩大或缩减基础架构。也就是说,开发人员能够专一于编写和部署代码、微调流程、确保按计划实现目标,不用放心底层的所有架构。
然而,最要害的是,无服务器架构真正地减速了游戏开发的整个过程。当你不用放心后端基础架构时,你能够在须要时增加和批改代码,以公布新个性,修复谬误。
在游戏开发这种极其考究时效期的行业里,无服务器架构就成了价值连城。如果有什么货色可能保障让开发人员放松下来,打消职业倦怠,那它必定就是无服务器架构。
风行的 DevOps 工具
问题是:DevOps 不是软件,也不是繁多的流动。它是一套残缺的工作形式,是你的团队所采纳的全副流程和理念的组合。
当你领有适合的工具后,你就能轻松地遵循 DevOps 的流程和理念。
所以,许多 DevOps 工具当初曾经成为次要的游戏开发工具。
如果你心愿在较短的周期内公布产品,并且可能同时解决各种我的项目的公布、补丁和更新,那么你就须要应用工具,在生产周期内尽可能提高效率。
对于游戏开发过程中的 DevOps,工具有:
- Perforce Helix Core,用于实现洁净、简略的版本控制,让变更监测、测试运行和谬误修复变得更容易。当初,Perforce 曾经成为微软新 Azure 游戏开发虚拟机中一个“根本工具”(根本工具还包含 Incredibuild 以及其余许多解决方案),将来或者会成为游戏开发合作的必选工具。让咱们刮目相待。
- Incredibuild,用于减速构建缓存和优化计算资源,放慢开发周期,减少迭代频率。
- Jenkins 或企业版 Jenkins——CloudBees,用于实现自动化继续集成,实用于各种编程语言。
容器
容器自身就能扭转游戏开发。
利用容器代码、运行工夫、零碎库、零碎工具和设置压缩软件包,你能够在简直所有操作系统中,更轻松地以虚构的形式运行软件。这意味着,不同开发人员之间能够实现更轻松的合作,最重要的是,以更快的速度进行跨控制台开发,且产生的谬误更少。
像 Docker 这样的优质容器注册表,能够在基于 Linux 和 Windows 的应用程序上运行,从而轻松构建反对各种环境的软件。集成 JFrog 容器注册表和 Helm chart 存储库,能够进行 Kubernetes 部署。甚至,集成 artifactory 容器注册器,还能给予开发人员更多的拜访和权限管制。
将容器化与 DevOps 实际相结合,你还能开启一个全新的继续开发模式。你能够:
- 在须要时启动和禁用容器。启动容器,用来测试游戏中的元素,而后回收容器。所有操作均在统一且可复制的环境中实现。
- 依照“构建一次,部署多个”的策略,以更快的速度实现部署,尽可能减少故障。制品库中存储的‘映像’有助于轻松地疾速创立大量雷同的容器。这些容器能够疾速部署到不同的环境中,在各种最优质、最牢靠的制品中,你能够轻松地利用更多劣势。
测试自动化
构建游戏,就是把各行各业的大量专业人才汇集在一起,让他们发明出一个连贯晦涩的作品。就像是把米开朗基罗、帕瓦罗蒂、莎士比亚和毕加索招集在一起,请他们发明一件艺术杰作。不过,数以百万计的人员会一直通过窗口询问他们是否实现工作。
如果你是游戏开发者,你必定晓得全盘测试和频繁测试的重要意义。所以您须要在游戏开发过程中应用 DevOps,DevOps 应该是工作过程中的一个重要组成部分。
但说起来容易,做起来难。现实状况下,你只须要在可能的控制台和环境下,联合各种可能的消费者行为,定期测试各局部代码。然而,手动运行所有测试,简直是不可能的,特地是大规模测试。
单元测试——利用专门的程序测试其余程序的性能,通过自动化解决测试过程中随同的局部简略、重复性工作,比方创立角色、启动游戏或执行多数根本命令时,能够加重员工的累赘。
自动化测试面对更简单的测试工作没有手动测试这么好,然而许多游戏公司发现,即使只是剔除一些重复性的小工作,就能够大大缓解开发人员的职业倦怠。
DevOps 是否真的扭转了游戏?
DevOps 并没有齐全掌控整个游戏开发行业,至多当初还没有。
这个行业充斥简单的流程,各种优先事项互相抵触,员工接受着微小的交付压力,导致一些游戏公司不得不苦苦挣扎,寻找彻底转变其工作形式的机会。
很显著地,当游戏公司找到机会投入新工具并采纳 DevOps 流程后,就会产生微小的影响。
最重要的是,这种影响不仅仅是确立更高的底线,或者创立更好用的执行套件。受 DevOps 影响最大的群体,往往是游戏公司最关怀的两个群体:开发人员和客户。
作者:Joseph Sibony,Incredibuild 高级内容经理。他一辈子都在跟技术打交道,不论是硬件、软件,还是二者之间的联合。他从事数据迷信和网络安全方面的工作,撰写了大量对于技术与社会相结合的文章。
文章起源:https://www.incredibuild.cn/blog/youxikaifaguochengzhongdevop…