爆火游戏《黑神话:悟空》研发背后有哪些故事?

news2024/12/29 18:37:30

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。

GitLab 中文版学习资料

  • 驭码CodeRider 官网:https://coderider.gitlab.cn/
  • GitLab 中文版官网:https://gitlab.cn
  • GitLab 中文文档:https://docs.gitlab.cn
  • GitLab 中文下载安装:https://gitlab.cn/install

关联阅读

  • 「行话」| 用DevOps高效交付游戏,是种什么体验?
  • 途游游戏 DevOps 实践|都说「单元测试」好,「AAAC四步法」少不了
  • 这份攻略帮助你分分钟构建出“幻兽帕鲁游戏”极致体验【上】
  • 这份攻略帮助你分分钟构建出“幻兽帕鲁游戏”极致体验【下】

让用户等待四年之久的《黑神话:悟空》游戏终于正式上线发售,这是一款基于中国四大名著之一的《西游记》改编的中国神话动作角色扮演游戏,上线之后迅速在各大网络爆火,很多玩家纷纷开始下载开玩,截止到目前,该游戏已经卖出数百万份,收入过亿,而且这一数据还在持续上涨。

该游戏爆火的因素有很多,比如,在题材选择上,以在中国家喻户晓的《西游记》为题材,让是不是游戏玩家的选手都想一探究竟,毕竟很多中国人的春节都是伴随着西游记度过的;此外,该游戏的画面设计异常精美,历时四年打造的精品,据说整个花费都在数亿元,可谓是大手笔的投入。

一款游戏研发的背后是多个部门、多个岗位之间的紧密协作,比如游戏设计师、音效设计师、游戏发行与运营人员以及程序员等。仅从程序员这一岗位来讲,也分不同的角色,需要不同角色间的协作,比如项目经理、研发、测试、运维以及安全人员等。每个角色都会用到不同的工具进行协作,比如项目经理可能习惯用 Jira(不过 Jira 母公司在今年已经完全停止了对于 Jira 私有化服务的支持),研发人员习惯用 IDEVSCode、Esclipse、JetBrains 全家桶等,测试人员用 Jmeter、Selenium 等,运维人员就需要会各种中间件的安装配置,安全人员就需要用各种安全扫描工具对应用程序进行安全扫描(诸如 SAST、DAST 等)。

其中,下面这两个工具在国内的使用率是非常高的:

GitLab

GitLab 作为国内众多程序员和企业选择的源代码托管工具(据称在国内有大约600万程序员、数万家企业在使用极狐GitLab 进行软件研发),因为开源免费、可以私有化部署成为程序员和企业在源代码托管方面的首选。GitLab 的安装部署简单到只需要一台服务器、几个命令就能完成,然后就能将代码托管到 GitLab 的仓库里面,其他人员就可以通过 clone 或者 fork 的方式来进行代码协作了。为了更好的把控代码合入的质量,GitLab 设计了专门的 workflow。具体为:当项目经理提出需求时,需要在 Issue(可以理解为用户故事管理的一种方式)里面写清楚需求的背景、详情等,然后再打上响应的 Label(标签);研发人员在认领到该 Issue 后,就创建一个合并请求(MR,实际上是创建一个开发分支,这地方就很好的用到了 Git 的分支管理),所有的代码变更都在这个合并请求上处理,代码提交以后,可以设置多个代码审核人员对变更代码进行审核,以确保合入代码的质量。当然,这个代码提交之后还有一些自动化检测流程(依赖于 CI/CD,这又是 GitLab 的另外一个重要功能),比如对代码进行测试、安全扫描等,这些报告对代码的合入、持续改进也至关重要。

在这里插入图片描述

这种标准化、规范化的 workflow 是提升协作效率(每个人一个分支,互不影响)、提高代码质量(自动化扫描、多人审核)的有效手段。而这也是 GitLab 受国内用户追捧的其中一个因素。当然,发展十多年之后,GitLab 已经从最开始的源代码托管工具发展成了具有项目管理、CI/CD、安全合规等功能的一体化 DevOps 平台,也在 2021年开始发行面向中国用户的极狐GitLab(JH 版本)。

