Upcoming Events! Community Event Calendar
Social Media Follow us, or not!

Around the Verse: Engine Trails and VFX Particles Written Thursday 29th of June 2017 at 05:02pm by CanadianSyrup, Desmarius and Sunjammer

As per usual, anything said during the show is subject to change by CIG and may not always be accurate at the time of posting. Also any mistakes you see that I may have missed, please let me know so I can correct them. Enjoy the show!

TL;DR (Too Long; Didn't Read)

Studio Update

Austin

  • Design
    • new pass on the Price Fixer Tool to ensure all items fall within the pricing balance of the game in line with the most recent design pass

    • doing an additional pass on mission rewards, insurance prices, and respawn timers

    • setting up the shop inventories utilising the new shop tech from LA Engineering

    • getting NPCs into the main hub areas of our PU landing zones, starting with Grim Hex

    • getting mission giver Miles Eckhart into the game has required a lot of collaboration:

      • Useables created the tech that allows us to link extraneous objects to other useables and still register items properly

      • Missions System provided the ability to find “Eckhart” tagged missions, determine availability and pass to the player’s mission log

      • AI and FPS a “Feather Blending” technique to blend between useable object animations and the conversation animations

      • Subsumption tech and programming facilitating all of this through tools and game code

  • Art

    • Josh Coons has been finishing the LODs and damage pass for the Cutlass Black; tweaks to the cockpit and rotating nacelles

    • Chris Smith has been working on the Xi’an Nox from beginning to end (and the vanity shots beyond)

  • Server Engineering

    • working with DevOps to integrate and test Diffusion in a QA environment

    • working with Gameplay Engineering to show how to utilise Diffusion’s features

  • PU Animation

    • started on the NPC useables for counters including working with shopkeepers and bartenders

    • set up a quick mocap shoot in the office to capture a few missing transition elements

    • getting the useable for the bar stool up and running

    • finished the Carry System animations for a standard sized box: you can now pick one up and walk around with it

  • Ship Animation

    • wrapping up setting up the standard for the cockpit experience; polishing and creating new improved animations

    • working to provide the same level of interaction for the manned turrets that you have in the cockpit

  • DevOps

    • adding more hardware and increasing network capacity to handle the necessary increase in build activity

  • LiveOps

    • completed the build out of the latest server side expansion, supporting the latest rev of shopping and Subsumption

  • QA

    • testing new features and preparing for 3.0: weapons, moons, Levski, missions, mobiGlas interface and apps, and ships

    • stability and performance has been a major focus

    • Squadron 42 Testing has been working closely with the rest of QA new tech = new bugs that affect both

    • continued providing additional support for the animation team

    • normal engine and editor testing has kicked into high gear as a surge of new tools and tech from developers

  • Player Relations

    • continue to prepare for upcoming 3.0 and can’t wait to reveal the new player experience

    • will be adding to the Evocati ranks in the coming weeks

Turbulent

  • Spectrum Update 0.3.6A has been moved to the PTU for regression testing, this is mainly for testing the backend changes that have been made.
  • 0.3.6 Will feature forum editing which enables drafts to be created by users so that they can post something they’ve typed earlier, later if desired.

    • They’ve also added support for inline images, styling links, and more.

    • Custom roles will come with 0.3.6 that gives better control of permissions within orgs and roles can be added via profiles with a simple click.

    • Mini-profiles are getting updated to show post count and replies again. They’ve also added Karma similar to the Reddit system.

  • More work has gone into voice, specifically the backend and how data channels will be handled by the server

  • Turbulents “Panic” crash reporting system has now been integrated to work with the games crash reports to enable better logging of crashes for developers and allows for priorities to be set and pushed to QA with the simple, but robust UI that Panic offers.

  • The welcome to SC website revamp is ongoing and is in full coding mode. Most of the design work is finished and they’re at the stage of building it at this time. There’s nothing to show for yet, but hopefully in the near future you will see it.

Behind the Scenes: Engine Trails and VFX

  • VFX's challenge is maintaining fidelity and quality that scales with distance and yet still runs efficiently
  • Engine trails, entry and exit effects for atmosphere, as well as contrails when moving upon the planet at speed in vehicles in game were desired by Chris, but needed new tech

  • The old system was a linear beast that became a real monster as it was built upon repeatedly

  • Involving graphics programmers along with the VFX artists were needed to solve this problems

  • The key solution was in generating a GPU particle system that was organized around how a modern PC works and reducing the data upload to the CPU

  • This was done via the use of deterministic and nondeterministic states enabling faster computation via less workload

  • The code written is very generic enabling the use of all kinds of particles and adjustment on the fly via DATAForge by the VFX artists

  • Upon completion this will form the foundation for setting up new effects

  • An example of finished code includes allowing particles to be affected as a ship passes through a particle effect and transforms it by its shape

  • Even the moons in 3.0 will have different levels of atmospheres providing very nice subtle effects

  • Engine trails will provide a nice reference for those flying together as well a visceral feeling with combat

  • So more effects, better effects and more efficient use of PC resources are the end result when compared to the old system all of which the VFX artists find very exciting

Full Transcript

Intro With Chris Roberts (CEO, Director of Star Citizen and Squadron 42), Sandi Gardiner (VP of Marketing). Timestamped Link.

Sandi Gardiner (SG): Hello and welcome to another episode of Around the Verse, our weekly look at Star Citizen’s ongoing development. I’m Sandi Gardiner

Chris Roberts (CR): And I’m Chris Roberts. So today we’re going to take a look at the work that went into creating engine trails, atmospheric effects and some of the other cool visuals we are planning for 3.0.

SG: But first let’s head to Austin for a Studio Update.

Studio Update With Jake Ross (Producer), Benoit Beausejour (CTO). Timestamped Link.

Jake Ross (JR): Hey guys, Jake Ross here: Producer in Austin. The wheels are in motion on several features here in Austin. Let’s dive right in and see what’s been going on this month.

On the Design side we’ve been doing a new pass on the Price Fixer Tool which is the master Excel sheet where all of our pricing structure is laid out. We’ve got a bunch of new assets that’ve come online and our designer working on it, Pete Mackay, has all the new ships, new items, new armour suits and some other FPS goodies. So Pete has been working to make sure they all fall within the pricing balance of the game, as well as balancing them to the most recent design pass of the items. What’s really exciting about this now - as opposed to six months ago - is that we’re getting far enough with the overall design of the items in the game to better understand the gameplay implications of the items. Although this has required us to go back and make another pass through the items to bring older items in line, we’re now able to more accurately predict where their base prices should sit.

On top of this as we’re getting new missions in the game we are doing an additional pass on mission rewards, insurance prices, and respawn timers. We’re also setting up the shop inventories utilising the new shop tech from LA Engineering team.

In addition we are getting NPCs into some of the main hub areas of our PU landing zones. Junior Designer Robert Gaither has been focusing on Grim Hex in order to prove out the behaviours, but the plan is to extend these general behaviours to other landing zones like Port Olisar and Levski. The overall goal here is to start to create a general sense of ambience and start to bring the levels to life.  

Finally we have Miles Eckhart. Getting Miles Eckhart, our mission giver, into the game has required a lot of collaboration and work from several different teams. The Useables team has created the tech that allows us to link extraneous objects, such as the bar stool, to other useables, the high bar table, and still register items on the table properly, such as Eckhart’s glass. The Missions System team has  given us the ability to look for missions with the “Eckhart” tag, figure out what is currently available for players, and pass those via Subsumption to the player’s mission log for acceptance or rejection.  Between the AI and FPS programmers they have created an animation technique we’re calling “Feather Blending” that will allow us to blend between useable object animations such as a generic sitting animation for a bar stool and the animations related to the mission giver conversations. The Subsumption tech and programming team have been facilitating all of this through the Subsumption tools and by the game code that goes with it. Overall we have made a lot of progress in the last few weeks and we’re looking forward to polishing this up for the 3.0 release.

On the Art side of things here in Austin, Josh Coons, our Ship Artist, has been working with the Tech Art team to finish creating the LODs and damage pass of the Cutlass Black. He was also busy making tweaks to the cockpit area and the rotating nacelles based on the Tech Art feedback and wishes. He’s now moved on to creating an awesome looking renders and videos which will be used on the website and various marketing events.

We can now say that the formerly “top secret” project that Lead Ship Artist Chris Smith has been working on is the Xi’an Nox bike. Starting around March he has been tirelessly modelling and texturing this bike from the beginning to the end. In the last month he has been working with many team members on creating the incredible artwork for the brochure and slick marketing release video for this new ship; as well as an interview on how it all came together.

The Server Engineering team has been working closely with DevOps to integrate and test Diffusion in a QA environment. So far things are looking good. The team has started working with Gameplay Engineering to show them how to best utilise the features that Diffusion can offer. We will continue to work with them over the next few months to identify new, and old, gameplay features that will be best suited as Diffusion services. In time we will move much more of the feature logic into Diffusion services allowing for higher scalability and optimal performance.

This month in the PU Animation team we are starting on the NPC useables for counters. This will include working with our shopkeepers and bartenders NPCs, and collaborating with Design to bring these elements to life. Once these are complete the player will be able to walk into a shop to buy merchandise from NPCs that sell weapons, space suits, clothing, ship parts, and other such things. This will incorporate our Wild Lines system as well with face animation and audio captured in our mocap shoots. To complete these features we needed to capture a few transitions elements that were missing so we shuffled some desks around and set up a quick mocap shoot in our office.

Along with the bartender we are also getting the useable for the bar stool up and running. Once this is done a player will be able to go and sit at a bar stool and order a drink.

Finally we finished the Carry System animations. As a player you can now pick up a standard sized box and walk around with it. So now we have all the needed tech to expand this mechanic to pick up a wide range of things and carry it wherever needed.

On the Ship Animation side in Austin we’re wrapping up setting up the standard for the cockpit experience; as well as polishing and creating new improved animations for our next release.  In addition to various bug fixes within the cockpit we are working with the Design and Programming teams to bring the same level interactions you get in the cockpits to the manned turrets in the ships. This includes G-force reactions, hit reactions, as well as a G-lock pass out and wake up sequence for when you’re pulling too many Gs.

The DevOps team is quietly adding more hardware and increasing network capacity to handle the necessary increase in build activity connected to the 3.0 release. Everything is growing in size which means increasing demands on the build system and its various subsystems.

Meanwhile the LiveOps team has completed the build out of the latest server side expansion, supporting the latest rev of shopping and Subsumption. They’re still tuning and making adjustments but it’s always exciting to see the new services coming online.

For June Austin QA has been all hands on deck testing new features and preparing for 3.0. Major testing items for our group include new overhaul Star Marine weapons, testing of the Crusader moons, Levski, new missions, the improved mobiGlas interface and apps - particularly Starmap - and ships. Lots of ships!

Many ships have come online for Item 2.0 so each of them requires a complete sweep for issues as well as a review of old issues, such as animation and ship idling, to see what may have carried over in the new implementation.

Stability and performance has been a major focus as well with Austin QA working closely with our UK counterparts to conduct regular playtests and captures.

Squadron 42 Testing has been working closely with the rest of the team as new tech means new bugs that are often shared between both groups of testers.

We’ve continued providing additional support for the animation team here in Austin as well, handling mocap file cleanup, supporting setup and teardown for pick up shoots, and other tasks that free up our animators to handle the more important items.

Our normal engine and editor testing has kicked into high gear as a surge of new tools and tech from developers - all four studios - means we are constantly checking self-check-ins and binaries for problems. Making sure everything is ready to go before it gets checked in and turned over to the rest of the company to use is very important. This included changes to resource management for objects and planets, new build distribution tools, server changes to support Subsumption, as well as network code improvements and a refactor of the material manager.

The Player Relations team continues to prepare for upcoming 3.0 work and can’t wait to give the backers the new player experience that will go on the website and match the new content coming up in the game. They’ll also be adding to the Evocati ranks in the coming weeks and are excited to announce two new hires in addition to more headcount in Austin, Manchester and our Frankfurt studio.

Work continues at a breakneck pace and so does our excitement about the upcoming release. Thanks for tuning in and for all your support. See you guys in the ‘verse.

Turbulent

Benoit Beausejour: Hey guys, this is Benoit with Turbulent, this is our update. So we have moved 0.3.6A version of Spectrum up to the PTU for regression testing, this first verse release of this branch is only for testing all the backend changes that we’ve made in order to, we’re preparing the groundwork for desktop integration and so we’ve changed all of our actions which are the core of how this application is functioning. So we’ve transferred to a new standard, this will help us manage how we do desktop release of Spectrum which we’ll be able to have window in the overlay and a window on your desktop at the same time, but by sharing all the resources and so we’re laying the groundwork for this. So this first release on PTU is only for regression testing and we’re gonna be throwing in new features into 0.3.6.

The first one being the forum editor. So we’re introducing drafts so when you create new posts in a thread, we will save your drafts so you can go on back to browsing and then come back and complete your draft for every thread. We’re gonna allow you to do inline images and so were changing all the way that the markup processing is working in the editor, adding more markdown support for more styling like styling links, inline images, so you’re not forced to use the frame that we have for all the images or when you make galleries and so we’re hoping that this is what you guys wanted. We’ve done a lot of work on the editor on that front.

Another major feature in 0.3.6A is custom roles. That’s the big feature and so we’ve been working hard at creating new member lists that you can see directly from your Spectrum or management part. Then you’ll be able to change roles of your users simply by visiting their profiles and so the custom roles system basically allow you to create new roles that have their custom set of permissions on top of the ones that are provided by the org system. This should give you guys a lot of flexibility in how you assign people to groups, how you let them see a specific subforums or sub chats within your orgs.

What goes with this is also an update to mini profiles. We’re not happy with the way mini profiles have been working up till now and so we’ve been changing that. So we’re going to a more compact setup that will have a set of actions on all of them. One thing that we’re trying to implement at the same time as we’re bringing these new member profiles in is we’re going to be reimporting, we’re reimplementing post counts and so now you’ll be able to see post counts for all the users on the system so you’ll be able to see how many posts they’ve made, how many replies they’ve created and we’re also introducing the concept of karma. So when people upvote content that you’ve created, you gain karma and that is shown in your Spectrum mini profile. This new system profile will also have a hotlink to message people so you don’t have to click on them and click on private message, you can just message directly.

This is our 0.3.6 version. We’re going to be starting to merge our branches very soon.

More groundwork on the backend on voice. So we’re really hard at work right now working the transmission part of our voice infrastructure, how we’re going to be able to have servers directing and routing people to different voice servers, how that’s going to work and what kind data channel we’re going to have because we have additional data to carry in this project, not just voice and so we need to be able to carry these data channels as well and so we’re looking at how we’re going to be doing that. So there’s resources dedicated to that right now.

Totally unrelated to Spectrum we’ve been working for 3.0 for a system to handle crashes. We’ve developed years ago a system called Panic that tracks your client crashes and so we needed to basically reintegrate that to get more visibility on it so we’ve integrated our Panic system with Sentry which is a super nice UI that we’re using in the Spectrum side already, but that we’re now going to be using on the game side that will allow us to track your client crashes, see the repro counts, assign those to developers, link them to Jira issues, view regression so we get regression notifications and all this stuff from the game crashes. So we’ve developed a custom SDK integration with Sentry that’s going to be super good for testing, it’s going to help developers in the testing phases for 3.0 so we’re super excited about that because that work is completed.

Otherwise our main teams are working on welcome to SC, the new Star Citizen website revamp and so that’s progressing, we’re now in full coding mode. Most of the design work is finished on all mobile, tablets, and everything and so right now we’re developing. We don’t have anything to show yet, but soon we’ll hopefully.

So that’s our Turbulent update for this month, thank you guys.

Back to Studio With Chris Roberts (CEO, Director of Star Citizen and Squadron 42), Sandi Gardiner (VP of Marketing). Timestamped Link.

SG: Cutlass Black’s looking pretty good, Josh has done a great job updating the ship.

CR: Yeah no he definitely has and the ship team in Austin is killing it. Chris Smith recently finished the Nox which went on sale this past Friday and it's pretty much done, we’ve been flying it around on moons and we’re looking forward to getting it in your guys’ hands in the very near future, but I would say their incredible attention does not just stop at ships, our VFX team is being hard to work to get other cool effects like engine trails ready for the 3.0 release.

SG: Let’s catch up with our VFX team to see all the impressive effects they've been creating.

Behind the Scenes With Mike Snowden (Visual Effect Director), Aran Anderson (Junior VFX Artist), Leo Vansteenkiste (Junior Gameplay Programmer), SImon Bratel (Senior Graphics Programmer). Timestamped Link.

Mike Snowden (MS): I'm Mike Snowden. I'm the visual effects director. I get to play with lots of particles of which there are many in Star Citizen from a kind of wisp of steam from a mug on a table to a capital ship exploding. There'll be effects needed for both of those things and anything in between as well. The challenge with VFX is maintaining that … the level of fidelity the kind of quality, the visual quality that Star Citizen requires. Maintaining that across that kind of range of scale, seeing these kinds of things up close versus seeing them way, way off in the distance, and making sure they always look good. There's lots of challenges both artistically but also optimization wise as well. Making sure they run efficiently in the game.

Aran Anderson (AA): I'm currently setting up the engine trails and entry and exit effects for the atmosphere. Basically it goes going through each ship and setting up the particle libraries for each ship and setting the correct colour values for each manufacturer.

MS: Chris was, is a big fan of the engine trails for gameplay reasons primarily, but it's something that is very much a part of the Star Citizen dream; I guess. He always saw the engine trails being a part of that. There's also going to be atmospheric entry effects for ships and anything actually not just ships but objects that are passing through atmosphere, exit effects as well when ships are actually leaving the atmosphere, contrails when vehicles and ships are moving around at speed on the planets, so those are the three kinds of things that we think about when we're talking about atmospheric flight effects. When we were looking at the challenges that things like engine trails were going to give us we essentially knew that we really couldn't do it with the current tech we've got. We had various attempts at doing so. We essentially identified what the problems were with the current tech, all kinds of things really.

Leo Vansteenkiste (LV): The old system was completely based one thread, so it's a very linear system, started very small and was built upon, built upon, and it became kind of a monster. (It) was jumping from one part to the other part to the other part. It really was a mess.

Simon Bratel (SB): The old system was computing each particle on the CPU, each frame, and then it had to sort of download all this data to the graphic card every frame.

MS: To make these engine trails a reality in Star Citizen we had to bring together a team of people. It's not something that we could solve on our own as VFX artists, so we had to involve graphics programmers to give us the features that our editor needs that we, to build these kind of engine trails, lots and lots of particles for example. So, one thing that we didn't have in the editor was GPU particles.

AA: With the support of the tech team and the code team we're all working together to generate this GPU particle system, which is essentially the driving force of these trails and entry and exit effects, because maybe we can only put a certain amount of CPU particles on the screen before it affects the CPU of course.

SB: To speed up the system we have to reorganize the design based on how a modern PC works. Data can take like a slow path and a fast path, and part of this is also to reduce the amount of data that the CPU has to upload to the GPU each frame. We can do it in a way where it only uploads when the particle is born the data gets uploaded. In some cases we don't even have to … the data just needs to be uploaded once and then it can sort of manage itself on the GPU without the CPU having to intervene very much. We have, this true concept of deterministic and nondeterministic particles, well not … deterministic and nondeterministic states. The most of the states are deterministic, which means that you only need to upload them on what berth. Well maybe some states can even, state buffers can even be shared among multiple emitters. Emitters is the point or the area where new particles get spawned from. So, so by separate … by doing the separation you only need to update the states that are nondeterministic. For all the other states while you still need to know the state at a particular point in time, but it's much faster to compute. You don't actually need to store the state. You can just sort of derive these formulas.

MS: Making those trails behave correctly through the gameplay and kind of react to what the ship's doing, that's where we needed the game coder to give us the kind of hooks to trigger these kinds of effects.

LV: The code I write is made very generic. So it's made, so that all kinds of particles can be set up. So currently we're using the engine trails as a test for this system, but it's supposed to cater to every kind of particle you can imagine. If it needs to enabled, disabled or the strength adjusted during gameplay then the system should be able to handle that. I've built up the system completely with DATAForge live preview in mind, so whenever you change anything in DATAForge everything will be reloaded, will be adjusted to whatever you've set in DATAForge. So, the game will have a live preview as a … the feature access, so it allows VFX artists to more easily bitrate over they're VFX setup. Most of the time VFX artists will say like that this should change just a little bit, this should be thicker or thinner, it should be different than either I make possible for them to do that themselves, so add a property to DATAForge, so they can drag a slider make it thinner or thicker, but sometimes I'll have to go in code and get some other strength from like the thruster strength or the boost strength and add it in the formula, so they can use better.

AA: When all the effects are complete though we'll be able to lay down the foundation of setting up new effects.

SB: Today for example I finished the code for first iteration of collisions. Nondeterministic particles can like … yeah, you can shoot them into a scene and it will bounce off the geometry in the scene. We have another feature, and that's fields. It's a way to compute the field around the geometrical shape so we want use this on the ships when you pass through particles they will sort of get transformed along the field.

MS: The great thing about engine trails and atmosphere is that even on the moons there's going to be an atmosphere, so you're going to see in 3.0 there's going to be three moons. They're going to have certain levels of atmosphere. They'll vary, but you know you're going to get some really nice kind of subtle atmospheric entry effects. With engine trails knowing where someone is, is going to be so useful. If you're flying around in a group. If you're not necessarily fighting against each other, if you're just flying around in a convoy or whatever, you know it's going to be really nice to be able to see where people are going. Also in combat as well you're going to get a nice sense of kind of the visceral sense I guess with engine trails. That's going to provide quite a different experience to what we've currently got.

SB: For the player they will notice this is the performance is much better. With this new system you can have, I don't know, you can have ten or a hundred of this effect and still runs. And also we will have certain GPU features that wasn't, just wasn't possible and wasn't implemented in the old system. And in general our intention is that the visual quality will be … yeah much, much better. It will be much cooler, much more dynamic effect.

MS: It's really great to be able to focus on really cool new things that we can use again like across the game really. The hooks that we've got from game code now are going to help us drive all kinds of new features and effects. The graphics side of things, the new particle system itself, is going to enable those two to create more stuff as well. So where we had maybe 100 sparks before, we're going to be able to have 1,000 sparks. As a VFX artist it's kind of exciting to be able to do that, especially on the scope of our game.

Outro With Chris Roberts (CEO, Director of Star Citizen and Squadron 42), Sandi Gardiner (VP of Marketing). Timestamped Link.

CR: Wow okay so pretty cool. You know we built a whole new GPU particle system so we can have you know, thousands, hundreds of thousands, even millions of particles in a way the old CPU system couldn’t handle and one of the main reasons for this was to be able to things like engine trails, contrails, and various other effects that require a high amount of particles and I really think it will make a big difference to space combat when you can see the, well even in the atmospheric combat you can see where the ships are moving and what direction they’re going and it’s almost like you have a pretty cool vista that we showed in some of the b-roll where you can see this battle happening in the distance and engine trails and explosions and I think it’ll add a lot to the texture of space combat in Star Citizen and also Squadron 42.

So that’s some of the cool stuff that’s made possible by you guys.

SG: And that’s it for today’s episode. Thanks to all of our backers, it’s your support that allows us to build the game we’ve always dreamed of.

CR: Yes and thanks to our subscribers for making shows like this possible. July subscriber ship of the month will be the Constellation so be sure to crew up and take it out for a spin.

SG: Last month’s ship the Caterpillar will be on sale for subscribers this weekend only. So grab yours before it’s too late.

CR: Yes and don’t forget to tune in tomorrow for a special Happy Hour where the community team will be answering your burning questions. Hopefully.. I’m not sure that’s about entry or reentry or whatever, about Star Citizen.

SG: And until next week we’ll see you…

Both: Around the Verse.

CanadianSyrup

Director of Transcripts

A polite Canadian who takes pride in making other peoples day brighter. He enjoys waffles with Maplesyrup, making delicious puns and striving for perfection in screaming at the T.V. during hockey games.

Desmarius

Transcriber

When he's not pun-ishing his patients or moderating Twitch streams, he's at Relay pun-ishing their patience as a member of the transcription staff. Otherwise, he can be found under a rock somewhere in deep East Texas listening to the dulcet tones of a banjo and pondering the meaning of life.

"If you can't do something smart, do something right." - Sheperd Book

Sunjammer

Contributor

For whatever reason, this author doesn't have a bio yet. Maybe they're a mystery. Maybe they're an ALIEN. Maybe they're about to get a paddlin' for not filling one out. Who knows, it's a myyyyyyystery!