슈퍼 몽키 볼이 웹사이트로 이식됨
(monkeyball-online.pages.dev)- Super Monkey Ball 1의 기본 플레이를 웹 브라우저에서 직접 실행할 수 있는 형태로 제공
- Beginner, Advanced, Expert 난이도를 포함하며, SMB2 모드와 스토리 모드 선택 가능
- 자이로 센서 조정, 가상 조이스틱 크기, 입력 감도 등 세밀한 조작 설정 기능 지원
- WASD/화살표 키로 기울이기, R로 스테이지 리셋, N으로 스킵 가능하며 컨트롤러 입력도 인식
- 별도 설치 없이 웹에서 실행되는 클래식 게임의 브라우저 포팅 사례로 주목
Super Monkey Ball 1 웹 버전 개요
- 브라우저에서 Super Monkey Ball 1의 표준 게임플레이를 제공
- 선택 가능한 난이도는 Beginner, Advanced, Expert
- Challenge Stage와 Story Stage 모드 포함
- SMB2 모드를 통해 다른 버전의 플레이 스타일도 체험 가능
조작 및 입력 설정
-
자이로 모드와 가상 조이스틱을 통한 입력 지원
- 자이로 감도는 25° , 화면 탭으로 재보정 가능
- 가상 조이스틱 크기 조정(1.0x) 및 Input Falloff 값 변경 가능
- 낮은 Input Falloff 값은 입력을 선형적으로, 높은 값은 미세 조정에 유리하게 설정
- 키보드 조작: WASD 또는 화살표 키로 기울이기, R로 스테이지 리셋, N으로 스킵
- 컨트롤러 연결 시 자동 인식 기능 지원
오디오 및 기타 설정
- 음악 볼륨 50% , 효과음 30% , 아나운서 볼륨 30% 로 기본 설정
- 설정 메뉴에서 각 항목 개별 조정 가능
개발자 안내
- 버그 리포트는 불필요하며, 이미 인지된 문제는 추후 수정 예정이라고 명시
- 별도 설치 없이 웹 브라우저에서 실행되는 Super Monkey Ball 1의 포팅 버전임
Hacker News 의견들
- 처음 설정 화면을 보고 순간 Claude에게 “Monkey Ball 스타일 게임 만들어줘” 라고 시킨 건가 싶었음
하지만 실제로는 에뮬레이터나 Emscripten 기반 디컴파일이 아니라, TypeScript로 완전히 새로 만든 게임이었음
이런 프로젝트 정말 좋아함 — WebMonkeyBall GitHub 링크- 웹사이트 크레딧에 “decompilation”과 “porting” 역할이 있어서, 원본 바이너리를 디컴파일한 뒤 TypeScript로 포팅한 것 같음
- 나는 늘 JS JIT + WebGL/WebGPU 조합이면 이런 게임엔 충분하다고 말해왔음
WebAssembly 툴체인은 여전히 쓰기 불편함
참고로 PlayCanvas도 비슷한 예시임
GX 코드 부분은 GameCube API를 떠올리게 함 - 코드 스타일을 보니 Claude가 작성한 것처럼 보임
- 2006년 iPhone이 처음 공개됐을 때는 App Store가 없었고, Apple은 웹앱을 만들라고 했었음
그런데 2008년 App Store가 나오면서 Super Monkey Ball이 첫날 출시된 대표 앱이 되었음
웹으로는 절대 구현할 수 없는 진짜 네이티브 앱의 힘을 보여준 사례였음- 2026년이 된 지금도 브라우저 벤더들은 RenderDoc 같은 디버깅 툴을 제공하지 못하고 있음
그나마 SpectorJS가 남아 있지만 거의 쓸 수 없을 정도임
Infinity Blade는 2010년에 iPhone의 OpenGL ES 3.0 성능을 보여준 대표작이었지만,
여전히 대부분의 웹게임은 플래시 리메이크 수준에 머물러 있음
참고 영상: Infinity Blade: iPhone Trailer
- 2026년이 된 지금도 브라우저 벤더들은 RenderDoc 같은 디버깅 툴을 제공하지 못하고 있음
- 왜 이런 퀄리티의 웹게임이 더 많지 않은지 이해가 안 됨
충분히 만들 수 있는데도 드묾
나도 직접 몇 개 포팅해봤음 — Quake 3 데모, Cave Story
이런 게 수백 개는 있어야 한다고 생각함 - 요즘 iOS에서 가볍고 빠르게 즐길 수 있는 캐주얼 게임을 찾고 있었는데, 정말 찾기 힘들었음
이 게임이 바로 내가 원하던 느낌임 - 그래픽과 조작감이 훌륭하지만, 공 안에 원숭이가 없음 😢
- Super Ball!
- iOS에서는 자이로 권한 요청이 사용자 입력과 연결되지 않아서 작동하지 않음
아래 코드를 브라우저 콘솔에 붙여넣으면 버튼을 만들어 수동으로 권한을 요청할 수 있음var b=document.createElement('button'); b.textContent='Gyro'; b.style='position:fixed;z-index:999'; b.onclick=()=>{DeviceOrientationEvent.requestPermission();b.remove()}; document.body.appendChild(b); - 브라우저에서 돌아가던 GTA Vice City도 인상적이었는데 지금은 내려갔음
AI가 디컴파일 프로젝트에 얼마나 도움이 되는지 궁금함
여전히 복잡한 어셈블리는 수작업이 필요함 (예: ffmpeg)
re3/reVC 코드와 어셈블리를 학습 데이터로 써서 GTA San Andreas를 macOS용으로 학습시킬 수 있을지 상상해봄- GTA Vice City와 San Andreas는 이미 10년 넘게 iOS용으로 출시되어 있었음
Apple Silicon Mac에서 실행해봤는데, 터치 기반이라 컨트롤 업데이트만 해주면 잘 돌아갈 듯함
Rockstar가 macOS용으로 공식 지원만 해줘도 꽤 팔릴 것 같음
이제는 Intel Mac 지원을 빼도 아무도 신경 안 쓸 수준임 - 이런 프로젝트는 포크하거나 저장해두는 게 좋음
- GTA Vice City와 San Andreas는 이미 10년 넘게 iOS용으로 출시되어 있었음
- 원작보다 조작이 더 민감한 느낌이지만 완성도는 높음
- GameCube는 비례식 조이스틱을 썼지만, 키보드는 100% 입력이라 감도가 다름
그리고 원숭이가 떨어질 때 외치는 소리가 없으니 뭔가 허전함
예시 영상: YouTube 링크 - 입력 감쇠(falloff) 설정을 조정하면 모바일에서도 꽤 쓸만함
- GameCube는 비례식 조이스틱을 썼지만, 키보드는 100% 입력이라 감도가 다름
-
Neverball이라는 비슷한 오픈소스 게임이 오래전부터 있었음
웹 버전도 있음 — play.neverball.org - GameCube와 Wii 시절 Super Monkey Ball 1, 2에 푹 빠졌던 사람으로서
이번 웹 버전은 정말 놀라움. 훌륭한 완성도임