If you like the podcast, you're gonna love this: https://www.youtube.com/watch?v=kIhY4VDa820
🎉 TY!!!! Watching it now!!!
DUDE!!!!! I’m flipping out watching your video right now!!! OMG! So exciting!!! Your intro reminded me so much of watching the AlphaStar competition, where the commentators were commenting on watching AlphaStar compete against one of the best players in the world. (I’m not ashamed to admit that I cried watching the AlphaStar documentary, as well as the AlphaGo documentary!) So cool!!!!!
The visuals of all it take to do these productions are awesome! I’ve always wanted you to describe what you’ve done for live productions and esports on the podcast — all my wishes on this have come true, and in so much detail. I love it!
@jr0cket Thank you! Thanks for sitting in on my pre-talk. Your feedback was really helpful! I changed up the order of the talk and added in the high-level diagrams about the information flow.
@genekim Thanks! I'm glad you got to watch it! I missed you at the Conj!
“20m Overwatch server compiles!” What is an Overwatch server? That’s what gamers connect to, and handles multiplayer games? What was it written in? So cool!
That was such a fun talk! Kudos, @neumann!!!
Overwatch is an online multiplayer game. He was just talking about the server players connect to to play the game.
Sorry — I wasn’t quite clear. My kids loved playing Overwatch for years. Is the “Overwatch server” what players connect to when they’re playing online multiplayer matches? Or is it something special only for tournaments? And are there special servers only for tournaments installed locally, to reduce latency?
Aah gotcha. Yeah I know for heroes of the storm they had on prem servers for tournaments. I’m assuming it’s the same, but I’ll let Christoph give the definitive answer.
People who loved @neumann’s talk will also likely LOVE this documentary of Google DeepMind AlphaStar, which includes some of the folks from Blizzard Starcraft II team. https://www.youtube.com/watch?v=cUTMhmVh1qs
@genekim @potetm Overwatch does 100% of the game logic on the sever side and only does rendering and input on the client side. The server team has a talk about it. I'll dig it up. It's really good how they handle network latency and all that. The Overwatch server generally runs on Blizzard's infrastructure, but they would bring it on prem for the Overwatch League. When the server was on-prem, it was actually locked up in a safe-like room and guarded. It was wild! The security around the server created a big problem for me because I needed to build all the downstream integrations. That's when I got the idea to record all of the data streams and play them back. I got that idea while I was onsite developing the integration, so while I was waiting for those compiles, I was primarily working on my data recording and playback code.
It gets really interesting at 24:38.
@genekim I'll check out that video. I worked with Artosis for Heroes of the Storm esports.
Very cool! Crazy model to ensure smooth gameplay, despite 100s of ms round trip delay between client and server, and packet loss! So, Overwatch is a C++ program that takes 20m to compile, for even small changes to accommodate your data needs?
Yes, Overwatch is a C++, and due to the size of the code and the different flags enabled (like debugging symbols and such), the compile time was pretty long. Approx 20 minutes.
I think a production build takes even longer.
I'm assuming there are ways to build small changes that are faster. I just know that I had about 20 minute turn around times between changes.
Everyone, I'd love to hear your reactions and constructive feedback!
Exceeded my overly demanding expectations for this talk 😉, congratulations. I quickly got a sense of what it would be like to do live productions with Clojure. Perfectly delivered too. I loved the example of 20 min compile of the Overwatch server verses using the REPL to get the data instantly. The replays of data to simulate the real time experience was also intriguing. The system flow diagrams were excellent at communicating the data complexity. Thank you. I hope you enjoyed giving the talk as much as I did watching it.