欢迎光临散文网 会员登陆 & 注册

Stellaris开发日志#269 | 9/29 挖掘坟墓,以及银河事务

2022-10-22 21:41 作者:牧有汉化  | 我要投稿

牧游社 牧有汉化翻译


Stellaris Dev Diary #269 - Digging a Grave, and Galactic Matters

CheerfulGoth, Stellaris Content Designer


Hello there!

大家吼啊!


I'm CheerfulGoth, a content designer on Stellaris, and today I'm excited to share the design process behind the Tiyanki Grave Mound that was added in the Fornax patch!

我是CheerfulGoth,Stellaris的内容设计师,今天我很高兴能为大家分享在“天炉座”版本中新增的缇扬奇墓穴背后的开发过程。


Concept and Planning

概念与计划


To allow new content designers to familiarize themselves with all aspects of the game, they are usually assigned some onboarding tasks. The Tiyanki Graveyard was a combination of two such tasks: designing a unique solar system with new ships on patrol, and creating an arc site.

为了使新的内容设计师们能够快速熟悉游戏的各个方面,他们通常会被安排一些入职任务。缇扬奇墓穴便是这样两个任务的结合:设计一个带有全新舰船逡巡的独特星系,并且创造一个考古遗址。


Stellaris already includes a massive amount of content, and one of the hardest things as a new content designer is to avoid retelling stories. I decided to focus on space critters, because they have relatively few events associated with them, and most of these haven't been touched in years. We already have a system where Tiyanki are born, so why not show where they die?

Stellaris已经容纳了海量的内容,所以对于新内容设计师来说,最困难的是如何避免重复叙事。因此我决定重点关注宇宙生物们,因为它们有着相对较少的关联事件,并且其中的大部分事件已经有许多年没有动过了。我们已经有一个缇扬奇诞生之地,那为何不再来一个死亡之地呢?


Something that struck me while rereading all our Tiyanki-related content was that killing them allows you to research the Regenerative Hull Tissue, but their superior healing abilities don't have any narrative impact. This gave me the idea of a sort of 'elephant graveyard' full of wriggling corpses that don’t stop growing even if they're dead.

当我重读所有与缇扬奇相关的内容时,令我印象深刻的是,杀死他们可以让玩家研究再生舰体组织。但是它们优越的自愈能力并没有任何文本介绍。这让我有了一个类似“象冢”的点子,里面充满了扭曲的尸骸,即使在它们死后也不会停止生长。


After getting the main concept approved, it was time to build the event chain. The onboarding tasks required me to create new ship types, so I decided to make some static Tiyanki gravekeepers protecting the arc site. I knew some players would never hurt a Tiyanki, though, and I wanted to keep the content accessible to different playstyles. A special project was thus added, allowing pacifist players to lure away the gravekeepers without hurting them.

在主概念得到通过之后,是时候搭建事件链了。入职起步任务要求我开发新的舰船类型,所以我决定做一些静态的缇扬奇墓穴守护者来保卫这座考古遗址。我知道有一些玩家从来不会伤害缇扬奇,但我还是想让这个内容能适配不同的玩法。同时我添加了一个特殊项目,允许和平主义玩家在不伤害它们的情况下,将这些墓穴守护者引走。


Prototype

原型


Communication between different departments is crucial when working on a team. I wanted my ball of corpses to look the part, but the art team was busy working on Toxoids — so instead of requesting art assets for a minor onboarding task, I experimented with what was already in the game. After all, we already have a perfectly good Tiyanki Matriarch corpse. Why not scale it down and spawn a couple copies around a planet, wrapping it in tentacles?

在一个团队中工作时,不同部门之间的沟通交流是至关重要的。我很想让我的尸体球看起来像个样子,但是美术团队当时正在忙着制作毒素族——因此我并没有让美术团队来为我完成这个小小的入职起步任务,而是选择尝试游戏中已有的内容。毕竟,我们已经有一个非常完美的缇扬奇女族长残骸。那么为什么我们不试着将这个残骸的尺寸缩小,然后围绕行星生成一对残骸,并将其用触手包裹起来呢?


My first attempts, however, produced... Unintended results:

然而,我的初次尝试,就产生了……意想不到的结果:



Space in Stellaris is actually flat: all planets and spaceships are bound to an invisible 2D plane. We can offset the coordinate of ambient objects (decorations) to make them appear above or below the plane, but we usually use this kind of trick only for temporary VFX, like when a planet cracker hovers over a planet.

Stellaris里的星系在本质上是平的:所有的行星和舰船都被限制在一个看不见的二维平面上。我们可以通过移动环境物体(装饰物)的坐标,使其看上去处于平面的上方或下方。但我们通常只在临时的视觉特效上使用这种技巧,比如一个环绕行星的碎星者。


