banner

블로그

May 18, 2024

항상 잡아야 해

모든 연령대가 즐기는 포켓몬 게임은 출시 이후 전 세계 수백만 명의 마음을 사로잡았습니다. 게임은 포켓몬이라고 알려진 다양한 생물을 잡고 수집하는 것에 관한 것입니다. 플레이어는 여행 내내 이러한 환상적인 존재들을 다양하게 만나게 되지만, 진정한 즐거움은 희귀한 포켓몬을 찾는 데서 옵니다. 독특한 능력과 매혹적인 디자인을 지닌 이 찾기 힘든 생물은 트레이너의 기술, 인내심, 결단력을 테스트하는 도전 과제를 제공합니다.

희귀 포켓몬은 단순히 플레이어에게 전달되는 것이 아닙니다. 특정 장소나 특별 이벤트 기간 동안 자주 찾아야 합니다. 희귀한 포켓몬을 잡기 위해 트레이너는 특별한 몬스터 볼을 사용하거나, 대상 포켓몬을 쓰러뜨리지 않고 약화시키거나, 약점을 활용하는 등 다양한 전술을 사용해야 할 수도 있습니다. 일부 희귀 포켓몬은 자신을 드러내기 전에 복잡한 퀘스트나 퍼즐을 완료해야 하므로 도전 과제가 더욱 복잡해집니다.

많은 사람들은 최신 게임 중 일부에서는 도전 과제가 너무 커졌다고 생각하지만 일부 포켓몬은 캡처하는 데 몇 주가 걸리기도 합니다. YouTube 사용자 Dinones는 Nintendo Switch용 Pokémon Brilliant Diamond 게임의 열렬한 팬이지만, 가장 희귀한 포켓몬, 특히 반짝이는 포켓몬은 잡기가 너무 어렵다고 생각합니다. Nintendo는 분명히 이 게임에서 꼭 사용해보고 싶었던 12비트 난수 생성기를 가지고 있었는데, 이는 주어진 전투에서 반짝이는 포켓몬이 나타날 확률이 4,096분의 1이었습니다.

Dinones는 몇 가지 간단한 계산을 수행한 결과 빛나는 포켓몬 한 마리를 찾는 데 게임 플레이 시간이 40시간 이상 걸릴 수 있다는 사실을 깨달았습니다. 제가 지금 만들고 있는 유명한 속담처럼 상황이 어려워지면 자동화도 어려워집니다. Dinones는 자동으로 게임을 플레이하고 전투에 희귀하고 반짝이는 포켓몬이 있는지 감지하여 캡처하는 시스템을 구축했습니다. 이 설정은 반복적으로 실행되도록 구성되었으므로 목표가 달성될 때까지 몇 시간 동안 계속 재생할 수 있습니다. 일부 사람들은 이러한 움직임이 논란의 여지가 있다고 생각할 수도 있지만 Dinones는 이를 불합리한 확률에 대한 실질적인 대응으로 간주합니다.

이 트릭을 작동시키는 데 필요한 여러 가지 움직이는 부분이 있습니다. 첫째, HDMI-USB 캡처 장치는 게임이 진행되는 동안 Nintendo Switch에서 이미지 프레임을 획득합니다. 다음으로, Dinones는 자신이 만든 도구를 사용하여 일반 포켓몬에는 없는 빛나는 포켓몬의 색상을 발견했습니다. 이는 OpenCV를 사용하여 전투 중에 감지할 수 있는 시그니처를 제공합니다.

게임을 제어하기 위해 NXBT라는 애플리케이션이 활용되었습니다. 이를 통해 명령이 마치 Joy-Con에서 오는 것처럼 프로그래밍 방식으로 Bluetooth를 통해 스위치로 전송될 수 있습니다. 마지막으로 이러한 조각을 사용하여 게임을 시작하고, 전투에 참여하고, 반짝이는 포켓몬이 있는지 여부를 평가하는 Python 스크립트로 논리가 인코딩되었습니다. 그렇지 않은 경우 소프트 리셋이 실행되고 프로세스가 다시 시작됩니다. 눈에 띄지 않는 반짝이는 포켓몬이 발견되면 즉시 실패할 수 없는 특수 마스터볼에 포획된 후 게임이 일시 중지됩니다. 전체 시스템은 Raspberry Pi에서 실행되므로 Dinones는 오랜 시간 동안 자동화된 포켓몬 사냥을 하는 동안 기본 컴퓨터에서 팬의 윙윙거리는 소리를 들을 필요가 없습니다.

한 입 먹기 때문에 스위치에서 물러나야 하거나, 앞으로도 계속 먹을 수 있도록 직장에 가야 하지만 여전히 찾기 힘든 반짝이는 포켓몬을 잡고 싶다면 Dinones' 일이 당신에게 흥미로울 수 있습니다. 다행스럽게도 그는 프로젝트를 복제하려는 모든 사람을 위해 GitHub에 소스 코드를 공개했습니다.

공유하다