促进协作、提高生产力:育碧选择Perforce Helix Core的原因

news2024/11/17 21:49:42

Perforce Helix Core成为育碧(Ubisoft)的主要源代码控制工具已经超过六年了,被团队中的程序员和美术人员在大部分项目中使用。在育碧蒙特利尔工作室,有超过1,200名的开发人员使用Perforce Helix Core来储存源代码和数字资产,包括图形和动画文件、建模、纹理以及声音和视频片段。

为什么使用了六年,育碧依然如此满意Perforce Helix Core?

  •   API易用性和灵活性
  •   理想的分支机制
  •   代理服务器的效率

《刺客信条》开发:Ubisoft育碧选择Perforce Helix Core开发游戏

 

Perforce Helix Core已经成为存储每个人工作的核心且关键的工具。我们的团队在不断壮大。Perforce Helix Core的速度、可靠性和可扩展性对育碧来说至关重要,有超过1,000名用户依赖它。”

——Nicolas Beaufils,育碧技术架构师

开发环境一览

  • 公司名称:育碧(Ubisoft)

  • 总部:法国巴黎

  • 行业:游戏开发,包括游戏、PC和便携式游戏机的开发

  • 成为Perforce客户的时间:2001年

  • Perforce Helix Core用户数:超2,000人(蒙特利尔工作室有1,210人)

  • 连接环境:多千兆位链路

  • 开发地点数量:一处位于加拿大蒙特利尔(魁北克)。全球其他地点包括法国巴黎、蒙彼利埃和中国上海

  • 文件数量:5TB(24,070,195个文件)

  • 变更数量:166,642,479次修订(337GB元数据)

  • 管理员人数:2人

  • 客户端平台:Windows

  • 主服务器:蒙特利尔三台:一台IBM x3655和两台Compaq/HP DL580

育碧是全球领先的互动娱乐产品生产商、发行商和分销商。该公司拥有1,000多款游戏,在50多个国家/地区发行。该公司的15个内部制作工作室遍布11个国家/地区。

育碧的蒙特利尔工作室拥有1,600名员工,并且计划增加到3,000人以上。这将使蒙特利尔工作室成为全球最大的创意力量之一,并推动主机和PC电子游戏的概念与开发。育碧旗下品牌包括《波斯王子》、《刺客信条》、《雷曼》、《细胞分裂》以及《彩虹六号》。 

发展中的挑战

从一开始,育碧就决定将所有的创意和游戏开发工作保留在内部。现在,该公司认为这一战略决策是让他们走向成功的关键,并帮助他们轻松过渡到下一代主机。

在育碧,每款游戏都作为一个独立的公司进行开发,拥有自己的团队。根据游戏规模和开发阶段,团队规模从15人到150人不等。每个团队负责自己的工具和引擎,并拥有自己的Perforce Helix Core服务器。

育碧的目标是共享工具和游戏引擎,这样它们就可以支持一系列的游戏平台,以便在制作游戏时减少对特定平台的定制和修改。

育碧面临的主要开发挑战之一是改善开发团队之间的工具共享,并通过新工具和流程提高生产力。

解决方案:育碧的源代码控制

Perforce Helix Core成为育碧的主要源代码控制工具已经超过六年了,被团队中的程序员和美术人员在大部分项目中使用。在育碧蒙特利尔工作室,有超过1,200名的开发人员使用Perforce Helix Core来储存源代码和数字资产,包括图形和动画文件、建模、纹理以及声音和视频片段。

美术人员和建模师使用Helix可视化客户端(P4V)及其相关的图形工具来跟踪每天提交的最小更改。Perforce Helix Core图形工具插件(P4GT)让他们可以从Photoshop和3ds Max中轻松与Perforce Helix Core进行交互。

育碧技术架构师Beaufils说:“Perl、C#和C++中简单灵活的API使我们能够将源代码管理功能集成到大部分的内部工具中,从而简化了美术人员和建模师的工作流程。”

通过使用Perforce Helix Core变更列表,可以在提交前对逻辑单元中的代码变更进行分组,程序员能够轻松选择他们想要处理的内容,并且在单独的任务之间进行切换也更简单。“Perforce的变更列表非常受欢迎,因为它们让程序员能够按照他们认为合适的方式工作。”

