Super Mario e as redes neurais

Single 3094287 featured image

A fase de Super Mario World no vídeo a seguir foi jogada por um programa de computador que controlava um emulador:

Tendo isto em mente vou contar uma historinha: Quando eu era pequeno um dos meus sonhos era ter o R.O.B, o robozinho da Nintendo que jogava com você. Anos depois descobri que ele é uma traquitana barulhenta que só funciona com um punhado de jogos e não tem inteligência nenhuma. O console envia informações via ‘piscadas’ na tela e o mecanismo do ROB obedece… simplório e sem automação, para desilusão do Alisio criança…. mentira eu ainda quero um por puro saudosismo  por motivos acadêmicos.

136356_681848618

 

Voltando ao programa que controlou o emulador, ele foi feito em linguagem LUA (linguagem desenvolvida ali na PUC-RJ) utiliza redes neurais e algoritmos genéticos para ‘aprender’ como jogar Super Mario World, coisa beeeem diferente do R.O.B. (para a alegria do Alísio adulto). O programa teve 24 h para aprender, joga mal, ignora power ups e se concentra em ir para a direita, e rápido, mas consegue terminar a fase.

136360_2545907250

Olha só como ele é ruim e só consegue 19 na barra do final 😛

O funcionamento é mais simples do que pode parecer, mas vou tentar simplificar ainda mais porque se eu conseguir salvar alguma alma tirando ela do curso de direito para o mundo acadêmico, já fico feliz demais:

Reparem no quadradinho menor com quadrados brancos (obstáculos) e pretos (inimigos) menores ainda. Eles são uma representação dos eventos da tela para que o algoritmo consiga interagir com ela.

136337_2545907250

As linhas conectam um pedaço da tela aos controles do SNES. As linhas verdes são acionadas pelos bloquinhos brancos, e as vermelhas pelos blocos pretos.

O algoritmo não faz nada na primeira geração, para evitar que a experiência pare por aí o programa reinicia o emulador, esta interferência externa é análoga às intempéries naturais como raios, cometas e erupções intensas aos quais os primeiros seres vivos estavam sujeitos no nosso jovem planeta terra. Após cada reinicio da fase novas linhas (axônios) são adicionadas randomicamente, gerando novas iterações da rede (ou novas espécies de rede neural). O sucesso de cada espécie é representado pelo número ‘FITNESS’ (que pode ser entendido como ‘adaptação’ ou ‘aptidão’) no topo na tela que cresce quanto mais a tela vai para a direita e também quanto mais rápido isso acontece.

136357_2178393105

As espécies sem sucesso são descartadas e as que obtiveram sucesso são mantidas, misturadas com a anterior adicionada de alguns neurônios aleatórios, tal qual a teoria da evolução das descrita por Charles Darwin (calma aê criacionistas e lamarquistas) no livro “A origem das espécies”. O gráfico a seguir representa a pontuação máxima de cada uma das gerações e é possível ver que as vezes uma ou outra geração ‘travava’, mas eventualmente evoluía (melhorava o FITNESS).

136332_2545907250

O algoritmo relativamente simples necessitou de 32 gerações para terminar esta fácil fase, mas com um pouco mais de tempo seria perfeitamente possível que um algoritmo similar finalizasse o jogo ou derrubasse a estação espacial – IES (essa escalou rápido).

136391_1382410690

Esta declaração parece absurda, mas  é tema de debate sério entre gente como Bill Gates, Elon Musk e Stephen Hawkins (o ganhador do prêmio nobel cujo filme baseado em sua vida ganhou oscar de melhor ator em 2015) que já declararam em diversas oportunidades preocupação com o perigo potencial das máquinas se desenvolverem ao ponto de eventualmente subjugar os humanos.

Nós tivemos alguns milhões de anos, as máquinas não demorarão tudo isso…….. COFF *skynet*,

Referências:

https://en.wikipedia.org/?title=Charles_Darwin

Source Code: http://pastebin.com/ZZmSNaHX

“NEAT” Paper: http://nn.cs.utexas.edu/downloads/pap…

Some relevant Wikipedia links:
https://en.wikipedia.org/wiki/Neuroev…
https://en.wikipedia.org/wiki/Evoluti…
https://en.wikipedia.org/wiki/Artific…
BizHawk Emulator: http://tasvideos.org/BizHawk.html

SethBling Twitter: http://twitter.com/sethbling
SethBling Twitch: http://twitch.tv/sethbling
SethBling Facebook: http://facebook.com/sethbling
SethBling Website: http://sethbling.com
SethBling Shirts: http://sethbling.spreadshirt.com
Suggest Ideas: http://reddit.com/r/SethBlingSuggestions

Para que servem os dedos?

Aparentemente no Iran o sinal de ‘legal’ com o polegar levantado siginifica ‘enfia no seu’…facebook deve ser divertido por lá.

Para que servem os dedos

FontE: The Meta Picture

Quake rodando num osciloscópio

