✓英語|韓語(한국어)
Pikachu排球(対戦ぴかちゅ~ 対戦ぴかちゅ~)是一款舊的Windows遊戲,由“(c)Sachi Soft / Sawayakan程序員”開發,並於1997年開發。
Pikachu排球P2P Online是遊戲的點對點在線版本。您可以通過互聯網與他人一起玩。它是通過將WEBRTC數據通道集成到Pikachu排球的離線網絡版本來開發的,Pikachu排球是通過反向工程製造的。
您可以在網站上在線播放Pikachu排球P2P:https://gorisanson.github.io/pikachu-volleyball-p2p-online/en/

離線版本:所有脫機Web版本源代碼文件都位於目錄src/resources/js/offline_version_js/ 。這些與https://github.com/gorisanson/pikachu-volleyball/tree/main/main/src/src/resources/js中的源代碼文件相同。在線版本是基於這些的。
WEBRTC數據渠道:使用WEBRTC數據通道的對等在線功能包含在src/resources/js/data_channel/data_channel.js中。 (Firebase Cloud Firestore被用作通過WEBRTC建立點對點通信的調解人。房間創建者發送給木匠的房間ID是它們之間共享的Cloud Firestore文檔的ID。此方法最初來自Firebase + Webase + Webrtc codelab和https://github.com.com.com.com/webrtc/webrtc/webrtc/webrtc/firebaserbaserbaserbascrc-)。
快速匹配:使用快速匹配服務器的通信包含在src/resources/js/quick_match/quick_match.js中。 (Google App Engine用作快速匹配服務器。快速匹配服務器發送房間的ID,該房間的ID是由等待快速匹配的人創建的,向新的匹配者發送給了。)
遊戲狀態對用戶(鍵盤)輸入是確定性的,除了遊戲中使用的RNG(隨機數生成器)。因此,如果兩個同行的RNG相同,則只需要傳達用戶輸入以維持同行之間的相同遊戲狀態。在此P2P在線版本中,在數據頻道打開事件的兩個對等方面,RNG設置為同一件事,然後通過數據頻道傳達用戶輸入。
有關其他詳細信息,請參考src/resources/js/main_online.js上的評論。