“此外,Perforce Helix Core的分支机制也很适合在不同的目标游戏平台上共享相同的代码,“Beaufils说。育碧将Helix Reporting System(P4Report)功能集成到了其生产工作流程中,简化了使用SQL查询、创建数字资产和代码报告的过程。“P4Report让我能轻松地将我们的生产数据库与Perforce连接,创建已完成工作的详细报告,”Beaufils补充道。

为了加快开发速度,育碧团队还利用了Perforce代理(P4P),它为开发人员提供了他们最常用的文件缓存,并使更多的用户能够在中央Perforce服务器上工作。

P4P还改进了分布式开发。远程工作室可以轻松访问保存在各种Perforce服务器上的代码和其他数字资产,并且每个更改都会立即在所有项目中反映出来。

“Perforce比它的前身VSS更好管理,我们有1,200个用户,只需要一名专门的管理员,”Beaufils补充道。“Perforce易于备份,并且比VSS更稳定。与其他工具相比,它也更易于扩展。”

总结

随着育碧的发展壮大,越来越多的开发人员将迁移到Perforce Helix Core上。Beaufils表示:“我们的团队在不断壮大。Perforce Helix Core的速度、可靠性和可扩展性对育碧来说至关重要,有超过1,000名用户依赖它。Perforce Helix Core已经成为了存储每个人工作的核心且关键的工具。”

随着越来越多的内部工具被开发出来,育碧需要一个灵活的API来与源代码管理进行交互。Beaufils总结道:“使用Perforce Helix Core API将我们的工具与Perforce Helix Core紧密集成,生产力有了大幅提升。

文章来源:https://bit.ly/43eQ7ly

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

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

相关文章

Appium xpath定位

xpath应该是最准确的定位方式,不管你有没有id、class或者其他的元素,uiautomator总是可以识别出xpath,因为手机APP的控件布局类似于HTML的树形结构。 如右图所示 xpath很长,显然不可能人手动来对其进行编写,最好的就是…

算法竞赛备赛之经典基础算法训练提升,暑期集训营培训

目录 1.排序 1.1.快速排序 1.2.归并排序 2.二分 2.1.整数 2.2.浮点数 3.高精度 3.1.高精度加法 3.2.高精度减法 3.3.高精度乘法 3.4.高精度除法 4.前缀和 5.差分 6.双指针算法 7.位运算 8.离散化 8.1.unique函数实现 9.区间合并 1.排序 1.1.快速排序 快速排…

vue 运行时正常,打包却报错

解决方法:删除vue-cli 自带的压缩 plugin:OptimizeCssnanoPlugin 具体操作:找到vue.config.再添加如下删除配置

万万没想到!!号称国内Java八股文天花板(典藏版)首次开源

应届毕业生的第一份工作干多久跳槽比较合适? 都说现在应届毕业生找工作跳槽频繁,而所有用人单位都希望招揽的人才能一直在公司里干下去,但是人各有志,作为劳动者的应届毕业生有自主选择职业的权利,这就造成很多应届生…

今天分享:智能ai绘画软件哪个好

在一个遥远的未来,艺术界经历了一场革命性的变革。艺术家们不再依赖传统的画笔和颜料,而是转向了ai绘画工具,这是一种集人工智能和创造力于一身的技术。在这个世界中,我有幸遇到了一个与众不同的艺术家,他的名字叫亚历…

Hubspot为什么这么牛?国内有哪些类似软件

国外CRM圈内,除了大佬Salesforce外,还有HubSpot、Oracle、SAP等知名CRM公司。其中,HubSpot在国外2023年最佳CRM软件排行榜中名列第四,在最佳免费CRM软件排行榜中名列第二,我们先来看下它到底有多优秀,然后再…

Deffie-Hellman 算法

Deffie-Hellman 算法简介 Deffie-Hellman(简称 DH) 密钥交换是最早的密钥交换算法之一,它使得通信的双方能在非安全的信道中安全的交换密钥,用于加密后续的通信消息。 Whitfield Diffie 和 Martin Hellman 于 1976 提出该算法,之后被应用于安…

