澳大利亚游戏音效巨头 Firelight Technologies 全面采用 Helix Core,助力打造热门游戏音效

Firelight Technologies 是一家总部位于澳大利亚墨尔本的公司,主营业务是电子游戏的音乐和音效制作,像《极限竞速》系列、《Roblox》和《我的世界》等爆款游戏的音效就出自该公司。其行业领先的工具 FMOD 为团队提供了一个强大的平台,用于实现交互式和自适应的音乐和音效设计。

为了创造一款可赋能工作室的工具,Firelight Technologies 选择了游戏开发行业的版本控制标准——Perforce Helix Core,以帮助支持他们的团队开发,并将其内置到为客户提供的解决方案中。

在这里插入图片描述

“如果你在制作游戏,你就得使用 Perforce Helix Core。这就是我们的口头禅。” ——Mathew Block Firelight Technologies 技术总监

创建实时音频的解决方案

Firelight Technologies 的目标是帮助音效设计师创造独特的音效体验。因为游戏音效远不只是添加音乐和特效那么简单。Firelight 的解决方案可以在游戏内部运行,并进行实时渲染。

在这里插入图片描述

为了打造这款世界领先的工具,Firelight 需要一个坚实的基础。Mathew Block 说:"我们在 2004 年开始使用 Perforce Helix Core,是因为我们需要源代码控制。”使用源代码控制可以让团队对功能进行迭代,并更轻松地与 Unity 和 Unreal 等游戏引擎集成。他们可以对产品的多个方面进行修改,而不会互相影响。

“Perforce 能处理所有‘基本的东西’,这对于一个由多人共同开发产品的团队来说至关重要。” ——Mathew Block Firelight Technologies 技术总监

Perforce Helix Core 历史记录的优势

Firelight 选择 Perforce Helix Core 进行源代码控制的主要原因之一是能够回溯历史。在进行更改时,它会协调代码更改,确保工作不会被覆盖或丢失。Block 解释说:"Perforce Helix Core 的历史记录非常宝贵。它可以保护源代码,管理签入和合并。我们经常参考它。”

有了这些历史记录,团队中的每个人都能了解某个功能为什么会以某种方式运行、是谁创建的、何时创建的。Block 说:"对我来说,最重要的一点就是能看到以前发生的事。我发现自己经常追溯历史,因为我们整个产品的历史都在 Perforce 中。我们无论如何也不会改变这一点。”

积累的历史记录可以帮助 Firelight Technologies 避免重蹈覆辙。团队可以进行试验,因为他们知道万一出了什么问题,总是有一个备份。

混合开发环境

Firelight 鼓励团队成员按照自己喜欢的方式工作。他们可以使用自己喜欢的任何工具来完成任务。某些人会尝试使用 Git。“我们办公室有很多人都在使用 Git。他们在本地有一些小的 Git 存储库。但当他们完成迭代后,就会将其提交给 Perforce。” Block 解释道。

在 Perforce 中保持单一可信数据源有助于团队保持一致。每个人都知道他们在做什么。

当被问及他们是否会考虑切换到另一个版本控制系统时,Block 说:“我还真没发现有什么强烈的理由要更换。”说到其他系统,比如 Plastic SCM,他说:“Plastic SCM 通过语义合并在差异化方面提出了一些有趣的解决方案。但那只是一个额外的工具,核心引擎才是我关注的重点,还没有什么非换不可的理由。”

Perforce Helix Core 为团队提供两全其美的解决方案——使用自己的工具、自己的方式,并将一切保持一致。

通过卓越的分支机制加速开发

为了帮助团队加快进度,Firelight 使用 Perforce Helix Core 中的分支机制 Perforce 流。他们随时都有两到三个活动流。有了 Perforce 流,从管理员到开发人员都不用担心冲突问题,也不用再猜测变更将流向何处。

“大约在九年前,我们从分支转向了 Perforce 流。我们想要有更智能的分支和更清晰的变更流程。”—— Mathew Block Firelight Technologies 技术总监

他们收获了智能。Perforce 流支持着他们的分支模型,使他们能够保持主流稳定,同时仍然支持过去的版本。修复和补丁可以在没有重构风险的情况下推出。Perforce 流创造了自然的变更流。

“Perforce 流是正确的工具,帮助我们管理一切。流图可以帮助我们了解所有的布局,并显示了合并的流程”。Block 进一步解释说:"它简化了很多维护工作,并管理所有这些不同的版本,有助于我们开发出更好的软件。”有了 Streams,每个人都能直观地看到代码是如何演变的。

开发人员可以查看流图,知道如何分支,在哪里合并。对于像 Block 这样的技术主管来说,他能够看到组织的所有布局,并有助于尽量减少需要支持的分支数量。“采用 Perforce 方法,我们遇到的问题变少了”。

