quinta-feira, 22 de junho de 2017

Hardcore Devel #70 - Glitches

Hoje nós vamos falar um pouco de jogos, mas da parte mais legal dos jogos.


Glitches!

Glitches são resultados de "Má Programação". São furos de programação que permitem que o jogador faça coisas que os próprios desenvolvedores não esperavam. Isso é particularmente comum, na gíria empresarial a gente chama isso de bug mesmo. Isso permite uma série de coisas interessantes dentro do próprio jogo e a exploração de possibilidades nunca antes imaginadas!

O video em questão mostra um cara executando os glitches de Pokemon. Na verdade esses glitches de pokemon são famosíssimos, e mostram também a dificuldade de se programar um jogo, por mais simples que ele seja. A forma que os glitches acontecem são em pontos particularmente curiosos, coisas que a maioria das pessoas mal pensariam que acarretariam em um bug.

Muito interessante que isso mostra que o jogo estava preparado para ir além de onde ele te limita, e te mostra que existem coisas que não foram colocadas no jogo. Na verdade a maioria dos programadores colocam essas coisas que acabam não sendo colocadas na versão final, bem como algum easter eggs no próprio código.

Pra entender melhor esses glitches da primeira geração de Pokemon, a gente primeiro tem que olhar pras limitações do GameBoy. O Hardware do Gameboy era único, então qualquer jogo para o gameboy certamente teve problemas com a linguagem de máquina. Programar na linguagem de máquina é particularmente complicado, da mesma forma programar um compilador para uma arquitetura específica.

Em segundo lugar, é complicado pensar na complexidade, apesar de parecer particularmente simples, da orientação a eventos. A maioria dos glitches se dá na interrupção por algum evento no hardware. O apertar do Start para pausar o jogo, ou desligar o jogo conforme ele executa a operação de escrita no "disco", mas o mais interessante certamente é o bug da Safari Zone que esse é uma falha de software pura.

Fora isso, muitos glitches acabam tornando o jogo mais interessante do que qualquer outra coisa. Afinal, o que é mais divertido do que fazer alguma coisa que um jogo outrora não te deixava fazer? Ou até mesmo, pegar um jogo não terminado como "Big Rigs" e fazer um caminhão trespassar a velocidade da luz?

Temos duas lições importantes para aprender aqui:
- Não importa a simplicidade da aplicação, A existência de bugs é sempre possível.
- Nunca pule os testes ou lance a aplicação antes do tempo necessário.

Acho que é só isso.

Nenhum comentário:

Postar um comentário