Giter Site home page Giter Site logo

alalbuquerque22 / meu-primeiro-jogo-multiplayer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from filipedeschamps/meu-primeiro-jogo-multiplayer

0.0 0.0 0.0 4.18 MB

Um jogo multiplayer bastante simples para testarmos o Socket.io

License: MIT License

JavaScript 62.02% CSS 0.87% HTML 37.10%

meu-primeiro-jogo-multiplayer's Introduction

meu-primeiro-jogo-multiplayer

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

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
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

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 pode 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

meu-primeiro-jogo-multiplayer's People

Contributors

boemekeld avatar filipedeschamps avatar poorlydefinedbehaviour avatar allanksr avatar jonasfreirealcantara avatar vassourita avatar marcosjcs avatar leonardo-io avatar doriclaudino avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.