Executando verificação de segurança...
2

Integrando com 11 jogos Pokémon sem bibliotecas externas:^Levando a Pokédex para o próximo nível

Esse é um crosspost do meu post original no LinkedIn, se estiverem afim de fazer um networking, vamos adicionar! Also, ainda não é Open Source :c

Eu perdi o evento canônico da Pokédex

Recentemente eu percebi que, apesar de jogar Pokémon religiosamente a praticamente mais de dez anos, eu nunca passei pelo evento canônico do desenvolvedor iniciante que é fazer o projeto da Pokédex com JavaScript. Particularmente, eu não tenho uma razão para fazer isso hoje em dia porque o consumo de APIs, que costuma ser o objetivo de estudo do projeto da Pokédex, acabou se tornando algo bastante intuitivo depois de alguns anos de desenvolvimento.

Então eu me propus a fazer uma Pokédex que se conectasse com os jogos originais, para que ele marcasse todos os Pokémon que eu já capturei no site e que essa informação tivesse persistência, adicionando uma forma de eu conseguir alcançar o tão desejado Shiny Charm ✨.

Uma demonstração do fluxo de sincronização com os jogos

Acima, uma demonstração do fluxo de sincronização com os jogos

O meu objetivo era apenas fazer que os primeiros jogos, Red, Blue e Yellow (lançados em 1996) fossem compatíveis, mas por hype e gosto pela coisa, fui até a 3a geração de jogos (Fire Red, Leaf Green, Ruby, Sapphire, Emerald), totalizando 11 jogos compatíveis.

Modal exibindo savefiles identificados

Acima, o Modal listando os savefiles e as suas respectivas gerações detectadas.

Lista de jogos compatíveis

  1. Pokémon Red (1996)
  2. Pokémon Blue (1996)
  3. Pokémon Yellow (1998)
  4. Pokémon Gold (1999)
  5. Pokémon Silver (1999)
  6. Pokémon Crystal (2000)
  7. Pokémon Ruby (2002)
  8. Pokémon Sapphire (2002)
  9. Pokémon Fire Red (2004)
  10. Pokémon Leaf Green (2004)
  11. Pokémon Emerald (2004)

Eu usei Vite, Svelte, Tailwind para fazer o Frontend e NENHUMA biblioteca funcional, usando apenas um polyfill da #PI de Buffers do Node.js para os Browsers.

O projeto foi feito em apenas um dia, por isso a falta de detalhes ou interações mais trabalhadas.

Eu juro que em breve eu vou liberar o código fonte e fazer um deploy para que todos possam usar, mas enquanto isso, você pode checar meus outros projetos no meu GitHub: guilherssousa

Ainda preciso melhorar o projeto em algumas coisas, mas pretendo produzir um post mais elaborado sobre o processo!

Carregando publicação patrocinada...