将 Perforce Helix Core 构建到 Firelight Technologies 中

在这里插入图片描述

在 Firelight,Perforce Helix Core 不仅是他们开发环境的一部分,而且还内置在他们的产品中,使得客户能够充分利用这些优势。

Block 说:"我们还有另一种使用 Perforce 的方式,那就是通过我们的软件本身。我们的工具有自己的项目格式,可以管理音效设计师制作的所有元数据。作为其中的一部分,我们还集成了项目管理的功能。这些项目的体量可能相当庞大,所以最终产生很多很多的文件。”

大量的文件就意味着要使用Perforce Helix Core进行版本控制。因为它是唯一能支持大型文件和超大型文件的系统,而这正是游戏开发的标准配置。Block 解释说:"我们的主要源控制集成是 Perforce Helix Core。它让团队成员签入和签出项目,以智能地管理所有文件。”

Firelight 如何集成运作?

游戏开发者如何使用 Perforce Helix Core + FMOD?有两种集成方式可供选择。一种是通过用 C++编写的 Perforce API,该 API 直接内置在工具中。另一种是调用 P4 命令行,用 Javascript 进行编写。这两种集成的主要理念是建立一个模块化的可扩展框架。

像 FirelightTechnologies 一样开发

为了保持团队的顺畅运作、保护历史记录并提供优秀的游戏开发工具,Firelight Technologies 选择了 Perforce Helix Core。“我们选择 Perforce 是因为我们对其非常了解。我们按照 Perforce 的规范构建了一切。”Block 表示。

文章来源:https://bit.ly/3xjG3xi

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Maven超详细使用

定义 是一款用于管理和构建java项目的工具 作用 1. 依赖管理 2. 统一项目结构 3. 项目构建 项目目录结构 POM 项目对象模型 (Project Object Model) POM (Project Object Model) :指的是项目对象模型,用来描述当前的maven项目。 仓库 本地仓库&#…

【大语言模型】基础:余弦相似度(Cosine similarity)

余弦相似度是一种用来确定两个向量之间相似性的度量。它在数据科学、信息检索和自然语言处理(NLP)等多个领域被广泛使用,用于度量在多维空间中两个向量之间角度的余弦。这个指标捕捉的是方向上的相似性而非大小,使其非常适合比较长…

前端页面显示时间与数据库时间差8小时

环境 jdk11mysql 8.0docker部署的 问题 突然发现页面上的数据比数据库的时间差了八个小时,然后我就开始排查问题。 首先看数据库的信息,发现时间都是没错的。 然后看一下ymal文件,是否是数据源链接写的有问题。 spring:datasource:url:…

攻防世界---misc---Wire1

1.下载题目链接是一个流量包 2.在Wireshark中分析,发现可疑流量 3.过滤http并且是get方式的,使用命令:http.request.methodGET 4.导出http对象 5.注意观察会发现,每隔一段会出现704,我们从上到下把704后面对应的ASCII码…

外卖电商抖客返利CPS公众号+小程序+APP+发单电商平台,知识产权,网站建设。

随着互联网的快速发展,电商和外卖业务日益繁荣,消费者对便捷、优惠的购物体验需求也在不断提升。为了满足这一需求,外卖电商CPS返利系统应运而生,成为了一种新型的消费模式。本文将详细介绍外卖电商CPS返利系统的功能及其优势&…

【vue】defineProps 传数据 父传子

先行知识 【vue】导入组件 传值过程 App.vue <template><Header name"1234567890" url"https://www.1234567890.com" /><hr><!-- <Footer v-bind"propsWeb" /> --><Footer :"propsWeb" /><h…

Linux下使用C语言实现线程池---代码及分析

线程池 相关文章 协议 Socket编程 高并发服务器实现 线程池 如果一个客户端建立连接使用创建一个线程用于处理这一个线程, 处理结束的时候把这一个线程删除, 这个时候会导致线程的创建以及销毁会消耗大量的时间 这时候可以一次性创建多个线程, 这几个线程统称线程池, 如果客户…

10分钟1000台虚机 云安全效能双升 亚信安全新信舱无代理云平台快速适配版正式发布

新信舱 亚信安全新信舱无代理云平台快速适配版正式发布。在云平台依赖性、无代理部署速度、宿主机无代理AV防护和虚拟机缓存扫描性能等方面&#xff0c;新信舱无代理版本提供了无缝的可扩展性、低资源消耗并降低管理复杂性&#xff0c;让安全防护真正做到了 多快好省&#xff…

LeetCode_丑数

