Skip to content

Um jogo multiplayer bastante simples para testar o Socket.io

License

Notifications You must be signed in to change notification settings

Koynonia/jogo-multiplayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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
Estudo da implementação por @koynonia
Um estudo das tecnicas utilizadas para a programação deste jogo.

Foi utilziado JavaScript + Node.js + Socket.io para programar o Frontend e Backend do jogo, separando suas diversas responsabilidades.

Camadas

Camadas Descrição
Apresentação É onde existe o contato com o jogo, mas é desprovida de toda funcionalidade. Como exemplo, podemos entendê-la como uma impressora que tem que receber um texto, visto que ela mesma não o produz.
Lógica + Dados É onde são implementadas as funcionalidades de forma abstrata. Podemos entender como sendo nossa mente diante de um jogo de xadrez, que conhece todos os movimetos e regras possíveis.
Inputs É a camada que recebe as entradas do teclado, que a camada de Lógica + Dados fazem uso para serem aplicadas.
Networking Esta camada é uma das mais importante, pois é responsável por manter o sincronismo entre os diversos clients com o server.

About

Um jogo multiplayer bastante simples para testar o Socket.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages