- 27 minuti fa
Chris Roberts e Sandi Gardiner parlano nuovamente dello sviluppo di Star Citizen, attesissimo colossal spaziale per PC.
Categoria
🎮️
VideogiochiTrascrizione
00:16SANDI GARDNER
00:16Hello and welcome to another episode of Around the Verse,
00:19our weekly look at Star Citizen's ongoing development.
00:22I'm Sandy Gardner.
00:23And I'm Chris Roberts.
00:25It's great to have you back, Chris.
00:27Yeah, it's quite nice to be back here in LA.
00:28and I did enjoy getting to spend a few weeks with our Foundry 42 team in the UK and Germany
00:34reviewing all the awesome work they've been up to on Squadron 42 and Star Citizen.
00:38One of the many things being worked on by the Foundry 42 team is the Tumbral Cyclone,
00:43which was unveiled last week.
00:45On today's episode, we're going to take an in-depth look at this rugged new ground vehicle.
00:50Plus, we examine the tech behind game-wide persistence
00:53by showing you how it is used to get one ship to persist inside another ship's hangar.
00:57But first, let's check in with Austin and Turbulent for their monthly updates.
01:03Hey guys, Jake Ross here, producer in Austin.
01:06We're picking up speed with Gamescom and the 3.0 release fast approaching.
01:09Let's jump right in and see what's been going on here in Austin this month.
01:12To start, over the last month, LA Engineering refactored the shopping code enough
01:16so that now Austin Design Team can start plugging the items back into the shops.
01:20This also includes a first pass of getting the kiosks up and running for the commodity trading.
01:24We have been focusing on getting all the shops related to the PU stations
01:27and landing zones functional first,
01:29but we will also be making a pass through the Area 18 shops as well.
01:33We've now got the ability to purchase armor piece by piece,
01:35so we'll be adding that to the feature list.
01:45We've also finally implemented the remaining ships into the Price Fixer tools.
01:49The Price Fixer is a spreadsheet that allows us to see each ship's physical loadout,
01:53see the price of each item in that loadout,
01:55and determine the overall cost of each ship.
01:58This is important because it will allow us to more accurately assign each ship their respawn values,
02:03which covers the cost and respawn timers for the ships being released in 3.0.
02:08We also use this tool as a good way to gauge whether or not the ships we're building
02:11are over or underpowered for their intended purpose.
02:14We are very close to completing this task,
02:16and we'll be moving on to balancing the shop inventories and item prices that you'll see in 3.0 after
02:21that.
02:22Lead designer Rob Reiniger took a trip to the Frankfurt office this month
02:25to work with the AI and subsumption team
02:27and made a ton of progress on getting Myles Eckhart, the mission giver,
02:30set up and ready to go.
02:32We figured out a lot of work on the feather blending system
02:34and got him working with a small subset of his animations.
02:37Since that time, we have received some additional code support
02:40to allow reputation to dictate his conversation paths with the player.
02:44We've literally just received the ability to assign specific missions with mission brief tags,
02:48so we can have him playing different lines depending on what missions are available.
02:52Beyond this, we've just been plugging away,
02:53trying to make the mission giver experience as good and as polished as possible for the 3.0 release.
02:59We can't wait to get Myles Eckhart into your hands and get his missions for you guys.
03:03On the art side, Josh Koons finished images and videos for the Cutlass Black
03:06and moved on to create the base material and white box meshes for the Cutlass variants,
03:10the red and the blue.
03:12However, while he will complete the first pass on the exterior look for the Cutlass variants,
03:16he will move on to the Constant Inflation Phoenix next
03:18to allow design some time to flesh out some key gameplay systems
03:21or the Cutlasses a little bit more.
03:24Chris Smith has been working on bugs for the Hornet and the Constellation Andromeda.
03:27He will start moving on a promo video for the Constellation Aquila next.
03:32The backend services team have been supporting 3.0 features
03:35and preparing for the deployment of Diffusion.
03:37The game servers now have full access to the Diffusion API
03:40and will start using it with the shopping service in 3.0.
03:43In addition, we have started converting our two monolithic services,
03:47the Persistence Cache and General Instance Manager,
03:49into smaller, stateless, fully diffusionized services.
03:53Out of those two services will come nearly a dozen smaller services,
03:57each with very specific roles that can be scaled independently.
04:00These will provide more reliability and performance.
04:03Most of our work has been lower level, under-the-hood type changes,
04:06which do not have any front-facing bling to show off.
04:09Going forward, we're plotting the path beyond 3.0
04:12and starting to build many small services
04:14that will provide functionality and support
04:16for a large number of gameplay features
04:18and help unload work from all the dedicated game servers
04:21into our distributed infrastructure.
04:24This month in the PU animation team,
04:26we started the research and development
04:27for how to implement our wildline system.
04:30A wildline, broadly speaking, is any dialogue spoken by an NPC.
04:34The wildlines we are working on are things like greetings,
04:36cheers, shouts, and other verbal expressions
04:39barked out by NPCs.
04:40We are working with a new technology called feather blending,
04:43mentioned previously,
04:44which allows us to blend our performance capture of wildlines
04:46with a large number of usable animations.
04:48This will give us as close-door actor's performance as possible,
04:51while still keeping the functionality
04:53of what the NPC is doing intact.
04:55We are also going through all of our existing animations,
04:58and we are filling in any gaps missing
04:59from the original performance capture
05:01with new transition animations.
05:11The Austin ship animation team has been hard at work
05:14with our continued efforts to refine the cockpit
05:16and turret experiences.
05:17We are in the midst of an R&D phase
05:19of implementing the button presses,
05:21utilizing the item 2-0 features.
05:24This has helped finalizing dashboard
05:25and cockpit metrics across the different ships
05:27that use the same cockpit type.
05:29The UK engineers have refactored some back-end systems,
05:32allowing us to fully implement the blending
05:33of the base g-force pose blend spaces,
05:35allowing us to fully implement the blending
05:36of the ship.
05:36We are playing additive animations for button presses,
05:38as well as playing different hit reaction animations
05:40based off of hit direction, damage amount,
05:43and overall health of the ship.
05:44As always, we are diligently at work fixing bugs
05:47for our next big release.
05:49The DevOps team continues to work on increasing capacity
05:52with our build and deployment pipelines
05:54in preparation for 3.0.
05:55They've also been making additional changes
05:57and bug fixes to support the new Delta patcher.
06:00And so far, the internal tests have been really promising.
06:03Our corporate technology team, or IT department,
06:06has just completed another major upgrade
06:08to the Austin network
06:09and added more hardware to the build system
06:10so we can deliver more builds in parallel.
06:13Our resident audio team member, Jason Cobb,
06:16has had his hands full this month as well.
06:18He's continued work on derelict crash site sound design
06:21for the different moon environments,
06:22performed a variety of particle audio
06:24implementation experiments for revamped ship debris noises.
06:29He's play tested in mixed refinements
06:31for ship emergency state audio
06:32and captures sound effects for various props and materials
06:35as opportunities arise.
06:50July has also been an exciting month for Austin QA,
06:53and it's impossible to describe everything we've been working on.
06:55But here are a few things.
06:56We've been testing the new Cutlass Black,
06:59while in Stanton we've had new missions,
07:01recs, and PCs as a big ongoing focus.
07:03Ship testing has continued to be very busy,
07:06as more ship families that have been converted
07:08to Item 2 will come online.
07:10Large-scale play tests for Arena Commander,
07:12Star Marine, and Stanton have been ongoing weekly
07:14alongside our LA QA cohorts.
07:16And we've also been conducting cross-studio play tests
07:18with the team in the UK.
07:20We've also been testing more mobiglass applications,
07:23like Star Map, the Personal Manager, the Mission Manager,
07:26and the Mission Board,
07:26as they've become available to QA over the last few weeks.
07:29Some other fun items we've been testing are character gravity
07:32and freefall, as well as continued testing of cargo mechanics.
07:36We're still providing support for the animation team here in Austin as well,
07:39by continuing to clean up mocap files to help free up our animators for other work.
07:43Our normal engine and editor testers are still extremely busy
07:46testing new tech for the developers,
07:48such as Capsule-based Actor Entity,
07:50the Entity Component Update Scheduler,
07:52and Director-Actor Animation and Control.
07:55Some features, like the new Stamina and Oxygen breathing systems,
07:58are getting some balance changes,
07:59with QA helping our designers there as well.
08:02The Player Relations team has been busy recruiting new team members
08:05in anticipation for 3.0.
08:07In addition to starting to grow the Avocati ranks,
08:09the team is adding four people to the Austin office.
08:12We're excited to have these new additions join the team
08:14in the run-up to learning and testing for 3.0.
08:18That's everything we've got to show you for this update, guys.
08:20We look forward to delivering everything we've been working on
08:22to you all in the upcoming release and at Gamescom.
08:24Thanks for all you do for us, and we'll see you in the Verse.
08:29Hi guys, this is Benoit from Turbulent,
08:31and this is your Platform Update.
08:32This week we're going to hear from Paige Saunders,
08:35who's going to talk to us about the upcoming Ship Matrix changes,
08:38and we're also going to be talking with Victor Bonnet,
08:40who's also known in the forums and the chat as Fulgrim,
08:44to talk to us about the next Spectrum Update.
08:46I'm Paige, and I'm a full-stack developer here at Turbulent in Montreal.
08:50I'm working on updating the ship's specifications in the database
08:54to reflect more accurately where CIG are at with their vision on the game
09:00and the ships that are in it.
09:01A lot of new things have been added to the Ship Matrix,
09:03so we're taking the opportunity right now to include things like quantum drives
09:08and quantum fuel tanks, as well as smoothing out all the existing components
09:13to make more clear exactly what is in each ship.
09:16The challenge with the Ship Matrix has been including the new ground vehicles into it,
09:21so we've added in the capability to add ships, ground vehicles, and anything else that comes up.
09:26There's a new sizing scheme for ships, so you have weapons maintaining the size 1 through 12,
09:32and the other components maintain a more easy-to-understand small, medium, large system
09:38that's related to the ship sizes, so that you can tell what goes in what ship
09:43and whether a ship has a size that's larger or smaller than it would typically have.
09:46So we've redesigned the Ship Detail page so that you can tell for each component what size it is
09:52and see from the icon what type it is, as well as what can be upgraded to
09:57and what could also fit in the slot.
09:59Then you can zoom out and see an overview of the ship with all the slots that are currently populated
10:04and the slots that are available for you to upgrade your ship with.
10:07Backers have noticed that the Ship Matrix in the past hasn't got a lot of love,
10:10so we've reworked the database to make it a lot easier to update.
10:13From this point on, we're going to be able to, as things change in the game,
10:16quickly get in there, update the ship, make sure that it's up-to-date
10:19and reflects accurately exactly what the gaming experience is going to be.
10:22Hi everyone, I'm Victor, QA at Turbulent.
10:26You probably know me as Fulgrim on Spectrum.
10:29I am the QA on the RSI website, so Spectrum and the website and a little bit of the launcher.
10:38So I'm going to talk to you today about Spectrum.
10:42So Spectrum 026 is now on the PTU with Evokati.
10:47026 includes new features like the new text editor.
10:51So when you write something on the new post, for example,
10:58you will have new tools like hyperlinks,
11:02hyperlink formatting, like the emoji toolbox will be there,
11:07and more important, the preview of the post and drafts.
11:13So now when, for example, you're busy typing your thread,
11:21and you want to check what your friends are saying on the forum or on the chat lobby,
11:27you can just go check what they do and everything will be saved.
11:32So now we have draft.
11:34026 includes too the mini profile.
11:37The mini profile is like the current profile,
11:39but with new features like the post count and karma.
11:44So the post count will be imported from the old forum,
11:49so people with a lot of posts in the old forum won't lose all these posts.
11:53And the karma is once you get,
11:57every time you get an upvote on a thread you made or a comment,
12:02you will get one karma point,
12:04and it will be on your profile too.
12:09So we'll add a new feature too,
12:12which is the jump to new track reply.
12:15So for example, you know I'm a staff,
12:17so I will post something in a thread,
12:19and a backer will be able to just go down the thread,
12:25see the small icon of staff reply, click on the icon,
12:28and will be directly jumped to the reply of the staff.
12:32And if there are more than one reply of staff replies,
12:39you will be able to jump between the replies with a small button,
12:42so everything is good.
12:44This feature is available too for organizations,
12:48so you can just set up it in your settings and use it.
12:53This is a feature that you asked and we developed.
12:58Thanks guys for your update.
12:59A little quick note on the launcher.
13:01The team has been working very hard with CIG Engineering
13:04to try to get major progress done on the new Delta launcher,
13:08which comes with the Delta patcher, which is a faster patching method.
13:12The team has been really working on refreshing some of the UI elements.
13:16We're keeping the same UI base,
13:18but we're refreshing it with some of the 3.0 new imagery.
13:22We're changing the entire core of the application in this update,
13:26and so we're going in full swing testing on multiple platforms,
13:30installation paths.
13:31At the same time, most of our engineering team has been working
13:34on getting most of the digital distribution channels ready,
13:39so that we can get those objects as fast as possible to you
13:42when you request a game version.
13:44So that requires also security, reviews, and deployment scripts.
13:49But that's basically where we're at on the launcher.
13:51We're really working hard.
13:53Everybody's working really hard to get this patcher out.
13:55And for you guys, for 3.0, we're hoping we're going to make it.
13:59We're pushing real hard.
14:00So that's our update for this week on Platform.
14:02See you guys next time.
14:05Miles Eckhart is proving to be quite the popular test subject
14:08for various systems.
14:09Definitely. He's the new cafeteria, really.
14:12The design and subsumption teams have really put him through the paces
14:15to get stuff like the reputation system and feather blending working.
14:19All that effort is going to make for more interesting
14:21and realistic NPC interactions in the game, which is our goal.
14:25With the introduction of our vast planetary tech,
14:27another aspect of the game that's recently gotten some extra attention
14:30is our fleet of ground vehicles.
14:33Last Friday, we revealed the tumbral cyclone.
14:35Yeah, we did. It's very, very cool.
14:38And let's take a closer look at the cyclone and its many variants.
14:52My name is Paul Jones. I'm one of the art directors here at Foundry 42.
14:56My name is Steven Hosmer and I am a technical designer at Cloud Enverium.
15:00We're sort of starting to enter into the world of land vehicles.
15:03That gives us a wide brief.
15:05The buggy, it's a good one. This is a new manufacturer.
15:09It's always exciting to have a sort of clean slate.
15:12According to the law, this manufacturer, this company,
15:15been around for a bit, used to sort of provide
15:18sort of super rugged vehicles for the military.
15:21So the cyclone is intended to be a land vehicle where you get in and drive around on the surface
15:29of a planet.
15:30It's supposed to be like a fun vehicle to drive fast.
15:33It has four wheel drive. It's got four wheel steering also.
15:37Something that you're supposed to be having fun while you're driving around on the planet,
15:42taking jumps off ramps, just doing all the things that you can in a wheeled vehicle.
15:48You can sort of tell that it's got military roots in the way that it's very functional.
15:54But there, you know, there is that sort of hint of, you know, knowing it's market
15:58and it just wants a little bit of flair.
16:00So there's, you know, there's a touch of artistic flair, designed aesthetics in there.
16:04And now this is sort of like their first entry into, you know, sort of manufacturing and providing it and
16:10selling a new vehicle.
16:12It's based in functionality, basically. It's designed.
16:14So it's very much approached from that point of view.
16:17The Ursa Rover, I would call it a tortoise. And the Cyclone, I'd call it a hare.
16:23Where you have the Rover, it's going to be, you know, slow and steady.
16:27You've got the Cyclone, which is going to be fast and fun to drive.
16:31And then the Nox is going to be like a speedster that's going to get out there,
16:36but it's not going to take as many hits. So it's kind of like in between.
16:38That pretty much defines quite a few things right off the bat, you know, just ergonomics, you know, what it's
16:45meant to do.
16:46Whether it's, you know, like I said, it's not meant to be a crazy sort of six legged vehicle or
16:50anything.
16:51You know, we wanted, you know, it needed to be fast. It needed to look super rugged. It could take
16:56a hit.
16:57It's still sort of, you know, it has open elements to it.
17:01So it's, you know, you're still going to sort of feel the wind in your hair, so to speak, if
17:05you have any hair.
17:05You know, we sort of hit it quite, hit it quite early on, actually, in the process.
17:09Probably within the first two weeks, we knew where we were going with it.
17:14So the modularity is something that was specified by the design department.
17:20And so I think it works really well. You know, it's almost, it's kind of, you know, it's very similar
17:25to sort of real world in the sense of having a truck.
17:29And then you've got your flatbed at the back, and then you can sort of add and subtract, basically.
17:35The first variant is just the base. It's just a regular buggy with a flatbed on the back that's meant
17:41to carry cargo.
17:42So if you're just, you know, sitting around on your homestead and you want something to go from place to
17:46place and carry a little bit of cargo, that's the one for you.
17:49The next one is the turret version, the TR, and that's mostly a military version, kind of hearkening back to
17:57the old days of tumbrel.
17:58It has a turret. So you've got a third seat for turret operator. And it's got a 360 degree arc
18:06and it can fire any direction.
18:07It's kind of like an infantry support vehicle. Like if your boots on the ground operation, this is your cavalry.
18:14This is the thing that's going to get in, get around, get around all the other troops and kind of
18:21support them.
18:22The next one is the recon. And the recon is our end version, I believe.
18:28And that one's meant to be something that goes like under the radar. It's got stealth components.
18:35And then you can kind of get into it like an enemy base, kind of scout around, use your radar
18:41to find emplacements or something like that.
18:44Use your beacons. You can kind of put them down, use them to like light up a target that you
18:50need like the guys in the sky to come down and rain fire upon.
18:55Or you can just use it as an exploration vehicle. You can go out, you can map terrain, you can
19:00go on to one of the planets that has like a dust storm or something.
19:04You can drop it outside of the dust storm, drive in, find whatever you're looking for, whatever objective you're trying
19:11to find.
19:11Place your beacons and say, okay, hey, this is a landing spot in this storm.
19:16You can bring your ship in, you can find those beacons, they can call you down, you can pick up
19:20whatever you need to get there.
19:22The next version is going to be the racing version, the RC.
19:27It's mostly just we're taking the base cyclone and we're putting basically nitrous oxide in the thing.
19:34You get the boost on that thing, you can take those jumps as fast as possible.
19:38You can get around as quick as possible.
19:40It's like if you're like in Baja, you know, you're like going over the dunes and you're like hitting the
19:45boost and you're just going as fast as possible.
19:47And then the last one is the anti-air vehicle and that one has two size two missile racks.
19:55So you can either have a size two, size two missiles or four size one missiles.
20:01And then it also has a countermeasure package, which includes chaff, flare, smokescreen and a size one EMP.
20:08You know, you always think it's good. It's interesting. It's, you know, it's fresh.
20:13But you sort of sometimes you think, oh, yeah, well, now there's no problem.
20:17And then there's just the little things that trip you up and keep tripping you up.
20:20And it's just getting, it's just getting aware of, you know, all the things that we need to take into
20:25account, you know,
20:27and enters and exits, you know, a whole cabin, all the, all the, you know, all the instrumentation has to
20:34be in the right place, you know,
20:35and you're constantly sort of jiggling, trying to hit what the game needs and then what us as artists want
20:42to sort of push in there and sort of experiment with.
20:45You know, there are a couple of things that maybe we could have improved on, but we'll, you know, but
20:50when it goes to the production team,
20:51we'll have a chat with Nate, we'll have the kickoff and I'll be like, okay, this went well, I was
20:56less happy with this.
20:58You know, maybe you guys can, you know, flesh us out a little more, sort of really advance.
21:03Again, the manufacturer. So we know, you know, when, when we're building tumbral vehicles, okay, this is, this is what
21:10we do.
21:10So these are the, these are the, these are the materials. This is the, you know, this is the cloth.
21:16This is metal. This is the paint. This is the color.
21:18Here's our decals. Here's our, here's our UI style and just sort of clarify all that basically.
21:25Probably the most challenging thing is probably always the deadline. The beauty of being this, this being the first one,
21:31you have a certain amount of naivety in terms of,
21:33you're not quite sure, you know, you're doing a land vehicle, but you're not quite sure of the problems you're
21:38going to hit.
21:39And often with this sort of stuff, it's very much, you know, you make one change and it has a,
21:45it has a ripple effect to the whole vehicle.
21:47So make a change to the front. Suddenly the front's out of balance with the back. So now we've got
21:52to change the back.
21:53Okay. The back's changed now. So that's affected something somewhere else.
21:57And so it's, it's, it's trying to manage all those sort of little tweaks and changes and, and still hit
22:05the deadline basically.
22:06So that's, that's always a tough one for me. I mean, we always do it, but it's always, it's always
22:12team effort. Let's, you know, how do we do it?
22:15So the Cyclone is going to be a great addition. Not only does it look like a lot of fun
22:19to drive, all the variants should provide for some pretty interesting and varied gameplay.
22:23Of course, one of the main questions that's popped up is what ships will it fit into? If you're looking
22:29for that answer, then check out this week's Cyclone Q&A.
22:32There you go. And if you're interested in knowing the tech involved in making that happen, then this next segment
22:37is for you.
22:39As you'll see, getting a ship inside another ship's hangar and keeping it there isn't as easy as it seems.
22:45It never is.
22:56My name is Chad McKinney and I'm a gameplay programmer here in the Los Angeles studio.
23:00We're talking about ship and ships, which is a topic that touches on a few different systems.
23:07On one hand, you have just kind of the physics and game code involved to actually make the ship and
23:12ship behavior work consistently.
23:14But there's actually a whole larger other topic that it touches on, which is persistence.
23:21How do you get the ship in there in the first place?
23:24You can just drive it in there. But if you park your ship at a space station, log off, log
23:29back on.
23:30You really want that ship to be there the next time you spawn it.
23:33You want you to have your dragonfly or your nox.
23:36And so the question is, how do we get there?
23:39In 2.6, this isn't possible. You won't get that ship back in your constellation or whatever.
23:46It won't be there. But if you do want it to be there, we need a whole host of technologies
23:52in our engine and in our backend services to support that behavior.
23:57It's this little thing that seems so small that actually requires a lot of effort to make work correctly.
24:03But that effort also enables a lot of other behaviors in the game that previously weren't possible.
24:09So right now in 2.6, what we have is effectively a very simple system that just tracks player accounts
24:18and specifically loadouts in player accounts.
24:22So it tracks your specific loadout that you have equipped as well as any vehicles that you own and their
24:29loadouts.
24:30This is fine for the gameplay that we have right now in the game. So yeah, you'll have your weapons
24:35the next time you log into the game.
24:37If you do a modification on your ship, it'll be there the next time you log into the game.
24:42But if you make any kind of change in the game world or in kind of inside your ship, that's
24:50not going to be reflected in any way.
24:52Because the persistence database doesn't know anything about it.
24:56This is a great limitation whenever you consider the kind of game that we're trying to make.
25:01We want to make this large game, this living world that can change and be dynamic.
25:04But this persistence behavior that we have is completely ignoring all of the nuances that are required to achieve that
25:12behavior.
25:13One large part of that is this fact that we're so tied to loadouts.
25:19Because of that, that means there's no concept of a loose entity.
25:23So let's say you have a ship, a constellation, and you park a Nox inside it.
25:29The Nox isn't attached to the constellation, right?
25:31It's not on the wing affixed to a gimbal where a turret would be.
25:36It's just lying there in the ship.
25:38In order to make that work, we have to completely refactor the way that game code handles persistent data.
25:44And make it in such a way that instead of tracking accounts, instead we're tracking a map of entities that
25:51point to parents.
25:53And potential item ports that they're attached to and offsets.
25:58What this requires is that we need to look in the persistent data record for the ship.
26:03We're going to find all of the children of that ship.
26:05So we're going to find all of the item port attachments.
26:08That'll be all the guns.
26:10And now that we've made some refactors in the persistent database, we can also find loose entities in that ship.
26:16So it's going to find the cargo item that we left in there as well as that Nox that we
26:21left in there as well.
26:22Loose items now also have offset information in the persistent data record that informs the spawning code where to line
26:32them up.
26:32So we spawn this ship, the constellation.
26:35We spawn all its children.
26:36We start spawning loose items and we have to spawn them in the correct location in zone space so they
26:42line up correctly.
26:43We also need to introduce them correctly into the zones of their parents so that they don't fall out.
26:50If you don't put the Nox in the constellation zone, they'll either collide and explode or it'll fall out and
26:57just leak into space.
26:58So we have to do a lot of fix up in spawning code.
27:02But if all goes to plan, we spawn everything in the right order, in the right place, in the right
27:06zone.
27:07Comes in, you see it, it looks exactly like you saw it last and works perfectly.
27:12This makes it to where something doesn't have to be in a loadout for it to be physically owned by
27:19another entity.
27:20But that kind of touches on another thing.
27:22The old methodology only had one concept of ownership.
27:26You just own something or you didn't.
27:28And that's fine, again, whenever you're dealing with your ships.
27:32If you have an attachment, like a gun, you've bought that or you've acquired it through some means and that
27:40means that you can attach it or not.
27:42But in gameplay, you may get a hold of something that you didn't buy.
27:46It may be in the game world or it may be something that you want to take from another player.
27:51How do we track that in persistence?
27:54Well, previously, just there was no distinction.
27:56What we need is a distinction between physical ownership and legal ownership.
28:00So that you can legally own something, you've bought it, but you don't physically have access anymore because somebody took
28:07it from you.
28:07It's in their ship now.
28:09That was another large set of changes to make this distinction between physical ownership and legal ownership.
28:15It had large ramifications on how we store and manipulate the data.
28:19It had large ramifications on how we do this thing called network ownership.
28:23Originally, whenever a server would connect to the backend services, the persistent cache that the player connected to would make
28:32a request for all of the items that the player has.
28:34And you would then ask the server to entitle these to the new account.
28:40Then those items are sent to the server and cached locally.
28:44They're also sent to the client and cached locally on the client.
28:47What this meant was that there's a large set of data that exists both on the game server and on
28:53the client that is mirrored.
28:57But if any changes need to happen to that persistent data, changes would have to happen synchronously both on the
29:03server and on the client.
29:04And this is a large technical problem.
29:06Previously, we kind of avoided it because we didn't really have this dynamic behavior.
29:10We had some shop behavior that could change it and we had some kind of hack code in place to
29:17manipulate it on the client and the server synchronously.
29:19But once we start having larger systems directly manipulating this persistent data, having fragmented clones of the data across the
29:27network is a huge issue both for security as well as for behavior and insanity of the data.
29:34Instead, we've needed to move over to a system where the server is the authoritative owner of the data and
29:41clients don't actually have a copy anymore.
29:43Instead, they have to make queries to the server whenever they want to display something.
29:48So let's say you go to a kiosk, you want to buy some cargo.
29:51Well, instead of directly checking the data that we have cached on the client, we make a request to the
29:56server.
29:57The server will collect all the information that's required and send it to the client.
30:01This makes it to where it's always up to date.
30:03It's always correct.
30:04And everybody in the network always sees the same information.
30:07It also makes it to where some nefarious behavior on behalf of the client isn't possible anymore
30:13because we've kind of closed off the ability to introduce information that wasn't there to start with.
30:19One issue that we have right now that I mentioned before was physical ownership and legal ownership.
30:26Well, if we want to establish physical ownership, that means that we also need to allow for transfer of that
30:31physical ownership.
30:32To give an example, let's say there's some cargo that's in an outpost on a planet.
30:39That cargo might be spawned in with something called an object container, which is just something that we've touched on
30:45in previous material that we've put out.
30:48And so this object container just contains entities that get loaded into the game.
30:52If you want to pick up that cargo and put it into your ship, there's several steps that have to
30:57happen to make that work correctly.
30:59First, we need to do the persistent transfer of the piece of cargo.
31:04But there's an immediate problem that we run into.
31:07The cargo in the object container isn't a persistent entity.
31:10It got loaded in with the object container.
31:12It was never persistent to start with.
31:13So we need to do something called promotion to make it into a persistent entity and to make it what's
31:19called network replicated.
31:20Then we have to make some modifications to the way the object containers work.
31:25Object containers assume a certain fixed set of entities will get loaded in, and we're actually modifying this list.
31:31So we have to modify the way the object containers work so that they can have changes to their entity
31:37list networked across the network and to support late joiners
31:42so that anybody who joins in later into the game sees the changes to the object container.
31:47So we've done a promotion to the cargo item.
31:49We've removed it from the object container.
31:52Now we're going to transfer the persistent ownership of that to the player who picked it up.
31:57The player has it.
31:58It's in the persistent data record.
32:00Now the player walks into their ship, and they put it into their ship.
32:03We do another physical transfer of ownership from the player to the ship.
32:09The ship now physically owns it, and the persistent data record is updated to where the piece of cargo is
32:15in the ship.
32:15Now, if the player logs off, and the ship gets unspawned, next time they spawn the ship, a piece of
32:21cargo is going to be in there.
32:22However, if somebody steals that ship, then they will have access to that piece of cargo as well, and it'll
32:28be under their physical ownership, even though the first player yourself legally owns it.
32:33In order to get ships and ships working requires identifying physical ownership and legal ownership.
32:40It requires doing all this persistent tracking.
32:42But it's that same technology that also allows us to make our game world at large more dynamic and have
32:49more life as far as its behavior.
32:51So that means that you can make a change now to the world, and that can be tracked.
32:57There are some limitations still.
33:00Changes in the world at large are going to still be what is called session level persistence.
33:06So you can make a change to a planet, or you can make a change to a space station, and
33:11we can track that for the lifetime of that server.
33:14But it's tied to that server.
33:16But that does mean that you can start actually changing the world.
33:19If there was some cargo at that space station, you can take it, and somebody else won't see it anymore.
33:26Or you can maybe leave something behind that they will see.
33:29If you left your ship there, well, that ship's still there.
33:32And someone else can come along while you're walking around on that planet.
33:37They see this nice ship just sitting there, and maybe they'll take it away, and it won't be there anymore.
33:42And now we can begin hooking in criminality systems to maybe give someone a wanted level whenever they've taken a
33:49ship.
33:49that isn't theirs, or taking some cargo off a ship that wasn't theirs to start with.
33:53It also means that if you, for instance, want to fly under the radar, have some stolen cargo in your
33:59ship
33:59that's not in your cargo grid, so it's not in your manifest, you can do that.
34:04But that leaves it open for other people to then take your ship or take that loose cargo easier.
34:11And it's going to make pirating more dangerous, and it's going to make cargo more interesting, I think.
34:18And other things in the game as well, whenever you can take it from somebody else.
34:23Another thing this allows for is collecting, right?
34:26So you can, if you find a Big Benny's machine in the world, you can kick it around, maybe with
34:32another ship.
34:33You've got to do some work, but if you try hard enough, maybe you can get this Big Benny's machine
34:37in, say, your Constellation Andromeda.
34:40Cool! Now you have a Big Benny's machine, and you take it with you, and you own that thing.
34:44Well, you physically own it, at least. You sign off, you sign back on again, it's still in your ship.
34:48Maybe you can find another one somewhere, start a collection, you can have three or four of these.
34:53You can trade with your friends, give them a Big Benny's machine, maybe they give you a weapon.
34:58It allows for some more emergent gameplay.
35:01You don't necessarily have to have a gameplay system in the game that is specifically tracking Big Benny's machines,
35:08but you can still play with them, because now you physically have access to them, and that access is tracked
35:13in your persistence data.
35:15We're starting to introduce Diffusion, which is a whole new way of interacting with the backend services.
35:22That gives us some very interesting possibilities for the future.
35:26For 3.0, it's just going to be a small set of Diffusion services that are going to be online.
35:33But moving forward, we're going to greatly increase the number of these Diffusion services,
35:37and that has some really interesting impacts on persistent gameplay,
35:41because it means that you can now have some Diffusion service that's tracking an economy,
35:47and persistent changes that you make in the world will impact the economy,
35:51it will impact the cost of items, it will impact the location of them, maybe the delivery of them.
35:57There could be services that are delivering missions.
36:00The missions can be based on persistent changes in the world.
36:03You can have services based on pirate activity, or services based on AI activity.
36:11It allows us to have the combination of persistent data and persistent changes
36:16to be utilized across the server instances,
36:20and have these services enable more kind of higher level behavior
36:26and higher level modifications to in-game actions based on Diffusion services.
36:32We're taking it to the next level, to where we can get a more global, universal look at persistence.
36:39We can start caring not only about player persistence, but the ship's persistence,
36:44space station persistence, planet persistence, universe persistence.
36:48Ideally, we want to move to something that we call the server mesh,
36:51which has either a larger or a single mesh of servers that govern the entire universe,
36:57and all the players are interacting with each other across this large server mesh.
37:02That will allow some truly persistent behavior in the world,
37:06so that any one change that you make on a planet, any planet or on any station,
37:12is going to be persistent for all the players across the entire game.
37:15It will make it to where if I leave something on the planet, it's not in one server, it's on
37:21that planet.
37:21There is one planet, and that has that change.
37:24So with 3.0, we're introducing these serialized persistent variables
37:27that will allow gameplay features to start tracking persistent information.
37:32This will include features such as ship health, and player health as well, and stamina.
37:38So if your vehicle has the wing blown off of it, and you respawn your vehicle,
37:43it's not going to have that wing.
37:44If it becomes unflyable, you're going to have to start engaging with some of the other gameplay systems that we
37:49have.
37:49So for instance, you could have it repaired at a repair station,
37:53or if it's beyond repair, or you don't want to go through the effort,
37:57you can make an insurance claim on it if you have insurance for the ship.
38:01This will be expanded to include other behaviors in the game.
38:05So like I said, damage and health for the vehicle, but also stamina for the player.
38:10So certain kinds of effects will be persistently applied to your player.
38:15There will be other things in the game, such as ammo.
38:18Your ammo is going to be persistent.
38:20If you run out of ammo, you're going to have to buy more ammo.
38:23It's not going to be the way it's been, where you can just fire away,
38:27and you don't have to be so concerned about the consequences.
38:30Additionally, there will be other things.
38:32The interactable entities in the game will now have the capacity where we want to.
38:37We can identify certain entities and make their states persistent.
38:42So say there's a data pad that you interact with.
38:44Maybe you switch its behavior to be in an on state as opposed to an off.
38:48That could be tracked and be persistent.
38:50We're identifying every day new places in game code where we have certain behaviors
38:55that have traditionally just been networked across the network to keep the clients and server in sync.
39:01But it's very easy to just turn on this persistent flag and start having that now be a persistent value
39:07that's tracked across game sections.
39:09So we're looking for these opportunities to take these gameplay behaviors and make them more permanent
39:16as far as the lifetime of their effect.
39:19I think it'll be a very interesting world to play in and a very interesting set of gameplay features
39:24that I really know their game has.
39:27So that piece was a great way to show how all our systems tie together under the hood.
39:32It was a massive undertaking to lay that groundwork, but it gives the game a ton of functionality
39:36once everything is up and running.
39:38And that's all for today's episode.
39:40Thanks to our subscribers for supporting all of our shows.
39:43Tomorrow we have a special happy hour game dev planned.
39:46Live designer Gareth Bourne will be building a solar system using the SolEd tool with help from the viewers.
39:52Tune in to our Twitch channel at 11am Pacific to catch it.
39:55Yeah, that sounds like it. It'll be a lot of fun.
39:57So you don't want to miss that.
39:59Finally, thanks to all our backers, we couldn't build this game without your continued support.
40:03We could not. And until next week, we will see you...
40:07Around the Verse!
40:4010th Star Citizen Squadron 42
40:44www.mesmerism.info
Commenti