GitLab 中国发行版官网地址:https://dl.gitlab.cn/ckyjig4n

Jenkins

Jenkins 是大家熟知的 CI/CD 工具,和 GitLab 一样也是开源免费的,其独特的插件机制能够提供丰富的功能,只要用户想用到的,都可以去 Jenkins 的插件中心进行搜索(当前插件中心已经有超1000+ 插件),如果没有找到合适的,还可以通过自行构建的方式来完成插件的研发。

这种丰富的插件机制也带来了一个问题,就是有很多插件没有得到很好的维护,版本的更新不及时,容易存在安全问题,而且类似功能的插件有多款,因此在选择上也会比较困难。另外一点,Jenkins 在国内没有原厂服务,如果企业用的过程中出现问题,就只能自行查找资料进行解决。

这些年随着云原生的发展,也涌现出了很多云原生的 CI/CD 工具,比如 tekton、ArgoCD 等。

其他大家常用的工具还有什么,欢迎大家补充!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美团的测试面试题,真的很难吗?

年前,我的一个粉丝留言给我说,他在面试美团的自动化测试岗的时候,不幸挂掉了。 越想越可惜,回想面试经过,好好总结了几个点,发现面试没过的主要原因是在几个关键的问题没有给到面试官想要的答案 美团的面…

寻访中国100家.NET中大企业 —— 第二站:苏州行

