gorisanson / pikachu-volleyball-p2p-online

Pikachu Volleyball peer-to-peer online via WebRTC data channels
https://gorisanson.github.io/pikachu-volleyball-p2p-online/en/
317 stars 37 forks source link
game p2p peer-to-peer pikachu-volleyball reverse-engineering video-game webrtc webrtc-datachannels

Pikachu Volleyball P2P Online

English | Korean(한국어)

Pikachu Volleyball (対戦ぴかちゅ~ ビーチバレー編) is an old Windows game which was developed by "(C) SACHI SOFT / SAWAYAKAN Programmers" and "(C) Satoshi Takenouchi" in 1997.

Pikachu Volleyball P2P Online is an peer-to-peer online version of the game. You can play with other person through the internet. It is developed by integrating WebRTC data channels to the offline web version of Pikachu Volleyball which is made by reverse engineering the original game.

You can play Pikachu Volleyball P2P online on the website: https://gorisanson.github.io/pikachu-volleyball-p2p-online/en/

Pikachu Volleyball game screenshot

Structure

The game state is deterministic on the user (keyboard) inputs except the RNG (random number generator) used in the game. So if the RNG is the same on both peers, only the user inputs need to be communicated to maintain the same game state between the peers. In this p2p online version, the RNG is set to the same thing on both peers at the data channel open event, then the user inputs are communicated via the data channel.

Refer comments on src/resources/js/main_online.js for other details.