{"id":140812,"date":"2021-12-09T20:38:26","date_gmt":"2021-12-09T23:38:26","guid":{"rendered":"https:\/\/www.comboinfinito.com.br\/principal\/?p=140812"},"modified":"2021-12-09T20:38:26","modified_gmt":"2021-12-09T23:38:26","slug":"netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes","status":"publish","type":"post","link":"https:\/\/www.comboinfinito.com.br\/baseteste\/netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes\/","title":{"rendered":"Netcode nos jogos de luta: Quais os tipos? Funcionamento e porqu\u00ea s\u00e3o importantes?"},"content":{"rendered":"<h5 style=\"text-align: center;\">Netcode: o que \u00e9 e porqu\u00ea o Rollback \u00e9 um fator determinante para os jogos de lutas?<\/h5>\n<p><span style=\"font-weight: 400;\">O Netcode se tornou um fator essencial no cen\u00e1rio dos jogos de luta pois estes ainda continuam populares com o decorrer do tempo, e em meio a tantas op\u00e7\u00f5es de jogos, desde os j\u00e1 consagrados e com maior evid\u00eancia como Killer Instinct, <\/span><b>Street Fighter 5<\/b><span style=\"font-weight: 400;\">, <\/span><b>Mortal Kombat 11<\/b><span style=\"font-weight: 400;\">,<\/span><b>The King of Fighters 15<\/b><span style=\"font-weight: 400;\">, <\/span><b>Tekken 7<\/b><span style=\"font-weight: 400;\">, <\/span><b>Dragon Ball Fighterz<\/b><span style=\"font-weight: 400;\">, <\/span><b>Guilty Gear Strive<\/b><span style=\"font-weight: 400;\"> e <\/span><b>Super Smash Bros Ultimate<\/b><span style=\"font-weight: 400;\">, temos futuras promessas como <\/span><b>Multiversus<\/b><span style=\"font-weight: 400;\">, <\/span><b>DNF Duel<\/b><span style=\"font-weight: 400;\"> e <\/span><b>Project L<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O <\/span><b>Rollback <\/b><span style=\"font-weight: 400;\">netcode se popularizou com a chegada de <\/span><b>Guilty Gear Strive<\/b><span style=\"font-weight: 400;\">, no qual a <\/span><b>Arc System<\/b><span style=\"font-weight: 400;\"> implementou um netcode de qualidade incr\u00edvel, tornando poss\u00edvel a jogatina online com uma qualidade de conex\u00e3o semelhante a um gameplay local.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No entanto, para entender melhor o porqu\u00ea do <\/span><b>Rollback<\/b><span style=\"font-weight: 400;\"> ter tanta import\u00e2ncia, iremos nos aprofundar no funcionamento dos Netcodes dos jogos de luta, e iremos come\u00e7ar pelo <\/span><b>Delay-Based Netcode<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Atualmente, a maioria dos jogos de lutas atuais rodam a <\/span><b>60 frames por segundo, o que<\/b><span style=\"font-weight: 400;\"> significa que 1 frame tem cerca de 16 milissegundos (ms) de tempo real. Em uma jogatina offline jogador vs jogador, se acontecer de ambos pressionarem um bot\u00e3o na mesma janela de 16 milissegundos, o jogo receber\u00e1 e processar\u00e1 as entradas no mesmo quadro e aplicar\u00e1 a l\u00f3gica conforme o esperado. Ambos ver\u00e3o a mesma sa\u00edda, porque h\u00e1 apenas o console\/computador fazendo os c\u00e1lculos.<\/span><\/p>\n<h6><b>Se tratando do modo online, a hist\u00f3ria muda completamente!<\/b><\/h6>\n<p><span style=\"font-weight: 400;\">No modo online h\u00e1 mais de um &#8220;intermediador&#8221; no processo das informa\u00e7\u00f5es al\u00e9m da m\u00e1quina que est\u00e1 rodando o jogo, neste caso, o outro intermediador ser\u00e1 a internet. Dessa forma, h\u00e1 um pequeno atraso na entrega das informa\u00e7\u00f5es, pois elas v\u00e3o da plataforma para a rede e da rede para dentro da plataforma do oponente, seja ela console ou PC.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Isso se mede em <\/span><b>ping<\/b><span style=\"font-weight: 400;\">: quantidade de tempo que leva para o encaminhamento de informa\u00e7\u00f5es entre jogadores.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tomando como exemplo um ping de 90ms, levar\u00e1 cerca de 45 milissegundos (em m\u00e9dia) para que as informa\u00e7\u00f5es cheguem ao outro lado, isso equivale a mais ou menos cerca de 3 frames dentro do jogo. Tendo isto em mente, vamos entender o funcionamento do netcode baseado em delay conhecido como &#8220;<\/span><b>Delay-Based Netcode<\/b><span style=\"font-weight: 400;\">&#8220;.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Se tratando do modo online, pegando o exemplo de 90ms que falamos acima, se pressionar o bot\u00e3o no 5\u00b0 frame de anima\u00e7\u00e3o do seu personagem, o pr\u00f3prio jogo ir\u00e1 atrasar artificialmente o comando efetuado por voc\u00ea, nesse caso, a a\u00e7\u00e3o ir\u00e1 sair no 8\u00b0 frame de anima\u00e7\u00e3o, pois este seria o tempo de envio da informa\u00e7\u00e3o por meio da rede.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No exemplo a seguir da <\/span><a href=\"http:\/\/www.codemystics.com\/technology.shtml\" target=\"_blank\" rel=\"noopener\"><b>Code Mystics<\/b><\/a><span style=\"font-weight: 400;\">, podemos ver que ambos apertaram os bot\u00f5es ao mesmo tempo, mas os personagens s\u00f3 ir\u00e3o efetuar o movimento assim que essa informa\u00e7\u00e3o chegar ao oponente, esse atraso artificial \u00e9 o tempo necess\u00e1rio para essa troca de informa\u00e7\u00e3o. Esse tempo entre o apertar do bot\u00e3o, at\u00e9 o momento da entrega dessa informa\u00e7\u00e3o para os jogadores \u00e9 conhecido como &#8220;<\/span><b>input delay<\/b><span style=\"font-weight: 400;\">&#8220;.<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-content\/uploads\/2021\/12\/Code-Mystics-Explains-Netcode_-Input-Delay-vs.-Rollback1080P_HD-00_00_36-00_00_393.gif\" \/><\/p>\n<p>Contanto que cada comando possa viajar pela rede nesses 3 frames, o jogo permanece est\u00e1vel e consistente mas essa n\u00e3o \u00e9 a realidade da internet.<\/p>\n<h6>A qualidade da conex\u00e3o faz toda a diferen\u00e7a<\/h6>\n<p><span style=\"font-weight: 400;\">O maior problema desse tipo de Netcode \u00e9 a inconsist\u00eancia da internet. Como as redes n\u00e3o s\u00e3o plenamente consistentes (principalmente as <\/span><b>redes Wi-Fi<\/b><span style=\"font-weight: 400;\">), o <\/span><b>delay-based netcode<\/b><span style=\"font-weight: 400;\"> t\u00eam dificuldades para lidar com as oscila\u00e7\u00f5es da rede. Se caso em uma luta um dos jogadores tenha atraso no envio das informa\u00e7\u00f5es devido a oscila\u00e7\u00e3o na rede, o jogo simplesmente n\u00e3o pode prosseguir sem a informa\u00e7\u00e3o de ambos os jogadores, dessa forma ele n\u00e3o ter\u00e1 escolha a n\u00e3o ser parar e aguardar a chegada da informa\u00e7\u00e3o, fazendo com que o jogo &#8220;congele&#8221; a luta por curtos ou at\u00e9 mesmo longos per\u00edodos de tempo devido a problemas de rede.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O v\u00eddeo abaixo ilustra melhor essa situa\u00e7\u00e3o. Observe que em determinado tempo, ao tomar dois golpes de seu oponente, a personagem da direita se defende do ataque, mas neste exato momento ocorre uma oscila\u00e7\u00e3o na rede, o comando de defesa aconteceu no 2\u00b0 frame, mas devido a oscila\u00e7\u00e3o, esse comando n\u00e3o mais chegaria com os 3 frames de atraso, ou seja, no 5\u00ba frame. <\/span><span style=\"font-weight: 400;\">Desse modo, para que o <\/span><b>delay-based netcode<\/b><span style=\"font-weight: 400;\"> cumpra a sua fun\u00e7\u00e3o de entregar a resposta ao mesmo tempo para os jogadores, ele \u201ccongela\u201d a luta at\u00e9 a rede estabilizar, assim que ela estabiliza, ele entrega a resposta no 5\u00b0 frame.<\/span><\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-140812-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/giant.gfycat.com\/SpecificDearestAbalone.webm?_=1\" \/><a href=\"https:\/\/giant.gfycat.com\/SpecificDearestAbalone.webm\">https:\/\/giant.gfycat.com\/SpecificDearestAbalone.webm<\/a><\/video><\/div>\n<p>Quando o atraso de entrada flutua muito, seja entre duas partidas diferentes ou mesmo durante a mesma partida. Os jogadores de jogos de luta perdem a confian\u00e7a de que tudo o que fizerem funcionar\u00e1 conforme o esperado. E quando n\u00e3o conseguem cumprir o plano de jogo que sabem que os ajudaria a vencer, <strong>o jogo online torna-se extremamente frustrante e muitas vezes in\u00fatil.<\/strong><\/p>\n<p>J\u00e1 se tratando do Rollback Netcode, o maior diferencial dele para o <strong>Delay-Based Netcode<\/strong> \u00e9 o modo como ele lida com a <strong>incerteza da conex\u00e3o<\/strong>.<\/p>\n<h6>&#8220;Eu vou manter o jogo rodando, pode deixar comigo!&#8221;<\/h6>\n<p>O Rollback n\u00e3o espera a entrada perdida do oponente congelando o jogo assim como o delay-based faz, em vez disso, ele continua rodando o jogo normalmente. Os comandos feitos na tela do jogador s\u00e3o processados imediatamente, semelhante ao modo offiline e nos casos em que a informa\u00e7\u00e3o chega com atraso para o oponente, o netcode de rollback continua a simular o jogo.<\/p>\n<p>Mas, quando essa informa\u00e7\u00e3o finalmente chegar ao seu destino, o jogo ter\u00e1 avan\u00e7ado al\u00e9m do tempo em que o oponente pressionou aquele bot\u00e3o, e o jogo j\u00e1 ter\u00e1 mostrado um resultado diferente na tela. Para corrigir isso, o rollback retroceder\u00e1 a simula\u00e7\u00e3o, aplicar\u00e1 a entrada correta e mostrar\u00e1 o novo resultado ao jogador imediatamente.<\/p>\n<p><span style=\"font-weight: 400;\">No v\u00eddeo abaixo, temos uma luta entre Fulgore e Jago, ambos jogadores pressionam soco no 1\u00b0 frame. Mas digamos que a entrada de Jago tenha uma oscila\u00e7\u00e3o na rede causando atraso no envio da informa\u00e7\u00e3o e ela acabe chegando 3 frames atrasada. Como o Rollback n\u00e3o pausa a luta nesse prazo de demora para a entrega da informa\u00e7\u00e3o, observe que Jago permanece im\u00f3vel. No entanto, quando finalmente a informa\u00e7\u00e3o chega ao seu destino no 4\u00b0 frame, o jogo percebe que o comando verdadeiro aconteceu no 1\u00b0 frame.<\/span><\/p>\n<p>O jogo ent\u00e3o deve consertar o passado executando alguns c\u00e1lculos em segundo plano, e compensar\u00e1 o atraso cortando frames de anima\u00e7\u00e3o para igualar o tempo de resposta de ambos os oponentes. Vale lembrar que esse corte de frames ser\u00e1 visto apenas pelo o jogador de Fulgore, pois o atraso ocorreu no envio da entrada efetuada pelo o Jago, e esse atraso em quest\u00e3o foi de mais ou menos 45 milissegundos o que \u00e9 quase impercept\u00edvel a olho n\u00fa.<\/p>\n<h6>Tudo acontece em uma fra\u00e7\u00e3o de segundos!<\/h6>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-140812-2\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/giant.gfycat.com\/WellmadeLeftArrowana.webm?_=2\" \/><a href=\"https:\/\/giant.gfycat.com\/WellmadeLeftArrowana.webm\">https:\/\/giant.gfycat.com\/WellmadeLeftArrowana.webm<\/a><\/video><\/div>\n<p>O jogo pode estar mostrando coisas ligeiramente diferentes para cada jogador, dependendo da qualidade da conex\u00e3o e do que est\u00e1 acontecendo no momento dos rollbacks.<\/p>\n<p>Conforme podemos ver no exemplo abaixo:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-content\/uploads\/2021\/12\/Code-Mystics-Explains-Netcode_-Input-Delay-vs.-Rollback1080P_HD-00_00_36-00_00_394.gif\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Tamb\u00e9m n\u00e3o h\u00e1 como sua entrada ser invalidada ou &#8220;comida&#8221; pelo atraso da rede. O que pode ocorrer no Delay-Based Netcode quando o jogo est\u00e1 aguardando uma entrada remota e n\u00e3o responde para ambos os jogadores. Portanto, um jogador pode se sentir confiante de que o os bot\u00f5es que pressionam ser\u00e3o executados independentemente da qualidade da rede, aumentando muito a consist\u00eancia do jogo online.<\/span><\/p>\n<p>O funcionamento central do Rollback &#8220;puro&#8221; \u00e9 bom mas n\u00e3o \u00e9 o ideal. N\u00e3o h\u00e1 atraso nos comandos, no entanto, visualmente, o corte de frames pode ser muito brusco. Dependendo da qualidade da conex\u00e3o a impress\u00e3o que fica \u00e9 que est\u00e1 acontecendo &#8220;teleports&#8221; conforme Street Fighter 5 nos mostra.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-140812-3\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/giant.gfycat.com\/EdibleImaginaryFrilledlizard.webm?_=3\" \/><a href=\"https:\/\/giant.gfycat.com\/EdibleImaginaryFrilledlizard.webm\">https:\/\/giant.gfycat.com\/EdibleImaginaryFrilledlizard.webm<\/a><\/video><\/div>\n<h6>O corte de frames na anima\u00e7\u00e3o do golpe \u00e9 efetivo, mas o resultado puro pode n\u00e3o ser o melhor<\/h6>\n<p><span style=\"font-weight: 400;\">Vamos para o ponto onde o Rollback brilha, com a implementa\u00e7\u00e3o do sistema de previs\u00e3o, o modo utilizado em Guilty Gear Strive.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No exemplo anterior, mostramos que Jago ficou im\u00f3vel aguardando a chegada da informa\u00e7\u00e3o para efetuar o comando no tempo correto. No entanto, \u00e9 poss\u00edvel prever o que o jogador ir\u00e1 fazer com um grau de precis\u00e3o incr\u00edvel, este \u00e9 o Rollback baseado em &#8220;previs\u00e3o&#8221;.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O Rollback analisa a luta a todo o momento sem parar, ent\u00e3o caso um comando tenha sido efetuado mas ocorra alguma perda ap\u00f3s a entrada. O rollback ir\u00e1 duplicar o comando anterior a perda para todos os frames que ficaram sem entrada. Se o jogador estava segurando a defesa antes da perda no envio da comunica\u00e7\u00e3o, o jogo manter\u00e1 o personagem se defendendo nesse espa\u00e7o de tempo. Se o jogador estava andando para frente antes da perca, o jogo manter\u00e1 o personagem andando para frente. Portanto, se a previs\u00e3o do Rollback foi a correta, n\u00e3o ser\u00e1 necess\u00e1rio cortar frames de anima\u00e7\u00e3o para compensar o atraso, dispensando a revers\u00e3o.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Observe no v\u00eddeo abaixo que Fulgore estava andando para frente, mas no 3\u00b0 frame ocorreu uma perda na entrada. Sendo assim, o Rollback pegou a \u00faltima entrada feita pelo o jogador de Fulgore e o manteve andando. As interroga\u00e7\u00f5es mostram a perca que aconteceu em cada frame de anima\u00e7\u00e3o, os quadradinhos laranjas \u00e9 a previs\u00e3o que o Rollback est\u00e1 fazendo.<\/span><\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-140812-4\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/giant.gfycat.com\/GenuineMadeupLeonberger.webm?_=4\" \/><a href=\"https:\/\/giant.gfycat.com\/GenuineMadeupLeonberger.webm\">https:\/\/giant.gfycat.com\/GenuineMadeupLeonberger.webm<\/a><\/video><\/div>\n<h6>O explendor do funcionamento de um Rollback bem projetado<\/h6>\n<p><span style=\"font-weight: 400;\">Abaixo temos o seguimento do que mostramos acima, s\u00f3 que desta vez, a informa\u00e7\u00e3o de entrada chegou ao seu destino. Dessa forma, o Rollback ir\u00e1 comparar os comandos reais com a sua pr\u00f3pria previs\u00e3o frame a frame. se a previs\u00e3o estiver correta, nada acontecer\u00e1. A gameplay seguir\u00e1 normalmente, mas caso a previs\u00e3o esteja incorreta, acontecer\u00e1 o sistema de revers\u00e3o. O Rollback vai para o frame onde a previs\u00e3o errou e corrige com o movimento correto, cortando os frames de anima\u00e7\u00e3o.<\/span><\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-140812-5\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/giant.gfycat.com\/JampackedDismalAtlanticsharpnosepuffer.webm?_=5\" \/><a href=\"https:\/\/giant.gfycat.com\/JampackedDismalAtlanticsharpnosepuffer.webm\">https:\/\/giant.gfycat.com\/JampackedDismalAtlanticsharpnosepuffer.webm<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Se houver um pico de rede durante qualquer um desses momentos em que a entrada n\u00e3o foi alterada, ser\u00e1 completamente invis\u00edvel para ambos os jogadores. Mesmo em conex\u00f5es duvidosas, uma grande porcentagem desses atrasos coincidir\u00e1 aleatoriamente com momentos em que o jogador n\u00e3o mudou o comando inicial antes da perda.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Um jogo com o delay-based netcode teria que parar e esperar esse tempo em que ocorreu a perda. Ademais, um jogo baseado no rollback verifica se as entradas verdadeiras est\u00e3o corretas com a sua previs\u00e3o. E assim, quando a informa\u00e7\u00e3o chega, n\u00e3o h\u00e1 necessidade de mudar nada, a conex\u00e3o parece completamente perfeita.<\/span><\/p>\n<h6>Jogos que utilizam o Rollback netcode<\/h6>\n<ul>\n<li>Super Street Fighter II Turbo HD Remix (2008)<\/li>\n<li>Marvel vs Capcom 2 (2009)<\/li>\n<li>Touhou Suimusou: Immaterial and Missing Power (2009)<\/li>\n<li>Street Fighter X Tekken (2012)<\/li>\n<li>PlayStation All-Stars Battle Royale (2012)<\/li>\n<li>Touhou Hisoutensoku (2012)<\/li>\n<li>Killer Instinct (2013)<\/li>\n<li>Eternal Fighter Zero (2014)<\/li>\n<li>Melty Blood Actress Again Current Code (2015)<\/li>\n<li>Brawlhalla (2015)<\/li>\n<li>Street Fighter V (2016)<\/li>\n<li>Mortal Kombat XL (2016)<\/li>\n<li>For Honor (2017)<\/li>\n<li>River City Ransom: Underground (2017)<\/li>\n<li>Marvel vs. Capcom: Infinite (2017)<\/li>\n<li>Injustice 2 (2017)<\/li>\n<li>Umineko: Golden Fantasia (2017)<\/li>\n<li>Acceleration of Suguri 2 (2018)<\/li>\n<li>The King of Fighters &#8217;97 Global Match (2018)<\/li>\n<li>Street Fighter 30th Anniversary Collection (2018)<\/li>\n<li>Lethal League Blaze (2018)<\/li>\n<li>Mortal Kombat 11 (2019)<\/li>\n<li>Fight of Gods (2019)<\/li>\n<li>Samurai Shodown V Special (2019)<\/li>\n<li>Power Rangers: Battle for the Grid (2019)<\/li>\n<li>Fight of Animals (2019)<\/li>\n<li>Garou: Mark of the Wolves (2020)<\/li>\n<li>Maiden &amp; Spell (2020)<\/li>\n<li>Mighty Fight Federation (2020)<\/li>\n<li>The Last Blade 2 (2020)<\/li>\n<li>Samurai Shodown NeoGeo Collection (2020)<\/li>\n<li>Super Smash Bros. Melee (2020)<\/li>\n<li>Fighting EX Layer (2020)<\/li>\n<li>Spelunky 2 (2020)<\/li>\n<li>Guilty Gear -Strive (2021)<\/li>\n<li>Fly Punch Boom! (2020)<\/li>\n<\/ul>\n<p>Por fim, o que voc\u00ea achou do funcionamento dos Netcodes no jogos de luta? Comente abaixo e compartilhe conosco sua opini\u00e3o! Em seguida, n\u00e3o se esque\u00e7a de se inscrever em nosso canal do <a href=\"https:\/\/www.youtube.com\/channel\/UC_GqAJpzUzTkXzTIXBYXk1w\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>\u00a0e seguir o Combo Infinito nas redes sociais para mais not\u00edcias\u00a0<a href=\"https:\/\/www.facebook.com\/ComboInfinito\/\" target=\"_blank\" rel=\"noopener\">Facebook<\/a>;\u00a0<a href=\"https:\/\/twitter.com\/comboinfinito\" target=\"_blank\" rel=\"noopener\">Twitter<\/a>,\u00a0<a href=\"https:\/\/www.instagram.com\/comboinfinito\/?hl=pt-br\" target=\"_blank\" rel=\"noopener\">Instagram<\/a>.<\/p>\n<p>Fonte:\u00a0<a href=\"https:\/\/ki.infil.net\/w02-netcode.html\" target=\"_blank\" rel=\"noopener\">Fightin&#8217; Words<\/a><\/p>\n<p>Em seguida, veja as \u00faltimas not\u00edcias:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.comboinfinito.com.br\/baseteste\/the-game-awards-2021-tera-cerca-de-3-horas-de-duracao-diz-geoff-keighley\/\" target=\"_blank\" rel=\"noopener\">The Game Awards 2021 ter\u00e1 cerca de 3 horas de dura\u00e7\u00e3o, diz Geoff Keighley<\/a><\/li>\n<li><a href=\"https:\/\/www.comboinfinito.com.br\/baseteste\/star-wars-hunters-novo-jogo-da-serie-recebe-trailer-com-gampelay\/\" target=\"_blank\" rel=\"noopener\">Star Wars: Hunters \u2013 Novo jogo da s\u00e9rie recebe trailer com gampelay<\/a><\/li>\n<li><a href=\"https:\/\/www.comboinfinito.com.br\/baseteste\/the-game-awards-2021-suicide-squad-kill-of-the-justice-league-marcara-presenca-no-evento\/\" target=\"_blank\" rel=\"noopener\">The Game Awards 2021: Suicide Squad: Kill of the Justice League marcar\u00e1 presen\u00e7a no evento<\/a><\/li>\n<li><a href=\"https:\/\/www.comboinfinito.com.br\/baseteste\/god-of-war-pc-veja-o-trailer-com-as-features-da-plataforma\/\" target=\"_blank\" rel=\"noopener\">God of War PC: Veja o trailer com as features da plataforma<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Netcode: o que \u00e9 e porqu\u00ea o Rollback \u00e9 um fator determinante para os jogos de lutas? O Netcode se tornou um fator essencial no cen\u00e1rio dos jogos de luta pois estes ainda continuam populares com o decorrer do tempo, e em meio a tantas op\u00e7\u00f5es de jogos, desde os j\u00e1 consagrados e com maior [&hellip;]<\/p>\n","protected":false},"author":63,"featured_media":140854,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[12309,1,6071,12293,241],"tags":[3230,75313,9614,75311,75312],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.1 (Yoast SEO v20.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Netcode nos jogos de luta: Quais os tipos? Funcionamento e porqu\u00ea s\u00e3o importantes? - Combo Infinito<\/title>\n<meta name=\"description\" content=\"Entenda melhor os Netcodes utilizados nos jogos de luta e como eles podem ser determinantes para a vida \u00fatil dos jogos de luta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.comboinfinito.com.br\/baseteste\/netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.comboinfinito.com.br\/baseteste\/netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.comboinfinito.com.br\/baseteste\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Netcode nos jogos de luta: Quais os tipos? Funcionamento e porqu\u00ea s\u00e3o importantes?\"}]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Netcode nos jogos de luta: Quais os tipos? Funcionamento e porqu\u00ea s\u00e3o importantes? - Combo Infinito","description":"Entenda melhor os Netcodes utilizados nos jogos de luta e como eles podem ser determinantes para a vida \u00fatil dos jogos de luta.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.comboinfinito.com.br\/baseteste\/netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.comboinfinito.com.br\/baseteste\/netcode-nos-jogos-de-luta-quais-os-tipos-funcionamento-e-porque-sao-importantes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.comboinfinito.com.br\/baseteste\/"},{"@type":"ListItem","position":2,"name":"Netcode nos jogos de luta: Quais os tipos? Funcionamento e porqu\u00ea s\u00e3o importantes?"}]}]}},"_links":{"self":[{"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/posts\/140812"}],"collection":[{"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/comments?post=140812"}],"version-history":[{"count":0,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/posts\/140812\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/media\/140854"}],"wp:attachment":[{"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/media?parent=140812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/categories?post=140812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comboinfinito.com.br\/baseteste\/wp-json\/wp\/v2\/tags?post=140812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}