一:事情起因 在.NET圈里混了十多年,相信有不少人知道我专注于玩 .NET高级调试,如今技术上的硬实力还是能够解决市面上的一些疑难杂症,但软实力却在另一个极端,如(人际交往,人情事故&#xff09…

[RCTF2015]EasySQL1

打开题目 点进去看看 注册个admin账户,登陆进去 一个个点开看,没发现flag 我们也可以由此得出结论,页面存在二次注入的漏洞,并可以大胆猜测修改密码的源代码 resoponse为invalid string的关键字是被过滤的关键字,Le…

氟化工特氟龙精馏装置:PFA氟化氢反应装置的应用

精馏装置是进行精馏的一种塔式气液接触装置。利用混合物中各组分具有不同的挥发度,即在同一温度下各组分的蒸气压不同这一性质,使液相中的轻组分(低沸物)转移到气相中。 实验精馏装置的组成 实验精馏装置通常由以下几部分组成&am…

Linux2.6设备驱动开发

一:Linux2.6驱动设备开发的特点 1:首先是属于字符型设备注册的方法之一 这种开发接口是在Linux2.6引入的,之前的版本不支持这种开发方式,也是目前最标准的开发方式。 2:Linux2.6的设备开发 不再去限制设备号&#xf…

(javaweb)SpringBootWeb案例(毕业设计)案例--部门管理

目录 1.准备工作 2.部门管理--查询功能 3.前后端联调 3.部门管理--新增功能 1.准备工作 mapper数据访问层相当于dao层 根据页面原型和需求分析出接口文档--前后端必须遵循这种规范 大部分情况下 接口文档由后端人员来编写 前后端进行交互基于restful风格接口 http的请求方式…

TypeScript学习笔记(二)——TypeScript 高级类型

目录 1. class 类 1.1 class 关键字的基本使用 1.2 类继承 1.3 类成员可见性 1.4 类成员只读修饰符 2. 类型兼容性 2.1 类型兼容性 2.2 接口兼容性 2.3 函数兼容性 3. 交叉类型 4. 泛型 4.1 创建泛型函数 4.2 泛型约束 4.3 多个泛型的类型变量约束 4.4 泛型接口…

【深度学习入门项目】基于支持向量机的手写数字识别

目录 导入必要的包1. 数据集2. 数据处理3. 训练过程4. 输出结果完整代码 本项目使用SVM训练模型,用于预测手写数字图片。 导入必要的包 numpy: 这个库是Python中常用的数学计算库。在这个项目中,我使用numpy来处理图像数据,将图像数据转换为…

FPGA开发——DS18B20读取温度并且在数码管上显示

一、简介 在上一篇文章中我们对于DS18B20的相关理论进行了详细的解释,同时也对怎样使用DS18B20进行了一个简单的叙述。在这篇文章我们通过工程来实现DS18B20的温度读取并且实现在数码管伤显示。 1、基本实现思路 根据不同时刻的操作,我们可以使用一个状…

基于vue框架的班级网站的设计与实现vg66m(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:班级,学生,班级活动,班级相册,班级开支,活动记录 开题报告内容 基于Vue框架的班级网站设计与实现 开题报告 一、引言 随着互联网技术的飞速发展,网络已经成为人们日常生活中不可或缺的一部分。在教育领域,班级…

大白话解析:深入浅出大模型RAG模块全解析

文章目录 什么是 RAG? 技术交流&资料通俗易懂讲解大模型系列 RAG模块化 什么是模块化RAG? 索引模块 块优化 滑动窗口从小到大元数据附加 结构化组织 层次化索引知识图谱文档组织 预检索模块 查询扩展 多查询子查询CoVe 查询转换 重写HyDE 查询路由…

TON链上游戏项目开发基本要求及模式创建与海外宣发策略

TON(The Open Network)是由Telegram开发的区块链平台,以其高速、低延迟、和高扩展性吸引了大量开发者和项目方。TON链上游戏项目作为一个新兴领域,结合了区块链技术和游戏产业,为用户提供了全新的游戏体验和经济激励。…

精益生产咨询:为企业量身定制的高效能蜕变计划!——张驰咨询

在当今这个快速变化、竞争激烈的市场环境中,企业如何保持持续的竞争优势,提高生产效率,降低成本,同时又能快速响应市场需求,成为了每一个企业家必须面对的重大课题。精益生产(Lean Production)作…

第5节:Elasticsearch核心概念

我的后端学习笔记大纲 我的ElasticSearch学习大纲 1.Lucene和Elasticsearch的关系: 1.Lucene:最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂2.Elasticsearch:基于lucene,封装了许多luc…

跳槽?面试软件测试需要掌握的知识你Get了吗

想从事软件测试相关的工作,立志成为一名优秀的软件测试工程师。 一名优秀的软件测试工程师,需要扎实的专业基础,包括测试相关技术、编程技能、数据库知识、计算机网络、以及操作系统等等。对于没有测试经验的应届生求职者来说,面…

SpringBoot项目部署时application.yml文件的加载优先级和启动脚本

文章目录 application.yml文件的加载优先级(由高到低)第一级命令行参数第二级Jar包同级目录 /config第三级Jar包同级目录第四级classpath 下的/config第五级classpath 根路径/总结: logback.xml 文件加载顺序当application.yml 和 bootstrap.yml 同时存在时java jar…

淘宝天猫详情接口API:实现轻松购物,探索最具性价比的商品

随着电子商务的蓬勃发展,网络购物已经成为现代人日常生活中的重要部分。在这个浩瀚的电商海洋中,淘宝和天猫无疑是最为耀眼的两大平台。然而,如何在众多的商品中挑选出性价比最高的产品?淘宝天猫详情接口API为您提供了解决方案。 …

基于vue框架的班级管理系统3pdep(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:学生,班级事务,班级,成绩信息,请假,销假,班级信息,教师 开题报告内容 基于Vue框架的班级管理系统 开题报告 一、引言 随着教育信息化进程的加快,学校管理工作逐渐从传统的纸质化、人工化向数字化、智能化转变。班级作为学…

Python与自动化测试:提高软件质量和稳定性

在软件开发过程中,自动化测试是提高软件质量和稳定性的重要手段之一。Python作为一种简洁而强大的编程语言,为自动化测试提供了丰富的工具和库。本文将介绍几个常见的自动化测试案例,并提供详细的Python代码示例,帮助您更好地理解…

前端面试——js作用域

说一说JS的作用域吧 作用域的分类 作用域分为:全局作用域,函数作用域,块级作用域 作用域的特性 全局作用域: 能够让变量和函数在全局位置访问,其挂载在浏览器的window对象下面 其中var定义的变量和function函数存…