Back to search

Without spoiling the event, tell us what Xenothreat is and what we're hoping to accomplish.

TL;DRXenothreat was meant to be fun without disrupting development, test new back-end mission infrastructure that coordinates servers across four phases, and improve capital-ship battles through better AI responses to torpedoes and more varied turret targeting.

Tony ZurovecPersistent Universe Director

There were two primary things on our mind when thinking about this event, and we started discussing this internally probably almost a year ago, back in first quarter 2020, what we wanted to achieve. And the other thing that we wanted, besides it being fun, was that it wouldn't cause us to deviate too much from the natural trajectory of the development effort. In other words, it couldn't be too disruptive. We wanted to take the things that logically followed in terms of development effort and look for ways that we could exploit and reveal these to players and basically improve the overall gameplay experience. In certain cases, of course, a little bit more effort here, pushing something else back to free up some bandwidth so that we could polish something a little sooner than what would otherwise be the case. That always happens. One of the primary things that we wanted to do was get all of the mission and back-end infrastructure operational. For example, there's back-end tools now, and I'll cover this in the upcoming presentation, to activate and monitor and deactivate missions. Again, if you look at Xenothreat, the amount of work that's gone into allowing this event to basically be activated is far larger than what you're able to see right now. What I mean by that is, it exposes an entirely different way for designers to start to set these things up. For example, when they're crafting the mission archetype logic, they can now declare these static instanced variables that are managed by the back end. They also have the concept of phases, which are conditionals that can be associated with these variables that are managed by the back end. The significance of this is that we can coordinate mission logic across all the different servers. That's how Xenothreat fundamentally works, which is, we have four phases in this mission. There's the initial, the introductory phase where we're hinting that something's to come, we're doing some foreshadowing. There's the actual Javelin restocking phase, then there is the climactic battle scene, and then there's the conclusion. All of these are really representative, and what this event allowed us to do most importantly was to test and refine and get all this stuff out working in the real world. Now you've actually got a dynamic mission service and you actually have the concept of these global variables, and the designers are able to communicate with them through subsumption task archetypes and we're able to do these conditional evaluations. We're able to basically have the back end synchronize however many servers we have, to keep them all in lockstep. Then there's all sorts of fine-tuning that goes on to where, well, if you've got a particular server and it's in, say, phase two and they're restocking and they've got the Javelin in port, then the designers can actually set it up to do things, and they are. Things like the number of Javelins that are successfully restocked in phase two can then serve as an input to phase three, such that the frequency of support you get from the UEE Navy depends upon how successful you were in defending those ships in that earlier phase. Again, what matters less is the specifics of what we're doing right this moment with that and more what we're allowing the designers to do in the future, how we're basically unlocking them to do lots more cool stuff.

Another big focus for this particular event, a major one, was from the beginning we knew that we wanted to put a lot of emphasis for the first time on the capital ship battles. So there were a litany of changes that we needed to make in order to enable this. And at the very top of the list was how the AI responded to the threat of torpedoes. So originally, and this was still true as of about four months ago when we finally got to the major push in that regard, neither turrets nor ships tasked with defending a capital ship paid them any heed. And that meant that it was way too easy to take these capital ships out in the early days. It was literally trivial. It was no fun at all. And so we spent over a month fine-tuning various systems so that countermeasures would be launched and worked as expected, turrets would prioritize major incoming threats like a torpedo over most other things. Players would be rewarded for coordinating their attacks with one another. You tend to be much more successful if three players launch torpedoes at the same time. And we built into the logic this sense to where it's not like... proper target selection. Well, what we didn't want to do is make it too robotic, too precise, not because you might not have that a thousand years in the future, but simply because it's not fun. If it targets perfectly and if it's able to perfectly shift its attention, it simply didn't deliver the gameplay feeling that we wanted. And so again, we spent weeks and weeks tweaking, fine-tuning this until we were internally pretty happy with the results. Another good example was the Idris. The Idris was originally pretty suicidal in that it would happily engage the Javelin and get destroyed as long as it managed to get off its railgun. Its logic wound up evolving to the point where it's now much more opportunistic. It wants to use its railgun, but only when that doesn't put it in too much danger. Then one other thing that we noticed was that the turret targeting couldn't be so Boolean. It couldn't focus 100% of its attention on an attacker that was only slightly more attractive than another player because, again, it looked artificial, and most importantly, it just wasn't very fun for the other players. We were getting internal reports of, you have eight turrets active on a ship, and you've got 16 players, and when it was so Boolean, at least half of the players were not having any of that firepower focused on them, even for an instant. And so they felt relatively bored in terms of the danger presented to them.

Jared HuckabyHost, Community

You want to be shot at. If you're jumping into the battle with an Idris and a Javelin, you want to be shot at. You want to feel like, I'm a threat. Shoot at me.

Tony ZurovecPersistent Universe Director

Yeah, there's a lot more fuzziness and grain, and it took time to basically work through all these details. I mean, we sat through every single week reviewing how it looked when you fired individual torpedoes at a ship, how it looked when you fired multiple torpedoes, how it looked if you fired multiple torpedoes with a very small differential in time versus a large differential in time, how the ship responded when it still had countermeasures available. And another aspect of this was the support ships that basically defend these capital ships. It's the same thing, to where even if you're firing upon them, if a torpedo is launched at the capital ship, they'll see that as a greater threat, break off potentially at risk to themselves and prioritize dealing with that torpedo. And so there's a multitude of these things that had to be worked through. And there's, of course, more we could do, there's more we will do. It's by no means perfect, but I hesitate to say it's light years beyond where we were when this started, because some of this stuff hadn't even realistically gotten off the ground. And now, in some of these select areas, it's actually quite mature.

Star Citizen Live›Dynamic Events·
Published on this date.29 Jan 2021