指令周期的数据流

5.2 指令周期的数据流 指令周期 机器周期/CPU周期 CPU时钟周期/节拍 取指周期 间址周期 执行周期 中断周期 标志触发器FE IND EX INT 数据流 取指周期 根据PC中的内容取出指令代码并存放在IR中 间址周…

Acrelcloud-9500 智能电瓶车充电桩收费云平台

1. 概述 电动车火灾事故频频发生,毫不起眼的电动车屡次引发夺命大火,电动车已然成为火灾“重灾区”。为预防和遏制电动自行车火灾事故发生,三令五申各种政策,为此安委会曾出台《电动自行车集中停放和充电治理方案》。 大部分充电过…

Linux - 进阶 NFS 服务器 工作原理,安装,主文件分析

NFS工作原理 : 示例图 : 我们在上篇文章也讲过, 要实现 NFS 服务的搭建,最起码得 两个 服务 ( NFS 服务,RPC 服务) 涉及 三方 : 服务端 ( 房源 ) 客户端 &…

如何将mov转换成mp4?这篇文章教会你如何转换

MP4格式是一种通用的视频格式,几乎所有的播放器都能够支持它,包括电视、智能手机、平板电脑等等。而mov格式则主要被苹果设备所使用,其他设备可能会出现无法播放的情况。由于MP4格式的广泛兼容性,可以更方便地分享视频给其他人观看…

linux入门之进程控制(下)进程程序替换,shell运行原理,手写一个mini-shell

文章目录 一、进程程序替换 1.替换原理 2.替换函数 3.函数解释 4.命名理解 二、手写一个mini Shell 一、进程程序替换 创建子进程的目的就是为了让子进程执行特定的任务,比如:1.让子进程执行父进程的一部分代码;2.让子进程指向一个全新的程序…

java项目之高校二手交易平台(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的高校二手交易平台。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架…

建站教程:阿里云轻量应用服务器搭建网站流程

阿里云轻量应用服务器怎么使用?阿里云百科分享轻量应用服务器从选配、配置建站环境、轻量服务器应用服务器远程连接、开端口到网站上线全流程: 阿里云轻量应用服务器使用教程 轻量应用服务器很火爆因为成本足够低,阿里云2核2G3M带宽轻量服务…

基于Linux下的C语言项目实战--本地账号管理系统

C语言开发项目实战: C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能&#xff…

SpringBoot中间件—封装超时熔断器

需求背景 如果一个服务中有很多涉及需要服务间熔断的地方,就会出现N多下述代码: 1.N个fegnClient接口 FeignClient(name "hello-world-service", fallback HelloWorldFallback.class) public interface HelloWorldService {GetMapping(&q…

U盘写保护怎样去掉?分享3种简单方法!

不知道为什么我的u盘突然就显示被写保护了呢,大家有没有遇到过类似的情况呀?有什么比较好的解决方法可以推荐一下吗? 很多朋友可能对u盘写保护没有什么概念,实际上,u盘写保护可能会阻止我们对其中的文件进行修改或者添…

含生僻字中文校验方式优化

项目姓名校验原本一直是通过utf8正则进行校验,但近期出现的客户生僻字包含双码字,原有校验方式无法实现。需要修改扩大校验范围。 知识点回顾: Unicode是Unicode Standard(Unicode标准)的简写;Unicode为每…

HNU-操作系统OS-学习感悟

初次接触如此底层的计算机基础课程,我还是很不适应的。 教材用的这本书,实验用的清华大学的ucore实验 好在应试水平没有丢。最后总评94/100。 下面仅从应试角度谈一谈学习的理解 总领 HNU的OS课程平时分给的比较模糊,大致由 作业实验验…

先导式比例溢流阀放大器

EDBW10PL350XY/224、EDBW20PL210XY/724、EDBW30PL105XY/224、EDBW10PL055XY/224先导式比例溢流阀,板式安装,由主阀芯和先导级阀beuec比例放大器组成:先导级阀为比例溢流阀,主阀阅芯可独立调节压力作为安全限压压力,比例先导阀压力…