;(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

UOL Jogos testa o Polystation, videogame que mais 'engana' os pais

Rodrigo Faria

Especial para o UOL Jogos, em São Paulo

10/05/2013 12h22

Você já deve ter ouvido o nome Polystation da boca de seus pais, primos, amigos ou daquele vendedor da feira ou do semáforo.

Pois o UOL Jogos testou o videogame mais barato e marginalizado do país, que fez muita gente chorar achando que estava ganhando um Playstation, só que não.

Parece, mas não é

Mas, de verdade, o que é o Polystation? De origem chinesa e importação invariavelmente paraguaia, trata-se apenas um dos vários “Famiclones” que surgiram depois do grande sucesso do Nintendinho, como ficou conhecido no Brasil o Famicom (modelo japonês) ou NES (modelo americano).

No caso específico do Polystation, o nome é bem parecido com Playstation e até por isso é “quase” fácil ser enganado ao se deparar um destes, já que são feitos com a “cara” dos videogames da Sony – o que, para desespero dos filhos, faz muitos pais desavisados comprarem o primo pobre achando que se trata, na verdade, de algum videogame de geração mais avançada.

Testamos especificamente o Polystation e o Polystation 2 e, sim, o primeiro é uma cópia descarada do PSX (Playstation, modelo PSOne) e o outro, do Playstation 2 Slim.

Embalagem

As embalagens dos dois Polystation são quase parecidas entre si, mas a do Polystation 1 é uma cópia deslavada da caixa do Nintendo 64. Pois é.

No canto direito o fabricante exalta as qualidades do console em um inglês “macarrônico”, meio sem sentido. As características, se traduzidas ao pé da letra, ficam assim:

1 – A Máquina
Vivencie gráficos de 64-bit sem igual e som com qualidade de CD funcionando a incríveis 94MHz. (a caixa do Polystation 2 é mais sincera e diz que, de fato, os gráficos são de 8-bit e o som com qualidade de cartucho (!!!)).
2 – O controle
Atinja novos níveis de precisão e jogabilidade com o ergonomicamente desenhado controle de 14 botões e direcional analógico. (uma grande mentira, já que contam cada direção do controle digital como um botão e, no caso do Polystation 1, existem dois botões sem função alguma e que não existem no controle do Polystation 2).
3 – Os jogos
Os gráficos colocam você em ambientes 3D em tempo real. Prepare-se para velocidade e emoção em variedades de perspectivas sem fim. (os gráficos não são em 3D, claro, e os superlativos usados não fazem você se empolgar tanto assim).
4 – Plug and Play (Conecte e jogue)
Cabos de áudio e vídeo estéreo inclusos para maior qualidade de imagem e áudio e mais: você pode ter seu Polystation conectado a TV simultaneamente (é, não dá pra entender quase nada do que tentaram explicar nesse tópico, não é mesmo?)

Na embalagem também, o Polystation 1 menciona que “não é apenas mais um jogo” e que possui 11 games na memória; o Polystation 2 diz ter uma biblioteca de, acredite, 9.999.999 jogos na memória. Ou seja, nem se juntarmos todos os jogos já lançados para PC e todas as gerações de consoles, chegaríamos nesse número: nove milhões, novecentos e noventa e nove mil e novecentos e noventa e nove jogos. Incrível!

FAMICLONE?

  • Famiclone é um termo que deriva de Famicom (o Nintendo 8 bits japonês) e clone (cópia) e designa toda uma série de consoles que tem o processador do Nintendo NES, mas com a “roupagem” diferente do original e, na pior das hipóteses, copia o design de consoles famosos, como os Polystation. Há ainda designs copiados do Dreamcast, Wii, PS3, entre outros.

A hora da verdade

Ao desembalar os dois consoles, eles têm a mesma disposição na caixa e os mesmos itens incluídos: 2 controles que são bem parecidos com o do PSX, mas em uma versão miniaturizada. Possuem os mesmos botões da sua inspiração (bolinha, triângulo, quadrado e xis), uma pistola, fonte, cabo composto AV e um humilde manual, mas bem informativo. Em inglês, claro.

Um dos principais problema dos PolyStation são os cabos muito curtos. Sério, se você for jogar numa TV de 32 polegadas, fatalmente terá problemas de visão, dada a pouca distância que ficará da TV. A sugestão é angariar uma TV antiga, de tubo, de 14 polegadas, já que também a pistola só funciona em TVs desse tipo.

A qualidade do material de fabricação dos consoles deixa também a desejar: a do Polystation 1 é bem inferior à do Polystation 2, mas os dois pecam muito nesse aspecto, no geral.

Uma característica interessante do Polystation 2 é que ele vem com um e para deixar o console na vertical, como acontece com o Playstation 2 Slim.

Os dois consoles acompanham sete jogos na memória e, depois destes, repetições dos mesmos até chegar a marca de 9.999.999. No Polystation 1 os jogos são “Chinese Chess”, “Galaxian”, “Duck Hunt”, “Tank H 1990”, “Macross”, “F-1 Race” e “Skeet Shooting”. No Polystation 2 o “Chinese Chess” é substituído por “Track & Field”, muito melhor.

Testamos também cartuchos originais americanos (72 pinos) e japoneses (60 pinos), e só os da 2ª funcionaram. É bom ficar esperto se for utilizar seus jogos antigos.

Conclusão

A realidade é que talvez os Polystation tenham sido feitos para enganar os pais desavisados, achando que estavam comprando um Playstation para os filhos - e a preço de banana.

Hoje em dia, você consegue encontrar um destes consoles por preços que variam de R$ 30 a R$ 50. Para quem ainda tem saudades do bom e velho Nintendinho ou quer iniciar a criançada no mundo dos games e com jogos simples e divertidos, quem sabe até pode funcionar.