Para ser mais exato, o jogo não roda no osciloscópio já que todo o processamento está acontecendo no PC e ele está funcionando como uma espécie de monitor primitivo, mas não deixa de ser muito legal!
O cara se chama Pekka Väänänen e modificou o engine de quake de modo que a geometria do ambiente seja enviada para a placa de som que esta por sua vez está conectada aos terminais de um osciloscópio no modo XY. Para os neófitos, o modo XY faz com que você possa controlar o traço como um plano cartesiano onde a tensão nos terminais representam os valores do gráfico na tela. Assim sendo, os valores no eixo X e Y serão lidos a partir da intensidade do sinal de áudio enviado pela placa de som, formando uma imagem vetorial, portanto sem textura, bem primitiva na tela.

O conceito não é nada novo, o que não faz dele menos sensacional, já que segundo o wikipedia, ‘Tennis for Two (Tênis para Dois) foi um dos primeiros jogos eletrônicos do mundo. Criado em 1958 por William Higinbotham no Laboratório Nacional de Brookhaven’, e utiliza o mesmo conceito.


Fonte: http://www.lofibucket.com/articles/oscilloscope_quake.html

Referência: Wikipedia – Tennis For Two

O impressionismo e surrealismo dos 8 bits

Depois de escrever o post “Porque o NES soa tão melhor que o Master System?” comecei a me perguntar por que gosto tanto dos gráficos e som de “baixa qualidade” (muitas aspas aqui) dos consoles de 8 e 16 bits, já que os consoles mais recentes, como o PS3, XBOX 360, Wii, PS4, etc, contam com imagem e sons ‘realistas’ ao invés de imitações sintetizadas? Seria saudosismo, masoquismo ou insanidade? Nenhum destes? talvez um pouco de cada (a arte é assim mesmo, relaxe).

A analogia

Farei uma analogia usando as duas imagens a seguir:  a primeira é uma famosa obra impressionista do pintor Vincent Van Gogh, “The Starry Night” (ou “A noite estrelada”), a segunda uma arte renderizada por computador de autoria desconhecida.

A pintura de Van Gogh é cheia e pinceladas protuberantes, grosseiras, e com a quantidade de cores limitada à aquarela do autor, de forma análoga às limitações técnicas dos chips gráficos e de som dos consoles antigos de 8 de 16 bits.

Van-Gogh-Starry-Nights

Pintura impressionista “A Noite estrelada” de Vincent Van Gogh

A imagem a seguir representa o mesmo objeto, um céu estrelado, desta vez renderizado por computador: as cores e alta definição a tornam muito mais próximas da realidade, embora com uma beleza e charme etéreo diferentes, tais quais as imagens e sons dos quais os consoles modernos são capazes de gerar.

Noite estrelada renderizada

Uma noite estrelada renderizada

Ambas as interpretações são válidas e muito diferentes, e é improvável que alguém diga que não gosta da obra de Van Gogh pelo seu estilo de ser, AHEM, “limitado”, com poucas cores e baixa resolução. Ela é a interpretação do pintor dentro do seu estilo, assim como “The Legend Of Zelda” foi a interpretação de Hyrule por Shigeru Miyamoto dentro do estilo compatível com o hardware.

A conclusão

As limitações técnicas dos consoles antigos geram lacunas que dão espaço para a imaginação. Quando comecei a tocar guitarra eu adorava ‘preencher as lacunas’ com criatividade, eu fazia minhas próprias versões das música de jogos como Megaman 2 e 3 do NES, e Megaman X do SNES (meus preferidos da franquia). Isto fez de mim um músico (não profissional) melhor, como quando treinei ligadura (ou hammer-on e pull-off) e chicken-picking para poder tocar as rápidas tríades do tema do Storm Eagle do Megaman X, ou quando tive que estudar os modos gregos (ou escalas gregas) para fazer a harmonia de guitarra do tema do castelo do Dr.Wily do Megaman 3.

Hoje em dia a acurácia gráfica e sonora dos jogos modernos é tanta que talvez sobra pouco espaço para minha imaginação fluir. Não me sinto compelido a, por exemplo, fazer arranjos e gravar minhas interpretações das músicas de Devil May Cry. Talvez eu esteja ficando velho, talvez eu esteja projetando, mas certamente prefiro os impressionistas e surrealistas aos realistas.

O bônus

A seguir, minhas interpretações, gravadas nas coxas há muitos anos, de alguns temas do Megaman 2, Megaman 3 e Megaman X em versão METAL.

FALOU!

:*

Porque o NES soa tão melhor que o Master System?

NES vs Master System

Guerra Sonora

