Talk went ok, I’m not the most experienced speaker so I think I went a bit fast, and could have presented the material better, but I was very nervous, who do you think I saw in the audience, just before I was about to start my talk about how to extend old school FPS networking techniques to a Havok simulation?
John Carmack!!!
Yes thats right, here I am, me, Glenn “nobody” Fiedler, talking about Quake and Unreal and all the games that just owned me when I was 18 years old playing them, and here is this fucking god sitting there listening me reference, probably incorrectly, his own work.
At least, I’m pretty sure I saw him sitting there… although I’ve never met him, I sure as hell know what he looks like… and yep, just as I’m starting my talk, I spot a dude looking uncannily like JC sitting ten or rows back a bit to the left of center
And well it freaked me out pretty bad, I rushed through the tutorial part of my talk thinking, wow I don’t want to bore this guy – its pretty simple stuff anyway (client side prediction that is), … ended up finishing my main slide material in just 30 minutes
But then, something really cool happened… I was able to sustain solid Q&A and impromptu lecture for the remaining 30 minutes, and with 15 minutes to go, I was getting pretty solid eye contact and nods from people in the audience.
Now I’ve really got to work on my speaking technique so I can get this sort of connection earlier, because I really felt a bit stonewalled by the audience in the first 10-20 minutes
I was thinking a lot after the talk about went OK and what I could have done better, here is the list:
Positive things:
- Got feedback that the level of technical depth was good. I always get a large complex about this before doing a talk, you’ve been working in some area for years, and then you think, wait, its soo easy – especially after reducing something to its essence when presenting slides. Of course, you WANT it to be simple and understandable, but always for me, my biggest fear is that i’ll present something that just isn’t that complex or interesting. Didn’t seem to be the case, but boy was I worried about it
- Authority management metaphor of the red/blue cubes worked really well. Q&A section really reinforced this, truth is this is a simple trick only (very simple), and once you get it its dead easy – but the vis helped to show people this
- Heard lots of indirect feedback about the talk, and most people got that the talk was about ‘object ownership’ which was great, because the core message of the talk was the authority management. This was intentional, I’m very inexperienced at doing talks (this was the third time I’ve ever spoken in front of a large group, EVER, and by far the biggest audience!), so I was naturally shitting bricks as they say, reading up everything I could so I would not totally bomb out, and noticed that many articles gave the advice, “How many points can you get across in a one hour lecture? Just one!“. I was very proud that I picked the main point of the talk well, and managed to get it across to the audience as that, and have folks remember it the next day!
Things I could have done a lot better:
- Should have given a bit of a bio or at least some context for myself before launching into the talk, stuff like, I worked on freedom force at irrational, shared my physics background and how i got into networking… something like that, to open up. i’m a pretty self deprecating sort so it would have worked well
- Not too happy with the mercs2 vid I had to show, because it was kind of old, and doesn’t really show the game in the best light. The latest builds just look fantastic, and the vid only just looks “ok”, plus it didnt really show off a lot of the physics and destruction that we have to network, let alone two players in the game!
- Really should have had some audience feedback at the start during the intro, “how many of you are network programmers? RTS model? FPS model? physics programmers? generalist programmers? etc…” could have helped avoid 400+ dudes giving me the poker face for the first 20 mins of the lecture
- Bust out the demo early, instead of halfway through the lecture. i was hoping to have a rewind/replay demo visualization ready for the first part, but I ran out of time. really needed to do something to get the attention of the audience first, and the vid wasn’t cutting it for that, or at least, that was my impression (since i couldnt break any new footage, especially of mercs2 in coop) — in retrospect, showing the “dynamic world” demo first up, to make it clear WHAT we were networking would have been good before i went into the traditional FPS tutorial section
- Should have made it very clear that the tutorial on rewind and replay was not indicative of the difficulty level of the talk, i rushed through this section particularly quickly because of my perception of this being easy for an expert audience, still its good material and context. Would have been nice to take this section easy to warm up, while having the audience reassured that this lecture isn’t going to be this easy all the way through
- Missed an opportunity by not explaining a pure client/server (dumb terminal client), version of the dynamic world networking first, because this explains a lot of the basics (input+state being sent continuously both from client->server, and server->client), lots of folks went a bit off the path not quite understanding if i was simulating on the client or the server or both (i was simulating on both)
- Should have presented pseudo-code for each of the network model cases, at the end of discussing it visually and showing a demo to really drill down the understanding. Not everybody is visual, and ultimately a programmer is going to at some point, want to see the steps for what needs to be done. This would have really helped
- I talked a bit quick for the japanese translators and made their lives tough forgetting to rephrase the question before answering (sorry koka! this stuff is hard when you are all nervous and being watched by JC!)
- Wish I had the balls to call out JC during the lecture and get him a round of applause and do some quake fanboy grovelling (good lord I played that 12hrs a day plus for over a year when i was 18… and that game is what got me interested in networking and in the game industry in general)
- Got sick the weekend leading up to GDC and ran late on some demos I wanted to show, missed out on showing demos of time synchronization or client/server in streaming mode, and would have really helped with audience visualization, especially in the streaming section of the talk near the end
- Regret having to talk about streaming at all actually, but due to the title of the talk “Mercenaries 2: Networked Physics in a Large Streaming World”, I kinda had to. I would have preferred to keep it focused on the core techniques for now (felt the streaming section was a bit rushed and underdeveloped), — the late realization of the authority management helping with prioritization was a great thing though, i don’t think the audience quite got it, either because i went too fast, *OR* maybe it was just so obvious that it didn’t have any effect – well it wasn’t obvious to me while developing it, i’m not too bright sometimes
Well thats it, I’m tired and just got in from my flight back to LA (delayed…), hopefully I’ll be able to get slides up monday once I get approval from Pandemic and EA
cheers!
{ 4 comments… read them below or add one }
Hey Glenn, I was lucky enough to be in the audience at your talk and I found it very clear and informative. To give some context, I’m not a John Carmack and merely a server developer for Playstation who deals more with a web-based side of things (I’ve dabbled a little with our client APIs, however), so I’m probably not even in the target audience for your talk, however I wanted to attend as many “online-based” talks as possible, and yours was one of the most relevant in that respect (the Bungie chap talking about online matchmaking was probably the “most” relevant to me). Your demo was very clear and your slides were helpful (I’m sure people are hanging out to review them), though I guess I’d agree with your point 6. above in terms of clarity, but aside from that it seemed well thought-through.
Not sure I’d agree with 9., though. If I were John Carmack I’d be happy to sit semi-anonymously and listen to talks without needing celebration. Having said that, if I met the guy, I’d be lost for words!
Oh, and nice work representin’ for the aussies in the US. It was great to hear lots of aussie accents at GDC (I’m a Sydneysider who worked for SCEE London Studio for a while, now I’m back home). Best wishes and no doubt you’ll get asked to speak at GDC again!
Wow thanks mate!
SCEE London, I guess you worked at the old Team Soho then?
You know I used to work in Sydney for a few ex-Team Soho at “Team Bondi” just before I flew out to Pandemic, lot of ex-getaway, and some from Singstar, nice bunch of guys!
Quite a different experience here in the US, but good in its own ways
I’ll return to Sydney some day though, I hope!
ps. You are right about not calling out JC, as much as I’d love to do it (with the best intentions), I’d just never be able to because I’m too respectful – case in point, after my talk I was hanging out with Brenda Brathwaite and John Romero at some hotel bar – well, “hanging” out with Romero is a bit of a stretch, I couldn’t even manage much more than “hi! *gulp*” because he’s such a god to me!
Oh and when I release my final slides, I’ll add a section covering the pure client/server implementation (#6) for clarity – thanks for the feedback!
No worries! I know a couple of guys at Team Bondi as well and it was pretty cool to catch up with guys I know from the London Studio (Singstar and Home teams) at GDC.
Wow, John Romero! That’s a seriously big name, and I can relate: Phil Harrison was at the hotel bar on the Friday and I think I managed a nod and a smile (it’s possible he recognises my face from my London days), but having the big-big-big-boss on hand is always intimidating. Then the news on Monday came as a bit of a shock!