Skip to content

maisonsakamoto/meu-primeiro-jogo-multiplayer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meu-primeiro-jogo-multiplayer

Um jogo multiplayer simples o suficiente para qualquer pesssoa 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 idéias 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

Experimentos

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

Como enviar o seu experimento

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:

  1. 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.
  2. 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.
  3. 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.
  4. Você vai encontrar dentro da pasta playground todos os experimentos, então crie uma pasta nova para colocar o seu experimento.
  5. Você pode escrever todo o código do zero para acompanhar os vídeos tutoriais da playlist, mas também você copiar a pasta de um outro experimento e fazer as suas modificações.
  6. Faça o commit de suas alterações, envie para seu fork e abra um Pull Request. Para o Gitpod ter acesso de escrita no seu repositório, você deve habilitar isto nas preferências do Access Control.

Autor


@filipedeschamps

About

Um jogo multiplayer bastante simples para testarmos o Socket.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 54.3%
  • HTML 44.3%
  • CSS 1.4%