Um jogo multiplayer simples o suficiente para qualquer pessoa aprender conceitos importantes sobre arquitetura e desenvolvimento de software.
Ele foi projetado de uma forma modificável/hackeável para que você consiga implementar suas próprias ideias ou até reimplementar do zero em outras linguagens. Inclusive este repositório é um playground de experimentos e qualquer tentativa será bem-vinda.
Antes de prosseguir, é extremamente importante você assistir esse vídeo introdutório com toda explicação por trás deste projeto, inclusive todos os passos utilizados para programar ele: Assistir introdução no YouTube
Autor | Descrição |
---|---|
Prova de Conceito (POC) por @filipedeschamps Eu nunca tinha programado um jogo multiplayer e queria entender o que eu não entendia sobre o assunto para, em seguida, reimplementar um MVP com práticas melhores. Dessa experiência foi criada uma Playlist no YouTube com 12 vídeos sobre design pattern e arquitetura de software. Rodar no Gitpod / Abrir código |
|
Estilo Jogo da Cobrinha por @vassourita Jogadores são como cobrinhas que crescem a cada fruta comida. Se você esbarrar em outra cobra os seus pontos e toda sua extensão do seu rabo passam a pertencer a ela. Rodar no Gitpod / Abrir código |
|
Minimum Viable Product (MVP) por @filipedeschamps Versão da POC reimplementada utilizando boas práticas. Rodar no Gitpod / Abrir código |
|
Teleporte do Jogador no limite do Canvas por @PoorlyDefinedBehaviour Esta versão adiciona uma estratégia interessante para a coleta de frutinhas, porque o jogador pode se teleportar de um lado para o outro apenas atravessando o limite do canvas. Rodar no Gitpod / Abrir código |
|
Implementação com Score @JonasFreireAlcantara Esta versão extende a versão do Teleporte e implementa a feature de score. Inclusive utiliza a CSS da POC, o que dá outra cara para o jogo. Rodar no Gitpod / Abrir código |
|
Skin para Jogadores e Frutas @JonasFreireAlcantara Esta versão ao invés de mostrar pixels siples na tela, mostra ícones mais robustos para as frutas e jogadores. Rodar no Gitpod / Abrir código |
|
Simples PWA @Allanksr Esta versão é uma cópia de skin para jogadores e frutas implementado agora a Aplicação progressiva web(PWA). Rodar no Gitpod / Abrir código |
|
Colidindo com players, novos skins e som @doriclaudino Trabalho impressionante que traz toda uma dinâmica nova ao jogo através de captura de itens com pontos diferentes, colisão entre players com disperção dos itens, choque na borda do jogo, vale muito a pena conferir. Rodar no Gitpod / Abrir código |
|
Versão Xadrez @marcosjcs Mais um trabalho impressionante que traz agora uma dinâmica de xadrez (com layout e peças) e inclusive com a feature de pedir o nome do jogador. Rodar no Gitpod / Abrir código |
|
Versão stateful serverless com Cloudflare Worker e Durable Objects @boemekeld O Lucas Boemeke recebeu acesso para a versão beta do Durable Objects da Cloudflare e substituiu o backend por isso. Abrir / Abrir código |
Este é um projeto simples e pode ser desenvolvido em qualquer lugar, mas ultimamente estou utilizando uma IDE Online chamada Gitpod e nela consigo deixar o ambiente 100% configurado (tanto o frontend quanto o backend) para você apenas sentar e programar. Inclusive, eu vou reprogramar o jogo todo por dentro dela e para você programar também, basta seguir os passos abaixo:
- Caso você queira só futucar o código ou ver o jogo rodando, clique aqui para ele clonar o meu workspace com o meu repositório. O acesso ao Gitpod é gratuito e ele vai pedir para você se conectar com a conta do Github.
- Caso queira desenvolver sua própria versão ou modificação, faça um
fork
deste repositório para dentro da sua conta no Github. - Depois disso, simplesmente adicione
gitpod.io/#
na frente da URL do seu repositório para clonar o workspace já com este repositório do jogo rodando. - Você vai encontrar dentro da pasta
playground
todos os experimentos, então crie uma pasta nova para colocar o seu experimento. - Você pode escrever todo o código do zero para acompanhar os vídeos tutoriais da playlist, mas também pode copiar a pasta de um outro experimento e fazer as suas modificações.
- Faça o
commit
de suas alterações, envie para seufork
e abra um Pull Request. Para o Gitpod ter acesso de escrita no seu repositório, você deve habilitar isto nas preferências doAccess Control
.
@filipedeschamps |
---|