Giter VIP home page Giter VIP logo

first-multiplayer-game's Introduction

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

first-multiplayer-game's People

Contributors

filipedeschamps avatar poorlydefinedbehaviour avatar allanksr avatar jonasfreirealcantara avatar vassourita avatar

Stargazers

Rafael Lisboa avatar

Watchers

Rafael Lisboa avatar  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.