English | ✓ Korean(한국어) 피카츄 배구(対戦ぴかちゅ~ ビーチバレー編)는 "(C) SACHI SOFT / SAWAYAKAN Programmers"와 "(C) Satoshi Takenouchi"가 1997년에 만든 윈도우용 게임입니다. 여기에 있는 소스 코드는 이 원조 피카츄 배구 게임의 머신 코드 주요 부분(물리 엔진과 AI 등)을 리버스 엔지니어링하여 자바스크립트로 구현한 것입니다. https://gorisanson.github.io/pikachu-volleyball/ko/ 에서 이 피카츄 배구를 플레이할 수 있습니다. 로컬 환경에서 실행하는 방법
git clone https://github.com/gorisanson/pikachu-volleyball.git
cd pikachu-volleyball
게임 구조
더 자세한 사항은
사용한 리버스 엔지니어링 방법다음 프로그램들을 사용했습니다.
Ghidra는 머신 코드를 C 코드로 디컴파일할 때 사용했습니다. 디컴파일된 C 코드를 처음 봤을 때는 막막했습니다. 한 가지 이유는 변수들의 이름과 함수들의 이름이 원조 게임과 일부러 다르게 한 사항키보드 입력이 없는 경우, 얼마의 시간이 지나면 AI 대 AI 경기가 시작됩니다. 원조 게임에서는 이 경기가 약 40초간만 진행됩니다. 이 자바스크립트 버전에서는 이 AI 대 AI 경기의 제한 시간이 없으므로, 마음 놓고 원하는 만큼 관전할 수 있습니다. English | ✓ Korean(한국어) 피카츄 배구(対戦ぴかちゅ~ ビーチバレー編)는 "(C) SACHI SOFT / SAWAYAKAN Programmers"와 "(C) Satoshi Takenouchi"가 1997년에 만든 윈도우용 게임입니다. 피카츄 배구 P2P 온라인은 이 피카츄 배구 게임의 P2P (peer-to-peer) 온라인 버전입니다. 인터넷을 통해 다른 사람과 함께 플레이할 수 있습니다. 원조 게임을
리버스 엔지니어링해서 만든 피카츄 배구 오프라인 웹 버전에 WebRTC data channels을 결합하여 개발했습니다. https://gorisanson.github.io/pikachu-volleyball-p2p-online/ko/ 에서 피카츄
배구 P2P 온라인을 플레이할 수 있습니다. 구조
게임에서 사용되는 RNG (random number generator) 부분만을 제외하면 게임 상태는 오로지 사용자의 (키보드) 입력에 의해 결정됩니다. 따라서 네트워크 양편에 있는 두 사용자가 사용하는 RNG가 같다면, 사용자의 입력을 서로 주고 받는 것만으로도 두 사용자의 게임 상태를 동일하게 유지할 수 있습니다. 이 P2P 온라인 버전은 data channel open event가 발생할 때 이 두 사용자의 RNG를 같게 만들고 그 후 사용자의 입력을 네트워크를 통해 서로 주고 받습니다. 더 자세한 사항은
피카츄 배구Chinese(中文) | English | ✓ Korean(한국어) P2P 온라인 버전도 있습니다. 원조 피카츄 배구 (対戦ぴかちゅ~ ビーチバレー編) 게임은 다음 분들이 만들었습니다. 원조 피카츄 배구 게임을 리버스 엔지니어링하여 웹 버전으로 만들었습니다. 소스 코드를 GitHub에서 볼 수 있습니다. 공개한 날: 2020-03-26 업데이트 기록 피카츄 배구는 일본에서 1997년에 만들어진 윈도우용 게임입니다. 이 게임을 처음 접한 건 아마 초등학교 컴퓨터실에서였던 것으로 기억합니다. 친구들과 같이하면 정말 재미있지요. 어떤 분이 일본어 스프라이트를 한국어로 번역한 '피카츄 버전 한글판'이 나오기도 했습니다. (이 '피카츄 버전 한글판'의 한국어 스프라이트를 이 한국어 웹 버전에서도 사용했습니다.) 이 웹 버전은 원조 피카츄 배구 게임을 리버스 엔지니어링하여 이를 자바스크립트 코드로 구현한 것입니다. 이 웹 버전 게임은 웹 브라우저 상에서 직접 돌아가기 때문에 컴퓨터 운영체제에 상관 없이 플레이할 수 있습니다. 조작법: 블루투스 키보드를 연결하면 스마트폰이나 태블릿에서도 플레이할 수 있습니다. 팁 1: 팁 2: 팁 3: 팁 4: 팁 5: |