over 1 year ago - Play New World - Direct link

Transcript (by Youtube)


0s how do we start making a back-end
4s technology that allows game teams to to
7s create wider scoped features and so
10s we're we're really a an enabler platform
14s on the cortex side
17s foreign
over 1 year ago - Play New World - Direct link

Transcript (by Youtube)


0s how do we start making a back-end
4s technology that allows game teams to to
7s create wider scoped features and so
10s we're we're really a an enabler platform
14s on the cortex side
16s [Music]
17s [Applause]
21s into fortune and turn them where we talk
24s about All Things New World my name is
26s Kyle Richter
27s we have Ryan dromgoole
30s Anthony Nguyen and Quinn Carter and
33s today we're here to talk about service
35s improvements
37s so getting into service improvements it
40s can be a little bit of a challenging
42s topic so why don't we start by kind of
46s looking at what where new world came
49s from and and how we've kind of
52s although over time uh expanded and
55s improved how we how we do things so a
59s lot of the some of the newer players to
61s new world may not know that new world
63s didn't actually start as an MMO right it
65s was it was a completely different game
67s and at the beginning of its lifetime I
69s mean how you build a game if you know
72s that it's an MMO to start with is a
75s little bit different than than some of
77s the approaches that we might have taken
78s here some examples Anthony that you can
81s think of that that caught we had to kind
84s of improve and expand over time yeah so
87s like like you've said originally new
88s world
89s new world has been development for many
91s years and a lot of the reasons that
93s originally it was a pure survival
95s crafting game like you would spawn them
97s with no pants enough to craft your pants
98s and uh there were analogies made so you
101s know like rust or Minecraft and that
102s that style of gameplay and in that style
106s of game you've got like you log into one
108s server you've got your world State and
109s it's all kind of serializes together
111s into one like save file basically and
114s your character is stuck on that world
116s and you cannot transfer to another world
118s for example and so it's very
119s straightforward and that kind of model
121s to just sort of save all your data as
122s one Big Blob and leave it right there on
124s your hard disk and just just let that
126s work
128s um yeah no that's that's uh that kind of
130s leads into like well how do we
133s how to how does an MMO differ right how
135s do we how do we pull things out or when
138s how do we determine how to pull things
140s out and and make it not so localized to
143s a tool world or to a character yeah yeah
146s so
147s I guess a big difference is when you
149s want a game with like a broader online
151s presence like you want to be able to uh
154s for example have a character that exists
156s outside of a specific game server you
158s know like that data has to be stored
160s somewhere it can't just be on disk on
161s that particular dedicated server that
163s you were running earlier it has to be
165s like out there in the cloud or on a
166s service on somebody else's computer out
168s there and that's kind of where online
169s services come into play is they provide
171s that like external data store or
174s external authentication with external
176s apis that you can call that are are
178s shared by all copies of the game
180s basically yeah and so as because we
183s added
184s um kind of service support further into
186s the lifetime
187s um you know we we start with the way
190s that we've done it a lot has allowed us
191s to kind of start with something see how
193s players interact with it and then adjust
196s and improve and extend Services over
198s time the first example that comes to
200s mind is like uh transfer service or the
203s the ability to character transfer right
205s from world to world and one of the
207s improvements that we did um post launch
209s was making it cross crossword so that
212s you could across the region so that you
214s could transfer a character to play with
216s friends and stuff
218s um what are what are some of the the
221s challenges that you saw creating that
223s um yeah so I guess first off having your
226s character data outside of a World server
230s is critical there because then uh you
232s know if the World server isn't running
233s you want to still be able to access your
235s character data transfer it places
237s um so in terms of
240s transferring from one world to another
241s within a region it's just a matter of
242s like re-indexing the data so it's coming
244s from this world instead and there's some
246s minor fix up associated with that but
247s it's not that big of a deal then going
250s across region is a bit more difficult
253s because
254s to keep latency down we like to keep
256s your data siled inside of one region at
258s a time so that you know like you're
260s fetching your character data you aren't
261s going across the globe to get it but
264s those silos mean that to go uh to copy
267s your character data from here to here
268s means we have to actually like
270s have this negotiated transaction where
272s we uh sort of like start transferring
274s your data and then uh only when we know
277s that it's there do we delete it and
278s activate it on the other side it's kind
280s of like a almost like a journaled copy
282s if people know about like hard disks and
283s journaling it's kind of like like that
285s just make sure you don't lose anything
287s along the way
288s yeah no that's awesome so
290s um knowing that that we we kind of made
292s this transition from from a limited
295s multiplayer game to a massively
296s multiplayer game and and have expanded
298s over time at some point you start
300s looking at well how do we how do we
303s start making uh backend technology that
307s allows game teams to to create wider
310s scoped uh features um and so we're we're
314s really a an enabler platform on the
317s cortex side which has its own challenges
320s right so moving into what we've been
322s working on recently we've spent a fair
325s amount of time because this back-end
327s Tech has is very challenging to test and
329s we want to make sure that it's right and
331s it has potentially wide-ranging uh
333s impact
334s um we've we've been working on and as of
337s this video release have have at least
339s launched crossworld opr which allows
343s players to to cue an instance and play
346s um across across rules making you know
349s the the pull of players that can play
351s together much higher
353s um that that like I said it creates some
355s challenges so Ryan what uh what kind of
357s challenges in testing a feature of that
360s scale and and complexity what are some
362s of the things that we run into when we
364s want to make sure that we're giving
366s something to the players that's really
367s good quality
368s um yeah I'll post rush in crossworld was
371s that was a pretty big undertaking
373s um I think one of the biggest
374s complications for it for us is The
376s Outpost Rush is a is a big game mode
378s normally 20 on 20. and our QA team is
382s not always that big to handle a full
384s match so you have to adjust a lot of
386s configs you have to test it at different
387s levels we have to put it through the
390s pace as best we can with the tools that
392s we have and the team that we have and
395s then cover as much as we can and then
397s try to do something like a team play
399s test where we do bring in a lot of
401s people
402s um 40 times 100 so I think we got maybe
405s 200 at one point
407s um and and then see it all together and
409s make sure that we covered all our bases
410s and that people aren't falling through
412s the cracks somewhere
414s um and yeah you'd think it would be
415s simple you think it would be kind of
417s easy to just queue up and join the
418s upmost rush but
419s um crossworld had a lot of complications
422s um it was an effort of five different
425s teams that we work with
427s player experience social ux UI obviously
430s the services team and our server team
432s from the back end all coming together
434s that's a lot of devs working together
436s that's a lot of QA Specialists working
438s together and we had to cover all the
441s bases which was a lot of work and make
443s sure that we weren't
445s um you know missing anything in the
447s transition from world to world in the
449s interactions of things like social where
451s you can't
452s um you can't make friends with someone
454s from another world that doesn't work in
455s our current system so we had to limit a
457s lot of things that normally you can do
458s when you're in crossword I'm sorry when
460s you're not crossworld and so that that
463s proved for a lot of different testing
464s that needed to be done
467s and then just even just the setup the
470s setup of all the worlds that we use
471s internally in testing and then the
474s interactions between our test
476s environments which we have many of
477s making sure that they stay kind of
479s separate but work together and
482s configuring that across all of our
485s environments was it was a bit a bit of a
488s nightmare at first there was a lot there
490s to keep track of and we had a lot of
492s people who weren't testing crossworld
494s who were like hey what's going on this
495s isn't working you're like oh yeah sorry
497s so there was a lot of crosswires at the
500s start
501s um but we I think we got past that we
503s got people moving pretty smoothly
504s together and testing
506s and uh after like like I said many play
510s tests we we proved out um that the
512s feature really
513s um it was solid it was fun
516s um it brought a lot of our players
517s together and
519s um you know it's it's been a pretty good
521s success I think a lot of players are
522s having a good time with it
525s um
525s am I am I forgetting I think Quinn you
527s work with me yeah what other challenges
530s might we have with uh I guess in this
532s case um mostly other challenges we've
534s come up with like again the setup of the
536s actual environments we need to test with
537s so the infrastructure we have to make
539s sure we have all the worlds all set up
541s in a certain way have the configuration
543s set to allow that communication to occur
546s then work with the services team to make
548s certain that those Services can
549s communicate to the said worlds that our
552s endpoints are set up that all players
554s can then actually ping and hit the
556s necessary uh infrastructure that we need
559s and that way that all that can happen
561s with our set play test because otherwise
563s like you said if we have our play tests
565s and stock correctly they'll think
567s they'll be testing one thing but they're
568s not seeing anything we need in the sea
570s there's lots of different teams and they
572s all want to test their little piece in
573s isolation yes but it's also you need
576s multiple worlds to test it so like
578s during development there's times when we
579s might have had more internal Dev servers
582s to test on than there were actually live
583s servers right so it's understanding all
586s that the configuration is like a lot of
588s very tedious hand tuning and easy to fat
591s finger things yeah and I think the the
593s number of teams things is is is really
595s challenging right it's it's CR it's as
598s you said Anthony you kind of want to
600s each team wants to test their individual
602s pieces but with a such a large feature
604s across so many teams right you got to
606s test the whole thing well there's tons
607s of dependencies between the teams so you
609s know social can't test interactions if
612s the you know the services aren't there
614s to pipe the people into the world to see
615s what like so everybody's kind of waiting
617s on each other trying to move together
618s lockstep but it's hard because uh one
621s thing gets out of place and then nobody
623s can test any further uh we're blocked
624s for a little bit until we fix those bugs
627s or
627s um you know get to the bottom of
628s problems so yeah that that was a little
631s frustrating
632s um just because you know if things
633s weren't smooth sailing there's a lot of
634s people uh looking for answers uh chasing
637s down problems
638s um and you know coming down to the wire
640s working really hard on that a lot of
642s good effort from everybody involved so I
644s mean yeah so much of that is just to
646s kind of get to that Baseline where it's
648s sort of like the Happy path of just
649s getting into cross World works at all
651s and you mentioned the like the the 200
654s player like team play tests right like
656s that those that kind of like human chaos
657s that we get of as we find a lot of the
659s bugs also yeah sometimes trying when
662s we're trying to be structured and people
664s are doing random things anyway yeah yeah
666s I'm on the horn basically the whole play
668s test give me very specific instructions
671s and then people are off in the in the
673s weeds doing random stuff
676s um and I want to be mad at them but they
677s do find some bugs I do find some
680s interesting edge cases there that uh we
682s might not find
683s um the hard part is getting the full
684s story of them it's like what did you do
686s you got to sit them down you got to
687s question them like tell me the story
688s they don't want to admit that they
690s didn't follow the script and you're like
691s well I kind of went off grip and did
693s this I'm like it's okay I forgive you
695s you found a bug it's okay
698s um this happened I don't know why yeah a
700s lot of that so yeah it is What's the
703s phrase hurting cats yeah it can feel
706s like that sometimes we are the cats
710s oh that a new Improvement we do have
712s coming though
714s it's not Services related but from from
716s our scripting our font scripting side we
718s will have a new interface to help
720s automate parts of our scale to or our
722s play tests the same way we do with scale
724s tests which hopefully get those cats
727s into
729s no and that's that's a good call out
731s Ryan because we we're constantly trying
733s to make improvements in different ways
734s right like I know on Services team and
736s in server we're trying to build more
738s tools that allow us to interact more
740s quickly with with player data and allow
744s customer support to be more effective we
746s also like we talk about enabling
749s technology and crossworld the underlying
751s systems that that made that really
753s possible are the types of things that
756s broaden the scope of what game the game
758s can do itself right so as an example
760s introducing crossworld allowed us to now
763s explore other game modes that that make
766s sense to be cross-world an example that
768s is on the public roadmap is Arenas right
771s um or or pug Finder right and in what
774s we're doing with the Expeditions
777s um so out of all of those things which
780s which ones are you guys most excited
782s about exploring exploring or testing oh
785s man
786s it's going to be an uphill battle I'm
788s sure um I think 3v3 Arena will be like
790s that's more my style of gameplay that's
793s more accessible and fun for me I think
795s that'll be great to get that uh short
797s cue times jumping into lots of matches I
799s think it's gonna be great
801s um obviously the the Pug finder
803s it's going to be super important for
805s people who love our Expeditions and that
807s content being able to find groups with
810s roles and getting match made into that
812s quickly across World lots of people lots
816s of quick matches I mean that's that's
818s what we want for everybody is to be able
820s to you know play as much as possible as
821s quick as possible so unifying the world
824s across a region with with the crossworld
826s technology is is really important and so
829s you know hopefully we keep doing that
830s with with different game modes yeah and
832s I think that this was a really good
834s example of how we kind of experiment and
836s and see what players are doing and see
838s what the reaction to uh to some of this
840s enabling Tech is like with crossworld we
843s started with a pretty simple matchmaking
845s service for opr you know a very
847s fill-based thing and now we're we're
849s we've seen that you know I think I saw
851s some numbers that showed like increases
854s to people playing in opr right um and
857s that's that's a it's a really good
858s indicator that what we build we can
860s expand on and make things better we're
863s we're currently working on that right
864s now expanding out the matchmaking
866s service and making more complex I could
869s talk a little bit about that but Anthony
870s uh you want to talk about what we're
872s kind of doing there to to expand the
874s capabilities
875s um with matchmaking yeah sure so I mean
878s once now that we've got a pretty decent
880s sized population playing opr and filling
882s out matches it means there's some
884s opportunity to try and uh
886s try and isolate players into more more
888s fair groups basically like you know
890s people always talk about matchmaking
891s rules and elos and mmrs and that kind of
893s thing so that's all kind of on the table
895s to be explored at this point absolutely
897s but it's just critical that we have the
899s actual population to make that possible
901s otherwise it doesn't really certainly
902s help that's that's definitely true
905s um some some other things that we we
907s have that we're working on that are on
909s the road map is like transmog and I I'm
911s personally very excited about I know the
913s the team is getting mad at me recently
915s because I've been saving up
916s appearances for quite a while as I knew
919s it was coming Ken told me I told him I
921s think I have like 2 000 stored
924s um the other day was like thanks Kyle
927s um but uh that's another example of of
929s things that were you know we've listened
931s to players and we know that something
933s that's really wanted
935s um and but enabler technology is really
937s kind of required there to do it in the
939s appropriate way
941s um and so we've spent a fairly large
943s amount of time now building out this
945s like new
947s um inventory system that will back that
949s yeah so like definitely a a long-running
952s piece of tech debt on new world like
953s Tech debt meaning something that we
955s wished we had implemented better but
957s never actually got to because it was
958s working well enough uh but but an old
960s piece of tech debt is from that Old
962s survival crafting New World days where
965s uh a lot of the players inventory is
967s actually stored in a very I should say
970s like World oriented way it's sort of
972s like the serialized data like a save
974s file basically uh but the issue with
976s that is it makes that data very opaque
978s and so it's hard to express it in a more
980s flexible uh we might say service
982s oriented kind of way and so as part of
985s transmog we've done some work to build
988s this inventory service and start you
990s know thinking about your your bag in New
993s World in and your storage and other
995s other kinds of inventory items in terms
996s of like a service and how they can help
998s us service surface new information in
1001s new ways about about your your data
1003s absolutely and that's something that I
1005s know that our team has been working
1006s really really really hard on
1008s um for for a while
1010s um how or I'm curious how Quinn and Ryan
1013s are are going through the uh the the
1017s testing process of of some of these like
1019s that's a very complicated feature right
1022s um and now how has that been going
1023s transmog has been a little bit uh
1025s complicated
1026s um a couple hurdles there uh even just
1029s configuring the world again um to
1031s interact with the services properly has
1033s been a bit of a struggle that we're all
1035s fighting
1036s um but it's it's coming along pretty
1037s well uh We've we've gotten through quite
1039s a few test passes and
1041s um it works it's you know there's
1043s definitely some bugs that we need to fix
1045s before we ship
1046s um but uh there it's been um honestly
1049s it's not as hard as cross-world though
1051s for testing so you know it's a little
1054s bit smaller um but I mean it's a it's a
1057s good thing to have like obviously
1058s expanding things like the inventory
1060s service
1061s I think that's going to tie into
1063s probably another thing like our player
1065s data tools right that will help us
1066s service players better when they have
1068s problems with their character with their
1070s inventory maybe losing an item or
1072s something like hopefully that can help
1073s us track down those instances of
1076s problems and help restore from a
1078s customer service side or even for QA
1081s it'll help us investigate problems that
1083s we can't always reproduce ourselves
1085s players get into all sorts of trouble
1088s um and you know we can only come up with
1090s so many different kind of test plans and
1092s test cases there's always some funny
1094s scenario they get into so being able to
1096s actually look and access that data more
1098s readily loading it up maybe into a test
1101s world and you know exploring what
1103s happens or you know how they got in that
1105s state that'll help us you know write a
1107s bug get it looked at and fixed sooner
1109s and then you know get those bugs fixed
1111s for the players so that's mostly
1114s um you know that's kind of what we want
1115s to do with these kinds of extensions of
1118s uh you know the services of transmog
1120s player data stuff um foreign makes us
1123s more flexible once our features do more
1125s interesting things uh across like
1128s account wide right because the biggest
1130s problem is that all our worlds are kind
1131s of siled with that data as Anthony
1132s mentions
1134s um you know if you make a new character
1135s even on the same world or within um you
1138s know the region you know you wouldn't be
1139s able to share transmog
1142s um efforts there the uh what is the
1144s unlocks that you get uh per item so like
1147s to share that information
1149s um that way you don't lose your progress
1150s you don't lose your effort that you've
1151s put into the game just because you
1153s decided to you know maybe play with a
1155s different uh friend on a different world
1158s or a different region maybe you've moved
1161s to another country
1162s um you know at least we can try to get
1164s you that data and that progress and um
1167s you know keep you looking cool in the
1168s game yeah absolutely there are also some
1171s aspects of the the tools that were the
1173s systems that we built that maybe aren't
1175s So Glamorous right like I know we spent
1177s recently some time uh kind of re-um
1181s re-implementing an Instagram creating a
1183s whole new auth system right yeah
1186s um that that we spent a lot of time on
1188s or like
1190s um surfacing building some some
1192s architecture that allows us to surface
1194s things like presence information right
1196s like some of the uh the iot and the
1198s message transfer stuff that that we did
1200s on the server side right to enable some
1203s of these future efforts yeah yeah
1205s there's definitely a lot going on behind
1206s the scenes
1207s um
1208s I mean like like changing off you know
1210s it's it's hopefully something players
1212s don't even notice at all
1215s um but it's by changing to this new
1217s platform it means that we can uh better
1219s support sort of like
1221s authentication and platform-based
1223s features in the future yeah absolutely
1225s um the plat the platform-based thing is
1227s is interesting
1229s um now diving in a little bit on some of
1232s the the lower level pieces like some of
1235s the um some of the challenges with
1238s crossworld right is is how do you share
1240s messaging
1241s um and State uh between players
1244s um across so like as an example if a
1247s player goes into a cross-world instance
1249s right and how they appear right now with
1252s the current iteration of crossworld we
1254s don't uh we don't support seeing what
1256s state they're in whether they're in
1258s different instances or anything like
1259s that in a cross-world instance but it
1261s does potentially allow us to do some of
1263s that in the future right yeah yeah like
1264s we've built these low-level messaging
1266s channels that allow us to communicate
1268s from world to World much more readily uh
1270s and we are really utilizing it to the
1272s fullest but uh we plan to eventually
1274s right
1276s um Quinn do you have any any thoughts on
1278s on what uh what we've been working on
1280s that hasn't been mentioned uh given like
1283s what we've already talked about with
1284s like the services like bringing up all
1286s the tools and things of that sort
1287s especially for a QA that was like
1289s actually one other hurdle that we had to
1291s work with like we have the first
1293s aeration of the the feature that we're
1295s applying to develop golden path let's
1297s try to set it up test it and figure out
1299s how it works and then from the QA side
1301s be like okay how can we make sure this
1303s is actually working and I don't know
1305s because we don't have the tools
1307s available at the time because we didn't
1308s have the foresight at some cases to
1311s understand like how it's actually going
1313s to pan out specify crossworld since I
1316s first number of cases like we didn't
1317s have some of the visibility like with
1319s the auth like we didn't have the ability
1321s to see like what player states were in
1322s certain cases or like how the groups
1324s were being set up how they're actually
1326s communicating how they were being
1327s transferred from one place to the other
1329s all that so once we actually got that in
1332s mind and then finally got some updates
1333s to like allow us to have that visibility
1335s we were able to finally get a little
1336s more traction with that and then
1338s hopefully going forward with the new
1339s things like transmog and what not
1341s especially when we start doing more
1343s cross-world related actions we have a
1345s little bit much more confidence with
1347s actually vetting those changes yeah we
1349s will also know like we you know if we
1351s struggled at times of the Cross World
1353s our first attempt you know we learned a
1354s lot from it you know even though you
1356s know we didn't know how big or hard it
1358s would be when we started um and it was
1360s pretty hard so we learned a lot of
1362s lessons we know what we need now we have
1364s a better idea of the tools we need the
1366s insights we need you know what kind of
1368s uh debug options the QA would need to
1370s understand the situation better and
1372s those things we can request going into
1373s the next um you know development of the
1375s features to make sure we have that extra
1377s support that'll smooth things out for
1379s our testing and for our investigations
1380s and you know bugs and regression it'll
1383s go a lot smoother if we have that added
1385s tools so I'm holding you to it Kyle give
1387s me those tools
1389s yeah things up for us we and and that's
1392s been a major push you know I know
1394s particularly this period is we've we've
1397s gotten made sure to get that time
1398s allocated for for building some of the
1400s tooling that we know slows us down or
1402s doesn't make us or makes us not quite as
1404s efficient yeah we do have that big
1405s effort for all the added tools we've
1407s requested right absolutely yeah looking
1408s forward to that that's another thing
1410s like sometimes Services ends up being
1411s the long pole
1413s um as you know we're building a lot of
1415s times enabler technology that's a little
1417s more generic
1418s um and even with tools right we want to
1420s build the platform that allows us to
1422s iterate quickly and add new tools um as
1425s they as they come up which we just at
1427s this particular to point don't don't
1429s have a whole lot of right
1431s um so yeah it's it's it's a work in
1433s progress but uh but we're looking at how
1437s we can build these things and expand and
1439s make sure that we get better over time
1441s even you know uh especially right now
1444s with new world but you know as we expand
1447s new world and try to build a larger more
1449s complicated more Innovative types of
1452s features well I think that brings us
1454s kind of close to the end here so before
1456s I get to the next part let's make sure
1459s that we like And subscribe that helps
1461s get more visibility and players in a new
1463s world so we appreciate that and then of
1466s course we have our community question so
1470s the question that I think we want to ask
1471s and kind of relates to what we were
1473s talking about is we're expanding
1475s crossworld to to areas that we thought
1479s were were a good idea but we'd like to
1481s know what aspects the player base is
1484s interested or things could be really
1486s cool to have in a cross-world or
1490s cross-character context so I think that
1494s pretty much covers covers it for us
1496s appreciates everybody tuning in and you
1498s guys joining me here see you in a
1500s tournament
1503s our approach with the 2.5 really helps
1507s us capitalize I think on capturing those
1510s unique epic moments in a very fluid
1512s gestural and also efficient manner also
1516s we're able to basically make a lot of
1519s them at scale which is really cool
1521s foreign
1522s [Applause]
1526s foreign
1528s [Music]
1532s foreign