Transcript (by Youtube)


0s [Music]
15s hello everyone and Welcome to our
18s glorious ashes of creation June
20s development update we hope that everyone
22s has been well and safe we know this
24s one's coming a little hot for you that
26s just means you got to look on the bright
27s side you get two in July technically I'm
30s no this this is like a Fourth of July
32s stream we should have had uh we
34s fireworks and cration just explode some
38s money um obviously you see a different
41s face uh here as well I'm Margaret CR
44s your director of communications and with
45s me as always is Steven Sharie our
47s creative director but we have uh Brian
49s lford who you've seen on the stream
51s before but he's joining us for this
53s little special one and a while Ash's
55s merch you're G to make him
58s jelly yes look good yeah you can see
61s some behind him as well but uh as a
64s little sneak peek we are working on
65s merchandise we know that we've been
66s getting a lot of people asking us for it
68s takes time you have to go through
70s manufacturing and you have to find the
71s right people that you want you have to
73s get all your designs ready and then it's
75s back and forth getting samples and then
77s you have to have our models inhouse like
79s Brian that's testing everything yeah you
83s got for us um but yeah so we'll just get
88s right into all of the goodness but as
89s you can see both below us what we're
91s going to be covering today is reminders
93s server meshing technology Studio update
96s art update and we'll have some Q&A from
98s the forums we'll also be pulling some
100s live questions as well as we usually do
102s after the server meshing technology
104s stuff so stay tuned for that um but
107s before we begin those things we have a
110s our quick reminders and the first one
113s here is of course our YouTube Spotlight
115s and if you would like to be spotlighted
117s for our YouTube uh Spotlight all you
119s have to do is subscribe to over on
120s YouTube make sure that you are your
122s subscription shows publicly it's a
125s little weird thing um and leave a
127s comment on our development update the
129s full development update and you could be
131s chosen for next month so this one is
135s from Kevin um and they would like to
137s know love the vid are there any plans in
141s the future of making skills that require
143s team effort like 10 Summoner players in
146s a guild sacrificing 50% of their HP to
148s summon a giant Golem that can break down
151s walls and Gates and sieges or act as a
155s front to block damage from enemy arrows
158s maybe 10 Mages sacrificing 50% of their
160s Mana to cast an ice storm in certain
163s area that significantly reduces movement
165s speed which can be used on holding down
168s choke points that was a lot they had
170s they had some imagination go into that
172s one I mean regardless regardless of the
175s specific examples there right um I think
178s that the Crux of the question is do we
181s intend for there to be Synergy between
184s multiple archetypes or different
186s archetypes in skill activation and I
189s think we've talked about this in the
191s past we gave an example actually I think
193s I heard a Gollum in this example but we
195s gave an example of Summoners summoning a
197s you know using combined powers to summon
199s a larger Golem there is a desire to
203s explore that path I think our ability
205s system facilitates that already um one
209s of the things that we look at like right
210s now with the current archetypes for A2
213s there's a wall ability on the tank it'
215s be nice that as you're in a party or in
217s a raid you as a tank have the option to
220s set on that ability whether or not you
223s want that wall to connect with others so
226s that it it it uh it snaps to another
229s wall potentially creating a stronger
231s barrier those types of interactions I
233s think are interesting I think they're
234s cool I know the combat team thinks
236s they're interesting and cool um we
238s definitely want to aim for that being a
239s potential
241s um right now that hasn't yet been
242s implemented but it is something in the
244s future that I think we're open to and
245s want to explore really awesome and of
249s course we have our Dev discussions we
251s love whenever you all uh give us your
253s feedback we're wrapping up The Siege in
255s war on so if you have any feedback on
257s that one definitely go go over there but
259s right now we have camera perspectives up
261s which we want to know about camera
262s perspectives what camera perspectives do
264s you prefer in terms of both angle and
267s distance from your character do you do
269s different situ ations call for different
271s perspectives let us know and of course
273s our next one coming up after that will
274s be storytelling with archetypes and as
277s we've alluded in the past already
279s there's some Bard action coming up in
281s the future so we know folks are excited
284s for that coming up you know what's
287s interesting um s sorry just it reminded
289s me um that
291s question a game I played a long time ago
295s had a um had these like three different
298s types of wizards one was wind one was
301s water and the other was fire and they
304s each had an elemental infusion that you
306s could cast on another wizard of a
308s different type oh I know what G you're
309s talking about yeah I like
312s that and if you did cast it there was
315s like a 10 to 20 minute long cooldown on
318s the infusion but it powered them up to
320s do a mega like Nuke right on a Target
324s now I didn't find the efficacy of that
326s you know to be anything particularly
328s game-changing it was a kind of nifty
330s for a single nuke but like what did that
333s do in the long run of me constantly
335s casting my normal nuke over and over and
337s over again right but I thought it was an
339s interesting attempt at creating some
341s interclass dependencies or Synergy from
344s a party perspective with those classes
347s and if you if you dive a little bit
348s deeper into that maybe you can come up
350s with some fun you know regular momentto
352s moment
353s gameplay 100% And with that we move
358s into our server meshing technology this
362s is going to be a long 1 hour and 18
365s minute segment uh so buckle in if I told
369s everybody in the beginning I was in chat
371s I was like get your snacks ready because
372s you're going to maybe take a pee now and
376s and you know I as as we were talking
379s through this and you know Brian and I
380s have talked about this in the past as
382s well you you really kind of have to
385s wonder what segment of our community is
388s interested in this depth of a technical
391s discuss that are here we told them in
392s advance coming we're like this is GNA be
395s very nerdy talk prepare it's a super
397s nerd that yeah totally yeah it is a
399s super it is a super nerd thing um and to
402s be honest with you you know it's it's
404s not what your general population cares
407s to see it all right they want to see the
409s game play they want to feel the game
411s play they want to talk about that and
413s that's like if you think about the ratio
416s of streams that we do what is gameplay
419s versus technical discussions maybe it's
421s like a 1 to 10 right it's like yeah it's
423s like a 1 to 10 or every 10 or so streams
425s we have a super in-depth you know
427s technical discussion this one let me
430s preface is going to be the most
432s technically oriented discussion we have
435s ever done as a live stream but we made
438s our lovely Mike Veo our Graphics
440s designer made some great IM imagery to
443s help thought it was
445s phenomenal so hopefully you're you won't
447s be too bored visually either I I I I
451s thought I thought it was phenomenal but
452s let me just let me just speak to this um
456s there is a lot of magic that goes on
458s behind the scenes of what makes these
460s kinds of games possible yeah and um
463s there are a lot of individuals who are
465s not the VFX artists who are not the
467s combat designers but who are in the
471s literal weeds of the deepest code
474s possible that is so nuanced and and
478s complicated
480s that it is you know without a without a
483s degree in this specific field you you
486s really have a very difficult time even
488s following along so I would just want to
490s give kudos to um the guests that we had
494s on this particular live stream Zach
496s Hunter andon they did a phenomenal job I
499s think even with the visual aid that that
501s Veo did which he did a great job with um
504s in kind of walking through from a
506s Layman's
507s perspective just the level of complex
510s that's necessary and also the magic that
512s we're Brewing up here at Intrepid um
515s because that magic is going to be on
517s full display for Alpha 2 you guys are
520s going to be experiencing it and without
522s an in-depth showcase like the one you're
524s about to have you would have no idea of
527s what's going on in the background it
528s would just feel like seamless gameplay
530s to you but there is really if the pi
533s folks cuz the pi folks who uh joined us
536s for our node Wars testing even realized
538s what was going on behind the scenes
540s because the Ser measuring technology
542s isn't just something we're talking about
544s today it exists in the game and they
546s experienced it so and we've been working
548s on for for years now right so um I think
551s they do because sometimes as as an
553s individual server worker might go down
555s we're like why did I get disconnected
557s and they get disconnected but I don't
559s know if they put two and two together
560s that it's the same technology for sure
563s yeah right absolutely so these guys were
565s so excited they were like we could have
567s talked even longer oh yeah for sure this
570s is total total nerdgasm area uh but um
574s let me say this so as a preface before
576s we get into this this is going to be up
577s on YouTube afterwards we're going to
579s post it there it's a it's a standalone
581s discussion like Margaret said hour 18
583s minutes this is very in-depth technical
585s discussions we're going to answer some
587s questions afterwards so make sure you
588s guys are posting Margaret's going to be
589s watching um feedback Point necessarily
592s only uh we have our wonderful Community
594s team and and social team that will be
596s we'll be grabbing questions from all the
598s places absolutely so so make sure as you
601s guys are watching this you know H the
603s types of questions we would love to hear
605s from you is how are these types of
607s technical discussions received by our
609s audience do you enjoy them do you like
611s getting a look under the hood um try to
613s formulate you know the types of
614s questions you can better understand it
615s Margaret and the community team will
617s capture them we'll answer them
618s afterwards but please understand
619s everything here continues to be a work
621s in progress all of the conversations
623s that we're having about this technology
625s is what's going to be tested as part of
626s Alpha 2 um and sit back and enjoy and
629s insight to what most companies really do
632s not ever reveal about what's under the
634s hood all right time to get nerdy see
638s y'all on the flip side
643s [Music]
661s hello everyone Welcome to our glorious
663s server mesh technology showcase segment
667s exciting it is I'm Margaret cron your
671s director of communications and of course
673s with me as always is Sten Sharie our
676s wonderful creative director I'm excited
678s we have a fun showcase today I mean it's
681s this is something that I don't think a
682s lot of companies go into a lot of
685s projects don't really talk about and and
687s you know it can be a little bit on the
688s techie side but I think this is stuff
690s that a lot of players uh like hearing
693s about and I know we got some we got some
695s exciting people to chat with today what
697s do you think Mar and um of course we
699s tried to make it as visually appealing
701s as possible shout out to Mike beio as
703s you you may know him from all of our
706s other Graphics but he's our Graphics
707s designer and he did a wonderful job on
709s these slides so hopefully they help
712s portray what our wonderful engineering
714s team is trying to toh showcase so we
718s will kind of introduce them we have some
720s new people who you've never met before
723s we'll kick it off first with Zach if you
725s want to talk about who you are what you
727s do at the studio and maybe a little fun
730s fact hi guys uh I'm Zach I'm the
732s technical director here uh at Intrepid
735s Studios I run the networking team and
738s the engine team
740s um I'm generally responsible for
743s performance and making sure that the
744s game scales to the amount of players
746s that we wanted to a hefty and lofty goal
750s many of us players will have thoughts on
754s that and of course we have Hunter with
756s us which some of you if you hang out on
758s our Discord maybe have interacted with
762s before hi yeah thanks for having me um
765s my name is Hunter I am a game networking
768s engineer at inet studios I've been here
770s for almost about four years now and
773s first initially started off as a
774s gameplay engineer and then I slowly
776s worked my way over to networking because
778s that's what I've come to find I love and
780s I love solving the hard problems and
782s very excited to Showcase to you all what
783s we've been working on the gameplay
785s engineering just wasn't torture enough
787s for Hunter so he wanted to go straight
790s straight The Impossible
792s problems oh my God I like I like solving
795s problems like this hard problems I think
797s Sol problem F problem to solve yeah um
800s and then of course last but not least
802s Anton hello I'm Anton uh I'm a senior
806s networking engineer over here at
808s Intrepid I moved straight into this
811s position Cu uh yeah I wanted to suffer
815s immediately I didn't want to start with
817s a game
820s play all right well let's kick it off
823s Zach I think you have a little intro
825s here for us as we move
827s in yeah um so Zach just I'm sorry just
830s to start a lot of people you know
833s sometimes don't know what networking is
836s yeah talk to talk to us about what is n
839s networking what is a network layer at at
842s at its core networking is just the
845s concept of moving EST state from the
848s server to the clients that that at its
852s core that is the problem we are trying
853s to solve we are trying to do that as
855s fast as possible with as many players as
858s possible um since we are making a very
861s very large game uh we have a lot of
864s problems that most games don't usually
868s have yeah and and you know with with
872s regards to like an mmpg versus like a
874s peer-to-peer versus like a small
875s dedicated server like our networking
878s needs are intense because the types of
881s numbers we're looking at are extreme
885s yeah we we we every everyone on the
887s networking team here has worked on other
888s multiplayer games before and this is
891s definitely the project where we have to
893s get the most creative with how we are
895s going to solve uh our scaling problems
898s you know like we
900s we we we are working on an MMO most MMOs
902s don't don't do what we're about to do
904s here they don't talk about how they you
906s know made it so they can support
907s thousands of players per server um so
911s it's very much we have to you know kind
912s of like figure out what what has been
914s done and and do a lot of um R&D to
917s figure out what what we need to do for
918s our game right and kind of answering
921s that question of what we need to do for
923s our game starts out with well what is
925s our game trying to achieve right yes
927s yeah there are a lot of different types
929s MMOs some that heavily you know utilize
932s instancing um some that you know maybe
935s don't care about replicating to hundreds
937s of players at a given time um so first
940s it starts with a vision what is ashes of
943s creation and then that kind of leads you
946s down the architectural path of okay what
948s does that mean we have to set up because
951s this isn't out of the box Unreal Engine
953s five this is a custom Network layer yeah
956s yeah this is this is this is fully
957s custom Taylor Made for the needs that
960s ashes has like this is not none of this
963s is is is off the shelf none of this is
965s standard unreal this is all built for
967s the kind of game that we are
969s making right and so how do you go about
972s kind of you know determining that that
973s architecture what does that look like
975s for a game like ashes and and you know
977s we've been working on this for a number
978s of years yeah for years um so I gu I
981s guess the first the first step is we
983s need to figure out the requirements like
986s what do we actually need to like what
989s what what are Ash's requirements um you
992s know the the first place we start is you
995s know we're an open world PVP game so we
997s can't really control where players go we
999s can't do match uh typical matchmaking
1002s where we just you know spin up more
1003s servers SP put them on the new
1006s matchmaking servers and you know not
1008s have these issues we're an open world
1009s game anyone can go anywhere um you know
1013s we're a highly PVP game so we need to
1015s have low latency people can't just uh we
1018s we can't do what other games do where
1020s you just like lower your tick rates
1022s really low and
1024s then um just simulate at a really really
1027s low rate since we're you know action PVP
1030s we can't do that um one of our I guess I
1034s I I would do you call this a game design
1036s pillar Stephen like this is we that we
1038s don't want to do layering like that's a
1040s that's that's a very like
1042s absolutely game thing we wanted we
1044s wanted so like you can go anywhere in
1047s the world stand there and and the people
1050s who are there are there like
1053s yeah and I was just going to say like
1055s game laring you know obviously everyone
1057s on this call is a gamer who's played
1059s MMOs and we played games that do that do
1061s layering yep you know it's just a very
1063s different experience when you can switch
1065s channels you know yeah yeah yeah it's
1069s like a different world a core like MMO
1073s memory for me is like you know old wow
1076s you would go to the same place like
1079s uh and and there would be the same
1081s person there you know dancing on top of
1082s a mailbox every single time or dancing
1085s on top of a corpse and looking at you
1087s with Hungry Eyes they were they were
1089s always they were always there and they
1091s were always and they were always there
1093s and with layering you don't get that uh
1095s you don't get that that same level of
1096s experience that we that we that we want
1098s to give uh to our
1100s players um and then I guess our last
1102s requirement which is like you know just
1103s a typical MMO requirement is that we
1105s have you know very very high player
1107s count goals um
1109s and you know typically uh High player
1112s count goals with no layering don't
1114s really go together so right that's where
1116s it comes into like you know we need to
1118s get really creative with how we're going
1119s to solve these problems and we and some
1120s of us you know Hunter Anton we've played
1124s these games that have high player
1125s accounts but a lot of ways that they get
1128s around having higher player accounts is
1131s by being less server adjudicated less
1134s server authoritative and more player
1136s which has its own risks and isn't really
1139s preserving the Integrity of that player
1142s experience indeed like some some games
1145s do not um do proper physics simulations
1148s on the server side to validate player
1150s movements in order to achieve that kind
1152s of thing which means like cheaters uh
1155s can have an easier time right going
1157s through walls and stuff like that or
1160s they well I guess they do layering or
1163s Shing where uh they yes they have real
1167s high player counts but technically not
1170s really cuz they're kind of broken up I
1173s can't tell you how many times I've I've
1174s jumped into either um you know some
1177s session based game or I don't want to
1179s call any any of them out but where
1181s there's just one single player that's
1183s either hacking or or or doing something
1185s and they're just running around and
1187s ruining the experience for everyone and
1188s it's because the way they've architect
1191s it in such a way it's more it's easier
1192s for those types of experiences to occur
1195s always trust the client right yeah
1198s exactly
1201s you just made everyone sweat Hunter do
1203s we want to kind of transition that into
1205s talking about the issues that we are
1208s trying to address yeah of
1212s course yeah so um I guess the issue
1215s start with it's like you know we're
1217s making MMO and unreal um the amount of
1221s entities we want on the server um it's
1224s just not really going to work with
1225s standard out ofth box unreal replication
1228s unre replication and unreal simulation
1231s so there there are two problems here
1233s it's like okay even if we could fit all
1235s the players we want on a single server
1237s um you
1239s know we we still can't replicate them
1242s because those are two separate problems
1243s we have the simulation and then the
1245s replication problem um so since this is
1249s is a problem and you know there there is
1252s no standard unreal solution for this we
1255s we we had to go about you know making
1258s our own customs solution to solve these
1261s problems um and this is where Intrepid
1263s net um I guess was born um entrep net is
1267s a fully distributed networking stack
1269s it's tailor made for as creation fully
1271s built in house um none of this is offthe
1274s shelf technology it's all custom built
1276s for our game
1278s um we you know we'll we'll get into
1282s these more in a bit but Intrepid net is
1284s made up of quite a few different
1286s Technologies um the the one that you
1290s know people are most interested in
1291s people are always talking about is
1292s server meshing we'll talk a lot about
1294s server meshing and how we how we
1296s implemented it for our game um we have
1299s inter server replication uh which is you
1302s know we have Ser we have multiple
1303s servers and they're replicating to each
1305s other how do we deal with that problem
1307s we have our own microservice layer for
1311s servicing our
1313s um uh uh communication I guess between
1316s our servers um we have uh Dynamic
1321s griding which is very exciting and you
1323s guys and you guys will like a lot and
1325s then we have the replication graph um
1327s which is just more um custom replication
1332s uh I would almost call them formulas um
1335s for our game so we'll be going into all
1337s this it's very this is very detailed
1339s very Tech heavy
1341s so buckle yeah we need some like theme
1344s music for the Intrepid net logo there
1346s too I know they were so excited when mik
1349s made a logo they're
1350s like nice of a logo I'm just thinking of
1353s like the Indiana Jones theme song right
1356s now right right
1358s totally so where do we start off with
1361s this yeah so I'm gonna kick it over to
1363s Hunter and he'll kind of like start with
1366s the like giving some of the base
1367s knowledge for like how unreal works and
1370s then he'll start with you know talking
1372s about how some of our server technology
1373s our server meshing technology
1376s works yeah hello um so before before we
1379s start diving too deep into Intrepid net
1381s um there's probably a few terminologies
1383s that we wanted to preface with just so
1385s that it helps the community and everyone
1386s else here follow along better with like
1388s the lingo and the terminology that we
1389s will be
1391s using um the first concept that we
1393s wanted to touch on is an actor um in
1396s Unreal Engine you can think of an actor
1398s as like almost any physical
1399s representation of an object or an entity
1402s that's inside the
1404s world as you can see on the photo that
1407s an actor can be anything such as as an
1409s NPC a mount a tint a piece of card cargo
1414s um pretty much anything that you can
1416s visually see and represent is what we
1418s call an actor and these actors they can
1420s be replicated which we'll get into on
1422s the next slide and PC would be player
1425s character for those who don't
1429s know personal
1433s Caravan so touching on replication here
1436s um replication is a term you might often
1438s hear in network working I believe Zach
1440s touched upon that a little bit briefly
1441s in his
1442s introduction um replication is the
1445s process of synchronizing some sort of
1446s State you can think of it like a value
1448s or a property that's on an actor on the
1450s server and then it's synchronizing that
1453s state from the server to all the clients
1455s that are relevant to the said actor um
1458s this is an important because of a
1460s concept called server authoritative
1463s networking um the server when you think
1466s of like networking in video games the
1467s server normally has a authority over
1469s your game world and the properties
1471s they're normally updated and checked
1473s against the server which can then be
1474s shared and synchronized between your
1476s clients which is through the form of
1479s replication um this is also part of why
1483s you never want to trust the client as we
1485s said earlier um because when networking
1487s you want when the client does some
1489s action to the server for instance you
1491s always want to verify that action on the
1493s server in some way or shape or that's
1495s how you can get hackers or cheaters or
1497s something disrupting your game because
1499s they're able to just send anything they
1501s want to to the server and your server
1502s will just trust it without verifying and
1504s then that's where you can get the
1505s concept of like I said hacking Andor
1508s cheating um so as long as the server
1510s kind of holds your source of Truth the
1512s client sends the data that your server
1513s doesn't agree with you can decline the
1515s actions and or kick or ban the user
1517s depending on how severe the action is
1519s they're taking that you're not trying to
1524s allow and obviously we've seen you know
1526s a lot of games that we've played in
1528s where
1529s as um as as the latency becomes uh worse
1534s for certain players or as the load on
1536s the server becomes higher um to process
1540s that replication can can show some weird
1543s effects uh in games right wait a minute
1547s what's that person doing that doesn't
1548s look right yep that's when you would
1550s that's typically when you would get like
1551s rubber banding like if your servers
1553s really slow down because you would only
1554s get an update every you know X period of
1557s time
1559s yeah so as you can kind of see in the
1561s the video we showed you can kind of see
1562s like player one is going into the water
1565s this is from the perspective of the
1566s server so as player one enters the
1568s server it'll be like okay player one is
1569s swimming so now player two and three
1572s since they're visually seeing player one
1574s swimming they're going to get a state
1576s for player one saying they are swimming
1578s and then that can kind of perform like
1580s the necessary actions of like seeing
1581s them play the swim animation or whatnot
1584s and and and and like I guess to add on
1586s to Hunter is saying this is the this is
1588s pretty much the entire problem like
1590s you're doing this all the time for
1592s everything in the game that's replicated
1594s all the time every movement every
1596s ability everything you click on interact
1599s with touch yeah all the Goblins that are
1602s running around they're playing
1604s animations uh the players moving stuff
1606s in their inventories the the trees
1610s leaves moving subtly yeah the the trees
1613s is falling being cut down
1615s yeah so not everything needs to be
1617s replicated across cross the server right
1620s some things can be client only like the
1622s ways the leaves might move specifically
1625s but when the tree gets cut down that
1627s needs to get replicated across yeah well
1629s and and and you you can do interesting
1632s things to try and like reduce this
1634s problem like like if we're talking about
1636s the wind for example you can just
1637s replicate you know the wind direction in
1640s speed yes and then the client can just
1642s apply that to all the trees instead of
1644s you having you know a specific
1646s replicated you know wind and speed
1649s for example right and that's part of the
1651s Finesse of replication trying to
1653s identify the problem exactly that's
1655s right yeah a big part of our job
1657s especially with working with gameplay is
1659s trying to figure out how to make that as
1660s efficient and optimized as possible so
1662s that our game and servers can perform to
1664s the expectations we need speaking of
1666s servers the server meshing what
1668s everyone's been excited to talk about
1671s right so now we do replication so now
1674s originally we just talked about how
1675s replicating a one server works so now
1678s first part of intrepid net is what we
1680s would like to call what we basically
1682s normally know as as server
1685s meshing
1686s um in Unreal Engine um your game
1689s normally works under a single process
1690s server scenario that means all your
1693s clients are connected to a singular
1695s server that runs the entire game now for
1697s an MMO RPG like as of creation um this
1701s can't work for us like for a few reasons
1702s Zach talked about in the previous slide
1704s there's just with the mass amount of
1706s entities and actors we have simulating
1708s and processing the replication of all
1710s that for everyone every actor in one
1713s server that's pretty
1715s insane um our solution first and
1718s foremost here is basically we had to
1721s modify unreal engin so that it is
1723s capable of having Min server processes
1726s that are kind of meshed together or
1728s quilted
1729s together that allows us to use all these
1732s servers together to make up your whole
1734s entire game world or your game
1737s room um this all us to split up that
1739s simulation work between many of the
1741s server processes and each server process
1744s has its own authoritative state of the
1746s world that it kind of owns and
1749s controls um this task it was not a
1752s trivial task and it required us ripping
1754s apart deep layers of unal engine and
1756s their networking stack in order to
1758s really modify it to fit the architecture
1760s that we have really
1763s envisioned um outside of this too
1765s there's like a lot of proprietary
1767s programs as well that we made that kind
1769s of run in the background to help it
1770s orchestrate all this functionality as
1773s well and by using underall engines API
1777s um and doing all this we were also able
1779s to add a lot of minimal overhead for our
1781s Engineers When developing for this
1783s solution and it allows us General
1785s control over like what how things
1788s replicate and where they replicate that
1790s we'll get into in the next few
1793s slides
1795s um so right now you see we have like the
1798s static Dynamic world grid okay that's
1799s great but now you're probably thinking
1802s okay now that we stitch many servers
1804s together what is my experience like that
1806s in regards to traversing the world will
1809s I be able to see into the other servers
1810s from mine or will I randomly just start
1812s seeing actors pop in and out of
1813s existence right in front of
1815s me that kind of takes us to this
1818s slide um so our answer to that of course
1821s is we want to make this experience as
1822s seamless as possible for our players if
1824s you cannot tell what's going on behind
1826s the scenes and everything that we've we
1829s are making then that means we did our
1831s job right if you can tell then it
1833s probably means something's wrong and we
1835s need to look at what we're doing here
1836s and how we can improve and optimize it
1839s further
1841s um we've developed what we call here
1844s inter server replication for this case
1846s which means that instead of traditional
1849s replication as you might have as we
1851s explained was like server to clients
1854s this is basically representing between
1855s servers now or replication between
1857s servers
1859s and we do this replication to what we
1862s call a proxy
1864s actor um as you can see in the video
1866s here we can see there was like a
1868s transparent white uh wall going across
1870s the screen that represents our in-game
1872s debug tools with our border regions
1875s being
1875s drone you can see that vexent is on one
1878s server and then Kevin is on another one
1881s as he's on the other side of that border
1883s so what vexin is seeing right now is
1885s actually not Kevin but a proxy of Kevin
1888s is what we have deemed it is it really
1890s Kevin yeah who knows if only could
1893s actually duplicate Kevin after expand a
1896s little bit on you know a lot of a lot of
1898s people who obviously aren't familiar
1900s with game development they might not
1902s understand the the terminology of
1904s debugging tools right so talk a little
1906s bit about what a debug tool is right so
1909s when making a networking solution as
1911s complicated as this we need a lot of
1914s information about the state of the world
1916s what's happening where things are going
1918s on
1919s so we've developed a lot of like
1920s debugging tools that can be used inside
1923s the game and outside of the game which
1925s these tools kind of help us collect that
1927s information see where all the important
1929s things are happening see where a failure
1931s might be going on so in this particular
1934s instance we have a debug tool that's in
1936s game that allows our developers to kind
1938s of draw these server borders so that you
1941s can kind of see while you're playing
1943s like okay there's a border here um and
1946s then if QA is testing something they can
1947s be like okay we transferred across the
1949s server and then this broke so that means
1951s something's probably wrong with the
1952s server transfer so that can kind of just
1954s help you like narrow down more of the
1955s problem space and give you that
1957s necessary information of like what was
1959s going on at the
1960s time um because without that if if we
1963s have it turned off you pretty much
1966s hopefully should not be able to tell the
1968s difference between the proxy we talked
1969s about or the actual
1971s actor um you can kind of think of the
1974s proxies here as a puppet any
1979s actual um action that was done by the
1982s actual actor on its own like Authority
1985s server which is the server that owns it
1987s it's then replicated to this proxy on
1990s your server which then gets replicated
1992s to yourself so that you can kind of see
1995s the representation of Kevin as if he was
1998s on the same server as
1999s you um we do it in a form of like a we
2003s call it lightweight because it's an
2005s up-to-date copy of the original actor
2007s but we can specifically our developers
2008s can specifically control like what does
2011s and doesn't get sent to this actor so
2013s that we're more optimal in like what
2016s we're sending how we're sending it and
2017s when we're sending
2020s it that was a
2025s mouthful I I think I think the other
2027s thing you know to think about Hunter
2029s Zach Anton is that um not a lot of
2032s players obviously follow development of
2035s the games that they're excited about
2036s right they they wait until
2038s you know the game is ready to play and
2040s and marketing begins and you know they
2042s can join in and and purchase or whatever
2044s obviously ashes has followed a little
2046s bit of a different path where we're
2047s giving people a bit of insight into you
2049s know what it actually takes to make
2051s these types of games and we generally
2055s tend not to delve too deeply into the
2058s highly technical components of our
2060s development process because that's where
2063s a little bit of a cliff starts to form
2065s of player interest even you know viewers
2068s ship interest um because uh it's nice to
2072s have the magic work in the background
2074s and you don't necessarily care or want
2076s to know how or why it's working just
2078s that it feels good that the you know
2080s it's responsive and that you know it
2082s accomplishes from a gameplay Loop
2084s perspective what you're expecting it to
2087s but you know because of the level of
2089s complexity because of the amount of
2091s effort because of what we're trying to
2094s create is a is a Next Generation level
2098s of complexity of gaming um we feel it's
2102s important to provide you guys an
2105s opportunity to get some insight into
2108s what we're doing that's unique into what
2110s we're doing that is going to service a
2114s long-term
2116s MMORPG at the scale that we need Ashes
2119s to be and that requires some really
2122s smart people in the room who are
2124s creating proprietary technology that
2127s allows us to achieve that in a way that
2129s presents players with a game at the
2131s Quality they expect and so I you know I
2134s think this is a lot of a lot of fun to
2136s kind of you know have you guys come and
2138s and explain this front facing it can be
2140s a mouthful it can be a headful to kind
2143s of digest but at the same time yeah I
2146s know we're nowhere near done but at the
2148s same time it gives you now an
2149s opportunity to to really see how the
2152s sausage is made um and I think that's
2155s cool right I can talk about this all day
2159s people don't talk about this there are
2161s so many games that are that are doing
2163s things like this not exactly but like
2166s you know there are other games that have
2167s to solve these problems and you know
2169s other other games don't talk about this
2170s you know this is this is a first
2173s absolutely
2176s right yeah so as you see in the video um
2180s you can see into the other server but
2182s now you're probably thinking okay what
2184s if I want to interact with this proxy
2187s how how do I do that across the server
2189s boundary well um because the proxy is
2193s like a puppet controlled by the higher
2195s authority we basically just now need
2198s events that we can send from the proxy
2200s up to its Authority and then we tell the
2203s authority that we want to modify data or
2205s execute some action on the authority
2207s server so that it can then replicate
2209s down to the proxy and then back to you
2212s um we have what we call a cross server
2214s event or an inter server event that's
2216s done through what it's normally known as
2219s an RPC or remote procedure call which
2221s allows pretty much just for
2224s this um our goal with entrep net is to
2227s make all the routing and the actions
2229s that we do as fast as possible so that
2231s we can keep the latency and interactions
2233s between servers a pretty seamless
2235s experience and you hopefully shouldn't
2238s even be able to tell the difference
2239s between like I said a proxy or an
2241s authoritative actor yeah and I guess to
2244s add here this is so important because
2247s you know these these server borders that
2248s we're talking about they're invisible
2250s you you you won't know where they are um
2254s so the the I think the big important
2257s thing here is like we need to have we
2259s need to make it so PVP can happen on
2260s these borders without people noticing um
2264s and that's that's that's that's really
2266s that's the real Crux of it here that's
2267s why it has to be so
2268s fast right and as you can see in like
2272s the video here we have some fighting
2273s across the border um you can see while
2275s we're fighting kind of over the boundary
2278s combat and everything seems pretty
2279s seamless and smooth as you would expect
2281s it without any noticeable issues um this
2284s is kind of showcasing like what we can
2286s do with just those events and that
2288s replication we talked about we can have
2290s these like in-depth battles or
2293s interactions between the servers with
2295s hardly any downside yep
2298s um so what what we're trying to achieve
2302s here is the seamless experience that you
2304s hopefully can't tell where that border
2306s crossing is and and the other important
2308s thing about this particular you know
2311s this cross server uh information and and
2314s the Border itself which I think you guys
2316s are getting into a little bit later is
2317s that these borders are not static they
2319s can change they are Dynamic you're
2321s you're spoiling it I'm I'm sorry I'm
2324s sorry I'm so sorry this is my first time
2326s seeing the
2328s slide okay go no no go I'm sorry I think
2331s you were talking about seamless
2332s transition so we
2334s can yeah so if you look in or go back
2337s one more Maggie I'm
2339s sorry um so if you kind of see in the
2341s video there as well um now that we can
2344s kind of do interactions to the proxies
2346s across the border you may have noticed
2347s in the video I did charge myself across
2350s the border and then I basically attacked
2352s what we call the proxy of
2354s Kevin however during that charge we did
2358s basically a server promotion that took
2360s place behind the scenes that you
2361s probably didn't
2363s notice um so if we go to the next slide
2368s we can kind of see now we're introducing
2370s the concept of server transfers this is
2372s kind of where Intrepid net gets very
2376s complex um this allows us to not only
2379s share and split the statically defined
2381s server areas but we can also transfer
2383s actors to new server areas that are
2386s moving across the world or happen to
2388s have a new server come up on top of
2391s it into a different server and then we
2394s do and then this allows us to do
2396s basically that Global load balancing
2397s across the
2399s room and then so basically when a player
2402s or an actor is within range of this
2404s border our system on the back end kind
2406s of begins a negotiation and the creation
2410s of a proxy so that it can replicate it
2412s to the nearby
2413s server um this doesn't only happen on
2417s like a one by one scenario that you
2419s might see here even if it's a 2 by two
2421s when you're in like the corner of four
2422s different
2423s servers your proxy will then get
2426s replicated be replicated to on three
2428s different servers from the one Authority
2429s so that way no matter where you are
2431s whichever server you're in around that
2433s area you'll still be able to see this
2435s actor on a different
2440s server
2442s um if that actor then fully crosses the
2446s Border going outside of the authority
2448s region of the server it's currently in
2450s um this the the two servers then kind of
2452s start negotiating what we call a
2454s promotion or a transfer this is when now
2457s server a is passing over that Authority
2460s we previously defined to server
2462s B and then promotions they're like a
2465s whole different Beast um in order to do
2467s a lot of like the promotions there's a
2468s couple things we have to do such as like
2470s ensuring the first you have to ensure
2472s the actor is like fully made with all of
2474s its components and
2475s children um we have to ensure they're
2477s all up to date with the entire state
2479s that was deemed necessary for the new
2481s copy to have because we don't want to
2483s lose any data during this entire
2486s transfer um
2488s and Hunter you people hear the term like
2490s you know children and the state and
2492s whatnot elaborate a little bit about you
2494s know what what that means at a high
2496s level right
2498s so when we have all these entities such
2501s as like an actor actors can then have on
2504s them what we call components which is
2507s basically building blocks that you can
2509s then add to your actor that kind of make
2511s up the actor what it does how it's
2513s supposed to act things like that um so
2516s for example you could have like an actor
2518s and then that actor has an interactable
2520s component so that means you can interact
2522s with this actor or it could have an
2524s inventory component so that means okay
2527s this actor has something of like a bank
2528s or a it it stores goods and to
2533s contextualize that let's say you know
2534s you have your Mount out you're not on
2536s your Mount right another player could
2538s walk up to your Mount and they would be
2540s prompted with an interact that says to
2541s Mount Your Mount as you're moving across
2544s the boundary that actor has that
2547s component that is the interactable
2548s component that needs to go with it right
2551s because if you transfer this actor or
2553s you're proxying it it still you still
2556s need to be able to do that interaction
2557s across the boundary so we proxy that
2559s interaction component and just like we
2562s could do cross server events on the
2563s actor itself we can also do them at the
2565s component level so that way it can
2567s communicate with its authoritative
2569s one um because we kind of treat the
2571s proxies as like a readon concept so the
2575s proxies are just visually kind of
2576s representating what Authority
2578s represents so any data modifications or
2581s anything that has to happen has to
2583s happen at the authoritative level so
2584s that way then the proxy can get updated
2587s appropriately across any server um
2589s that's kind of how we have like that
2590s Central truth of the actor is whatever
2592s server it's Authority on and there's
2594s only ever one copy of that I just want
2597s you to know this conversation so far has
2600s probably induced about 30 to 50 people
2604s now wanting to take computer science
2606s degrees that would awesome yeah no it's
2609s it's pretty cool stuff
2612s um it definitely took a lot of time and
2614s a lot of effort to try to figure out how
2616s we make these things possible and after
2618s all this work this is we're excited to
2620s be able to show it um although watching
2622s Kevin run back and forth is making me a
2624s little
2626s naous yeah so in the scenarios 2 this
2629s also works where you may not be proxying
2631s to that nearby server because say you
2633s teleport across the map um this kind of
2637s means that when promoting there it kind
2639s of does the same exact route except it
2641s may just need to make your actor instead
2643s of making a proxy of it so it all falls
2645s kind of under the same generalized um
2648s system y um and then when we normally do
2653s have that proxy actor on the other
2655s server that means when you're promoting
2657s we can reuse your existing two actors
2659s that are from server a and server B your
2661s Authority and the proxy and we can
2663s convert that proxy to the authority and
2666s then demote the authority one to a proxy
2669s so this allows us more to have that more
2671s seamless experience when you're swapping
2673s servers so that way it's a lot faster
2676s you don't need to send a lot more data
2678s to copy over to be created and then
2680s there's not really any visual hitching
2681s at all when this happens because we're
2684s not spawning or destroying a new one on
2686s the fly during that
2688s promotion and this helps also with
2690s client
2691s performance it it can um not going too
2696s too into detail but
2698s yeah actors aren't actors really aren't
2701s cheap so replicating an actor can be
2704s expensive and every new actor you kind
2706s of open and close to the client which is
2709s basically like a create or a destroy
2711s that just adds this additional overhead
2713s that you we didn't want so we can kind
2716s of negate it by just reusing the
2718s existing ones we already
2719s have and then doing that swap so that
2722s way you don't even notice anything
2724s happened cuz something Stephen no no he
2728s got it on the spawn and Destroy nice
2730s okay yeah yeah like like I said our goal
2732s is to make it as seamless as possible
2734s and one of the main pillars when we were
2736s making this uh entire system
2740s was we try not doing anything on the
2743s client if all of our actions are kind of
2746s done on the server in a fast and
2748s efficient way the client shouldn't
2750s notice anything happening at all and
2752s that's kind of where this comes in
2754s because we don't want the client to
2756s notice so every time we're doing
2758s something we're like okay how can we do
2759s this without affecting the client's
2761s experience because we don't want them to
2763s have a bad time
2765s yeah okay so um let's talk a little bit
2771s about how all this stuff is
2773s working uh because yeah we are
2776s communicating between servers we're
2778s sending events between servers we are
2780s transferring between servers but how is
2783s that information flowing how do the
2785s clients end up seeing that stuff
2788s and typically uh the way this is done is
2793s uh you create a centralized rep
2796s replicator and all the different servers
2798s from all across the realm send all the
2802s relevant information about all the
2804s different entities to that replicator so
2807s let's say one server has um a bunny and
2810s that bunny moved around it sends that
2813s information to the replicator and now
2815s the server has a goblin that took damage
2817s it will send that information to the
2819s replicator and then all the players will
2822s connect to that replicator and the
2824s replicator will pass pass through all
2827s those different
2828s entities decide which player should see
2832s which entities and send that information
2834s to the specific
2837s player however this creates a few issues
2840s and you might actually be able to see it
2842s from that graph there that we've just
2844s created a
2845s bottleneck uh as this singular process
2848s now may need to keep track of hundreds
2850s of thousands of
2852s entities and
2854s send potentially hundreds of millions of
2858s updates to all those clients because all
2861s those bunnies moving and the goblins and
2863s the players and the trees falling all
2865s that information has to be passed
2868s through the replicator and then sent to
2870s each individual client and I guess
2872s something to add here too Antoine is
2874s like this is the that that would just be
2875s moving the problem we're trying to
2878s like like if we had a single server this
2880s this would this would be the same
2882s problem where all all the replication is
2884s happening on one place and we're trying
2886s to we're trying to not do that Yes
2889s actually we tested a solution like this
2891s uh during alha one and this
2895s bottleneck it kind of affects how many
2898s players you can have in their realm as a
2900s total like you can spawn all the servers
2902s you want but one at some point you hit a
2905s limit on the replicator itself and it
2906s doesn't matter how many more servers you
2909s spawn you are limited by that cap on the
2912s replicator uh during alpha 1 the number
2915s we got was like I think about a thousand
2918s players where after hitting that point
2921s you can no longer really scale anymore
2924s and it's important to note that be
2926s because of this
2928s more I guess for lack of a better term
2931s archaic and monolithic approach which
2933s which many of us have likely experienced
2935s in older games
2938s there are certain scenarios in those
2940s games that are multiplayer where you
2942s start to see that server is having
2944s trouble and it's because it's hitting
2946s these types of Choke
2948s points yes and in fact when this
2950s replicator is overwhelmed the entire
2953s realm will lag it doesn't matter if
2955s you're alone in one server in a remote
2957s island you will lag because there is a
2959s big battle on the other side of the
2961s realm that's I remember in so many so
2963s many games where I would be out hunting
2965s and peaceful nobody's near nearby and
2968s I'm noticing everything is starting to
2970s churn and I'm like what is going on and
2972s then I'll look into Global chat and I'll
2974s see oh [ __ ] they're having a huge fight
2977s somewhere across the realm in a totally
2979s different part of the world and I am
2981s suffering as a result of it indeed and
2985s guess I guess it's a good bridge to our
2988s to what we're doing yeah it is a pretty
2990s good Bridge because basically we yeah we
2994s ases of creation is trying to aim for
2997s player counts that we found out that
2999s centralized replicator does not support
3002s so we had to come up with our own
3004s solution and uh this is from what we
3007s know not a very common solution possibly
3011s because it's more difficult to pull off
3015s uh what we basically did is we
3016s completely got rid of that centralized
3018s replicator and instead we had the
3020s servers themselves collaborate with the
3023s other servers around them and exchange
3025s information that way that and that makes
3029s each individual server have all the data
3032s they need to serve the clients that are
3035s connected to them uh in our scenario
3038s over here you can see we have four
3040s servers and two clients are connected to
3043s it's one of those servers if we had a
3045s centralized replicator all those four
3048s servers would be connected to that one
3050s replicator and then all eight clients
3052s would be connected to that one
3054s replicator too so we've actually
3057s distributed the problem we've eliminated
3059s the bottleneck and we've also eliminated
3063s this one point of failure that existed
3067s beforehand where if that one replicator
3069s fails the entire realm goes
3072s down and we can actually yeah have a
3076s look at the uh next slide where we see
3080s uh how we are more fault
3083s tolerant uh than if we have a
3085s centralized replicator
3088s uh and we can actually yeah you can swap
3091s to the next slide there you go we have
3093s the uh the entire server grid over there
3096s and if one server goes down everyone
3099s else can uh keep playing it like normal
3103s we patch that server up we fix the issue
3106s we bring it back up and everyone else
3109s never experienced anything the player is
3111s that we're connected to that one server
3112s got booted and then can rejoin just fine
3115s uh if we had a central leisure
3117s replicator if that replicator went down
3119s everyone gets booted
3122s so yeah so that's another uh another
3126s good uh benefit from our approach
3128s although the the really big gain we
3130s achieved with this was the elimination
3133s of the bottleneck uh and it actually
3136s lets us scale we are truly distributed
3141s we can just spawn new servers to a
3143s certain point of course and this is this
3146s is not and by the way like this is not
3148s just a strength obviously of the of the
3150s replication model of of the of the
3152s server grid itself you know being
3154s distributed in such a good way but when
3156s you have to bring such a monolithic
3158s server down because of that because of
3160s let's say whatever era you can't
3162s determine that has a Cascade effect
3164s across you know everything you're having
3167s to to affect the database to affect the
3170s login servers to have the player cues
3172s going off again the ability for this to
3175s truly be distributed and for us to be
3178s fault tolerant is an entirely different
3181s player experience when it comes to these
3183s large massive MMO RPG uh type settings
3187s yeah I mean it's it's very typical you
3189s know like with you know an MMO like that
3192s something else is happening in the world
3194s somewhere someone's hacking someone's
3196s you know there's a really large maybe
3197s there's a really large raid or or Siege
3200s happening and the the server Falls over
3203s and then everyone gets kicked with our
3206s model that doesn't happen the the rest
3208s of the server is fine performance is
3209s still fine in the rest of the server
3210s people can keep playing if that server
3213s goes down we you know we'll deal with it
3215s we'll spin it back up and it we'll just
3217s seamlessly rejoin the grid once it's
3219s once we're back in a good
3222s State and this like eliminating the
3226s replicator was um definitely not easy uh
3231s and it actually it caus us quite a few
3234s problems but let's investigate one of
3236s those problems
3237s and the solutions we came up to uh solve
3240s it
3243s so the because we did not want to create
3249s an really large connection network
3252s between all the different servers we
3254s essentially connect the servers to the
3258s nearby uh servers the neighboring or
3260s like some that are close
3263s by uh and that is fine in most
3265s situations over here here we can see
3267s there's two players in um two
3269s neighboring servers those those servers
3272s communicate so if those two players are
3274s in a party even though they might be a
3276s little bit too far away to see each
3278s other they can still see each other on
3280s the
3281s map however in a more complex situation
3284s where that other player is maybe on the
3288s other side of their realm now those
3291s servers do no longer have a connection a
3293s direct connection to each other so we
3296s have created a problem how can player
3300s one see player two when player two is on
3303s the other side of the world when if we
3305s had a centralized replicator sure we
3307s have the data just there we can figure
3309s it out but we do not uh what do we do
3312s about
3313s that and uh to solve uh that issue we
3318s created a concept called
3321s microservices microservices
3325s are Imagine them kind of
3328s like servers on top of the servers like
3332s um like some database for example but
3334s it's active it's not just storage
3337s they're doing
3338s work uh we have a node service that is
3342s responsible for um leveling up and
3345s keeping track of all the nodes and the
3347s um upgrades that have to be done to to
3350s nodes we have a population service that
3353s is doing the spawning across all the
3355s realms
3357s and we have a Social Service which would
3359s be for example what
3362s um what would affect the party example
3365s that we just uh talked about this means
3369s that server one and server 8 on the
3372s diagram can connect to that social
3374s service and exchange the locations of
3377s those two players that way player one
3379s and player 8 can have exactly the
3382s information they need to be able to see
3385s each other on the map
3388s and we act we yep what was it
3391s Stephen oh nope that wasn't me oh that
3394s wasn't you can't sorry my bad um so uh
3398s yeah and this actually gave us some
3399s extra benefits we were able to make some
3401s pretty cool tools with it because we
3405s wanted to be able to see to have like an
3407s overview of what happens to the entire
3410s realm we wanted to be able to keep track
3412s of all the players all the NPCs see all
3415s the different gatherable being spawned
3417s see all the
3419s trees and that's kind of hard to do if
3422s we just connect to a single server and
3424s then see what's on that one server and
3426s then jump on another server and see
3427s what's there so we created a service
3430s that keeps track of all entities in the
3433s world and a tool that can allow us to
3436s view those
3438s entities and this is a pretty cool tool
3441s because we can see the players moving
3443s around we can see them uh participa in
3445s events we can see the PC is dying we can
3447s see them collect
3449s Gables so if there's any issue with the
3452s spawning on GA of Gables we'll detect it
3455s and hopefully fix it it's I think the
3458s big thing to say here is like you know
3460s we can we can see the entire world state
3463s which we yes generally can't do because
3466s we're so distributed and everything's so
3468s server Central but since we have these
3470s Services we can make a debug service
3472s like this and we can see the entire
3474s world yeah watching
3477s yeah I also wanted to piggyback off of
3478s that Anton of your services um the
3481s services as well are also pretty much
3484s distributed like going for our model so
3486s that if one of those systems go down
3488s it's not taking down the entire all
3490s every game system so if we just if the
3493s chat service goes or the Social Service
3494s for example goes down you may just not
3496s be able to chat or form a party for a
3498s few minutes until it comes back up but
3500s you should still be able to interact
3501s with like your guilds your nod your mail
3504s Etc and we try making the service is as
3507s well fault tolerant like we explained
3508s earlier um so that way they can come
3511s back up go down come back up on the Fly
3513s get hot fixed and so that we can still
3516s provide that seamless experience while
3518s the feature may not be working
3519s everything else should still be working
3521s in the meantime right and because
3522s they're they're componentized in this
3524s you know microservices approach right
3527s there is not an interconnectivity where
3529s you have one failure in a single service
3531s causes a cascading effect across all the
3533s services right exactly they're they're
3535s independent of one another that allows
3537s for a recovery time a recovery process
3540s to stand back up while the other
3541s services continue their operations
3544s exactly and then these debugging tools
3545s allow us to see where those problem
3547s areas are or what what situation or
3549s actor might be causing a problem right
3552s exactly yeah we don't have all the tools
3554s slide for all the tools but we do have
3556s monitoring tools for all the different
3558s Services we know when they're lagging we
3560s know when they're down we know we can
3561s monitor pretty much everything it's
3563s pretty cool yes it's very cool
3566s cool now let's get let's get into the
3568s really fun stuff now next one is this
3570s one is something the community has
3572s actually been talking about quite a bit
3573s yeah I saw a bunch I saw a bunch of
3575s videos people are people are have been
3577s talking a lot about this yeah so go into
3580s it Anton because this is this is your
3582s thing yeah oh God I have been I've been
3585s looking forward to like since I joined
3588s the company I've been wanting to
3589s implement this and uh this is um an
3595s answer to a problem
3597s and that problem that is trying to
3599s answer is sure you have all those
3602s different servers but usually player
3604s activity tends to condense to certain
3607s areas let's say a large PVP battle is
3610s happening at some place um and when that
3614s happens that one server can be
3618s overwhelmed and you usually wouldn't
3620s want to just create tiny servers for
3624s everything because that can be
3626s incredibly expensive and
3628s wasteful but having those smaller
3632s servers would be really useful so what
3635s if you can do it dynamically what if you
3637s can detect when a server is overwhelmed
3640s and then split it this is what dynamic
3643s griding it is and it can be a little bit
3648s of a little bit tricky to implement uh
3650s the difficulty of it is that you just
3653s now split a server and you want the
3656s players to not realize they were casting
3659s abilities they were running around and a
3662s new server just spawned they were moved
3664s there and no one realized that is a
3666s difficulty there and something I want to
3668s add here is like these cases in which
3669s we're splitting a server they're complex
3672s because if we're splitting a server
3673s there's a lot going on so it's not like
3676s we can like there's just a couple people
3678s we can split them we can do like a a
3679s quick fade and it will be fine if we're
3683s splitting a server it's because it's
3685s it's underload
3687s and there's there's a lot of action
3688s going on so we want to keep that action
3690s going on and not interrupt it while we
3692s while we balance the load across
3693s multiple servers and and it's important
3695s to you know call back again to the very
3697s beginning of this conversation right how
3700s do you determine the types of
3702s architecture necessary you must first
3705s understand what is the mission statement
3707s of the game and Ashes is built with a
3710s lot of open world Dynamic and emerging
3715s player behaviors that are attempting to
3718s encourage High player densities at any
3721s point within the open World locations
3724s which makes this particular problem a
3727s requirement when determining
3729s architecture of how do we address this
3732s right and I'm not familiar with and you
3735s know Zach Anton Hunter I'm not sure if
3736s you guys are but I'm not familiar with
3739s any other Tex stack or networking
3741s approach that has a dynamic griding
3743s solution in order to better accommodate
3746s and facilitate that emergent player
3750s density Behavior yeah I mean we we are
3753s we are not the first people to try this
3755s this is this is something that a lot of
3756s people have tried it's it is you know
3759s the the answer to to scalability if you
3762s if you can get it right and that is you
3764s know that is our our mission here is to
3766s get this right we want to be the people
3768s that solve this problem and because if
3771s we solve this the the the the level of
3775s battles and uh dynamicism I guess we'll
3778s be able to have in ashes is going to be
3780s unparalleled to any other game yeah and
3783s to make something clear we're not
3785s talking about the far future 5 years
3787s from now uh this is current currently in
3791s development and we are uh hoping at
3795s least to have it available by Alpha 2 um
3799s and the server meing part of it is
3800s already in game yeah the dynamic aspect
3805s of yeah so the static part yeah is
3806s already is already going it's been going
3809s for manys now yeah years years now um
3812s and you know the the all of our Dev test
3815s servers people are on them every day
3816s running it it's fine uh this is this is
3819s like you know if you where where we're
3821s investing our Dev time right now is
3823s getting this
3825s perfect get getting this ready for the
3827s entrance of Alpha 2 yes and hopefully
3831s ases of creation is going to be uh the
3833s first game that implements this
3835s technology and actually deploys it yes
3837s that would be really fun you got to work
3840s quickly guys if you want that moving
3845s moving very cool this is
3847s exciting right do you want talk about
3850s the it up to uh to Hunter yeah yeah I I
3853s guess now that we've you know all these
3856s slides before this we were talking about
3857s Distributing the problem separating the
3860s problem um into multiple servers so we
3863s don't have to deal with like you know
3865s thousands and thousand thousands of
3866s players and on on the same server doing
3869s replication um but you know we still
3872s have like the core problem here right we
3875s can only split servers so far we can't
3877s you know make them like 10 meters by 10
3879s meters we can't do that it's going to be
3880s too small um so we need to we need to
3883s still support you know a high you get a
3885s server you get a server exactly exactly
3889s so we still need to solve the like the
3891s core problem of how many players can we
3894s get on a server have them replicate and
3896s simulate at the same
3898s time so uh I'll pass it over to 100
3902s he'll kind of go into like I guess the
3904s problems that we have when we're when
3906s we're with with with unal replication
3908s and how we've gone about uh speeding
3910s them up so we can uh support many many
3913s many uh hundreds of players on a
3916s server yeah um so kind of piggybacking
3920s off what Zach said like what do we do
3922s when a large amount of players are say
3924s following your favorite streamer into a
3926s a small area and then like we can't just
3929s keep dividing our servers into such tiny
3931s areas and
3934s that you're needing a single server
3936s that's still of a reasonable size to
3940s then be able to process the heavier load
3942s and replication that's happening in that
3944s exact area at that exact
3946s moment um so in order to do that we have
3950s to then figure out how we can increase
3952s the number of players and entities that
3954s a single server can support
3956s and this doing so will also help us
3959s increase our overall like concurrent
3960s user limits per realm um because as a
3963s rough napin math of course you know you
3965s take the players per server multiply
3967s that by the number of servers and
3968s there's your CCU right it's that easy
3970s yeah that's how it
3973s obviously um so I'm G to kind of go into
3976s now uh we're going to touch back up on
3978s kind of what we explained earlier like
3980s why is replication
3982s expensive like what's going on um
3987s so we kind of wanted to explain that
3990s like on this slide here for example you
3992s can see an example of a CPU performance
3996s profile that we took during a large
3998s scale bot
3999s test um you can see here that like the
4002s single frame we're staring at took 150
4004s milliseconds for example now 150
4007s milliseconds may not seem like much but
4009s when you want to for example you're
4011s talking about servers and tick
4013s rates um and if you're trying to Target
4015s say 30 or 60 frames per second or ticks
4018s per second server you only get a budget
4021s of about like 33 milliseconds or 16 Mill
4024s seconds per frame in order to keep that
4026s stable High tick time can you talk a
4030s little bit about what you're referring
4031s to when you're when you're talking about
4033s tick rates and ticks people
4035s not
4037s so as your game server runs
4041s every it it runs and processes basically
4044s the entire world at like an interval of
4046s ticks or frames is what it's called the
4049s faster you can do all that processing
4051s the faster your gameplay and experience
4053s is going to be um if you're targeting
4056s say roughly 30 to 60 frames per second
4058s which is a pretty good um targets to
4061s have for like a game server of like an
4063s MMO that needs to be very fast-paced and
4065s have like very good performance is
4069s different than client FPS yes but but
4072s they but they they might like 30 is not
4074s acceptable
4076s so they're vaguely coupled so you one
4079s one of the things you would notice like
4080s if server performance went down is you
4082s would notice rubber banding like when
4084s you see like people just jumping around
4085s the world or you would notice your
4087s latency goes up and you would notice
4089s that by like you're you know you're
4090s trying to you know do PVP and you feel
4094s you know you you you cast Fireball and
4096s you feel the latency between the time
4098s you casted it and when it actually
4100s executed on the server so the the this
4103s this this time these like these tick
4105s times that were talking about that's
4107s what it correlates to for the player
4109s right because normally when you do an
4110s action the client triggers something it
4112s tells the server hey do this and the
4114s server then replicates back to your
4115s client if these frames are taking a long
4118s time to process in between that means
4120s your server just has artificial latency
4122s and it's taking a lot longer to then
4123s process that incoming message to then
4126s return back to you um so like in this
4129s 150 millisecond scenario if our game was
4132s steadily running every frame at like 150
4134s milliseconds of time to process
4136s that would drop our server down to
4138s roughly like six ticks or six frames per
4140s second which then you will really
4142s heavily around that time start filling
4144s like latency rubber banding uh dropped
4147s packets Etc and and then that's not
4150s acceptable for an action combat PVP MMO
4153s like it just doesn't work
4156s right so I played those games it
4160s definitely doesn't
4161s work we all have blamed lag before right
4164s right so so we know that this is
4167s unacceptable what do we have to do to
4169s optimize this right so now this kind of
4172s tells us replication and now it's like
4174s okay let's dive a bit deeper into why
4176s this replication is very
4179s expensive um one of the big excuse
4184s me one of the big um major factors
4188s replication can be slow is because first
4191s when you want to do your replication you
4193s have to gather and determine basically
4195s relevancy of every actor in the game to
4199s not only your connection but every other
4200s connection that's being processed in
4202s that
4203s frame so relevancy is used and needed to
4207s determine basically how far away an
4208s actor is from your player and then there
4211s might be some other like comment some
4213s other checks that they may need to do
4214s like is it visible or not but for
4217s Simplicity sake we're just going to base
4218s it off a distance for
4219s now so then it's basically comparing
4223s that distance to you and saying okay
4226s are you eligible for me to replicate to
4228s you because we obviously don't want
4230s things being considered to replicate to
4232s you if it's like across the world like
4234s you don't care what's happening on the
4236s far Northern end of the continent while
4237s you're all the way down on the southern
4238s end like that's just that's just going
4240s to waste a lot of processing and
4243s bandwidth um so the relevancy checks
4248s like this gets way more expensive the
4250s more players and more actors you have
4251s that are replicated because then it's
4254s for every actor for every player
4256s am I within range of them yeah and when
4259s we're talking about an MMO where you
4261s know you're going to have thousands of
4262s players on the server thousands of NPCs
4264s uh tens of thousands of replicated
4266s actors you know you can't you just can't
4268s check all you can't do a distance check
4270s on all of those things in a reasonable
4273s amount of time right and so this is an
4275s optimization here for networking
4277s purposes but it also leads to them
4279s slowing down your CPU resources because
4283s again you have to do that like every
4284s tick or at every ever interval you set
4286s to do these
4287s checks um as we if we looked at the
4291s previous example for example I believe
4293s the I don't think it shows in the
4295s profile but roughly a little bit over
4297s onethird of that total time in that
4299s profile was just doing the relevancy
4303s checks um a good thing about our model
4306s though because all of our servers are
4308s distributed they only have to do those
4310s relevancy checks for just everything
4312s within that then distributed Zone as of
4316s if we had that Central replicator it
4317s would that replicator would then have to
4319s still process every single player every
4321s single actor Etc in the world in some
4323s way shape or form to then determine if
4325s it should be relevant to you or not so
4329s by splitting up and doing the
4330s distributed server load like we're doing
4333s this allows us then to kind of reduce
4334s that problem area but it's still a
4337s problem yeah it's still really big
4339s because it's still a really big problem
4340s now adding more servers to the solution
4342s that can make it smaller and smaller but
4345s eventually there's like we want to get
4348s it as fast as possible so it's like how
4350s how how do we make this better how do we
4352s make this faster to be clear that
4354s profile was using uh inter it had a
4358s server messing and it still was 40 35%
4362s uh uh relevancy checks so we need to
4365s reduce those relevancy checks uh how how
4369s do we do that how can we tell unreal not
4373s to do all those unnecessary checks
4377s well unreal in recent years introduced
4380s something called the replication graph
4382s and that is something that gives the
4387s developers
4389s the ability to write a custom solution
4392s into how to handle all those uh relevant
4396s checks and how to determine which player
4398s should see which actors when it comes to
4402s replication uh and this can actually
4405s actually lead to some really great
4408s performance games we'll look at it in a
4410s bit uh but let's start and to and see
4414s how we use this replication graph to
4417s solve specifically this relevance
4420s check on the map over there we see uh we
4425s you still cannot see too far away but
4427s there are a couple actors that are
4430s really close to the player that Goblin
4432s over there in a loot box and there is
4436s also um a bear a little bit on a medium
4440s distance away and a bunny really far
4442s away now imagine that keep stretching
4445s for 500 meters more and there's 200 more
4448s bunnies and without the replication
4450s graph we would have to check every
4453s single one of those bunnies and say is
4455s this within my distance is this within
4457s my distance and that's that's a problem
4460s that's expensive to do so what we're
4463s going to use the replication graph
4466s um to do is we are going to create this
4469s grid where we eliminate all the cells
4473s that are far further away from us and
4475s only check the nearby
4477s cells that allows us to only check these
4480s three actors that are around us skipping
4482s potentially hundreds of others actors
4484s that are further
4486s away and uh this can lead to a pretty
4489s big performance Improvement we noticed
4492s and this is like highly varying
4494s depending of the scenario scario of
4496s course but on an average scenario we
4499s noticed about a 1.5 times performance
4502s Improvement like a 35%
4504s reduction uh in our replication
4508s cost this is this is pretty
4511s good uh but it's still not fast enough
4515s and if we analyze the problem a little
4517s bit we'll see
4519s that we are we we're talking and
4522s thinking about like the NPCs and the
4524s bear and the
4526s goblin but we are also comparing our
4529s distance with all the trees with all the
4531s bushes that you can pick up with
4533s potentially some buildings that are
4537s destructible why are we doing that can
4540s we do something to improve this and the
4542s answer is yes we can uh what we can do
4546s is we can monitor and see when these um
4552s ores or these trees are changing
4555s Ing and when they're not changing we can
4559s move them out of our grid so we're not
4562s even considering them at
4564s all uh we might have 2,000 trees in the
4567s area well we're not even going to look
4570s at them because none of those trees just
4571s got cut down if someone is cutting them
4574s down then yes we're going to move them
4576s temporarily into the special grid and
4579s then once they're done cutting out and
4581s everyone sees that they were cut down we
4583s put them back to the dormy bucket
4586s it's essentially looking imagine like
4588s the actor is going to slip for it a
4590s little bit and this this gives us a
4594s really really large Improvement we
4596s noticed in our test about five times
4599s Improvement in replication
4601s times so so
4604s far uh if we also include the previous
4606s optimizations we've improved our
4608s replication performance by seven
4610s times and yet that's still not fast
4613s enough it's still not fast enough one of
4617s mainly because of our worst case
4620s scenario and that worst case scenario is
4623s people keep packing in that one small
4626s area there's an event happening there's
4629s some point they need to capture 200
4631s people run in the same area yes she can
4633s ignore the um relevancy to some Far Away
4637s tree that's great that's a game that's
4640s uh more than welcome but if 200 players
4644s can see each other
4646s that means that 200 time 200 you're
4648s sending 40,000 updates per tick yeah and
4654s I guess one thing to add there Anton
4655s this is typically when a game would
4658s introduce a new layer or um a new Shard
4661s this is like typically that case um but
4664s as we talked about earlier one of our
4666s goals is we don't want we don't we don't
4668s want to do laying we don't want to new
4669s sharting we want everyone who's in the
4671s same area to be able to see each other
4673s right and you could you you could then
4675s use like Dynamic greeting to help in the
4677s scenario but again we can only make the
4679s servers so small and dynamic before we
4682s kind of run out of that room so we still
4684s have to improve the scenario that's kind
4686s of happening around you indeed so we
4690s need to figure out a way to further
4693s improve this worst case scenario and
4697s this is where we kind of hit an engine
4701s limit um and this engine limit is that
4706s the replication graph of Andre
4709s is the replication tick in general not
4712s just the replication graph is single
4714s threaded and that's because the engine
4718s in general is single threaded now what
4720s does that mean what does single threaded
4722s mean it means that all the processing
4726s happens in one core of the
4729s CPU uh and uh we can move on to the next
4733s Slide by the way but
4735s but
4739s the that means that even though the
4741s server might have four cores um all the
4746s other three cores are going to stand
4748s there and wait for the first thread to
4751s do all the
4753s processing uh this is done normally in
4755s unreal because it's it was not designed
4759s to be
4760s multi-threaded uh it was it is a very
4762s single threaded engine and and
4765s replication is probably the most
4768s single-threaded system out of all the
4770s systems in
4771s unreal uh so making it multi-threaded is
4777s incredibly difficult and uh at least I
4781s am not aware of it being done before I
4784s tried to do some research around it at
4786s the time and uh everyone was saying
4789s basically that it's
4792s impossible but uh we did it anyway uh we
4795s persevered through and uh we
4798s multi-threaded the unreal replication
4801s Tech and uh well looking at the
4805s results they did not disappoint uh we
4809s actually gained and there's a graph
4811s showing it on the next slide but we
4815s gained a
4817s 2.5 times Improvement 2.4 times to be
4821s more exact in a replication Tex huge
4825s yeah it was a really really big
4827s Improvement in uh a replication and it's
4831s probably necessary to achieve the player
4834s counts that we're targeting for I don't
4836s I don't think it would be possible
4837s without doing
4838s this uh and the the really important
4842s thing to note about this optimization
4845s and why it's like such a big deal
4847s compared to like the five times
4849s Improvement we saw before from dorcy is
4853s that this Improvement
4857s helps equally even on the worst case
4860s scenario the other ones in the worst
4862s case scenario they're helpful but
4864s they're not that helpful
4866s this is incredibly important even on the
4869s worst case
4871s scenario and if we add it on uh all the
4874s other improvements we've done so far
4876s we've actually achieved a total
4879s Improvement of total reduction or
4882s replication take by 94% so are only at
4885s 6% of the original cost for uh
4890s replication uh this was actually a huge
4892s win for uh our team um but um
4898s it there are still there's still many
4900s more things that need to be
4902s done uh ases of creation is
4906s um an incredibly ambitious MMO in terms
4909s of scale uh and uh we need to do
4915s a lot of work in order to heat our goals
4918s and you know this is this is obviously
4921s again going back to the start of this
4922s whole conversation what is ashes of
4924s creation trying to be and what does it
4927s then require of the Tex act we are using
4931s in order to become that and when we said
4934s in 2017 that we are looking to bring
4936s massive back to massively
4939s multiplayer having an engine with the
4941s graphical Fidelity the front end that
4943s unreal provides
4945s is
4947s so is so important to the immersive
4951s nature to the beauty of the world to you
4954s know the quality of the setting but then
4957s coupled with a proprietary backend that
4962s can facilitate the same player
4964s experience that a massively multiplayer
4967s World wants to
4969s provide that's the dream that is what
4972s ashes is trying to be exactly
4977s phenomenal work here guys this is this
4979s is huge yeah I I I'd like to like take a
4983s moment I guess to shout out the team the
4985s team has done an incredible job you know
4987s we
4989s are we we we are we are pushing MMO Tech
4991s to where it's never gone uh and we
4993s continue to we we intend to keep doing
4996s this moving forward Hunter Alex Kevin
4999s Andrew Anton Adam ish Doug you know they
5002s they've all done amazing work uh you
5005s know to get us to this point where we're
5006s at today and I'm sure they'll keep doing
5008s it moving forward um if you're
5011s interested in working on problems like
5013s this you know yes send us an application
5016s you know we're always looking for people
5017s who want to work on this who have
5020s experience working on te Tech like this
5022s please send this an application we we're
5024s we're always interested and we know that
5026s like this this this showcase this this
5028s Tech talk this Ted Talk this this GDC
5031s talk you know what whatever whatever we
5033s want to apply to this this uh to this
5036s indepth technical discussion is going to
5039s appeal not just to to people who are
5042s aspiring obviously uh within this field
5044s to learn it to do it to you know this is
5047s their career going forward but also to
5049s those of you who have been within this
5052s field work and who yearn to work on the
5055s types of problems that we're discussing
5057s here in this showcase um we have a
5060s phenomenal culture at Intrepid we have a
5062s phenomenal project in our hands that is
5065s you know no shortage of problems that
5068s need to be solved um and one thing that
5071s our community has done a phenomenal job
5073s with is is helping to evangelize the
5077s project and the company and we're here
5079s to say that we have apps open we have
5082s positions that are available and if you
5084s want to be a part of this team um or if
5087s you want to help others find this team
5089s so that they can apply please share this
5092s link share this uh video with s go on
5096s you know social media and let people
5097s know we're working on some pretty Next
5099s Generation Tech that is going to change
5102s the face of massively multiplayer when
5105s it comes to a genre so you know very
5107s excited and proud of what your team has
5109s accomplished you guys I know are working
5111s every single day and doing a phenomenal
5113s job um congratulations just very well
5117s done thank you thank you and it's great
5120s to experience it in game two and I know
5122s that you know our PI folks have already
5124s experienced that in our node Wars test
5126s as well so maybe they didn't even
5128s realize it um yeah they might not have
5131s noticed um but there were definitely
5133s server workers working hard in that um
5136s and we were capturing data so we super
5138s duper appreciate it and as we head into
5140s Alpha 2 we're only going to get more
5142s data and be able to continue to push on
5145s and as uh the folks here have stated um
5148s moving towards more of that Dynamic
5150s State yeah um it's been in progress It's
5153s going to be in progress still for many
5155s years as we continually find new ways to
5157s advance it and make it better um we're
5160s committed to providing kind of like that
5162s quality we want for our players and as a
5164s lot of us have played MMOs in the past
5166s we just like networking was the big
5170s stopper for a lot of things and we're
5172s trying to do something different and
5174s trying to make that a better experience
5177s for not only our game but many more
5179s games to come if other companies were
5181s able to like wanting to adapt to a new
5183s tech style or try to figure out their
5185s their networking
5187s issues yeah and of course all of us here
5189s are huge MMO fans and I know those of
5192s you who are watching are as well
5193s obviously if you're sitting through this
5195s um but of course the the plan for us is
5198s to continue to create an amazing game
5201s and push forward and continue to change
5203s things even after post launch we'll
5204s continue to try to drive things forward
5207s so thank you for joining us and thank
5208s you to Hunter and Zach and Anton for
5211s your time and putting together an
5212s amazing deck a little extra shout out to
5214s Mike for putting together all the graphs
5216s gra Mike did such a good
5219s job Kyle for helping capture some of the
5222s little footage pieces to make sure that
5223s they looked great we super appreciate it
5225s any final words Stephen to WP yeah
5227s absolutely just you know out in the
5229s community let us know you know these are
5231s always the more risky takes that we
5233s provide insights to in our monthly
5235s updates because they are so Tech heavy
5237s and you know we know that this has an
5240s appeal to perhaps a smaller audience but
5243s give us your feedback give us your
5245s thoughts what did you think of this
5246s presentation how do you enjoy you know
5248s learning a little bit more indepth under
5251s the hood conversation about what it
5253s takes to make these types of games to
5256s make you know ashes of creation that
5259s that dream of all of ours um how does it
5262s appeal to you what are your questions
5263s what are your thoughts um leave us
5265s comments in the YouTube channel in the
5268s uh in on Twitter and different social
5269s medias and Discord and on our forums
5272s obviously the community team continues
5273s to do a bang up job of collecting your
5275s insights and bringing it back to the
5276s team um but we enjoy you know sharing
5279s this and and giving giving our perhaps
5283s um perhaps more sheltered uh
5286s developers who are who are in the behind
5289s the scenes making all the magic and
5291s everything work an opportunity to come
5293s out and talk about how they are
5295s literally the magic that makes the
5297s wheels turn for this bus um and it it's
5300s it's a great opportunity I think for
5301s them to come out see a little daylight
5303s and let and bask the of what is the
5305s glory that our community looks to them
5307s and says thank you for providing an
5309s opportunity to enjoy a game at this
5311s scale because it would not be possible
5313s obviously without your guys's hard work
5316s um and so with that I think we'll see
5318s you guys back on stream we'll see you on
5321s the flip
5329s [Music]
5332s side welcome back everyone we'll play
5334s the video in the background so you have
5336s something visually to watch while we
5339s discuss some things but of course uh we
5341s do we do grab a few questions from the
5343s chat uh most of them I feel like a lot
5345s of your questions we answered throughout
5347s later in the deck um but it seems like
5350s you guys like the presentation so again
5352s Mike thank you for putting that together
5353s and for Hunter Anton and Zach for
5356s putting together such an amazing very
5358s thorough uh explanation of the things
5360s that we're working on technology- wise
5362s but with that comes some information
5365s that we want to share with you guys of
5367s course we always like to be transparent
5368s we like to give you guys a heads up on
5370s what's coming and what we're doing and
5372s one of the things is that with this
5373s technology you know we had stated
5375s previously that we weren't going to
5378s expand we closed down our Alpha 2 packs
5380s for a reason and that reason was we
5382s wanted to make sure that we could
5383s service all the users that we had um one
5385s of the things that we really want to
5386s make sure of is that no matter who we
5388s have joining us that they're going to
5390s have a good experience obviously Alphas
5394s an alpha things are going to be buggy
5396s this is not a game we've always
5397s continually said that it's going to be a
5399s testing phase but with that we still
5401s want it to be a decent experience for
5403s those of you who join us and because of
5406s this amazing technology that these guys
5408s have been working on we can now service
5410s more users which means that we will be
5413s opening up Alpha 2 key access sales in
5416s the near future as we get closer to
5418s alpat 2 or with along with Alpha 2 so
5421s kind of stay tuned for that we do want
5422s to make sure that folks are aware of
5424s that but some caveats um these will not
5427s be pre-order packs these will be key
5429s access so these will be you know to
5431s access the product once it's available
5433s and then of course the pricing is still
5434s TBD but we will we're going to try to
5437s make sure it's fair as possible
5439s especially for those of you who have
5440s already purchase packages we understand
5442s that you're like hey I purchased a pack
5444s package we want to make sure that that
5445s price is comparable so we are Stephen
5448s and I have gone back and forth and we
5450s we'll make sure that it is fair for you
5452s guys and they will not be um when we do
5455s release the access to
5457s to they will not be um additional
5460s rotating Cosmetics either um so these
5463s will be static key access that players
5465s will have an opportunity to purchase in
5467s and access Alpha 2 and participate
5469s because ultimately Alpha 2's purpose is
5471s to test the game and more players
5474s testing the game is better um we wanted
5476s as Margaret said be sure that the tech
5478s that we are utilizing for Alpha 2 uh is
5480s capable of facilitating that um that
5483s Dynamic server griding and by the way
5484s watching the watching the commentary
5486s watching the feedback during the uh
5488s during the discussion was interesting
5491s there's a lot of people who I I didn't
5493s expect we're going to be really
5494s interested in the
5496s conversation um and it seemed like you
5498s know we I was watching the viewership
5500s was staying still around you know what
5502s it was I was like okay this is better
5505s than I expected we knew not everybody's
5507s G to be interested and we I we try to be
5509s uh set expectations like we've made it
5512s very clear that this is what we're going
5513s to be talking about for like a month now
5516s so hopefully everyone was prepared we
5518s tried to like make sure our social copy
5519s was like hey it's going to get nerdy
5521s we're going to talk a lot of tech so you
5523s know that's not your thing that's okay
5525s it definitely did we could have got more
5526s nerdy I feel like um but also I wanted
5529s to note that the upgrade packs uh for
5532s the previously purchased packs are still
5534s going to be available so if you already
5535s purchased a pre-order pack those
5537s upgrades are still available to you as
5539s well so those aren't going away um at
5542s some point obviously Alpha 2 keys will
5544s go away and of course those upgrade
5546s packs will go away um but those will be
5549s closer to the end of Alpha 2 and Alpha 2
5551s is meant for to be a much longer um
5554s running um testing phase for us and
5557s we'll be we'll be having updates that
5559s will be coming frequently for those bug
5561s fixes that will be coming frequently for
5563s those so um in the persistence wise of
5566s aspect of it um because I think that
5568s that is something that needs to be set
5570s because people have different
5571s understanding of what persistance means
5572s we will have times where this servers do
5574s go down so that we can do updates so
5576s that we can check things and make sure
5578s things are good our goal is to not have
5580s to wipe but obviously if there are
5582s situations where we have to we will do
5583s that um but persistency is the main goal
5586s for us we want to get all that data that
5587s we possibly can when it comes to
5590s persistence absolutely that's not it we
5593s also have another announcement of an
5595s announcement another
5597s announc we I think people will like this
5600s one though that's yeah you think I think
5602s some people will like and some people
5603s won't uh so we are also going to start
5607s expanding our NDA testing um obviously
5610s we've been working with pi you guys have
5611s known that we've kept them pretty NDA we
5614s did uncover the vocal NDA in regards to
5617s the node War spot testing um but
5619s obviously we're doing other testing and
5620s by the way that's that's been a lot of
5622s fun to watch and I'm very encouraged to
5624s continue doing that as part of
5626s additional testing going forward because
5628s it's been great to see our test groups
5631s go out and sit on different content
5633s creators platforms and talk about what
5634s their experiences were and allow you
5637s know more than just us as an interface
5639s to you know what development is looking
5642s like right now what the game state is
5643s looking like right now so I'm very
5645s encouraged by those interactions I think
5647s we have a phenomenal content creator
5649s team group out there that is following
5652s the game who are you know servicing a
5654s lot of different viewers and communities
5656s who want to learn about what's happening
5658s they have great channels to go to and do
5660s that and you guys are choosing great
5661s guests and having really good
5662s conversations so kudos to you guys as a
5665s tangent because you brought that up um
5668s we are going to be putting up a role for
5669s a content creator relations manager and
5672s as soon as we fill that role you'll be
5673s starting to see some of those uh that
5676s program starting to come online so just
5678s you know that's very exciting for us we
5680s have so many applicants who have come in
5682s and one of the things that Stephen and I
5684s had discussed is that we really want our
5686s content creator program to be a very
5688s interactive thing you are part of like
5689s our family um so we want to help you you
5692s help us you know it's going to a mutual
5694s thing it's not going to be like a
5695s program that you've seen before and we
5697s did you know provide a little bit of an
5699s outline of what that program looks like
5701s and a lot of people were pretty excited
5702s about it but you know the bigger you
5705s grow the bigger we grow so we want to
5707s help you just as much as you help us and
5709s we aren't looking at just big content
5711s creators we're looking for really just
5713s quality content uh creators who are
5715s consistent so you could have 200
5717s followers you could have 200,000 so it
5720s just to us that's not what we're looking
5722s for what we're looking at is we're
5723s really watching all your content we're
5725s looking at all your social yes exactly
5728s which is very timec consuming and we've
5729s already started funneling through some
5731s of that stuff and looking through it but
5733s obviously once we fill that role that's
5734s going to be the person who's going to
5735s help us manage it cuz it's going to be a
5738s full-time job um it might we might need
5740s more people than just one um but to go
5742s back to the announcement of the
5743s announcement um we obviously have a pi
5747s joining us and testing but we need more
5750s testers so we are going to be starting
5751s to expand that we're going to do a slow
5753s roll of what that expansion looks like
5755s and so for these initial testing we are
5757s going to be starting to add some of the
5759s alpha 1 users now how we're going to
5761s pick that I know that's going to be a
5762s big contentious thing but we uh are
5765s definitely going to do our best and so
5767s the first thing that we want to do is
5768s for this first round is we're going to
5770s add the top 500 from the alpha 1
5773s contributors so that is looking at
5775s people who actually participated in game
5777s in alpha 1 we are going to be grabbing
5779s those users and then we're going to have
5781s another 500 that will be randomly chosen
5784s you guys will all be emailed the goal is
5786s to email you within this July time frame
5788s and uh you'll be joining us in testing
5791s like soon and and this is really this is
5793s you know this approach of invitation to
5797s um randomize but also activity like we
5800s know all the people who participated in
5802s alpha 1 what they did the statistics
5804s around how often they played what level
5806s they got to the you know amount of time
5808s that they played and the detail they
5810s spent in their Forum accounts and their
5813s notes and response like those are our
5815s dedicated testers from the alpha 1 group
5818s so we want to give them a first stab
5821s exactly we want them we want them back
5822s first stab as we begin to expand outside
5826s of the P1 Group excuse me I'm sorry
5828s outside of the uh um Pi group uh into
5832s alpha 1 testers over the month of July
5834s and then into August as we expand that
5836s to include many more Alpha One testers
5840s all all of the Alpha One testers
5842s eventually right uh before A2 so this is
5845s just how we start to ramp that up in in
5847s the first stages and that's just
5849s ensuring that you know we give you guys
5850s a decent experience as we move forward
5852s and that's not to say that uh you won't
5854s run into bugs not to say that we won't
5856s have some client performance issues or
5858s whatnot but like we are going to be
5860s testing a lot of bigger pieces and we're
5862s for a little longer test runs um
5864s obviously these will be all under NDA
5866s there may be cases where we unlock some
5868s of that vocal NDA like we have stated
5870s before we might unlock some images that
5872s people take um like screenshots um we
5875s let them screenshot but only within our
5877s like private uh channels um obviously
5880s not externally um but yeah so we are
5883s we're we're excited we're excited to
5886s exciting news very exciting and you know
5888s obviously I know that runs into folks
5891s asking other things about Alpha 2 but uh
5894s I will let uh Brian talk a little bit
5896s about that when he goes into Studio
5897s update I do have some questions that we
5899s do want to answer in regards to server
5901s meshing technology so I'm going to reel
5903s us back in but that was relevant to it
5905s I'll try my best I'm I am cracking my uh
5909s technical brain skills let's go I think
5912s Brian said earlier he was like I think I
5914s got smarter after watching that yeah I
5918s did I did all right so our first
5920s question here is what is your plan and
5922s what systems are in place to avoid the
5924s first few months of server cues
5927s congestion and when players drop off how
5929s do you plan on handling that if such
5931s when the time comes
5934s sure um you know that I I think that
5937s obviously is a problem that every MMO
5939s launch suffers right I mean that is you
5941s know the balance between your active
5944s users your expected Peak concurrencies
5947s right um where that fall-off begins and
5950s how you consolidate servers you don't
5952s want to expand too much at the beginning
5954s to alleviate server cues and then end up
5956s with like 30% POP servers that you have
5959s to consolidate later the same is going
5961s to be true for Alpha 2 right and so
5964s we're going to be leveraging obviously
5965s we know how many users we have available
5969s uh when it comes to Alpha 2 entrance and
5972s then as we uh as we allow additional
5975s people to purchase in with these new key
5976s sales that we'll be doing later um we're
5979s going to get an idea of what that is
5980s generally I would expect you can you
5982s know we're going to see 30 to 40% Peak
5984s concurrencies when it comes to like
5985s opening the servers when it comes to
5987s Prime Time when it comes to events that
5989s happen right and
5991s so when we talk about um server queuing
5995s and and and the and the server
5997s congestion we want to make sure that we
5999s have healthy Alpha 2 servers so we're
6001s going to leverage server queuing as much
6003s as possible that means that sometime
6006s those server cues might get into the
6007s thousands um during those peak times
6010s during the servers spinning up or during
6012s those Prime Times or events um and
6015s that's okay it's not going to be the
6016s most fun for a lot of players to have to
6018s sit in a queue obviously we've all done
6020s that before in MMOs that we played but
6022s the alternative is that we have too many
6025s servers available we don't have those
6027s cues during peak times and then when
6029s it's not peak times those server
6031s populations dilapidate and that's not
6033s what we want to have obviously um but
6036s we'll have live operations watching
6037s those making sure we're looking at the
6040s health of our our realms for this case
6042s we'll say Realms because servers mean a
6044s different thing and it can get confusing
6046s um so we'll make sure that we have
6047s enough Realms to to accommodate for the
6050s users that we expect corre and and we
6052s are able to spin up new Realms at a
6054s moment's notice right so so as we
6059s watch at a devops no
6063s moment yeah I just want I I want to say
6066s that because like when we said it before
6068s the guys were like uh they're like we
6070s can do it quickly but not like well and
6073s I mean generally you have a new new
6076s realm on standby right that's spooled up
6078s and ready to go and you need to pull the
6079s trigger on it or not we just don't
6081s unlock the tags for you guys to be able
6083s to get in so we have those those ready
6085s we just don't unlock them for you but
6087s it's easy for us to do all right then
6090s the next one here is is there a higher
6093s likelihood for bugs or server hiccups
6095s near the edges of servers and during
6097s testing of this meshing have there been
6100s issues surrounding item duplication
6102s server you know hiccups back and forth
6104s between travel Ser on these server
6106s borders so like a lot of people had
6108s questions regarding this because sure
6110s people are worried about speed hackers
6111s and stuff like that yeah absolutely I
6114s mean around these borders and especially
6116s early on as we as we um rolled out this
6120s multi-grid formation we're looking for
6122s bugs when it comes to server Authority
6125s transfers when it comes to these proxies
6127s across boundaries you know all those
6128s types of things however um these days
6131s not so much right because we've been
6133s spending the last nine 10 months or so
6136s the networking team around identifying
6138s those bugs across border issues we
6140s started with a one by one and then we
6142s did a 2 by two 3 so' we've been scaling
6146s it up and testing and yes we we found
6149s bugs before that's right but um what you
6152s say about you know as as we kind of
6154s enter into Alpha 2 and as we continue to
6157s expand our testing to include now
6159s additional real clients um that is where
6163s the networking team obviously focuses on
6165s they watch those things they get reports
6167s and profiles around where those errors
6170s can occur and they address them as
6172s necessary
6175s all right uh the next one is does in
6177s trepid currently have a plan on how to
6180s accomplish dynamic griding or is it just
6183s we want it but don't know how um and oh
6186s no we talked about it so so right right
6188s right now that right now Dynamic griding
6190s is in place right now what we are doing
6192s is we are optimizing fixing performance
6196s around that and the the current goal
6199s which is on target is that Dynamic
6201s griding will be online by the start of
6203s Alpha 2
6204s um so you know all of our Tech was built
6208s to get to the point where we can do
6211s Dynamic griding um this has always been
6214s the end goal overall so Dynamic griding
6216s is still in active development right now
6218s but um the plan is that by Alpha 2
6221s entrance criteria we will have dynamic
6223s griding in a bug sturdy place that is
6226s optimized and and uh working as we need
6229s it right and how does the longevity of
6233s servers speak to the relevancy problem
6236s um it is eventually going to be
6239s non-financially viable in this person's
6241s opinion to maintain that amount of
6242s server Farm space to keep the
6245s performance optimal I had to put that in
6246s there because I just yeah yeah I mean
6249s you know when you talk about um when you
6251s talk about infrastructure right there
6254s there's a duality in modern day times
6256s between what's available in the cloud
6258s and there's you know business
6260s relationships that get formed between
6262s Cloud providers like an AWS or gcp uh
6266s where you can have you know reserved
6268s instances available you want to optimize
6271s you know your server types and machine
6273s configurations that are necessary so
6275s that you know costs are not prohibitive
6277s against the number of expected users per
6279s instance that it can facilitate um and
6283s we run all of those projections we have
6285s that regularly that we are optimizing
6287s also the types of machine uses that we
6289s require and that's from a cloud
6291s perspective now when it comes to testing
6294s especially for Alpha 2 will be heavily
6296s leveraging Cloud instances in order to
6298s provide the types of of of of
6300s infrastructure that we require because
6303s it's easily scalable and we can Flex
6304s into that relatively um uh in an on
6307s demand fashion however as we move
6310s towards a proper launch scenario we will
6314s have bare metal that we service
6316s ourselves from a service center
6318s perspective uh that we U utilize and
6321s still have the ability to flex into the
6323s cloud when we need to flex uh for
6326s numbers that we didn't account for for
6328s popularity we didn't account for that's
6330s the that is the finess of these types of
6332s systems and how we are agnostic of
6334s whether or not we deploy our clusters in
6337s a bare metal service or in the cloud
6340s where we can do either or um so so for
6343s us you know everything we do to
6345s calculate cost per user is associated
6348s with how we're optimizing for the types
6350s of instances that we can use and for
6352s Alpha 2 that's looking pretty good yeah
6355s so we're not concerned on the financial
6357s side of things I think everyone always
6358s asks those those type of questions but I
6360s figure Mak they're great questions L
6363s that's a good question about that so I'm
6365s like I'll add it to there we talk about
6367s this stuff regularly all the time I know
6370s Brian and I Brian and I are reviewing
6372s projections and spreadsheets that he's
6374s putting together every day almost
6377s absolutely it's the stuff we have to do
6379s I mean I think similarly to the tech
6382s side of things that the financial side
6384s of stuff people you know it's not the
6386s stuff that you get to see a lot of right
6388s so yeah um and we've been pretty
6390s transparent about where we're at what
6392s we're doing we're how we're moving
6393s forward in regards to that now now don't
6395s get me wrong let me give some context
6397s here because I think it's interesting
6398s for those who in the audience who enjoy
6401s more the business side of things um
6403s there have been times in the past at our
6406s company and other companies do this
6408s where running a test is exorbitantly
6411s cost too cost right however you need to
6415s bite you need to take that bite in order
6418s to collect certain information even if
6419s you're not in a state where you're fully
6421s optimized in order for that to be
6423s long-term sustainable we've done that in
6425s the past and and we knew the price we
6427s were paying in order to do that Alpha 2
6429s is not one of those scenarios so just to
6432s be clear all right and of course that
6435s was our server mhing technology we hope
6437s that folks enjoyed it the video for that
6439s will be uploaded after the end of this
6441s live stream so you can go check it out
6442s relive it go back to where you want uh
6444s read read things look at stuff cuz I
6447s know there were people who were peeking
6448s at some assets and stuff like that that
6450s they were excited about and when we were
6452s showcasing 3D models in there um but of
6454s course we do have a feedback thread up
6455s over on our forums um so if you do have
6458s any thoughts or questions or um you know
6460s any any answers to some of the questions
6463s that Stephen had asked both in there and
6466s then previous before we uh started the
6468s the segment uh feel free to head on over
6471s there and give us your thoughts we are
6472s constantly reading those putting reports
6474s together for our Dev team um and if we
6476s see any additional Fe questions that we
6478s feel need to be answered we'll make sure
6480s that we get those answered in future
6481s updates um and with that I'm going to
6484s hand it actually over to lenford to do
6486s our studio update well thank you yeah I
6489s do I did I did feel smarter after
6491s watching that incredible and Stephen
6492s you're right I think I might go try to
6493s get my engineering degree now there you
6495s go that's what I'm saying I I'm just I'm
6497s curious how many people you know are
6500s interested in that don't have the
6502s opportunity to to associate thing are
6505s you interested post a one in chat um if
6508s you're live on Twitch and if you're
6510s watching this on YouTube you can put a
6511s little one emoji in your comment but you
6514s know you know it's it's one thing to to
6516s listen to a lecture to take a class or
6519s to you know GDC talk um where the
6522s substance of the conversation is related
6525s to you know
6526s particular knowledge you want to gain
6529s it's another thing to have the
6531s substance also the interest of the
6534s project coupled right like the it's it's
6537s great to be I think a fan who's
6539s interested in the tech side of this or
6540s who's a software developer or who's you
6542s know working in unreal and trying to
6544s build their first game or whatever
6546s following a project they care about from
6548s a gamer's perspective and now get to
6549s couple that with their interest uh from
6551s a a technology perspective you're
6553s looking for work we're hiring just
6556s uh you know go
6559s ahead things you got cover yeah I I do
6562s have list things I'd like to cover with
6564s the hirings on that um so uh yeah so
6567s look so what they said in the in the in
6569s the video today was that uh the stuff is
6571s going to and as Stephen recapped the
6572s stuff's going to be available coming to
6574s Alpha 2 for the dynamic uh griding stuff
6578s uh and I think the first thing to note
6579s is that the studio in general the the
6582s fires of production are hot uh the
6585s there's the yeah there's H the plumes of
6587s smoke arising from the forges uh and we
6589s are definitely speeding towards Alpha 2
6593s uh so just to reiterate I think off what
6596s we said last uh live stream we are still
6598s entirely confident in our plan for a Q3
6602s Alpha 2 that's right um so and we're
6605s planning to announce a date yeah that's
6608s what I was gonna say we're not quite
6610s ready to put the date out there yet but
6612s I think by next live stream I think by
6615s next live stream I'll have enough Road
6617s mapping done with the team and we'll
6618s know for sure yeah the end of this month
6621s expect to expect to get a date for A2 uh
6624s start and and actually you know from a
6626s production standpoint uh many people you
6629s know obviously don't know we've talked
6630s in the past about how production runs
6632s but we just finished a major Milestone
6634s yes we did we talked about that a little
6636s last time too Milestone
6638s 9ine yep yeah give some some stats on it
6643s yeah yeah great okay cool um yeah so uh
6646s we did we just finished Milestone 9 uh
6648s so as a company I don't know uh how
6650s familiar the audience is with our scrum
6652s uh stuff and what story points really
6654s means but we completed 8,900 story
6656s points that's like a measure of time and
6658s risk um and that's quite a vast number
6662s to complete in a milestone uh we were
6664s about 89% successful to our own
6667s estimations which is pretty darn good um
6669s but of course anything that can you know
6671s can get in the way does and we have
6672s meetings every day to look at disruptors
6675s and top five criticals and blockers and
6677s stuff like that so and just to give
6679s context you know 89% delivery on the
6682s product goals for a particular Milestone
6684s given that a milestone is looking out
6686s roughly 3 months ahead is pretty darn
6689s good right and and people might wonder
6691s well why wasn't it 100% right the things
6694s that can happen during a milestone
6696s whether it be you know emergent work
6698s that was unexpected that might be SE
6701s zero work for you know build Breakers or
6704s test blockers memory crash or something
6706s memory Stomps or crashes right discovery
6709s of new work or estimations didn't take
6711s into account like unknown within a
6713s particular piece of code like all of
6715s those can come in to kind of disrupt
6718s what an end goal is for for delivery on
6722s a milestone and 89% is pretty up
6725s there yeah yeah I was I was really quite
6727s proud of the team it was really good
6729s absolutely uh yeah and bugs bugs bugs
6731s bugs bugs right squash them um so yeah
6734s uh so that was uh kind of how far we got
6737s along in Milestone 9 um we're about to
6739s kick off our Milestone 10 here techn
6743s yeah we have we have a town hall in
6744s about two hours an hour and a half
6747s that's right uh so we're you know I
6749s think we've already identified some of
6750s this stuff too but we're you know we're
6751s going to continue looking at polishing
6753s for our V uh VFX and our UI elements uh
6756s we're going to continue looking at the
6757s golden path which we play test regularly
6760s or I think as last month you called it
6762s Steven the golden on fire Lavar ridden
6764s tree yeah the that's right H but we're
6768s uh continuing to play test uh on a
6770s regular basis with that stuff trying to
6772s make sure that uh it does have a good
6774s experience for the player we are really
6776s player driven uh in what we're trying to
6777s accomplish even though I know I know
6779s it's not it's not a game I get it yeah
6782s um but uh but it is something that we
6783s were trying very hard to keep uh keep
6786s going so uh yeah go ahead I was just
6788s goingon say another huge thing which I
6790s know you're you're probably about to get
6791s to is we had a
6794s 15% Staffing growth over the last
6797s quarter excited he's taking all of
6801s Brian's I am sorry
6804s I'm just excited I think you know I am
6806s too I think we've hired more this so far
6809s this year than we did in all of last
6811s like it's it's been an incredible growth
6813s Journey for this company um yeah I was
6815s going to mention a couple other things
6816s we're we're we're hammering on economy
6818s we've got our features and gameplay
6820s stuff are looking great we got more to
6821s go we're working on material components
6824s um and obviously we're fixing bugs in
6826s advance of the Sala two stuff so I think
6827s we're W we're wrapping it up pretty good
6829s and getting ready for uh letting you
6831s guys know what that date is mhm all
6834s right well with that I'm going to swap
6837s us over to our art
6838s update this is a long stream so thank
6841s you all for so much for for sticking
6843s with us had two long back toback streams
6845s I know I know so hopefully um you know
6849s you took your body breaks and this and
6852s this month we're also I think people are
6853s going to be really excited we can we can
6855s leak perhaps what's coming up this month
6857s because it's in stone isn't
6859s it Margaret just gave me the side you
6863s mean like what the content is that we're
6864s going to we've already talked about it
6866s but go good okay yeah we're this month
6869s you guys are going to be seeing for the
6871s first time at the end of July the barred
6874s archetype and it is thought talking
6876s about something else oh shoot my bad no
6879s no Bard is yeah that b is up and coming
6883s I did tease that a little bit I did
6884s tease that yeah and I talked about a
6886s little earlier in the Stream too but yes
6888s what maybe we can get Steph to play a
6890s guitar for us on stream I'm down get a
6893s loot loot ready all right we'll just go
6898s through some art here really quickly um
6901s we've got these amazing silken web hand
6903s wraps that were made by Chris and a
6907s studded leather belt you know the or St
6910s studded silver belt sorry not leather
6912s it's the upgrade from the the um leather
6915s belt um this is still a work in progress
6918s I believe but you kind of get to see
6919s some of it and then this is the grow
6923s guard
6924s helmet love that yeah it's looking cool
6927s it's
6928s creepy and then we have The Robe with
6930s the
6931s financier financier financier I don't
6934s know if you're financier
6937s finer very rich yes they got the gold in
6942s there Blues love loving the folds and
6945s the cloth looking good yeah those were
6947s by Danny the helmet and the robe and
6949s then jiny worked on
6953s this cloak of ill
6955s Omens Jacob our lead producer was saying
6958s he wants a version of this with the hel
6961s with the hood up the hood up
6963s yeah but it's very that's cool and then
6967s we've got this awesome
6969s bat I love it it's like a bullfrog and a
6972s bat together I'm so into it so cute it
6976s is cool I like it's Little Neck a big
6978s neck it's not a Little Neck um and then
6981s the last one here is the rosarium
6985s guard I think I have a a turntable for
6988s this one as well that looks
6992s uncomfortable it looks
6994s uncomfortable yeah I've been watching uh
6996s I I was watching House of dragons and um
6999s they had some really good armor in this
7001s last episode and it moved really well
7004s with the shoulders but I'm looking at
7005s this thing and I'm like oh I don't know
7006s if I can move that well that it's got
7008s the built-in beard scratcher right here
7010s I know the beard scratcher armor chafing
7012s is awful as a cosplayer I have made so
7015s many pieces of armor one of the things
7016s that I've learned is like you always
7018s want to put like fur underneath there or
7020s cushions because like anywhere where
7022s you're like moving your joints it's like
7025s really awful yeah those edges yeah
7028s leather and like if you're actually
7029s wearing like heavy armor it's um you
7032s know if you're make it out of foam and
7033s stuff it's not as bad and that is our
7036s art update so beautiful into the last
7039s segment here and I'll just play some of
7041s the slides in the back ground so you
7043s have something visual to look at whilst
7045s we uh go through our Q&A these are the
7047s questions from the forums and the first
7049s one here is from Phantom X and they
7052s would like to know about war commissions
7054s I thought it was fantmx
7056s Phantom I don't know phant I'm just
7059s kidding I called him I called him Fant
7061s MX one time and and he didn't hear the
7063s end of it okay sorry go ahead uh vnar
7066s put it in quotes Phantom X to make it
7068s clear to make sure okay but Phantom you
7071s can let us know you prefer it or maybe
7074s St definely I'm just trolling him maybe
7078s Steven will keep trolling you uh the
7081s this question is about war commissions
7083s we know that non-citizens can complete
7085s mayoral commissions but does that
7087s include those that will start a node war
7090s in other words could non-citizens do the
7093s commission required to start a war even
7095s if citizens Del liberally don't complete
7097s them that's something that um I think we
7100s are still leaving undetermined on a
7103s design side it can go either way it's a
7104s flag that a designer can set that either
7106s requires it to be citizen only or
7108s non-citizen as well it's something we're
7110s going to test my inclination is that for
7112s certain types of node actions that Grant
7115s the mayor certain node powers that we
7117s will expect only citizen participation
7120s at a certain threshold but it's
7121s something that obviously we're going to
7123s be testing in A2 and then casty wants to
7126s know about threat generation of taunts
7128s heals and Damage Done each of equal
7131s output perform formed against enemy mobs
7134s will there will they all generate a one
7136s to one to one ratio of threat generation
7139s or will one of those three be slightly
7141s better or worse than the other two at
7143s producing hate right now the formula
7146s includes modifiers so we can apply a
7148s modifier as we wish to either healing
7151s values versus uh uh um uh hate values um
7156s those things are going to just kind of
7158s be balanced as we kind of see play
7160s testing continue uh to see you know
7162s what's the right blend between the tank
7165s holding aggro the Healer not pulling it
7167s too often and the DPS not grabbing it as
7169s well so we we want to have maximum
7171s flexibility in the formula and that's
7173s why modifiers exist there all right and
7176s then kadak wants to know about Open Sea
7178s content will there be points of interest
7180s such as underwater dungeons that will
7183s also remain outside of the flagging
7184s system in the open sea or will those be
7188s contested that's a very good question um
7192s right now the expectation should be that
7194s those will remain
7195s contested and and in the event where we
7198s do not want to have you know let's say
7202s certain content contested we would
7205s likely have some type of doorway or
7209s shared instance opening that players
7211s then can move into where it is an
7212s uncontested underwater
7215s bubble exactly uh chronics wants to know
7218s about UI and uxix tools what tools can
7221s we expect for shot callers regarding
7223s marks and pings this is a big one that
7226s we've gotten asked a lot about maximum
7229s tools because the people making this
7231s game want the exact same thing you do I
7234s think I brought this up in pult the
7235s other day I was like just I know we have
7237s a lot on our plate for ala 2 but could
7238s we just make like one thing where I can
7240s put an i on one person's head and they
7242s were like okay we'll try we'll see what
7244s we can do that is in their backlog for
7247s pre to entrance so it's still
7249s outstanding work I know they have a long
7250s list of them I was just like just give
7251s me one like now absolutely um our next
7256s comment here is from Top wombat which I
7259s love that name uh server they want to
7261s know about server Tech which is very
7263s fitting for today's stream will mobs
7265s respond faster if there are a lot of
7266s players in an
7269s area so yeah that's that's that's the
7271s spawner system uh the spawner system has
7274s a number of ways that it can respawn
7276s this is a it can be a set value that's
7278s time based it can be predicated on um on
7281s Monster count so as Monster count drops
7283s beneath a threshold the spawner will
7285s spawn additional Monsters the designers
7287s the world designers have all that
7288s flexibility at their disposal it just
7290s kind of depends on the area the quest
7292s type uh that the mob is is servicing we
7295s have all of that functionality and it
7296s just you know something we're going to
7298s be testing all right and then zil far
7300s wanted about character creator will we
7302s be able to upload an image into the
7304s Character Creator and have it render
7306s that character for us we've had a lot of
7308s people asking this actually yeah not not
7310s for Alpha 2 but it is something that I
7312s know um Clayton is excited about trying
7315s um and it is something that we're going
7316s to discuss as a feature for the
7318s Character Creator post A2 launch um but
7322s not for the entrance of A2 um and since
7325s we're talking about character creator we
7327s did have a lot of people asking like
7328s when will we get get access to uh
7330s character critics we have said close the
7333s goal is to put that out before Alpha 2
7335s so people can get their hands on it it
7338s is getting close I just I just saw an
7340s update last week from the character
7342s Creator uh for the stable environment
7345s which is basically as you create your
7346s characters it's looking pretty good um
7349s we need to get it over the Finish Line
7351s on on on the outstanding polish work
7354s that's necessary there you can make some
7355s whack characters right
7357s now yes it's getting close I think you
7360s could like at one point we were able to
7361s like combine some of the raises it
7364s looked like a little bit of a mess but
7365s um they're fixing it they're working on
7367s it uh snow Al wants to about server
7370s meshing Tech uh well server mhing have
7373s any impact on the world bosses or events
7376s and is there any potential chance for
7378s exploitation from the player base in
7379s bypassing the spawn timers via this
7382s concept no there's I I wouldn't say
7384s there's really any correlation between
7387s you know exploiting or um uh respawn
7391s timers will it had have any implications
7393s for bostech absolutely I mean as as we
7395s just observed right when you talk about
7398s certain emergent behaviors whether it be
7400s raids coming together to contest a
7402s particular boss fight the server meshing
7404s Tech along with our Dynamic griding is
7407s now going to be capable of of of
7411s essentially you know reducing the scope
7415s of a particular server's Authority and
7417s spinning up new servers to add to the
7419s grid to facilitate that high player
7422s density right that's one of the benefits
7424s that's that server meshing teken and and
7427s what the networking team has been
7428s working on helps to facilitate as our
7431s design goals which is High player
7432s density so yes it benefit bring Absol
7436s absolutely so so so to answer that
7439s question yes there are going to be
7440s benefits there that's what A2 entrance
7442s will contain as part of our networking
7444s technology that's what our networking
7446s teams have been working on for the past
7448s several years but no to the exploitation
7451s part of that no yeah no there's not
7453s really any there's not really any
7454s considerations from a server meshing
7456s technology standpoint that would assist
7458s in exploitation or problems there
7461s obviously ly you know like any
7463s networking layer there are bugs that we
7465s need to hammer out there's going to be
7468s you know issues that that testing will
7470s will give us insight to but that that
7472s would be the same it's already started
7473s giving us data on it so it's been great
7476s having testers uh Tyran tyranthraxus
7479s wants to know about underr content will
7482s there be underwater content in the under
7484s realm parts of the game yeah uh under
7487s realm will have water uh associated with
7490s it and there may be areas where we um we
7494s leverage underwater content as either a
7496s means of traversal to reach certain
7498s locations um or uh require use of
7501s certain vehicle types in order to
7503s Traverse and our penultimate question is
7506s from Ron sconi I always love saying
7508s their name uh profession choices will
7510s your own profession have any effect
7513s besides a social one on which tradable
7515s recipes and blueprints you obtain um I
7517s talked to vnar a little bit more about
7519s this and I uh I think the example here
7520s is will I still Ain and loot recipes
7523s that are not my own profession and can I
7525s trade these with others yes absolutely
7527s it is an open market economy um the
7530s concept here is that you know you don't
7533s need to do everything yourself per se
7535s other people can do them and you can
7538s excel in a different area in order to
7539s make trades with them in order to
7541s purchase from them you know that is the
7543s basis of a healthy economy yeah we want
7545s you guys to be trading things and
7547s needing things from other people that's
7549s the whole point of an MMO absolutely um
7551s and then our final question here is from
7553s lashing wanting to know about stamina
7554s modification will there be specific
7556s stats on gear outside of set bonuses
7559s that modify or interact with stamina
7561s such as increased maximum stamina
7563s stamina regeneration or stamina gain on
7566s basic attack hits yeah so um first and
7570s foremost uh stamina is a waterfall uh
7574s which means it does get influenced by
7576s certain core ability stats however in
7579s addition to that trickle down benefit
7581s that will come from certain set bonuses
7583s that might modify Constitution um which
7586s could increase you know regeneration
7587s rate of stamina you will also have
7590s independent one-off stamina benefits
7592s like you know 10% stamina regen that's
7595s that is just a set bonus or you know 15%
7598s higher stamina value uh cap you know
7601s that gets applied to certain sets and or
7604s armors and Buffs as well and that wraps
7608s us up for our June development update uh
7612s again thank you all so much for uh
7614s sticking with us as F final reminders
7617s head on over to our forums leave us your
7618s feedback uh forums. ashesofcreation
7625s docomo to Alpha 2 so stay tuned for that
7629s and um we will be expanding our NDA
7631s testing so um for those of you who do
7633s get access in we will be emailing you
7635s sometime this month so stay tuned for
7637s that that will be under NDA testing um
7640s so you can't talk about it it's like you
7641s know Fight Club um but it will be
7644s exciting and we'll be expanding that to
7646s all of our A1 users as we move forward
7649s um thank you to the wonderful St server
7651s technology so big huge shout out to Zach
7654s Hunter Anton for putting together an
7656s amazing presentation and walking us
7658s through some big brain stuff but
7661s hopefully that was entertaining for you
7662s guys um I know it's a lot different than
7664s showcasing gameplay but don't worry
7666s there's going to be a lot of gameplay
7667s next month so or not next month this
7670s month later this month this month later
7671s this month so you won't miss out on that
7674s we'll definitely be sharing more of that
7675s and of course thank you to Brian and
7677s Stephen for joining us um and we'll have
7680s the video up over on YouTube really in a
7682s moment here so stay tuned for that we'll
7684s post it on all of our social channels
7686s follow us on all of our social channels
7688s we are ashes of Creation in all the
7689s places we post at least like once or
7691s twice a day almost um we try to keep you
7693s a breast to what's going on we ask a lot
7695s of questions of you sometimes they
7697s affect in-game I think one time we asked
7699s you if you prefer B for bag or I for and
7702s we actually based on the votes we
7704s changed it in game so there's a lot of
7706s things where like you can just be part
7708s of the development process and follow
7710s along with our journey um and of course
7712s note that the video the full development
7714s update video for this one won't be going
7716s out tomorrow it'll be going up July 5th
7718s because tomorrow's a holiday I would
7720s like to not have to work um so we'll be
7722s P we'll be pushing that to the 5th um
7726s and of course if you want to be
7728s spotlighted on our next one leave a
7730s comment there make sure you subscribe to
7731s our Channel whenever that goes up on the
7733s 5th and we will see you all later this
7736s month so thank you for joining us yeah
7739s that was fun awesome thanks everybody
7741s bye bye
7743s [Music]