pogo2d
pogo2d copied to clipboard
Pokémon GO 2D VERSION é minha reimaginação do clássico sucesso mundial, onde você anda pela cidade, capturando os monstrinhos.
O jogo está sendo desenvolvido com REACT JS, Tailwind CSS , Javacript e Typescript para o front-end.
O back-end ainda não foi implantado mas já está sendo desenvolvido, ele utilizará NODEJS + EXPRESS para a criação da API REST, MONGOOSE E MONGODB para o banco de dados, e terá como função a criação e login de usuário, assim como controle de dados dos itens e bolsa de pokémon do jogador.
O projeto está totalmente responsivo para PC, ANDROID e IOS.
LINK PARA O JOGO:
https://pokemongo2d.vercel.app/
ATENÇÃO AS BREAKINGS CHANGES NA V9.00 INICIE UM NOVO JOGO PARA NÃO QUEBRAR
Detalhes técnicos:
O objetivo do jogo (até a versão 1.00) é andar pelo mapa capturando os pokémon, para posteriormente montar seu time que será usado para batalhas (na versão 2.00).
Para isso foram construídas telas, separadas como páginas no projeto, o gerenciamento de troca de telas é feito com REACT ROUTER DOM.
A estilização em sua maior parte utiliza TAILWINDCSS e em alguns casos específicos STYLE INLINE.
As animações ou são GIFS ou animations criadas com CSS e JAVASCRIPT.
O jogo contém músicas e efeitos sonoros controlados pela WEB AUDIO API do JAVASCRIPT, setadas como REFERÊNCIAS(useRef) do REACT, para um controle mais preciso do início e pausa das músicas.
Na criação das variáveis e arrays do jogo, foi utilizado gerenciamento de ESTADOS(useState) do REACT juntamente com CONTEXT API(useContext) para compartilhar as informações entre todas as páginas.
Utilizei arrays para:
- a criação inicial dos pokémon no mapa
- a criação inicial das pokéstops no mapa
- a criação da bolsa de pokémon do jogador
- a criação inicial dos itens do jogador
Até que o back-end seja implantado estes dados são salvos a cada alteração, utilizando LOCALSTORAGE, assim se o usuário sai da página, ao voltar ele tem suas informações obtidas novamente e continuará com o mesmo estado em que saiu do jogo, podendo escolher se quer CONTINUAR ou iniciar um NOVO JOGO (limpando assim o LOCALSTORAGE).
Cada pokémon tem seus atributos principais retirados de um array fixo, que foi obtido através da POKEAPI (https://pokeapi.co/) para agilizar o desenvolvimento.
Inicialmente (na versão 0.85) estão sendo utilizados:
- name
- number(id)
- types
Para o sistema de batalhas as informações que serão adicionadas serão:
- baseStats (attack, defense, stamina)
- movesets
Pokemon Go 2D Roadmap to 1.00
- [x] loading screen
- [x] pokestops creation
- [x] pokemon creation
- [x] map screen
- [x] menu
- [x] catch screen
- [x] pokemon removal on catch
- [x] map boundaries
- [x] mobile joystick
- [x] change alerts for screen texts
- [x] CP calculation
- [x] Add pokemon types
- [x] pokemon bag
- [x] character selection
- [x] bag creation
- [x] bag screen
- [x] items bag creation
- [x] items bag screen
- [x] music
- [x] sfx
- [x] permanent save (localstorage)
- [x] continue / new game
- [x] pokemon movesets
- [x] pokemon details screen
- [ ] level up system
Pokemon Go 2D Roadmap to 2.00
- [ ] authentication system
- [ ] cloud saving
- [ ] battle system
- [ ] gym battles
- [ ] raid battles
- [ ] ?pvp battles?