;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Topo

O melhor da série Wolfenstein em 8 cenas (contém spoilers!)

B.J Blazkowicz é bom no que faz: matar nazistas - Divulgação
B.J Blazkowicz é bom no que faz: matar nazistas Imagem: Divulgação

Bruno Izidro

Do START, em São Paulo

26/07/2019 04h00

Se existe alguém que sabe matar nazistas, esse alguém é B.J. Blazkowicz, protagonista dos jogos "Wolfenstein". Depois de várias aventuras ao longo dos anos, ele parece ter ado esse conhecimento para suas filhas em "Wolfenstein: Youngblood" (PS4, Xbox One, PC e Switch), que chega neste dia 26 de julho.

Mas até chegarmos na aventura das irmãs Jess e Soph Blazkowicz no novo game, o pai B.J. ou por situações desesperadoras, e que fizeram do reboot "The New Order" e da sequência "The New Colossus" os nossos jogos preferidos de matar nazistas. Por isso, vamos relembrar esses momentos marcantes, já esperando por mais cenas assim em "Youngblood".

E nunca é demais avisar: o texto a seguir contém muitos spoilers da série "Wolfenstein"!

Wolfenstein: The New Order

Fergus ou Wyatt

Siga o UOL Start no

Qual dos dois companheiros de Blazkowicz você deixou viver: o veterano piloto Fergus Reid ou o soldado novato Probst Wyatt II? Quando eles caem em uma cilada de Deathshead, o vilão sádico deixa para o jogador a decisão sobre qual dos aliados deve viver.

Impor essa escolha assim, logo na missão prólogo de "The New Order", mostrava que havia algo diferente nesse reboot de "Wolfenstein", dando mais valor à personalidade dos personagens e fugindo do tema sobrenatural das encarnações anteriores, trocando para robôs humanoides nazistas.

A consequência dessa escolha também acaba criando duas linhas temporais na narrativa do jogo, que afeta pequenos aspectos da história e da jogabilidade que devem ser sentidas até "Youngblood". A cena é tão importante que ela aparece mais uma vez na introdução de "Wolfenstein II", para determinar qual das duas linhas temporais a sequência vai seguir também.

Com vocês, Frau Engel

Siga o UOL Start no

O principal vilão de "The New Order" pode até ser o coronel Wilhelm "Deathshead" Strasse, mas quem rouba toda a atenção pelo lado nazista no jogo é mesmo Frau Engel.

Wolfenstein Frau Engel - Divulgação - Divulgação
Imagem: Divulgação
A cena que introduz a personagem à história é digna de um filme de Quentin Tarantino (Bastardos Inglórios), que cria um clima de tensão somente com diálogos e situações aparentemente banais, como escolher fotos para saber se o jogador é ou não "impuro".

As expressões ao mesmo tempo ameaçadoras e de alguém que está se divertindo com o momento também expõem, em poucos minutos, quem é a vilã e por que ela pode ser perigosa. Depois dessa, Blazkowicz nunca mais quis sair pra pegar um café no meio da noite.

Jimi Hendrix alternativo e o tapa na cara

Siga o UOL Start no

Escolher a linha temporal de Wyatt em "The New Order" apresenta um personagem exclusivo dessa realidade: J, uma versão do Jimi Hendrix daquela realidade.

Ele não faz muito coisa além de tocar sua guitarra na base da resistência Kreisau, mas uma única cutscene é o bastante para dar um tapa na cara, com uma mensagem forte e provocadora sobre racismo nos EUA:

Na nossa terra, cara, vocês (pessoas brancas) eram os nazistas

O melhor é que tudo acaba com uma viagem alucinógena de Blazkowicz enquanto ouve os acordes da guitarra de J.

Quem mexeu no meu queixo?

Siga o UOL Start no

O capítulo 8 de "The New Order", no campo de concentração nazista, é um dos melhores do jogo. A missão mostra as raízes do estúdio MachineGames (formado por ex-desenvolvedores da Starbreeze, de "The Chronicles of Riddick"), e apresenta uma cena grotesca e prazerosa.

Blazkowicz precisa se infiltrar no local para libertar um importante engenheiro que pode ajudar a resistência. Ele só não esperava que a prisão fosse comandada pela "amiga" Frau Engel.

A comandante, mais uma vez, rouba a cena, mesmo em seu momento de derrota. Com parte do rosto desfigurado por um robô e, entre babas, cuspes e sangue, ela jura ir atrás de Blazkowicz até o quinto dos infernos. O que ela realmente faz na sequência "The New Colossus".

Wolfenstein II: The New Colossus

RIP Doguinha

Uma dica para qualquer pessoa que cria games: fazer o jogador matar o cãozinho de estimação nos primeiros minutos de jogo é um baita vacilo. Bessie, a cachorrinha de B.J quando era criança, volta à memória do protagonista em flashbacks enquanto ele está se recuperando do que aconteceu no final de "The New Order".

Toda a sequência inicial, com a infância de Blazkowicz, serve para mostrar o quanto o pai dele era uma figura autoritária e preconceituosa, e como isso ainda marcava B.J. Só que a crueldade a dos limites quando Blazkowicz pai obriga o filho a matar o animal de estimação com uma escopeta. E mesmo se o jogador não fizer nada, o próprio personagem cumpre a missão.

Troféu de pior pai dos videogames para ele.

Um milk-shake de morango

Quem está tomando um milk-shake de morango não quer guerra com ninguém... A não ser que seja um nazista tomando milk-shake. "The New Colossus" repete a inspiração Tarantinesca em mais uma cena que poderia estar em um filme do cineasta.

Não só a cena em si é muito boa, como todo o trecho anterior a ela apresenta bem como é a América ocupada pelos nazistas na realidade alternativa do jogo: membros da Ku Klux Klan na rua e uma eata exaltando um governo fascista.

É um choque de realidade tanto para nós, como jogadores, como para o próprio Blazkowicz, agora procurado como o maior terrorista do mundo e tendo de se disfarçar de bombeiro para ar despercebido com uma bomba atômica debaixo do braço. Nada demais.

A execução de Blazkowicz

Esse é o momento em que Blazkowicz perde a cabeça, literalmente. No melhor estilo Game of Thrones, "Wolfenstein" tem a coragem de matar o seu protagonista, quando jogador nenhum esperava que acontecesse, principalmente depois de tudo que o personagem ou.

Finalmente capturado pelo Reich após ser traído pelo próprio pai, B.J. é executado na frente de todo o exército nazista e pelas mãos de Frau Engel.

A cena é tão boa e impactante que agente até releva um pouco o que acontece depois para justificarem como ele continua vivo.

Um encontro com Hitler

Hitler - Reprodução - Reprodução
Imagem: Reprodução

Depois de ar batido no primeiro jogo, o líder nazista finalmente dá as caras em "Wolfenstein" e em uma cena que é, no mínimo, pitoresca.

Por motivos da história do jogo, Blazkowicz vai até o planeta Vênus, onde fica o comando supremo nazista, realizar um teste para interpretar ele mesmo em um filme, quando é surpreendido com a presença de Hitler, que é produtor do longa.

Hitler já apareceu como zumbi e até robô em videogames, mas nenhum conseguiu uma representação tão impactante quanto em "The New Colosus". O "Fuhrer" é somente um velho decrépito, com mania de perseguição e bem ao contrário de uma figura imponente. Além de demonstrar quase um prazer sexual ao falar de Blazkowicz.

Está aí uma cena para ser lembrada por muito tempo no mundo dos games.

Para ficar por dentro de mais notícias, gameplays insanos e também trocar uma ideia com o START, é só seguir a gente no Twitter e no Instagram!