题目&#xff1a; 题解&#xff1a; 由题&#xff0c;我们知道丑数大于0&#xff0c;丑数都可以写成2*2*...*2*3*3...*3*5*5...*5&#xff0c;有了这个基础就很好写代码了。 用三个while循环将前面的2 3 5全部除掉如果这个数是丑数&#xff0c;最后n是等于1的&#xff0c;反之…

【Web】WUSTCTF 2020 部分题解

目录 [WUSTCTF 2020]朴实无华 [WUSTCTF 2020]CV Maker [WUSTCTF 2020]颜值成绩查询 [WUSTCTF 2020]朴实无华 访问/robots.txt 访问/fAke_f1agggg.php 抓包看响应头看到/f14g.php 访问/f14g.php 简单的bypass&#xff0c;不解释了 payload: ?num2019e1&md50e2159620…

PINet车道线检测+YOLOv8视频目标检测

前言&#xff1a; 本文主要目的是实现在PINet车道线检测的代码中嵌入YOLOv8的目标检测模块&#xff0c;具体效果如图所示&#xff1a; 在学习和使用YOLOv8进行目标检测时&#xff0c;感觉可以和最近研究的车道线检测项目结合起来&#xff0c;形成一套如上图所示的视频效…

打破常规:AI如何帮助从业者规避营销活动风险

人工智能时代&#xff1a;如何利用AI提升营销效果 在当今商界&#xff0c;市场策划活动对于企业来说至关重要&#xff0c;它们不仅可以吸引消费者的注意&#xff0c;还可以扩大企业的市场份额。然而&#xff0c;这些活动本身带来的风险也不容忽视。为了帮助企业在策划活动时做出…

推荐一个免费使用Claude 3, GPT4和Gemini 1.5 Pro的网站

在探索人工智能的广阔天地时,我偶然间发现了You AI这一平台,它不仅更新了大量的模型,还慷慨地提供了免费的使用机会。兴奋之余,我迅速开始尝试这些新功能,并决定将我的体验分享给大家。以下是我试用的流程: 打开网站:点击左下角的Sign in蓝色框 https://you.comhttps://…

C# 关于进程回收管理的一款工具设计与分享

目录 设计初衷 开发运行环境 Craneoffice ProcessGC 运行主界面 管理任务与策略 其它设置 移动存储设备管理 核心代码-计时器监控 小结 设计初衷 在使用 COM 模式操作 OFFICE 组件的开发过程中&#xff0c;当操作完相关文档后&#xff0c;在某些情况下仍然无法释放掉…

【C++】数据结构的恶龙set和map来了~

下一篇AVL树难点中的难点~ 文章目录 前言一、set的介绍二、map的介绍 题目练习总结 前言 1.关联式容器 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xff1a;vector、list、deque、 forward_list(C11)等&#xff0c;这些容器统称为序列式容…

【C++】3.类和对象(中)

一、类的6个默认成员函数 在上一篇博客中&#xff0c;我们计算了空类的大小为 1 。那么空类中真的什么东西都没有吗&#xff1f;其实不是的&#xff0c;当一个类在什么都不写的时候就会自动生成6个默认的成员函数&#xff08;用户没有写&#xff0c;但是编译器自动生成的成员函…

AI在运维实践中的价值提升

在2024年的AI赛道上&#xff0c;利用大数据 、机器学习算法、人工智能来改善运维效率已成为软件运营商发展的新主张&#xff0c;通过AI在运维流程的洞察、决策和执行&#xff0c;从而提升效率、减少故障时间&#xff0c;优化用户体验。通过分析大量数据来识别趋势和模式&#x…

C ++ 和 C语言的优缺点分别是什么?

C语言&#xff0c;它简直就是编程世界的一块磐石。简洁、直接&#xff0c;让人一眼就能明白它想干嘛。它的运行速度快&#xff0c;接近硬件操作&#xff0c;特别适合那些需要直接与硬件打交道的场景。但就是因为这种接近硬件的特性&#xff0c;C语言在抽象层次上就显得有点捉襟…

科技感画册制作方法,视觉效果直接拉满

随着科技的不断进步&#xff0c;科技感画册制作也变得更加精彩和引人注目。通过巧妙地运用先进的设计工具和技术&#xff0c;以及结合创新的视觉元素&#xff0c;可以轻松地将画册的视觉效果直接拉满。 那你想知道怎么制作吗&#xff1f;现在我来教你这个方法吧&#xff0c;方法…

第九届少儿模特明星盛典 全球赛首席体验官『彭禹锦』精彩回顾

2024年1月30日-2月1日&#xff0c;魔都上海迎来了龙年第一场“少儿形体行业美育春晚”&#xff01;由IPA模特委员会主办的第九届少儿模特明星盛典全球总决赛圆满收官&#xff01;近2000名少儿模特选手从五湖四海而来&#xff0c;决战寒假这场高水准&#xff0c;高人气&#xff…