 Nós estamos de volta Por que tanto? Nós nunca conhecemos, mas galera, vamos apreciar esse tempo juntos, nós nunca conhecemos quando vamos Eu quero começar esse vídeo com a felicidade de eu e vocês também Para vencer o preço imaginário de meu canal consistente em toda a comunidade, galera, que ótimo é isso Gente, vamos começar o vídeo actual Então, depois de quase um ano, se você não está consciente disso, eu estava trabalhando com um parque com o Packet Publishing Nós escrevamos um livro todo sobre fazer online multiplayer games com o God of War Então, galera, que ótimo é isso Nós estamos aqui para ajudar você a construir esse incrível MMORPG que você está dreamando por toda essa carreira Por quanto tempo, eu não sei, desde que você começou a trabalhar com computadores, provavelmente Então, depois de quase um ano, o livro está começando, é uma campanha pre-orda Então, nesse vídeo, nós vamos ir para o conteúdo do livro Nós vamos ler o livro do conteúdo E eu vou introduzir, muito brevemente, o chapter Então, você vai entender o valor que estamos fazendo para relembrar esse mundo E, galera, isso vai ser incrível Eu realmente vejo vocês criando os mais incríveis games conectando as pessoas juntos Essa é a coisa sobre esse livro Que é ajudando você a trazer e conectar as pessoas juntos em games E para que eles possam ter uma experiência de sharing e construir as coisas juntos Então, imagina algo como, talvez, Roblox ou Minecraft Ou qualquer coisa mais incrível do que isso, como Among Us ou algo assim Então, isso é um dreamar, então, para ver o que você criará com esse conhecimento Mas, com todos esses dedos, sem eles, sem any delays, vamos chegar ao vídeo Isso é o cover do livro Eu, galera, estou muito orgulhosa disso, por isso, eu estou muito orgulhosa disso Vamos ver o guide do Cessia para criar games de multiplayer com o God of War Harness the Power of God of Engine, Jail Script Network API Para conectar os jogadores em games de multiplayer Essa é a coisa, galera, conectar as pessoas, usar esse conhecimento para conectar as pessoas Vamos ver, nós temos todas essas coisas aqui Eu quero dedicar esse livro para o de Deus, que sempre foi com mim Aplacir-me com a força, a feita e a determinação para tomar um passo confuso por essa jornada Deixe esse livro ser um aplacimento, que vai permitir as pessoas fazer incríveis criaturas e diversas Vocês, galera, vão criar incríveis coisas O 4° é por Nathan, Nathan Lovato, do DD Quest Eu estou muito feliz, eu considero que o Nathan é um dos meus amigos Nós não estamos trabalhando juntos no DD Quest mais mais Nós crescemos, crescemos Mas eu sempre estou seguindo seus passos E eu estou muito feliz sobre como o God of War está indo, onde God of War está indo Nós estamos tendo alguns resultados muito frutos durante esse ano E também nos últimos anos Então nós temos a sessão do reviewer, a sessão do reviewer E finalmente nós temos o table de contentes, vamos dizer isso Gente, a primeira coisa que você precisa saber sobre networking, é como fazer um handshake É, basicamente, um protocolo que os computadores fazem para estabelecer um protocolo de comunicação Tipo, eu não acredito em você, quem é você? E os outros computadores dizem que eu sou esse cara aqui Como nós vamos mudar a mensagem aqui? Então, eles estabelecem o protocolo E, bem, a primeira sessão do livro, o sete de um server, é tudo sobre isso Então, vamos começar a networking, vamos colaborar com isso Como podemos fazer isso? Nós vamos usar a classe de multiplayer in-net para fazer isso, no primeiro momento Mas depois, nós aprendemos o que é um protocolo de protocolo de UDP Porque isso é muito importante, só que você possa ver a diferença E o valor que a nova API vai dar para você Porque, sem esse high-level API, gente, você não tem ideia de um head-act Isso vai ser para conectar os computadores em um network Então, por favor, congratulamos e agradeçam o Fabio Alessandro Para fazer todos esses movimentos para o high-level de gurot E, na verdade, se eu não errei, o high-level network API Então, esse é o pessoal que deve tomar todos os créditos para isso, para você Mas vamos voltar para o livro Então, essa primeira sessão é tudo sobre isso Para dar uma sessão para o server e fazer uma comparação entre os protocolos E, bem, essa é a parte que é muito introduzida Depois, nós aprendemos como enviar e receber data usando o protocolo de UDP Porque, depois que você entende o hustle que é fazer isso Você vai entender o valor actual desse API de high-level Então, aqui nós vamos entender o que é o formato de JSON Porque nós estamos, de verdade, focussando essa sessão em serializando e des serializando data através do network Porque, nós não podemos passar os objetos de volta no network Porque os objetos são como referências de memória E os computadores não têm a mesma adressa de memória Então, você não pode só passar os objetos de volta Mas, de fato, você passa os dados relevantes através do network Então, nós podemos recreatar um objeto ou um objeto de volta no network Então, através de outros jogadores ou outros jogadores instantes desse objeto E isso é o que nós aprendemos aqui Como fazer isso para serializar um objeto em formato de JSON E passar esse data de JSON através do network Usando o packet peer UDP e o server UDP classes E, por isso, a coisa behind that é fazer uma autenticação Um sistema de autenticação Então, os jogadores vão dizer que eu sou um usuário e esse é o meu password E o server vai dizer que vamos ver isso Então, nós temos uma base fake com os usuários e passwords aqui E a ideia do livro é que você vai usar o app de um engenheiro de network Em um estúdio indígena Então, eles vão te introduzir para os projetos Eles vão fazer o processo de on-board E essa primeira parte do livro é tudo sobre introduzindo-te para os tecnologistas E depois que o jogador autentica os credentials Eles vão receber o token para manter a sessão por todo o jogo Então, quando o jogo precisa ver se o jogador é still O jogador é validado para ver se a sessão é correcta Eles vão ver o token e o jogador vai dizer E o jogador vai dizer que esse é o token que você vai me dar Então, eu posso ir com a sessão do jogador E o server vai dizer ok Então, em sessão 3, nós vamos fazer um lobby para os jogadores O concepto todo aqui é que nós vamos morrer da approach da UDP Então, agora que nós entendemos o quanto é o headact É para usar os protocolos de nível alto Nós vamos finalmente se transformar em algo com a approach in-net Então, nós vamos remover o sistema de autenticação usando in-net E para isso, nós vamos usar RPCs O que é uma das mais incríveis tecnologias que eu vi na minha vida Porque, basicamente, se você está fazendo uma função cultural Em um objeto que não está no seu computador É tipo um computador de outra pessoa E muitos outros computadores E até o server Então, sim, isso é incrível E, no final de esta capta, nós vamos permitir os jogadores de login E ter ambos os avatars Então, um jogador e o outro jogador E os avatars juntos, lado a lado E, depois disso, nós criamos um chat online A única coisa sobre a capta 4 É que nós entendemos como os dados changam E nós vemos como relímpicos e péssaros Então, se os péssaros devem chegar em ordem Ou não em ordem Ou se eles devem chegar em todos Então, nós entendemos isso porque, idealmente A mensagem de chat deve sempre chegar em ordem Em todos os péssaros, certo? Para evitar a miscomunicação E nós vamos introduzir a ideia dos canais Nós não usamos isso em todo o livro Mas é bom ter isso aqui Porque, desde que este é um desses instantes Onde nós precisamos que os dados chegam em ordem Nós usamos um canal separado Então que todos os outros canais são frios Para toda a transmissão de dados, especialmente na ordem Ou na transmissão de dados não relímpicos Porque este canal será idlado Para todos os péssaros que chegam em ordem Então, se outro péssaro não chegar a este canal E não é o péssaro que estará esperando E vai ser tipo, não, eu preciso esperar este para chegar a este ordem Então, eu posso processar você agora Eu posso processar este requito agora E este pode criar algumas botonexas E este todo o capítulo é para evitar essas botonexas Então, nós usamos um canal específico Para transmissar a mensagem de chat E permitir os outros canais para ser usados Para todas as outras coisas, certo? E depois disso, nós entramos em parte 2 Lembrem-se, você é o Engenheiro Network Engenheiro Office Sim, Engenheiro Imaginário Game Development Studio Então, esta é a parte onde você será introduzido Para os projetos Os projetos são Projetos de local de local E o seu rol aqui É para pegar este local de local E fazer um jogo de multiplayer online Então, nós vamos introduzir As mecânicas de multiplayer online A primeira coisa que começamos É um jogo de quiz online Então, nós podemos entender como nós podemos sincronizar Os estados de jogos por pias E como podemos permitir pias Para fazer mudanças em outros estados de pias Então, se um jogador responde A pergunta de quiz correto Os outros jogadores não podem responder As quiz e mais Então, eles serão lock-down As respostas E depois nós temos Um sistema de turn Que é a mudança do game Que é um jogo de modernidades e online E este jogo é muito legal Porque Nós construímos Este livro sobre De contentura até chegar a um ponto Em que você vai criar um coisa muito complexa Que é no 9 de fevereiro Vamos falar disso depois Então, no 6 de fevereiro Nós vamos introduzir o exemplo dos checkers E como poder ser realizado de data intransmitida, com poucos poucos data packs, e nós vamos também entender como podemos preventar os jogadores de mudanças em objetos que não estão em título 2. Então, no jogo de checkers, temos as suas peças e as outras peças de jogadores, e como você preventa esse jogador de massas com as suas peças, porque eles vão estar com o mesmo jogo da máquina. Então, esse aqui trabalha mais sobre a autoridade de multiplayer sobre alguns objetos, sobre alguns notos. É muito legal, é muito legal o conhecimento que tem também, para entender. Depois temos o game de pão online, que é onde introduzimos o sincronizador de multiplayer, que é um node que nos permite dizer que eu quero que você sincronize isso, isso e essa propriedade através do network, então eu não quero saber como você vai fazer isso, mas só fazer isso para mim. E é muito, muito legal. E nós também aprendemos que esse sincronizador de multiplayer também pode update as outras peças em uma base de processo, então podemos deixar isso no processo de idade ou no processo de física. E você vai ver como isso funciona através dos subreadings desta capteira. Criando um online, a capteira 8, criando uma plataforma online é um projeto muito legal também. Então, aqui temos como um plataforma de puzzle, onde temos algumas creias e os jogadores precisam pegar essas creias e se manejar através do level layout, né? Então temos jogadores que podem jogar no topo de cada outro ou no topo das creias e temos que mover essas creias para que eles possam mover no level e suprir essas puzzles físicas. E a ideia behind this chapter é que como podemos permitir que os jogadores possam log-in e jogamos juntos? Então temos como o lobby e pode ser como três ou três ou quatro ou cinco jogadores participando da mesma sessão. Então, como nós manejamos isso? Nós temos em o projeto anterior, que é o prong e os checkers e as creias. Nós temos como apenas dois jogadores jogando. Então, como nós manejamos isso? E neste canal, neste capteiro, é onde introduzimos a classe spawner, que é basicamente a principal para isso, para criar instantes de objetos dinâmicos para outros jogadores, para outros jogadores, por exemplo, do jogo. E, finalmente, pessoal, nós chegamos ao capteiro 9. Este é, quer dizer, o todo livro é basicamente sobre este projeto aqui. Este é o básico essencial que você precisa entender para fazer um jogo online, um grande multiplayer online. Então, aqui nós estamos fazendo um jogo de avançamento, mas se você entende os princípios de underline atrás de todas as técnicas que nós estamos usando aqui, você entende que você pode fazer um requerimento de data base, então você pode update a data no player, no site do server, no site do cliente também, e retirar este data e você pode manter os progressos dos jogadores por todo o jogo. Então, aqui nós estamos trabalhando com quest, então é um avançamento, né? Então, os básicos de avançamento de jogos são missões e quest, mas se você entende que você pode fazer isso, você pode fazer um outro database para, tipo, a posição do jogador ou o update do jogador, então, tipo, os status dos jogadores, ou atributos ou coisas assim, ou skills em skill tree. Então, se você entende que no princípio de underline nós não iremos ir por tudo aqui, nós estamos só apresentando princípios aqui, mas se você entende isso, você pode, tipo, escalar isso para fazer uma online, um multiplayer massivo online, RPG, se você quiser. Então, os princípios são todos aqui. Então, nós entremos na parte 3 do livro, optimizando a experiência online. Então, nós só fizemos um projeto muito legal aqui, e esse studio indigame disse, Hey, nós esperamos que muitos jogadores deveriam jogar esse específico jogo. Então, nós precisamos optimizar essa experiência. Como podemos diminuir as chances de que essa experiência vai, basicamente, rocar em lega, ou larga, ou tipo, vai requer muito, um grande infraestrutura. Então, a parte 3 vai tomar esse projeto, o projeto do chapter 9 e optimizar para a área. Então, nós temos, nós introduzimos, no 10º, nós introduzimos o debugger, o debugging e profilando os produtos que o Godot nos proporciona. Então, nós vamos devagar para introduzir o debugger de Godot. Então, nós vamos por todos os tabos que temos disponível e depois nós focusamos no profilamento natural e no tab monitor, porque usando o tab monitor, nós podemos criar monitor custom, então nós podemos monitorar qualquer, qualquer tipo de data que queremos em nosso jogo. Então, isso é um tool muito legal para você ter em mente e para o mestre. Gente, take this chapter and master this monitor step, because you can like see how much damage the player can deal in a whole play session or in 20 minutes of game or how many times players are dying into a specific boss or into a specific level. So, you can gather all this data and fine tune the player experience. This is not made just for like optimizing the network besides we are focused on optimizing the network here. This is like a blow a mind blowing knowledge that you can use to make like let's say if you want to make like play sessions with your peers to play test your game and like gather data about Hey, where are the people are dying? How many times the how many times people are using this this weapon or shooting how many enemies players are actually killing so we can optimize and reduce the amount of enemies around the level. Guys, this is for game designers, the most important tool that you can have on your tool belt, but let's move on. So, on chapter 11, we actually optimize stuff. So, we we chapter 10 we we notice we we assess the potential bottlenecks that we have on our game. And then on chapter 11, we actually optimize it so we decrease the desterite sinking count. So, there's no need for asterisks to keep that's thrown up the asterisks multiply synchronize to keep sending update request. If desterite doesn't actually change, don't actually change the position. So, we just need to send one request for updates. So, this is very important. And after that, we are we also seeing compressing data, which is very important as well. So, we the even if we have like massive amount of data and vision transmitted through the network, we can compress it and decompress it using the in-net connection class. And on chapter 12, we are going to implement this one was very expected implementing lag compensation techniques. So, we pick up players and we say hey, if we are playing just on your end, yeah, the game will never be lagging. But if you like play with other players, they will be lagging as well. So, let's move on this responsibility to the server and start implementing lag compensation techniques. So, we are going to see the three-pod of lag compensation, which is interpolation, prediction and extrapolation. These are the three-pod of techniques that you need to know to implement lag compensation. And finally, in the final chapter, we have caching data to decrease bandwidth, which basically is about like allowing players com uma infraestrutura pura para jogar o jogo. Então, você reduz a bandwidth, para que outros players possam jogar o jogo e possam ter acesso a seu jogo também. Aqui, nós introduzimos o requesto de HTTP. É bem tarde em o livro, mas também é um knowledge muito valorável. Então, por causa do livro, galera, não há ponto em que você vai ser como um bordo. Você sempre está aprendendo algo novo e engajado. Então, nós utilizamos o requesto de HTTP para download algumas imagens da internet e fazer um cachamento para os computadores de player. Então, uma máquina de player. Isso vai diminuir a bandwidth, porque agora você vai ter essa imagensada na máquina de player. E se a imagem está lá, não precisa continuar downloadando. Então, isso é o que esta capta é tudo sobre. E depois disso, galera, sua experiência é finalizada. Você vai ser equipado com todo o knowledge que você precisa criar, as mais incríveis experiências online que você precisa, que você quer criar com o Godot Engine. Então, é isso. Eu estou trilado para ver o que você vai fazer com todo esse knowledge. Então, você pode fazer o pre-order do livro no link, ele vai estar no descrição e no comentário do Pinet também. Então, você pode pre-order isso no Amazon. E, galera, eu... eu... eu... Eu só... eu não posso descrever isso. Então, vamos só terminar, como sempre, continuar desenvolvendo. E até a próxima vez. Até mais.