Quando era criança eu viajava nas especificações técnicas dos consoles, mesmo que não entendesse quase nada do que lia. Números como quantidades total de cores, cores simultâneas na tela, memória RAM, ROM, canais de áudio, etc eram razões para disputas acaloradas entre fans de Nintendo e Sega. A comparação que farei aqui é um pouco diferente do que normalmente se vê pois me limitarei a falar sobre o áudio das duas plataformas, NES e Master System, e uma coisa que sempre me deixou com a pulga atrás da orelha na época era como os jogos do NES tinham um som MUITO melhor que os do Master System, mesmo que todos alardeassem que o segundo era superior, mais moderno etc. Não falarei aqui do Sega Mark III, o Master System japonês, que possui chip de síntese por FM (modulação de frequência) que melhora o áudio nos jogos compatíveis, ou do chip VRC6 da Konami usado na série Castlevania e em alguns remixes da jogos clássicos como Zelda (originalmente sem chip adicional de áudio) . Quem sabe num outro post? 🙂

Obs.: Ambos os sistemas tem jogos com música espetaculares e quando me refiro ao som estou me referindo ao timbre, não à composição.

Dados técnicos de áudio

Master System: 4 canais de áudio no total composto por 3 geradores de onda quadrada e 1 gerador de ruído branco.

NES: 5 canais de áudio no total composto por 2 geradores de onda quadrada, 1 gerador de onda triangular, 1 gerador de ruído branco e 1 de samples (amostras) –  e é aqui que o NES faz diferença.

Canal de amostras (ou samples)

O maior diferencial entre o áudio entre os dois consoles é a existência de um canal de samples no NES, o que possibilitava utilizar um áudio real digitalizado durante os jogos, mesmo que de pouca qualidade para padrões modernos, como o som de bongos ouvido na música de Super Mario 3. O canal de amostras utilizava audio codificado DPCM (1bit), um método extremamente simples e econômico de modulação de áudio, e seus detalhes podem ser conferidos no vídeo a seguir:

DPCM

Princípio de Delta PWM (modulação por diferencial de largura de pulso). O sinal de saída azul é comparado com o sinal verde. que corresponde ao sinal vermelho com um offset. Sempre que o sinal de saída alcança um dos limites da onda verde, o pulso muda de estado até que alcance novamente o outro limite da onda verde.

Graças à maior quantidade de canais (5 no NES x 4 no SMS) e à maior variedade de tipos de canais (4 no NES x 2 no SMS ) o áudio dos jogos do NES tinham mais textura e eram mais distintos entre si, enquanto os jogos do Master System soavam mais parecidos e com timbre ‘liso’. Os vídeos a seguir são clipes de música de alguns jogos do Master System e do NES onde é clara a diferença de qualidade e é fácil perceber que os graves (baixo e bumbo de bateria) são muito mais ricos no NES.

1- Master System – Golden Axe (SEGA)

2- NES – Batman: The Return of The Joker  (SUNSOFT)

3- Master Systen – Zillion (SEGA)

4- NES – Gremlin 2 (Sunsoft)

LEMBREM-SE: O intuito aqui não é comparar a obra artística dos compositores, somente o aspecto sonoro do sistema de áudio dos dois consoles.

Referências:

EXPLOD – NES Audio: Brief Explanation of Sound Channels

Retro Game Audio

Sega Retro – Sega Master System

Wikipedia – Texas Instruments SN76489 (chip de som do Master System)

Wikipedia – Nintendo Entertainment System technical specifications

Wikipedia – Delta Modulation

Discípulos de Onan

“Quem diabos assiste pornô num 3DS?” foi a primeira coisa que veio em minha mente quando vi este gráfico, afinal além de pouco anatômico a sua tela não é conhecida pela qualidade, mas hey, não julgarei.

Acesso ao pornHub por console

Acesso ao pornHub por console

Embora a maior parte da audiência gamer do pornHub utilize o Playstation 3 e o XBOX, os portáteis foram os que mais chamaram minha atenção.  Inicialmente estranhei o fato, mas instantaneamente lembrei na grande quantidade de crianças, pré-adolescentes e adolescentes, mas não limitadas à estas, que possuem um 3DS (vide gráfico a seguir), e que esta seria uma das maneira mais sutis de ….ahem… praticar o auto amor, assumindo que a maioria nessa idade vive com os pais.

Donos de 3DS distribuídos por idade

Donos de 3DS distribuídos por idade

Faz todo o sentido, exceto que a maioria dos donos de 3DS não crianças (cronologicamente falando, pelo menos), e que a maior parte dos praticantes do onanismo tem idade entre 25 e 29 anos, tanto entre homens quanto mulheres, segundo gráfico a seguir.

distribuição dos onanistas por idade

distribuição dos onanistas por idade

Cruzando os dados das duas pesquisas concluí que, ao contrário do que me pareceu óbvio inicialmente, homens e mulheres entre 29 e 30 anos são os maiores usuários de 3DS e PSVita no pornHub.

Há muito se foi o tempo da cópia da cópia da cópia do VHS piratão distribuído entre a galera…

 

Bônus: Usuários do Wii tem um acessório de fábrica para aumentar a interação com o pornHub – o Wiimote.

Acessório do Wiimote para o PornHub

Acessório do Wiimote para o PornHub

 

“If you build it, they will cum”

Referências:

Energy Tank

Acordando …. tentando