Figuring out how to wrap a planet in corpses took a bit of experimentation, but eventually we got there!

搞明白如何用尸骸包裹一个星球需要一些尝试,但最终我们还是成功了!



Implementation

实装


Once implemented in-game, the content gets tested for bugs by QA. While testing, we noticed a curious issue: the graveyard looked fine when you encountered it the first time:

这个内容一旦在游戏中上线,就会由QA组来测试BUG。在测试过程中,我们注意到一个奇怪的问题:当你第一次遇到这个墓穴时,它看起来是很正常的:



But if you closed the system view and opened it again...

但如果你关闭星系视角然后再次打开它时……



...It ballooned into a fleshy monstrosity whose size rivaled the Sun!

……它会膨胀成一个体积超过太阳的肉质怪物!


The cause, as fellow Content Designer @Caligula Caesar discovered, turned out to be an obscure bug that resulted in offset decorations being incorrectly sized during initialization.. As mentioned above, we usually use offset for temporary VFX, so this bug has never been noticed since release!

造成这种情况的原因,正如另外一位内容设计师@Caligula Caesar 发现的,是一个不明显的BUG,导致被偏移的装饰物在初始化时变成错误的大小。正如之前所提到的,我们通常会在临时的视觉特效上使用这种偏移,所以这个bug才会自从游戏发售以来一直没被发现!


Final Art

最终艺术图


At this point, the art department stared at my work in mild horror and decided it was best to create an unique asset for it. The graveyard looked fine, but smashing ambient objects together is not standard practice and could potentially create performance issues. Nevertheless, the horrible mishmash provided a useful reference for the concept art and the final model:

到了此时,美工部门用略微恐惧的眼神盯着我的作品,并且决定最好还是为它做一个专属的素材。墓穴看起来非常好,但是将环境物体杂糅在一起并不是一个很合适的做法,并且可能引发运行问题。然而,这个恐怖的杂糅物还是给美术概念以及最终的模型提供了有用的参考价值。



Notes for modders

为modder准备的笔记


My graveyard was dismantled, but I hope it will inspire you to create even worse abominations.

我的墓穴还是被废弃啦,但是我希望这能激发你们打造更糟糕的东西。


Here's a handy summary on how to offset ambient objects. When spawning an event object, make sure sure to use use_3d_location = yes to be able to adjust its position.

在这里我给大家提供了一些关于如何偏移环境物体的简单总结。当生成一个事件物体时,一定一定要确保使用use_3d_location = yes以便能够调整物体的位置。



No tiyankis were harmed in the making of this dev diary.

在本次开发日志中,没有缇扬奇收到伤害。


-------


But that is not all! For I, @Caligula Caesar, have something quite cool to show off, namely some experimentations with galaxy shapes.

不过这并不是全部,因为我,@Caligula Caesar,有一些酷毙了的东西得给你们看看。这玩意也就是一些关于星系形状的实验。


We haven't made any changes to the available galaxy shapes for… I think since release, unless I am mistaken. Anyway, we wanted to spice things up a bit, and took a look at whether we could persuade our galaxy generator to create new shapes.

除非我记错了,我们大概是从游戏发售那天起就没有做过任何和星系形状相关的调整。总之,我们想给事情加点料,看看我们能否说服我们的星系发生器创造出新的形状。


First we taught it a few new tricks. Now you can define a new galaxy in script and feed parameters into it, and it will be available to select in the galaxy generation screen. This means that when modders inevitably decide we didn't go far enough in this dev diary, they can make their own combinations without replacing existing ones. It now also doesn't determine its behaviour based on what the galaxy shape is called. With this I mean, in the current version the 2-spiral galaxy will always have two spiral arms, and you can merely tweak how thick and twisting these arms are - this is no longer the case. Now you can freely define how many arms you wish to have, and also combine them with a ring if you so please.

首先我们教给它一些新的技巧。现在你可以在脚本中定义一个新的星系,并向它输入参数。然后它将可以在星系生成界面中选择。这意味着当模组制作者不可避免地认为我们这篇开发日志还是太保守的时候,他们发现可以在不替换现有星系的情况下制造自己的组合。现在它也不会根据星系形状的名称来决定星系的具体情况。我的意思是,在目前的版本中,2-螺旋星系总是有两个螺旋臂,而你只能调整这些臂的粗细和扭曲程度——现在已经不是这样了。现在你可以自由地定义你希望有多少条臂,如果你愿意的话,还可以将它们与一个环结合起来。


As a result, we could add a few new shapes. For instance, we could add some spiral galaxies with different numbers of arms:

结果就是,我们可以添加不少新的形状。例如,我们可以添加不少旋臂数量不同的螺旋星系:



