The Actor Status System (originally called Player Status) has been a goal since very early in the project and is now living and breathing in Alpha 3.9, with the system and a majority of features in place. This is an incredibly involved system that spans the entirety of the game and is intended to link many aspects from characters, animation, environments, items, and more to each other for differing results whether it’s hunger, thirst, heat, cold, wind, vision, or movement. It replaces what was a very simple system of the player suffocating (and being killed) when exposed to space. The player character is notably now affected by the environment in a multitude of ways. And with this system, the environments not only vary dramatically visually, but now have meaningful gameplay elements within them to create specific identities. For example, a planet can be cold, which you can only survive in certain clothing for a given amount of time, but may have geysers to create pockets of warmth. The system itself has been completed; however, there is a robust design with intricately connected aspects still to come to Star Citizen, including weight, drug effects, and more exotic hazards that depend on other features coming along, such as the physical inventory.
This system was quite challenging to design, firstly due to the sheer interconnectedness between what might, on the surface, seem like disparate elements, and then further in approximating real-world behavior such as heat convection in what are extreme environments. Further, future-proofing the system for yet-to-be-added features added to this challenge. Lastly, garnering the support of so many different internal teams was a serious production undertaking, whether it was Graphics and VFX for the effects on the player vision, Audio for muffled hearing during hypothermia, Characters for the armor/clothing for temperature and weather protection (or not!), UI for feedback to the player, FPS Design for stamina and heartrate re-balancing, Animation for the effort set and raising the hand in heavy winds without a helmet, and Props for complex animation and interaction with food and drink items. This was all made even more difficult to develop as environments, planets, and ships needed to have rigidly managed and correctly balanced data, else it would cause issues with all of these systems. We couldn’t have simply left the kill trigger in for “in atmosphere”; Star Citizen demands deeper immersion than this. Now design, through the environment that the player exists in, can create complex effects and expect that players will need to provision themselves appropriately, such as not going out into the desert without water or not diving into an icy cave without an environmental suit. We are, in the end, quite happy with how this feature and system has gone in and look forward to hooking more systems into it.
Unified Friends Service
The unification of our friends service was something treated as the utmost priority for one of our internal PU teams, with the main intention being making it as easy as possible to group-up and join games together within Star Citizen. Though this was always possible, it’s now much easier to see your friends, see where they are playing, and join a party and launch into the game together.
This created much more work than anticipated, as it required a new service to unify the disparate elements and to ensure a real-time link between Spectrum contacts and the game. This also carries through into the game itself, which has updated notification of friend requests and automatic formation of in-game groups, which is a concept within the PU for chat, VOIP (Voice Over IP), and FOIP (Face Over IP). Linking up Spectrum to the front-end and then to the game seems obvious, but it suffered from different systems being completed at very different times, and it was long past time to clean it up. The front-end UI presents its own challenges as technically it’s a mix of our new Building Blocks technology and of the legacy Flash. As this can break the entire flow, our front-end team avoided completely changing out the front-end and opted instead to make new elements from Building Blocks but leave the rest as it was. This was quite restricting and had the effect of leaving us with a functional UI that isn’t quite as slick as you might expect. Though we are happy with the functionality the contacts/friends list gives us, as a very social game we will be continuing work in this area to ensure an interface and functionality set that you’d expect from a modern multiplayer game and to make it as easy as possible to play with your friends.
AC/SM Party and In-game Chat/VOIP/FOIP Support
Arena Commander and Star Marine have never had a fully-fledged chat system. For some time, there were obtuse commands (pressing various different key combinations known to only a few) that triggered a server command to “say” to all, but it wasn’t something that was used by most and it was inaccessible to new players. Though acceptable in the very early state of Star Citizen, as the first gameplay module, it hadn’t kept up with the groups system developed for the Persistent Universe. Now AC and SM share the same friends system and a similar squad system to that of the service mentioned earlier. You can now group together and launch into Arena Commander or Star Marine just as you can into the Persistent Universe, further enabling group and cooperative play. This was encouraged by the needs of the Star Marine game mode and Theaters of War (working title), which encourages in-vehicle groups (gunners and drivers speaking to each other) as well as joining and grouping together for matches. The main challenges are the varying number of players each game mode can support and the different server configurations that are running for session-based modes versus a persistent and perpetual game. Further difficulties are similar to those mentioned for the front-end and an immense amount of Flash having been put in place expecting and designed for a much different lobby concept. In the PU, although there is matchmaking, the requirements are not the same as in AC/SM. An unfortunate victim of the current update is the private match lobby, which could not be updated in time. We would have preferred to not disable it. Though you can still group together and launch matches, these currently cannot be locked off, but we will be addressing this in future updates.
AC/SM Round Cycling
In previous versions of Arena Commander and Star Marine, players would be kicked out to the front-end when matches would end. There were technical challenges and issues for having done this in the past, as when Arena Commander originally launched, this was not the case. Arena Commander and Star Marine would reload their maps on the server, which is totally different from the Persistent Universe, which doesn’t need to ever reload maps. This was incredibly important for Arena Commander and Star Marine, as play session length was cut short and players were arguably encouraged to leave the game when the round ended as they were kicked out and needed to go back through the various menus to return. We have managed to get around some of the technical hurdles and implemented round cycling so that players now get a proper and perpetual play experience. However, the fundamental issues haven’t been addressed, which are clean reloads whilst keeping players grouped with their friends and matchmade into a new round. This has significantly increased play session length and also concurrency of players in both modes. Another change around this was updating our join-in-progress rules, which over time had become unsuitable to most modes and would avoid matchmaking players into already-started rounds.
Personal Inner Thought Radial
The Personal Inner Thought system had technically been in game in a very rudimentary state behind a cvar; some releases had it exposed and others didn’t. It didn’t fully accomplish the intention of being able to map any key to any interaction on the fly, and even more importantly, to be able to perform actions in all various contexts. The programming and design teams did an incredible job on this feature as Star Citizen has hundreds of potential actions depending on the context you are in and default key mappings are becoming increasingly complex and far less accessible.
This feature even introduced some developers to actions they weren’t aware were possible or aren’t obviously shared on the default key mappings, from as small as toggling a light on a weapon attachment to as large as deploying cargo ramps and doors. It also exposes emotes and other player activities whilst on foot. This should not, however, be confused with the Player Interaction System, which will also be getting some treatment in the future that has to do with specific, and contextual, interactions with items. Again, this was a huge challenge, not only to update and replace the bare bones implementation of old but also to implement UI and real-time key mapping onto the hundreds of actions, but it was very much worth the effort.
-Sean Tracy, Technical Director, Content
-Richard Tyrer, Combat Pillar Director