TECHNOLOGY MATTERS
pensamentos desordenados sobre tecnologia, software, etc.

ler esse site em: |

Uma Visão Contrária Sobre Battlefield 6

Uma Visão Contrária Sobre Battlefield 6

Battlefield 6 é um jogo bom. Um jogo muito bom. Eu diria que BF6 é a personificação do conceito de um jogo “bom”: deixando de lado pequenos bugs, ele aproveita seus predecessores mais recentes para construir algo que agrada — ou pelo menos tenta agradar — a todos os públicos. É fácil listar essas qualidades: ótima jogabilidade com armas, gráficos bons e detalhados (ainda que um pouco sem graça para o meu gosto), boas opções de personalização de armas, mapas grandes e detalhados e uma boa variedade de modos. Ele traz de volta o ambiente destrutível divertido das versões antigas. Tem todos os veículos e gadgets dos títulos mais recentes. Trouxe de volta também o modo Rush, introduzido primeiro no Bad Company, e claro, inclui o Conquest, o modo principal de Battlefield.

E ainda assim, jogando no segundo fim de semana do Open Beta, não fiquei impressionado. Na verdade, jogar me fez sentir falta dos antigos, ou até mesmo do rival CoD, mais do que eu achava que sentiria. Todos os elementos estão lá, conectados em um todo coeso, mas esta entrada não adiciona nada de relevante à série (bom, além do fato de que agora você pode arrastar companheiros caídos para a segurança enquanto os cura, mas isso é mais um enfeite do que uma mudança real de gameplay).

Para contexto, sou do time que defende que Bad Company 2, com todos os seus defeitos, foi o melhor jogo da série. Também guardo boas memórias do Battlefield Vietnam e do 1942, os dois primeiros, que eu passava noites jogando em “LAN houses” com amigos. E, por diversos motivos, pulei em grande parte o Battlefield 2, 3 e 4. Mas gostei muito do BF5, joguei bastante Battlefield One e dezenas de horas do 2042, apesar de todos os problemas.

