지식재산권 보호라는 관점은 잘 이해되지 않음. 이런 브라우저 이식판은 에뮬레이터용 게임 파일이나 일반 불법 복제 소프트웨어를 호스팅하는 것과 불법성 측면에서 다르지 않고, 사이트 폐쇄 난이도도 기존 불법 복제 사이트와 다르지 않음.
더 흥미로운 건 원본 데이터 파일을 가져와 합법적으로 즐길 수 있는 이식판을 쉽게 만들게 됐다는 사실임. 현대화된 엔진에서 고해상도, 프레임 제한 해제, 버그 수정 등을 누릴 수 있음. 최근 몇 달 사이 소스 코드가 유실된 DOS 게임을 바이브 코딩으로 이식한 프로젝트를 여럿 봤음.
최근 몇 년간 쏟아진 이식판·리메이크·리마스터, 그중 상당수의 형편없는 완성도를 보면 왜 일부가 이를 지식재산권 침해로 몰아가는지 분명해짐.
기업 입장에서는 과거 PS2 게임을 다시 컴파일하고 와이드스크린·컨트롤러 지원과 그래픽을 조금 손본 뒤, 20년 된 게임을 60달러에 재판매할 수 있었음. 신작보다 작업량이 훨씬 적고 기존 팬층 덕분에 위험도 낮음. 착취적이고 형편없는 장사지만, 왜 이 변화에 불쾌해하는지는 이해할 수 있음.
Quake 첫 레벨만 잠깐 둘러보고 끝낼 생각이었는데, 바로 멀티플레이 게임에 들어가 예상 밖으로 훌륭한 손맛을 느껴 놀랐음. Quake 3도 마찬가지였고, 다만 핑은 좋지 않았음.
내 Quake CD가 어디 있는지도 모르겠고, 찾더라도 쾌적하게 즐길 모드와 함께할 커뮤니티를 따로 찾아야 함. 그런 과정을 건너뛸 수 있다는 게 정말 매력적임.
1990년대 말~2000년대 초 게임 일부에는 요즘 재현하기 어려운 매력이 있음. 엄청난 중독성과 제작진의 열정, 그리고 과도한 막판 작업까지 느껴지면서도, 요즘 만연한 착취적 소액 결제나 카지노식 장치는 없었음.
Quake만 하고 싶다면 Steam 버전을 사면 됨. 약 10달러로 저렴하고, 최신 시스템에 맞게 개선됐으며 추가 캠페인도 여럿 들어 있음. 내게는 여전히 예전만큼 훌륭하며, 최근 30주년 기념판도 출시됐음.
2010~2011년쯤 브라우저에서 Quake Live를 즐겼는데 Quake 3 Arena 못지않았음. 아직 서비스 중이라면 한번 해보길 권함.
원작은 아마 UDP를 썼을 텐데, WebSocket은 TCP 기반이라 핑이 좋지 않은 것 아닐까?
역컴파일부터 재구축까지의 작업 흐름을 자세히 알고 싶음. 프롬프트뿐 아니라 역컴파일 과정 중 모델이 어느 부분을 맡는지도 궁금함. 일반 역컴파일러를 쓴다고 가정하면 그다음은 어떻게 진행되는지, 코드는 어떻게 다시 빌드하는지, AI가 어떤 실수를 할 수 있는지, 최종 결과물은 실제로 어떤 모습인지 알고 싶음.
최근 Emscripten으로 Winamp AVS를 웹에 이식한 바이브 코딩 프로젝트가 떠오름. 몇 차례 작업만에 그냥 완성돼 버려 놀랍고 얼떨떨했음.
비트 감지가 고장 났다고 하자 ChatGPT가 사용 가능한 오디오 소스에 맞춰 C++ 코드를 직접 수정한 적도 있음. 원본 AVS 코드를 제외하면 가장 큰 공은 단연 Emscripten 기여자들에게 돌아가야 함. 본업에서 이미 에이전트 기반 코딩을 주 개발 도구로 쓰고 있었는데도 기대 수준이 다시 달라졌음.
나도 비슷한 작업으로 Geiss를 Music Assistant / Sendspin 출력 대상으로 만들었음. 너무 쉽게 돼서 놀라울 정도임.
Rockstar가 이번에도 GTA VI PC판을 콘솔 출시 1년 뒤에 내놓을지 궁금함. 너무 오래 기다리게 하면 커뮤니티가 먼저 더 나은 이식판을 만들지도 모름.
Opus는 이런 작업에 “당신 코드가 아니잖아요” 같은 이유로 제동을 걸지 않나?
대부분은 허가를 받았다고 하면 쉽게 우회할 수 있음. “이 라이선스는 명시적 허가 없이 이런 용도로 사용할 수 없습니다”라고 해도, “권리자가 허가했고 PDF도 있습니다. 라이선스 문구와 관계없이 허용했습니다”라고 하면, 그 허가 사실을 기록하고 계속 진행하는 식임.
직접 해보지는 않았지만, 역컴파일 후 명세 작성과 명세에 따른 구현을 두 단계로 나누면 클린룸 역공학처럼 보이며, 이는 미국에서 완전히 합법임.
개발 경험이 있고 좋아하는 DOS/Win95 시절 게임을 이식하고 싶은데, AI 역공학을 어디서부터 시작하면 좋을까? 구체적인 방법을 아는 분이 있는지 궁금함.
Claude에 ghidra와 radare2를 사용할 수 있다고 알려주고, Windows XP의 3D Space Cadet을 Rust+Bevy로 충실히 이식해 달라고 했음. 2시간 뒤에 플레이 가능한 게임이 나왔음.
Bevy에는 MIDI 재생기가 없어 음악을 넣으려면 프롬프트를 한 번 더 줘야 했음. Claude가 MIDI 크레이트를 추가했고, 나는 시스템에 있던 사운드폰트를 제공함.
해당 폴더에서 Codex·Claude·pi를 열고 어디서 시작할지 물어보면 될 듯함. 최신 LLM의 능력은 놀라운 수준임.
코로나 시절 적응형 트리거를 지원하는 GTA5 VR 환경을 구성했지만, 업데이트와 호환성 문제로 점점 망가졌음. 바로 오늘 Codex를 열고 몇 시간 만에 다시 작동시켰고, 예전부터 겪던 버그의 맞춤 패치까지 적용함. 우선 시작 방법을 묻고 하나씩 파고들기를 권함.
실행 성능이 궁금함. 바이너리를 역컴파일해 복원한 C/C++ 코드를 WebAssembly로 실행하는 것으로 추정하는데, 네이티브 실행에 비해 오버헤드가 얼마나 될까? WebGPU와 네이티브 DirectX/OpenGL의 성능 차이도 궁금함.
이식·복원되는 게임 상당수는 일반 소비자용 하드웨어가 지금보다 10배 이상 느리던 시절에 만들어졌음.
그래서 WebAssembly/WebGPU에서도 부드럽게 실행되는 듯함. 오버헤드 때문에 5배 느려져도 꽤 쾌적할 가능성이 큼. 실제 차이는 그 정도와는 거리가 멀고, 일부 상황에서 1.5~2배 정도에 가까울 것으로 추정함.
Pixel 9 Pro에서 Skate 3가 45fps로 실행됨. Pixel 계열은 CPU 성능이 약한 편으로 알려져 있는데도 휴대전화용이 아닌 모드에서 이 정도임. 휴대전화 모드도 시험할 수 있지만 터치 조작으로 즐기려고 로딩을 다시 기다리고 싶지는 않음.
성능은 훌륭하며, 대부분의 게임은 실행 요구 사양이 그리 높지 않음. 최근 중급 컴퓨터라면 내장 그래픽을 쓰더라도 모두 플레이 가능한 수준으로 실행할 수 있을 것으로 봄.