✓ English | Coreano (한국어)
O vôlei de Pikachu (対戦ぴかちゅ~ ビーチバレー編 ビーチバレー編) é um jogo antigo do Windows que foi desenvolvido por "(c) programadores Sachi Soft / Sawayakan" e "(c) Satoshi Takenouchi" em 1997.
O Pikachu Volleyball P2P Online é uma versão online ponto a ponto do jogo. Você pode brincar com outra pessoa pela Internet. Ele é desenvolvido integrando os canais de dados WebRTC à versão offline da Web do vôlei Pikachu, que é fabricada pela engenharia reversa do jogo original.
Você pode jogar Pikachu Volleyball P2P on-line no site: https://gorisanson.github.io/pikachu-volleyball-p2p-online/en/

Versão offline: todos os arquivos de código -fonte da versão offline da web estão no diretório src/resources/js/offline_version_js/ . Estes são os mesmos que os arquivos de código-fonte em https://github.com/gorisanson/pikachu-volleyball/tree/main/src/resources/js. A versão online é desenvolvida base nessas.
Canais de dados do WebRTC: As funções on-line ponto a ponto utilizando canais de dados WebRTC estão contidos no src/resources/js/data_channel/data_channel.js . (O Firebase Cloud Firestore é usado como mediador para estabelecer uma comunicação ponto a ponto via Webrtc. O ID da sala que o criador da sala envia para o marceneiro é o ID de um documento de Firestore em nuvem que é compartilhado entre eles. Este método é originalmente de Firebase + WebrTC codelab e httsert://github.com/webase.
MAÇA RÁPIDA: A comunicação com o servidor de correspondência rápida está contida no src/resources/js/quick_match/quick_match.js . (O mecanismo do Google App é usado como o servidor de correspondência rápida. O servidor de correspondência rápida envia o ID da sala, criado por uma pessoa que espera uma correspondência rápida, para a nova que entra.)
O estado do jogo é determinístico nas entradas do usuário (teclado), exceto o RNG (gerador de números aleatórios) usado no jogo. Portanto, se o RNG for o mesmo em ambos os pares, apenas as entradas do usuário precisam ser comunicadas para manter o mesmo estado de jogo entre os pares. Nesta versão on -line do P2P, o RNG está definido como a mesma coisa em ambos os pares no evento aberto do Data Channel, e as entradas do usuário são comunicadas pelo canal de dados.
Consulte os comentários sobre src/resources/js/main_online.js para outros detalhes.