Battlefield 6 mostrando a destruição tática do ambiente
O novo Battlefield 6 - Imagem cortesia da [EA](https://www.ea.com/games/battlefield/battlefield-6)

Inveja dos Outros

O mais recente Call of Duty, “Black Ops 6”, introduziu uma mecânica revolucionária que eu não tinha visto antes em outro shooter multiplayer: zero tempo de espera. Você morre, aperta algumas teclas para pular a killcam e pronto, já está de volta ao jogo. É uma coisa pequena que faz muita diferença. Não preciso mais ficar um monte de vezes por partida sentado por meio minuto, o que parece um castigo enorme por ser um jogador ruim — ficando no banco de reservas.

Um soldado sendo arrastado para a segurançaSoldado sendo arrastado para a segurança - Imagem cortesia do Screen Rant

E embora eu entenda que esse atraso no respawn serve para dar vantagem ao time que matou, bem, o CoD não acabou de provar que isso não é necessário?

Não estou dizendo que isso precisa estar em Battlefield. Estou dizendo que é uma ótima adição à mecânica e mudou o CoD para sempre na minha visão — além de se encaixar totalmente com o design atual da parte multiplayer dele, que foca muito em uma experiência caótica de tiro (parecida com clássicos antigos como Quake II). Então, de fato, isso pode estar fora de lugar em um jogo que deveria ser mais sobre tática. A pergunta é: onde está o equivalente ao zero-spawn-timer no BF6?

Tática Sem Estratégia

Esse é um dos sentimentos que carrego do 2042 — enquanto a jogabilidade tática é excelente, a estratégica se perdeu. Já não parece importar qual bandeira você está atacando, ou mesmo se você está atacando uma no Conquest — basta continuar eliminando inimigos que, eventualmente, você vence a partida. Isso cria vários problemas para muitos sistemas do jogo: médicos e companheiros de esquadrão não parecem se importar em te reviver. Não é divertido parar de atirar para reviver alguém, e se o ganho não compensa, por que fazer?

O problema do 2042 era claramente o tamanho do campo de batalha. Eram tantos jogadores e tantas localizações que era difícil sentir que você poderia fazer diferença. A estratégia funciona muito melhor quando suas ações têm impacto real — lembro bem de como era legal nos antigos BF fazer aquele clássico ataque “pelas costas”: ignorar as primeiras bandeiras, dar a volta de carro e tentar capturar uma das do fundo. Isso forçava o inimigo a se dispersar e dava vantagem ao seu ataque, ou então, se estivessem ocupados, você conseguia conquistar a bandeira e marcar pontos para o seu time.

Hoje em dia, há tanta gente em cada partida que não existe bandeira desprotegida, e mesmo que exista, o pequeno grupo de jogadores que volta rapidamente te elimina sem atrapalhar a linha de frente. Isso pode até soar mais realista, mas certamente é menos divertido.

Algumas cenas de Battlefield 6 mostrando casas que destacam a verticalidade dos mapas
Note quantas janelas estão disponíveis para se esconder e ter um bom ponto de vantagem - Imagem cortesia da [EA](https://www.ea.com/games/battlefield/battlefield-6)

Dito isso, ainda há espaço para tática. Os mapas são bem desenhados, então existem formas favorecidas de entrar em cada combate. Atacar de frente não é recomendável, e flanquear sempre é uma boa tática. É fácil ficar encurralado se não for cuidadoso, e a verticalidade dos mapas ajuda a buscar pontos de vantagem. Pena que o brilho da mira te torna facilmente visível, porque isso estraga um pouco os movimentos furtivos. Mas, por outro lado, eu odeio levar tiro sem ter nenhuma ideia de onde o inimigo está.

Ainda é cedo

BF6 ainda está no BETA, e se o 2042 serve de indicação, ele vai melhorar. Pode melhorar o suficiente para me fazer gostar. Mas não estou criando expectativa, infelizmente — acho que a EA esqueceu de dar um motivo para voltarmos, nós que já jogamos bastante os títulos anteriores.

Continuar lendo →

Analisando código com Sprache - Parte 2

😎 Este é o segundo artigo de uma série de múltiplas partes sobre como analisar código com Sprache. Você pode ler a primeira parte aqui.

No post anterior, vimos como analisar algum texto (em particular, código Java) usando Sprache, uma poderosa biblioteca para C#. Vimos como usar uma abordagem incremental e como usar testes unitários para conduzir o desenvolvimento com esta ferramenta. Até agora, escrevemos um analisador para Identifier e PackageName (verifique aqui).

Agora vamos avançar um pouco mais rápido. Lembre-se de que temos como alvo o source Java/Android Google Authenticator e que nosso objetivo final é gerar um gráfico de dependências de classe para este projeto. Neste artigo, vamos tentar analisar todos os elementos de nível superior do arquivo atual em que estamos trabalhando, AuthenticatorActivity.java.

Continuar lendo →

Analisando código com Sprache - Parte 1

😎 Este é o primeiro artigo de uma série de múltiplas partes sobre como analisar código com Sprache. Você pode ler a segunda parte aqui.

Você provavelmente sabe que às vezes (muitas vezes), o trabalho de um desenvolvedor é muito mais pesquisa ou análise do que programação! No passado, houve muitos casos em que eu estava em um projeto em que meu objetivo era migrar ou reescrever software antigo e, durante esses compromissos, acabei criando ferramentas para me ajudar. Muitas dessas ferramentas eram analisadores de código especializados que realizavam automaticamente a análise que eu exigia ou até mesmo geravam códigos mais novos que eu poderia utilizar.

Em todos esses casos, precisei analisar algum código estruturado e há uma maneira simples de fazer isso: usando Sprache, um framework de parsing para dotnet. Neste artigo, vamos ver como fazer isso.

Continuar lendo →

Feliz Halloween! Meu blog está de volta!

Esta é minha terceira ou quarta tentativa de criar um blog, e espero ter sucesso em mantê-lo atualizado. Pelo menos agora eu finalmente tenho o tempo de que preciso para criar novos posts e continuar. Além disso, eu adoro GitHub Pages. É muito mais legal estar em uma plataforma que eu (meio que) controlo.

Continuar lendo →