Skip to content

rodrigocborges/protonunity

Repository files navigation

Proton

Exemplo simples com 2 jogadores Exemplo simples com 2 jogadores - sincronização de posição, escala, rotação e texto da nametag

A maioria das arquiteturas de rede que são utilizadas em jogos multiplayer online são cliente-servidor. O presente projeto trata de construir uma alternativa ligada a implementação da arquitetura peer-to-peer para:

  • Estudo da viabilidade de implementação;
  • Caráter comparativo entre arquiteturas;

Objetivo geral

Propor um framework open source para multiplayer online de jogos na Unity usando WebRTC.

Informações extras

  • Está sendo usado a biblioteca Javascript PeerJS para maior abstração das classes e funções da API da WebRTC
  • Está sendo feito a comunicação de Javascript com C# através de JSLib (já nativo da Unity)
  • Versão da Unity sendo usada: 2021.3.13f1
  • Já existe um pacote experimental da Unity para comunicação com WebRTC, mas nos testes não foi possível comunicar mais de 2 jogadores. Além disso, a complexidade de implementação era alta
  • Está sendo feito um servidor de sinalização simples que para cada peer novo conectado é enviado esse seu ID para o servidor, que salva essa informação num arquivo JSON para enviar para todos os peers conectados para realizar conexões entre si. Nenhum dado do jogo é enviado para ele, apenas sinalização (encontrar os outros peers na rede).
  • Plataforma para fazer o build: apenas WebGL

Documentação

Para acessar a documentação, acesse o link: https://protonunity.readthedocs.io

Observação

Este projeto contém também um exemplo de jogo usando o Photon Unity Networking para caráter de testes entre frameworks e para construções de funções análogas.

Créditos

Desenvolvido por Rodrigo Borges - curso de Engenharia de Computação na Universidade Federal do Rio Grande (FURG)

About

WebGL Multiplayer Game with WebRTC

Resources

License

Stars

Watchers

Forks

Packages

No packages published