almost 2 years
ago -
Play New World
-
Direct link
Transcript (by Youtube)
0s | remember the old door problem the |
---|---|
2s | designer goes to an engineer and says |
4s | just I want to put a door in and it's |
6s | like oh is the door open and close can |
8s | you go through the door is it open from |
10s | the left or does it open from the right |
11s | does it lock does it like when you start |
14s | going through the questions it literally |
16s | opens up I think there's like something |
17s | like 250 questions that could come out |
20s | if I want to put a simple door in the |
21s | game |
22s | [Applause] |
27s | hi everybody Welcome to forward to the |
29s | tournament where we're talking about All |
30s | Things New World I'm Scott I'm here with |
33s | a different Scott today one of our |
34s | seasoned lead engineers and I'm here |
37s | with Dave V our creative director and |
40s | today we're going to talk about why some |
41s | features and some implementation is |
43s | harder than others |
45s | um you know in my years of making games |
47s | I I learned early on that you you know |
49s | when you look at a feature you're like |
50s | hey why don't you just do this |
52s | the word just almost never works out and |
55s | we're going to talk about that with |
56s | Scott so Scott I'm going to just throw |
57s | it just at you okay why don't we just |
59s | put 20 000 players on every server 30 |
62s | 000. magic number that would solve so |
65s | many problems for cues and other things |
66s | but why don't we just do that well that |
68s | would be really fun right but uh we we |
70s | do have some uh technical hurdles that |
72s | we need we need to worry about so one of |
74s | the biggest parts of that is how much |
76s | data we're sending down to everyone's uh |
79s | client their their game and the more |
81s | information you need to send down the |
83s | more bandwidth that's going to consume |
84s | and it's going to have an effect on |
86s | client performance like we already see |
87s | that sometimes where you know some of |
89s | the elite chest runs can uh get in the |
92s | laggy situations with lots of players |
93s | lots of effects things going on at the |
94s | same time so that's sort of like one |
96s | aspect of scale that we need to control |
99s | um and and sometimes that's a technical |
100s | Challenge and also sometimes it's a |
102s | gameplay before we get to the gameplay |
105s | let me ask on the technical side |
107s | other games can do some of this so is it |
109s | what makes new world different I think |
112s | our uh our combat model |
115s | um really is uh very like reliant on uh |
121s | you know sort of picture-perfect uh like |
124s | swings and misses and things like that |
125s | you know when the when the skeleton dips |
127s | his head and you fire over him |
130s | um like you miss right like it's it's |
132s | not tab targeting |
134s | um so |
135s | that level of fidelity and server |
138s | simulation uh then needs to be sent back |
140s | to the client so that everyone you know |
142s | is on an even playing field and seeing |
144s | the same thing yeah and this is a |
145s | trade-off we talked about earlier when |
147s | we chose this model and then and then |
148s | but also 30 000 people while it sounds |
150s | great |
151s | I don't know Dave does that sound fun I |
153s | mean I think there are parts of it |
154s | that'd be super fun right but then I do |
156s | think you know some of the design of our |
158s | game would not work well with that a |
160s | couple just immediate examples are uh |
162s | you know we don't instance our |
163s | gatherables right and it's already |
165s | sometimes tough to get more calcium node |
167s | can you imagine now if there's 30 000 |
168s | people going for that node that's going |
170s | to be a challenge uh the other part is |
172s | the territory game right like there's |
174s | only x amount of territories to go after |
176s | uh and that's fun when there's two |
177s | thousand you know two and a half |
179s | thousand people but if there's now |
180s | suddenly thirty thousand people vying |
181s | for those territories uh you know even |
183s | less people are gonna get to participate |
186s | you know why don't we just put some |
187s | mannequins in the house and just get |
189s | gear set storage in in like a day or two |
190s | like that seems pretty easy to me so uh |
194s | there's a lot that goes into that uh so |
197s | for example |
199s | um one of the things we have to do with |
201s | all player state is you know store it so |
203s | so you get the same data from session to |
206s | session where you log out log back in |
208s | um you know that's a that's a finite |
209s | pool uh that we can sort of dip into and |
213s | the more items the more you know player |
215s | state that that we're trying to save |
218s | um like we start bumping up against |
219s | those budgets uh and that means that we |
223s | need to spend more time optimizing |
225s | things we need to spend more time kind |
227s | of reducing the size of other things to |
229s | make space for this this new information |
230s | a lot of what I do is like sort of |
233s | backend you know data like messaging |
235s | kind of stuff and I always tend to |
238s | forget about the UI aspect of it and so |
241s | when when you're saying like oh let's |
243s | just put it on a mannequin it's like |
244s | well how would we actually do that and |
245s | like you know the mocks and the UI |
248s | design much less the implementation and |
250s | all that is something that takes a lot |
252s | of time in addition to like you know |
254s | technically functionally we could get it |
256s | working I also know that like whenever |
257s | you're manipulating the inventory |
259s | putting things in and out of it you have |
260s | to be extra careful because we know |
262s | we've made some mistakes there in the |
264s | past that have led to some dupes and |
265s | other issues so we're going to take our |
266s | time with that and and that's sort of |
268s | something we've added on to all of our |
270s | features uh or all you know all the work |
272s | that we do is like make uh doing extra |
274s | you know threat model analysis uh |
277s | hardening of our code more uh testing |
280s | you know we now that we're we've been a |
282s | live game for a year |
284s | um we've definitely evolved from our you |
286s | know pre-launch like you know we want to |
288s | get as many features in we want to get |
289s | as much fun stuff in as possible |
292s | um and you know in order to hit those |
294s | things like you know we took shortcuts |
296s | in some places or calculated risks and |
297s | you know |
299s | let me be sure let me just be rest |
300s | assured we still want to get fun stuff |
302s | in yeah really fast but we're not not at |
305s | that yeah not at the risk of breaking |
307s | things that brings up an interesting |
308s | conversation with gear set storage right |
310s | like I think everyone wants to switch |
311s | their gear that's going to be awesome |
312s | but I think people might also want to |
314s | switch their attributes or what I'm |
316s | mastering with it right so that makes us |
318s | make a an interesting decision like do |
320s | we do the feature just with uh gear |
323s | first so we can get it out quicker or do |
325s | we hold it to do the whole thing |
326s | together and that's a that's a fun you |
328s | know discussion and decision we have to |
330s | make yeah and even when we talk about |
332s | doing the gear do we do all of it like |
334s | if persistence and storage is the big |
336s | problem maybe we can save some time and |
338s | some energy by not doing parts of the |
340s | gear that people may not be as |
341s | interested in switching all the time the |
343s | the persistent side and also like I |
345s | mentioned earlier like sending that more |
347s | data down to the client so you know if |
348s | you have hundreds of people on your |
350s | screen and everyone's changing their |
351s | gear constantly like that's a ton of |
353s | stuff data we're sending down and uh you |
356s | know the pipes can get clogged |
359s | what's another one what's another just |
360s | example Dave uh sometimes weapons is an |
363s | example right like why don't we just do |
364s | another weapon and I think uh you know |
367s | scale comes super into important when |
368s | you're when you're making weapons right |
370s | every time you have an effect or you |
371s | launch something it creates what called |
373s | gde so it spawns things and if all |
376s | people are doing this and weapons spawn |
378s | multiple things it impacts uh things |
381s | that can make we have we have throwing |
382s | hatchets why can't we have throwing |
384s | daggers |
385s | but but they also not just that there's |
388s | also balance issues that come into play |
389s | and and when you add a new weapon it |
391s | needs new animations there's a there's a |
393s | whole plethora of things that all have |
395s | to come together to get these done the |
396s | VFX and everything the rewards is |
398s | another one right like you know then we |
400s | want to have like with the gear sort |
401s | gear Greatsword when we introduce that |
403s | right like now we've got to go back and |
404s | add named items and different sets to |
406s | chase uh so it just it adds a lot of |
409s | work that people don't understand and |
410s | you don't just make one Greatsword |
412s | like as you can see there's so much |
413s | visual Variety in the great swords that |
415s | you see like just in rewards in |
417s | Brimstone before you even start chasing |
418s | all of the end game variety so yeah |
420s | there's there's a lot I mean |
423s | you know one of the things I always uh |
425s | tell my friends who aren't in business |
427s | when they say stuff's easy I always just |
428s | remember the old door problem |
430s | I always tell them to search the door |
432s | problem on the internet and it just kind |
433s | of says you know a designer goes to an |
435s | engineer and says just I want to put a |
437s | door in and it's like oh is the door |
439s | open and close can you go through the |
441s | door is it open from the left or does it |
443s | open from the right does it lock does it |
445s | you know like when you start going |
446s | through the questions it literally opens |
448s | up I think there's like something like |
450s | 250 questions that could come out if I |
452s | want to put a simple door in the game |
454s | and some of these things are just a |
456s | little bit more complicated than that |
457s | which which you know is why we're lucky |
459s | that people like you |
460s | that's where you were going to pull the |
461s | old Scott well you know what's sometimes |
463s | easy and quick aren't the same thing |
465s | right it's easy to count to a million |
467s | yeah yeah the most important metric is |
469s | not the difficulty it's time right now |
471s | sometimes things are super easy but they |
473s | take a long time especially |
475s | like when you want to make sure that it |
477s | gets out and it is at high quality and |
479s | feels right for the players and a lot of |
480s | the the foundational Tech that enables |
483s | us to move more quickly is are things |
486s | that take a long time and and you know |
488s | don't always have that immediate |
490s | customer impact and so you know we have |
492s | to prioritize you know getting things |
494s | out because people want to see cool new |
496s | stuff and we want to build cool new |
497s | stuff versus you know like building up |
500s | that Foundation yeah I mean we're |
501s | working on like right now we're working |
504s | on features that aren't going to go in |
506s | the game for probably a year because |
508s | we're laying that technical foundation |
509s | so when they come in |
511s | we don't break performance or |
513s | persistence or anything like that and |
515s | it's it's hard to understand unless you |
518s | are like in it every day asking all the |
520s | questions because because I like a lot |
522s | of the players I'm like no just get this |
523s | in the game I want it now I want it |
525s | today I'm like I'm every bit as uh |
527s | anxious to get stuff in as everyone else |
529s | because I play the game constantly so |
531s | and like you know that's one of the |
533s | great parts of prototyping is like you |
535s | know there we could do stuff very |
536s | quickly but like in a sort of controlled |
539s | thing that to get feedback on is it fun |
541s | is this the way we want things to work |
543s | but it's not shippable code it's not |
545s | it's not scalable you know so there's |
548s | also that trade-off all right well this |
550s | brings us to our community question |
552s | and that is you know with all this in |
555s | mind what one feature would you like us |
556s | to add to New World now keep in mind I |
558s | can't promise we'll do it but uh I can |
560s | promise we'll try so let us know what |
563s | you think in the comments below give us |
565s | a subscription if you like us because |
566s | that'll tell us to keep making the show |
568s | otherwise thanks and we'll see you next |
570s | time |
573s | [Music] |
574s | [Applause] |
580s | [Music] |
583s | [Applause] |