But there was more we could do. In particular, we wanted to make a few galaxy shapes that would create some unusual galactic terrain, and some potentially interesting asymmetric starts. For instance, we could make a twist on the two-arm spiral galaxy that has very thick, slightly winding arms, resembling a bar galaxy:

不过我们还能做得更多。具体来说,我们想制作一些可以创造一些不寻常的“星系地形”的星系形状,以及一些潜在的有趣的不对称的游戏开局。例如,我们可以在双臂螺旋星系上做一个转折。它有非常粗的、略微缠绕的臂,类似于一个棒状星系。


Credit: NASA and STScI

感谢:NASA和STScl


Yes, those two halves are connected by a single hyperlane
是的,这两部分被一条超空间航线所连接


A ring galaxy and a spiral galaxy could be combined to make a "cartwheel" galaxy:

一个环形星系和一个螺旋星系可以组合成一个“车轮状”星系:


Credit: NASA, ESA, CSA, STScI and Webb ERO Production Team

感谢:NASA,ESA,CSA,STScl和Webb ERO制作组



Alternatively, we could omit an arm of a 4-arm spiral, and create something we dubbed the "hedgehog":

亦或者,我们可以把4-螺旋星系的一条旋臂删了,并创造我们称之为"刺猬"的东西。、



Finally, in a bout of silliness, I also added the "starburst", which is a shape that is actually impossible in reality, but might create some interesting gameplay:

最后,在一阵愚蠢的行为中,我还添加了“星爆”,这是一个在现实中实际上不可能的形状,但可能会创造一些有趣的游戏体验。



Another thing related to galaxy shapes which we've looked at a bit is static galaxies. This is the system modders use to generate a specific preset galaxy, for instance certain total conversion mods. It turns out that the code for generating a random galaxy (i.e. those we usually generate) and that used for static galaxies differ completely, which specifically became an issue during galaxy generation: the two different versions of the code probably did the same thing once upon a time, but inevitably the code has diverged, so modders reported numerous issues with static galaxies. For instance, it was not possible to use secondary species, and there were a number of small issues with starting setups, such as starbases and sectors not automatically spawning. It also wouldn't call the empire_init on_actions, which would cause further divergence from how things would be if a regular galaxy was generated.

与星系形状有关的另一件我们已经聊了一点的事是静态星系。这是模组制作者用来生成特定预设星系的系统,例如某些把整个星系全改了的模组。事实证明,生成随机星系(即我们通常生成的那些星系)的代码和用于静态星系的代码完全不同。所以说,这成为星系生成过程中的一个问题:两个不同版本的代码可能曾经做过同样的事情。但不可避免地,代码已经发生了分歧。所以模组制作者报告了静态星系的许多问题。例如,不可使用次级物种,而且在开始设置时有许多小问题,如行星基地和星区不能自动生成。它也不会调用empire_init On_actions,这将导致与普通星系生成时的情况有进一步的差异。


Anyway, I probably shouldn't talk about this, since the code has not yet even been approved, but I tried to combine as much of the random galaxy and static galaxy code as possible, resolving a fair few issues with the latter, and hopefully making it more robust in the future. (Also, on the prompting of a modder, I added the ability to specify "effect = { }" in a particular system's entry in a static galaxy. And you should now be able to create several static galaxy maps rather than being limited to one).

总之,我也许不应该谈论这个,因为代码甚至还没有被批准。但我试图尽可能多地结合随机星系和静态星系的代码,并且解决后者的一些问题。希望静态星系在将来使其更加强大。(另外,在一个模组制作者的提示下,我增加了在一个静态星系中指定一个特定星系条目的effect= { }的功能。而且你现在应该能够创建几个静态星系图,而不是仅限于一个)。


So, basically, for players who enjoy mods that create bespoke galaxies, you will probably be able to get access to much improved versions of these in the near future. (Can't promise it will definitely be in the next patch).

所以大体来说,对于那些喜欢用模组来定做星系的玩家,你们应该会在不久的将来就能接触到改进后的系统(我不敢说下次补丁就能上线)。



翻译:疯狂的新兵 人间面包

校对:一水战阿部熊 三等文官猹中堂


欢迎关注UP主和主播小牧Phenix

欢迎关注牧游社微信公众号和知乎专栏!微信公众号改版为信息流,欢迎【置顶订阅】不迷路,即时获得推送消息!

B站在关注分组中设置为【特别关注】,将会在私信内及时收到视频和专栏投稿的推送!

欢迎加入牧有汉化,致力于为玩家社群提供优质内容!组员急切募集中!测试群组822400145!   

本作品英文原文著作权属Paradox interactive AB所有,中文译文著作权属牧有汉化所有。

Stellaris开发日志#269 | 9/29 挖掘坟墓,以及银河事务的评论 (共 条)

分享到微博请遵守国家法律