网站 多语,Wordpress怎么連結mysql,做哪个视频网站赚钱,小公司根本办不了icp许可证如果你是游戏开发者#xff0c;那么在过去几年里#xff0c;你可能会觉得有人给了你一把双刃剑。
整个行业不断蓬勃发展#xff0c;但玩家的预期值也越来越高。玩家们总是希望游戏体验能够更快、更真实、更具创造性。此外#xff0c;他们还希望能够定期推出新的游戏和更新…
如果你是游戏开发者那么在过去几年里你可能会觉得有人给了你一把双刃剑。
整个行业不断蓬勃发展但玩家的预期值也越来越高。玩家们总是希望游戏体验能够更快、更真实、更具创造性。此外他们还希望能够定期推出新的游戏和更新。
基于这种文化背景建立起来的行业总是需要不断处理各种难题这就是游戏开发人员的灾难源头或者说至少是他们产生职业倦怠的主要原因。
部分游戏公司已经积极采取了许多措施希望能够消除职业倦怠。以拳头游戏公司为例这家公司会在一段繁忙的工作周期之后为所有员工放一个星期的假让他们休息、放松。
一周的假期虽然不错但这只是开始。
如果既希望按预算如期交付更优质的产品同时又计划消除职业倦怠做好员工关怀工作那么游戏行业必须制定长远的解决方案。
这就是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实践相结合你还能开启一个全新的持续开发模式。你可以
在需要时启动和禁用容器。启动容器用来测试游戏中的元素然后回收容器。所有操作均在一致且可复制的环境中完成。按照“构建一次部署多个”的策略以更快的速度完成部署尽可能减少故障。制品库中存储的‘映像’有助于轻松地快速创建大量相同的容器。这些容器可以快速部署到不同的环境中在各种最优质、最可靠的制品中你可以轻松地利用更多优势。
测试自动化
构建游戏就是把各行各业的大量专业人才聚集在一起让他们创造出一个连贯流畅的作品。就像是把米开朗基罗、帕瓦罗蒂、莎士比亚和毕加索召集在一起请他们创造一件艺术杰作。不过数以百万计的人员会不断通过窗口询问他们是否完成任务。
如果你是游戏开发者你肯定知道全盘测试和频繁测试的重要意义。所以您需要在游戏开发过程中使用DevOpsDevOps应该是工作过程中的一个重要组成部分。
但说起来容易做起来难。理想情况下你只需要在可能的控制台和环境下结合各种可能的消费者行为定期测试各部分代码。但是手动运行所有测试几乎是不可能的特别是大规模测试。
单元测试——利用专门的程序测试其他程序的性能通过自动化处理测试过程中伴随的部分简单、重复性任务比如创建角色、启动游戏或执行少数基本命令时可以减轻员工的负担。
自动化测试面对更复杂的测试任务没有手动测试这么好但是许多游戏公司发现即便只是剔除一些重复性的小任务就可以大大缓解开发人员的职业倦怠。
DevOps是否真的改变了游戏
DevOps并没有完全掌控整个游戏开发行业至少现在还没有。
这个行业充满复杂的流程各种优先事项相互冲突员工承受着巨大的交付压力导致一些游戏公司不得不苦苦挣扎寻找彻底转变其工作方式的机会。
很明显地当游戏公司找到机会投入新工具并采用DevOps流程后就会产生巨大的影响。
最重要的是这种影响不仅仅是确立更高的底线或者创建更好用的执行套件。受DevOps影响最大的群体往往是游戏公司最关心的两个群体开发人员和客户。
作者 Joseph SibonyIncredibuild高级内容经理。他一辈子都在跟技术打交道不论是硬件、软件还是二者之间的结合。他从事数据科学和网络安全方面的工作撰写了大量关于技术与社会相结合的文章。
文章来源https://www.incredibuild.cn/blog/youxikaifaguochengzhongdevopsruhegaibianyouxigongsidegongzuofangshi