Originally published on Feb 23, 2017, this episode of Around The Verse was hosted by Chris Roberts and Sandi Gardiner. Star Citizen web partner Turbulent provided a detailed inside look at our new community platform, Spectrum. The show also featured a sneak peek of the Anvil Hurricane concept fighter which was released that week.
- Chris Roberts (CEO, Game Director)
- Sandi Gardiner (VP of Marketing)
SANDI: Hello and welcome to Around the ‘Verse, our weekly in-depth look at the development of Star Citizen. I’m Sandi Gardiner and joining me once again is Game Director, Chris Roberts.
CHRIS: Yup, hey Sandi. Good to be here for another ATV.
SANDI: It is good to have you back and first off we wanted to quickly say congratulations to the team for getting the Alpha 2.6.1 live and into the hands of all our backers.
CHRIS: Yes, well done to the team! There were a ton of great updates that have gone into this patch including new balance changes to ships, weapons, and map updates in Star Marine, but the biggest accomplishment was the introduction of regional servers and the single player mega map. I know there’s a lot of people in Europe and Australia that are quite happy that they have much lower pings than they used to, playing the game.
SANDI: Very cool and 2.6.1 wasn’t the only thing to go live last week. Our new communication platform Spectrum was rolled out as well. You can sign in right now to chat with developers and fellow players and use the much improved forums there.
CHRIS: Yes, they are very, very cool and along with the patch release we’ve updated the production schedule to show how our estimates lined up with our actual deliveries. Comparing the two gives some interesting insight on how we plan our scheduling, and obviously, this will be an ongoing thing we’ll be doing for each upcoming patch.
SANDI: And last, but not least we have one more exciting thing we’ll be introducing this week. Tomorrow we will be launching the concept sale for the Anvil Hurricane.
CHRIS: This fighter is going to be a great addition to the lineup. It’s one of my favorite designs we have right now. It was developed originally for the Second Tevarin War. This two-seater puts a heavy focus on firepower. That’s all I’ll say for now because I don’t want to spoil too much before you get to the see the cool brochure tomorrow, it is very cool, but make sure you stick around for an exclusive look at the Hurricane end of the show.
SANDI: First up, though, let’s go now to this week’s studio update to hear the latest about news from the Los Angeles team.
Eric Kieron Davis (Senior Producer)
Hey, everyone, I’m Eric Kieron Davis, Senior Producer here in Los Angeles. As many you know the LA office houses several disciplines working across multiple aspects of Star Citizen, so we wanted to give you a quick update on the progress we’ve been making.
One of our biggest teams is the Technical Content team led by the great Sean Tracy. Members of this team span across three time zones and if you were described the function of that team on a t-shirt it’d read something like, ‘solving problems you didn’t know you had in ways you wouldn’t understand.’ So, to understand some of those solved problems, here are some of the things that they did.
To start a portion of the team is working with Engineering on the new damage system. As we’ve shown in the past, some ships are already using the new damage system which creates much more random and organic damage effects via procedurally generated materials and an internal skeleton that appears when metal just melts away.
We’ve also been working on adding the physics-driven, destructible behavior to our item system 2.0. Initially, this just meant converting the existing functionality into the new item 2.0 health and damage system. However, this work is much more than just a port. Networking, persistence and VFX functionality will be improved, and it also extends destructibility to a broader class of entities including props.
Members of the Tech Content team also work with Animation to implement the introduction of facial idles for pilots of all ships. Now no more death stares from flying over to save someone from Kareah.
Additionally, Tech Content developed a tool for marking up zones that are used by the renderer to hide and show different areas on a character mesh when layered pieces of clothing and armor are equipped.
If your character is wearing a shirt and then you put a jacket on the zone culling tells a renderer to hide and ignore any part of the shirt that is out of sight. One of Tech Content’s many contributions to this powerful feature was to create a tool that automatically zones and splits any number of assets regardless of topology; this allows us to quickly implement the zone culling feature onto an already massive database of character art in a fraction of the time. So, in a nutshell, as opposed to manually the existing armor and clothing to work with this new feature, this tool will automate that process and save us a lot of dev time.
Now our Tech Design team has been working on many different elements of the game, and one of their many tools to help everyone visualize expected gameplay is to develop prototypes of upcoming features and gameplay.
Recently, we’ve had two prototypes come out of Tech Design. The first was based on Chris’s initial vision for the Interaction system which, in a nutshell, is the interface by which players will be able to control and manipulate various objects in the game world such as ships, control panels, weapons and a whole lot more. Once they roughed out that system, they work with Programming and UI to ensure that the prototype functionality was not only clear on what we’re trying to achieve but possible.
The second prototype was how the player controls the properties of items to manage their signals generated by entities like space ships. For example, how the power is managed to shields, weapons, and thrusters which allow us to manage our emissions and engage in a kind of stealthy gameplay. The foundational work of this prototype will allow us to change properties of these items so that we can determine how upgrading will be desirable and fixes our previously limited system which we were unable to balance and provide a design up a much more direct way to implement gameplay via simple numerical values.
They’re also deep in the setup of the Drake Cutlass Black, Buccaneer and the rework of the RSI Aurora as well as another ship we can’t quite discuss yet. Lastly, they’re taking a pass at updating our ships stats page on the website to bring all the information about our ships up to the most current specs. As part of this change, we plan on providing regular updates about any changes to each of our ships going forward.
Now, over on the Engineering side, the team has been working on instance properties, which allow designers to modify any part of an entity component in the editor or the game. With this feature, designers do not have to create similar entity templates for our game; they just need to expose some parameters that the designer can modify inside the editor. This will save asset storage and reduce the number of entity components but at the same time allow for much more variations.
Obviously with the ultimate aim to create seamless transitions throughout our entire universe, the Engineering team is making progress on object container streaming by changing some of our core engine code, which will radically increase the amount of content we can put in the game all at once without sacrificing any performance. For example, we’re currently replacing the old pre-fab system in the Hangar and Shops with an object container in the preparation for this expected streaming.
On the radar front, we’ve added an extra timer value to the object databank which will be used to specify how much time an entry can remain in an echo contact as well as implement the metadata component interface which is an entity component that can be attached to any entity to make them radar detectable.
We’ve also added an object databank linking and unlinking feature so that entities will inherit databank entries from their parent. This will allow a player to inherit information he or she is currently sitting in.
Then we’re also working on new scanner gameplay tied into the new radar system that builds on the mechanic of revealing more or hidden information on radar objects. We’re excited about this addition because it will have a lot of potential elements to scanning another ship and will be instrumental in the eternal struggle between smugglers and law enforcement, for example.
Lastly, the Engineering team is working on lighting states. To provide a little more context, when it comes to space stations, ship interiors and other sorts of man or alien made environments, we want the lights to be able to have various altered states to reflect certain situations like low power or emergency lockdown.
While we currently have a way to accomplish this using layer switching, it has its downsides such as requiring duplicate lights for each state and having no options for transitioning animations. We’re therefore developing a new entity called a light group, that will take control of these lights that are assigned to it. With its internal state machine, the light group will be able to modify its lights depending on the current state. For example, switching from a normal light state to an emergency light state and back, you can think of it as the ultimate light switch.
Now over on the character side, we’ve moved further down the pipeline on many of our new outfits. Specifically, in Squadron 42, we have lots of deck crew who work a variety of jobs, and some of them need to work on the exterior of ships in the vacuum of space. This deck crew outfit is coming along nicely and is firmly in the high-poly modeling phase. Also, you’ve seen the explorer space suit recently in the newsletter and on our previous updates, and it’s moving along nicely as well. The team is finalizing texturing, and it has already been sent to rigging which will allow us to get tested in the game in the very near future.
Last but not least, we’re working very hard on the heavy armor class for both Marine and Outlaw. We now have the 3D concept for the heavy Outlaw going through rounds of feedback, and once that concept’s approved, they’ll move right on into the high poly modeling phase. While the heavy Marine is in the engine and headed over to the rigging team and then on to final implementation. Well, that wraps us up for the LA studio update, thank you very much for your support and see you again soon.
SANDI: Thanks for the update Eric! I think a lot of people are going to be excited for the plans for the ship page now that we’re better positioned to provide more accurate stats to everyone.
CHRIS: Yes, more accurate stats is always good. What got me excited is the design of our player interaction system for Item 2.0, it has now gone into production. It’s going to open up a whole universe of gameplay possibilities taking our initial Grabby Hands idea and incorporating it into the inner thought system has created a ton of new options for designers to begin exploring. From looting to shopping, to hanging out at the bar, should be a lot of fun.
SANDI: Very, very cool and speaking of hanging out, next up we take an in-depth look at our new chat and community platform Spectrum. Let’s head to Montreal to hear from our web development partner, Turbulent on the tech it took to bring this new system online.
- Tyler Witkin (Community Manager)
- John Erskine (Studio Director)
- Benjamin Fardel (Strategist)
- Benoit Beausejour (CTO)
- Tyler Tumilson (Community Manager)
- Edern Talhouët (Art Director)
BENJAMIN: Star Citizen is a lot of things, and it’s aiming to be a lot of things. It’s a space simulator. It’s a shooter. It’s a full-blown universe you can play in first person. It’s a lot of stuff at the same time. And a crucial part in this is the roleplaying thing that for me is what draws me the most to the project is the fact that people can get immersed and play however they want, with any ship they want, any setting they want and explore this whole thing and choose a career path. Living however they want in that universe.
If we wanted to do a communication platform for that game we need it to have something that will reduce a lot of the friction that would happen naturally between the players and the tools that they would use to communicate.
JOHN: When we launched the crowdfunding campaign in 2012 we started with a traditional website and traditional forums and a service called Chatroll. These systems worked pretty well for us in the beginning: they’re very traditional, they’re things people are comfortable with and for the size of our community they made perfect sense for us to do that.
Over time on the platform, we’ve replaced, or we’ve improved, different pieces of these tools. For instance, we replaced Chatroll – there was a point where we outgrew Chatroll. We would have more people in chat than it could support and it was chaotic. So, we built our chat system based on XMPP and that on the service today, that’s still on the platform today in fact.
We also talked a lot over the last several years about upgrading our forums to be more modern. And in fact, we’ve talked about a variety of things like building our forum engine, having orgs, allowing orgs to have their forums on our site. These are all major undertakings because we have more than 30,000 organizations and so if we allow every org to have their forums that mean you now have to support 30,000 different forum instances.
BENOIT: So, we went to Chris with the plan to build a new forum engine that we could replicate to all of the orgs because most forum engines will allow us to do one instance but we need it to 40,000 instances. We came to Chris with this plan. We design a forum engine to be modern, new ways to see threads with trending, replies that have notifications, live updates. It was a very nice concept, but it was it was still just a forum engine.
BENJAMIN: So, we needed to have a platform that would be part of the project itself. Part of the game.
BENOIT: I think the key word became that we wanted this application to be both available both in and out of the game. To cover for everything that is out of the game. Because that’s a real big part of your gaming experience today is talking with your friends, setting up your game parties, organizing with your organizations, calendars and meet ups. And so we wanted to build a framework that would allow us to build that into the game.
BENJAMIN: The organization system has been around for a while now. It’s been three years, I think. And first of all, it has an amazing response ever since it got out. We saw the number of organizations created was amazing, but also the amount of involvement that players were showing with just a simple set of tools that you could create your presence for the organization.
It had a homepage that you could define, have text you could put in and have your brand and stuff. A simple set of tools and people did amazing things with that. And now with Spectrum, we’ve given that a whole new set of tools to cultivate that presence and cultivate the spirit of your organization.
Right now, when you play the game, you start on the website. You have your inventory, and that feeds into the game. So that’s one way that it interacts. But then Spectrum fits in there in that it is your presence as a player in Star Citizen wherever you are. Whether you’re playing or not. That also gets fed by data from the Organization System.
So the Organization System has been out for years now, I think three years, and people took to that when it got out because it was the first time you could roleplay into the universe of the game. And we were amazed by how many, first of the number, like how many organizations were created but also the implication of some players sticking to a role and having their identity in their organizations and having that define who they are in the game even when they play.
Getting all of those organizations and outlet to have their forums and chat systems was a lot of pressure on use because it meant that we were not just releasing something to replace the original forums and chat of Star Citizen. We were launching, not one, but 30,000 forum engines and chats. And the opportunity for each of them to be customized whichever way their owners wanted them to be.
BENOIT: And so when we pitched it to Chris as a first iteration he told us to think bigger. That we should expand on that and just try to fix communication as a whole instead of just trying to replicate the forum engine.
JOHN: So, Benoit and I continued to brainstorm and come up with different ideas and found by looking at a lot of different systems that are out there like Discord is popular. Reddit’s very popular. Things like Stack Overflow. Things like other forum engines. We decided that we could tackle the challenge of building our system that integrates all of these things.
BENOIT: And we started to design and application that would be unique to Star Citizen. That could bridge this gap between the web experience that you get and in-game experience that you’re going to get when the game is fully integrated.
TYLER T: One of the cool features that comes with Spectrum is social tools that add and improve the user experience. An example of that is moderation tools that allow organizations to better manage and organize their communities.
BENOIT: The team stepped up but quickly realized this was going to be a gigantic challenge and not just a standard development effort that would require many design cycles, many UX design cycles, and at the same time technology innovation to be able to be able to ship it in a time that’s respectable.
EDERN: [Translated from French] When we started thinking about design, we instinctively went with flat UI. It made it easier to load, more functional, and easier to upgrade later. There’s a lot of functionalities we’re planning to add to Spectrum, so we had to think forward with a simple and stripped down design. This allowed making the most of Spectrum’s functionalities and with minimum friction for the users.
BENOIT: And so as we got pretty much done with the design aspect of the project we realized not only how big the scope was, but we realized it was going to be a huge technological challenge to get there. And so that’s when we all met up together, and we’re just like “Alright let’s build this thing!” And then we kept on trucking from there.
So the first roadblocks that we encountered was that we didn’t have the technology to build that and so we really needed to extend the RSI platform to include a lot of real-time services that were going to be needed to power lobbies, real-time forums, channels and soon voice lobbies, but all of this needs to be built in a generic way. But now that we have this technology we were able to step stone to the next one.
Other types of roadblocks that we encountered, a giant one, was the technology stack for the actual application itself. And so we knew it had to be a web-based application. Now there are many, many options on what type of framework we can use to build an app like that. And so we set out to do a lot of research to figure out which stack we were going to use. This includes what rendering technology we were going to use inside the browser, what kind of communication layer we’re going to use. And so we ended up choosing React as a base platform which is a framework from Facebook, it’s open source, that’s our baseline for the application. We also used the library that we’re big fans of called Redux that gives us a way to manage state inside the application that’s streamlined.
So, we started to move out everything into React, and we built the entire thing with it, and it became a hallmark of the team here, and this was an expertise that we sort of had internally, but that really needed to expand on and so a lot of the team members that joined the Spectrum team were, initially, not very proficient in this technology, but then really learn quickly based on Laurent’s work in order to really facilitate getting the rest of the features online.
So we were able to silo that up between developers, and so people would focus on a specific of features, build it out without interfering with the others and then bring that into the main line so we could iterate quickly.
And so, that was a really big win because building traditional maps; you know HTML5 apps like we did in the past. Like the original RSI platform would not have scaled to this kind of functionality and state transition, so we’re really happy about that.
So, other types of roadblocks we hit were on the server side. So there’s a special use case for a web application when you think of online connections. So Spectrum is using web socket connections for everything which is a way for us to get real time updates on the client.
And so, one of the major roadblocks we hit early was the fact that our, let’s say you compare the game to Spectrum, in the game you’re going to only have one connection per account or per character right? So the way the servers manage it is that you’re connected once. On Spectrum, though you can have multiple connections and so you can have multiple tabs open. You can have one tab open in the game, one tab open in your browser and your phone so you’re connected in multiple places, so we have all this class of problems that come from that like which connection is active, which connection is inactive, are you the same user, are you disconnected and now when you add the concept of presence to that, it becomes fairly complex because you can be online in the tab, away in another one, so we have to basically brainstorm multiple versions of our presence system in order to get to something that’s pretty comfortable which is: you have user control on certain presence statuses, but other status are automatically toggled.
For example online, away, and playing are automatically toggled by the system across your connections and so are you also offline? If all your connections go offline then you’re offline, but then if you’re reconnected from your mobile then you’re online, and so there’s this whole differentiation between online and offline and then presence details that come in.
Our first iteration of our prototype was very, very simple. We had a single thread presence system that was over there, but then we quickly relegalized when we started having multiple connections that this wasn’t going to scale so we had to bring other engineers to build the proper presence service which also turns out to be the first contact point that we had with the game which was really exciting for us because then we were able to get their presence from the game whether you’re in menu’s, in Star Marine, in Arena Commander, In your hangar into Spectrum.
So you’re online, and then you go online in the game and it changes and that for us was a super kickass moment because it’s like, “Wow, now we’re bridging this gap” and that’s the vision for this application and that’s the first wall that we’re breaking down between the game and Spectrum and it’s not going to be the last and so this whole roadblock of the presence system was a major one, but we’re glad we tackled it this way because now we have a lot of flexibility in how we display presence and that’s going to be a core piece of element moving forward.
So the way the way we engage the community for testing Spectrum was interesting, and it’s something we’re going to redo quite a bit. We want to make this a bit different in this process. We have the chance of working on a component of the game which is not directly related to the story or lore and so I think we can share a lot more of our development, like we’ve already been sharing with you guys the type of technologies that we’re using and we plan on keeping doing that in the future.
The way we engage with the community is that we went to PTU fairly early in the process back in December and our initial goal was to go at this frantic pace of releasing a build every week to the community on PTU and so that’s what we setup to do in December and we did that. Not only did we want to ship builds and build notes which is standard, but we also wanted to be there with the players on PTU, talk about Spectrum and be involved in the testing because sometimes you need this personal connection with players in order to understand what the problem is, if there’s a design issue or there’s an actual bug.
So this frantic pace we kept it up till launch in February, and so we’re really happy about that because it gave us this proximity with players that allowed us to change the app entirely. Like you can ask any members of the Evocati group: Spectrum version 0.1 and version 0.3, what’s the difference? It’s pretty major because we’ve listened to feedback quite a bit initially to be able to fix. It’s all in small details which are, there are broad strokes, but a lot of small details got adjusted that were a big deal, and so we’re really happy about that proximity, and we want to continue to do that.
Of course on the live servers we can’t go as fast, but we still plan to do an update a month, even more, if we can, but as long as there’s no breaking change we’re good, but we really want to keep that momentum going so you can see how fast Spectrum is progressing since we don’t have special hide this feature thing, so we can talk openly about what’s coming up.
There’s a lot next for Spectrum, but in short to intermediate term we’re reviewing feedback, we’re looking at what you guys are telling us about the release. We know we have a lot of things to adjust like the launch was pretty hectic, but it was a good, but now we have technology changes to make. In the short term, we’re going to spend a lot of time on the forum part of Spectrum to make it reach a little feature parity with the old forums, so we want to spruce it up a bit.
TYLER T: Additionally we’re reviving the ask a dev section that you may remember from the forums. It allows backers to ask questions to developers in real-time so they can gather more information about what’s up and coming. Or specifics about systems we’ve already announced. We’re excited about it because Spectrum allows us to do this initiative and we have some new and exciting stuff coming in the future.
JOHN: There’s a lot more functionality to come on presence. More what we call rich presence to know to a very detailed level where you are in the game. That would allow us to do more things around parties and grouping and locational awareness. We could have location aware chat lobbies, location aware services.
TYLER W: One of my favorite parts about Spectrum is that it brings a lot of my favorite features from things like Reddit, Discord, and a few others and it brings them all to one place that’s easily accessible from the entire Star Citizen community.
BENOIT: There are also a few modifications in how the sorting works. As you guys know, Spectrum supports classic style sorting and you know more Reddit style sorting and so we want to keep this duality and give you guys the power to do that within your orgs, but we want to increase the feature set on that front so expect a bunch of short updates to forums moving forums.
Our big-ticket items in the what’s next category is obviously, mobile app. So we currently support mobile, but we want to have a real native experience on mobile, so we’re going to be working on mobile ports.
BENJAMIN: But if you allow yourself to dream much, much further than that, you can also imagine stuff like a complete communication system with voice. Let’s imagine you’re in your ship; you’re landing your ship with a couple of friends, you have two communication channels that you can switch between. One that is for people who are manning the ship and having an actual role in the ship and the other one is like a P.A. system, blaring information to people who are not just manning the ship, but also like not the crew itself, but passenger or boarders and you could switch between the two during the game and coordinate with your friends to counter their attack that’s appearing right now.
JOHN: Ultimately Spectrum will replace our current forums which are very traditional, functional, but very traditional forums. It will replace our XMPP chat, and it will give orgs their forums to work with as well. So we have achieved our initial goal already with the launch of Spectrum of giving every org their private forum to deal with, having a live chat and having all these modern functions built in.
BENOIT: If you guys haven’t tried it already, I invite you guys to come online on Spectrum and give it a shot. If you see anybody from Turbulent, feel free to reach out to them and talk to them about Spectrum. Now don’t flood them, but you can ask questions. We have this policy that we want to be super open about this development and so any questions you have or ideas that you have, bring them to us and we’ll try to do what we can with it.
CHRIS: Seeing where Spectrum’s headed you can see how much it’s going to bring to the game. What we have right now is just the beginning. We’ll be adding a lot more functionality like bringing across the full organization setup to Spectrum. A Wider variety of thread styles, adding VOIP, integrating closer to the game so you can see not only which of your friends are online, but where and what they are doing, because put that option on, you’ve got to respect your privacy.
Going from chatting online to connecting with your friends in game on the same platform is going to redefine how players connect with Star Citizen and each other so I’m excited to see by what it’s going to bring
SANDI: I am too because staying connected with all of you is very important to us and it’s a big reason why we create such a wide variety of behind the scenes content every week.
That’s it for this episode of ATV. We’d like to thank all of our subscribers for giving us this level of community involvement.
CHRIS: Yeah, thank you very much for all of that. Even though we say this every week, it stays just as true; we would not be able to build a game as wonderfully complex and immersive as Star Citizen if it was not for our community of backers, thank you very much.
SANDI: Thank you very much and we would like to invite all of you to join us tomorrow at 12 Pacific for the latest Star Citizen Happy Hour stream for some live gameplay as well as something very special.
CHRIS: Yeah this week’s guest will be Character Art Director, Josh Herman who will be creating a new creature concept live on the stream. So, good luck to him for that, and while taking suggestions from chat. It’s not something you’re going want to miss.
SANDI: Coming up now as promised is the exclusive premiere of the brand-new Anvil Hurricane going on sale tomorrow.
CHRIS: Yeah so take a look, and we’ll see you.
BOTH: Around the ‘Verse.