오래전에 종료된 공식 서버 대신, Dolphin이 실제 Wii 콘솔과 온라인으로 연결되게 만든다는 점이 놀라움
이런 열정적인 헌신을 가진 사람들이 있다는 게 정말 기쁨임
인류가 이렇게 협력한다면 얼마나 많은 걸 이룰 수 있을지 상상함
하지만 단기적으로는 이런 기술 발전이 불평등을 더 심화시킬 수도 있음
이런 노력은 게임 보존을 위해 꼭 필요함
에뮬레이터의 버그로 인해 게임이 완전히 혹은 부분적으로 실행되지 않는다면, 미래 세대가 이 게임을 경험할 기회를 잃게 됨
사람들이 이렇게까지 신경 써주는 게 정말 멋짐
내가 가장 흥미롭게 느끼는 부분은, 에뮬레이터 개발이 종종 원래 게임이 이상하지만 의도된 동작을 하고 있었다는 걸 발견하게 된다는 점임
거의 2년 동안 디컴파일 작업을 해왔는데, 컴파일러의 특이한 동작이나 오래된 GCC 버전의 한계, 그리고 당시 프로그래머들의 미신 같은 코드를 보는 게 재미있음
90년대 중반의 GCC가 이미 내가 2000년대 초에 수동으로 최적화하려 했던 걸 자동으로 처리하고 있었다는 걸 알고 놀랐음
오늘 9front 커뮤니티 덕분에 일부 GB 게임이 카트리지의 SRAM을 스왑 메모리처럼 사용했다는 걸 알게 됨
에뮬레이터가 SRAM을 저장하지 않아 세이브 불일치가 생겼는데, 빠르게 수정됨
Plan9 기반의 단순한 C 코드라 수정이 쉬웠음
나는 항상 Dolphin 개발 보고서를 읽는 걸 좋아함
기술적인 내용을 이해하기 쉽게 잘 풀어줌
나도 프로그래머가 되기 전부터 그 보고서를 읽었는데, 프로그램의 내부 동작을 논리적으로 생각하는 법을 배우는 데 큰 도움이 되었음
특히 단순히 “무엇이 바뀌었는가”가 아니라 “왜 어려웠는가”를 설명해주는 점이 인상적임
Dolphin 보고서와 관련해, 작성자 중 한 명이 오픈소스 에뮬레이터 커뮤니티의 문제를 다룬 흥미로운 글을 올렸음 Rethinking Open Source
요약하자면, 커뮤니티 기반과 정체성이 확립되기 전에 하이프가 큰 프로젝트를 오픈소스로 공개하면, 비현실적인 요구를 하는 사용자들로 인해 문제가 생길 수 있음
또한 미완성 브랜치를 다른 이가 가져가서 자신이 만든 것처럼 배포하는 경우도 있음
Dolphin 팀은 이런 어려움 속에서도 높은 수준의 전문성으로 프로젝트를 운영하고 있음
공격적이거나 감사하지 않는 사용자들 속에서 동기부여를 유지하는 건 정말 힘든 일임
돈을 받는 상황에서도 어렵지만, 무료 프로젝트라면 더 힘들 것 같음
예전에 여러 개의 비호환 브랜치를 써야 했는데, 이제 메인라인에 Triforce 지원이 들어간 것 같아 기쁨
예전 포크는 완성도가 낮았음
글쓴이가 자신이 쓴 내용에 대해 진심으로 신나 있는 모습이 보기 좋음
JMC는 정말 최고임
예전에 Melee 네트플레이 버그를 보고했을 때, 그는 모든 것에 호기심을 가지고 깊이 파고드는 사람이었음
Dolphin은 정말 똑똑한 개발의 모범 사례임
예전에는 내 구형 머신의 4코어를 모두 써야 Metroid Prime이 돌아갔는데, 몇 년 뒤엔 같은 게임이 코어의 25%만 사용함 JIT와 에뮬레이션 효율화 덕분에 성능이 비약적으로 향상된 것임
이런 최적화는 진짜 대단한 성취였음
Triforce 아케이드 호환성 논의 중에 “IC 카드 지원”이 언급되었는데, 이게 구현되면 많은 기능이 열릴 거라고 함
일본의 교통카드처럼 보이지만, Triforce 기판에서는 게임 진행 데이터를 저장하는 데 사용된다고 함
미국 아케이드에서는 본 적이 없는 멋진 기능임
Triforce 게임은 자기식 카드(magcard) 와 IC 카드 두 종류를 지원함
magcard는 저렴하지만 내구성이 약하고, 인쇄가 가능함
IC 카드는 더 두껍고 튼튼하지만 인쇄는 불가능함
사진과 함께 설명된 출처: Rise of the Triforce
사실 이건 메모리 카드를 의미함
거의 모든 Triforce 게임이 세이브를 위해 카드를 사용함
아마 미국에서도 Mario Kart Arcade GP 버전을 본 적이 있을 것임
미국 아케이드에도 존재함
maimai, chunithm, DDR 등에서 사용하는 AIME 카드와 비슷한 개념임
다만 Triforce의 IC 카드는 인증뿐 아니라 데이터 저장 기능도 있음
fnmsubs CPU 명령이 JIT에서는 잘못 구현되어 있었지만 인터프리터에서는 올바르게 작동했다는 사례가 흥미로움
이런 경우 differential fuzzing을 적용하기 좋은 기회라고 생각함
이번 글의 핵심은 Dolphin이 Triforce 아케이드 캐비닛 지원을 복원했다는 점임
Triforce는 Nintendo, Sega, Namco가 공동 개발한 하드웨어로, Dolphin이 2016년에 지원을 중단했었음
이제 F-Zero AX, Mario Kart Arcade GP 1·2 같은 게임이 다시 돌아옴
자세한 내용: The Return of the Triforce
몇 주 전에도 관련 스레드가 있었음 이전 토론 링크
기사 첫 문단이 이미 이 내용을 다루고 있어서 “묻힌 주제”라고 하긴 어려움
Hacker News 의견들
오래전에 종료된 공식 서버 대신, Dolphin이 실제 Wii 콘솔과 온라인으로 연결되게 만든다는 점이 놀라움
이런 열정적인 헌신을 가진 사람들이 있다는 게 정말 기쁨임
하지만 단기적으로는 이런 기술 발전이 불평등을 더 심화시킬 수도 있음
에뮬레이터의 버그로 인해 게임이 완전히 혹은 부분적으로 실행되지 않는다면, 미래 세대가 이 게임을 경험할 기회를 잃게 됨
사람들이 이렇게까지 신경 써주는 게 정말 멋짐
내가 가장 흥미롭게 느끼는 부분은, 에뮬레이터 개발이 종종 원래 게임이 이상하지만 의도된 동작을 하고 있었다는 걸 발견하게 된다는 점임
90년대 중반의 GCC가 이미 내가 2000년대 초에 수동으로 최적화하려 했던 걸 자동으로 처리하고 있었다는 걸 알고 놀랐음
에뮬레이터가 SRAM을 저장하지 않아 세이브 불일치가 생겼는데, 빠르게 수정됨
Plan9 기반의 단순한 C 코드라 수정이 쉬웠음
나는 항상 Dolphin 개발 보고서를 읽는 걸 좋아함
기술적인 내용을 이해하기 쉽게 잘 풀어줌
Dolphin 보고서와 관련해, 작성자 중 한 명이 오픈소스 에뮬레이터 커뮤니티의 문제를 다룬 흥미로운 글을 올렸음
Rethinking Open Source
요약하자면, 커뮤니티 기반과 정체성이 확립되기 전에 하이프가 큰 프로젝트를 오픈소스로 공개하면, 비현실적인 요구를 하는 사용자들로 인해 문제가 생길 수 있음
또한 미완성 브랜치를 다른 이가 가져가서 자신이 만든 것처럼 배포하는 경우도 있음
Dolphin 팀은 이런 어려움 속에서도 높은 수준의 전문성으로 프로젝트를 운영하고 있음
돈을 받는 상황에서도 어렵지만, 무료 프로젝트라면 더 힘들 것 같음
예전 포크는 완성도가 낮았음
글쓴이가 자신이 쓴 내용에 대해 진심으로 신나 있는 모습이 보기 좋음
예전에 Melee 네트플레이 버그를 보고했을 때, 그는 모든 것에 호기심을 가지고 깊이 파고드는 사람이었음
Dolphin은 정말 똑똑한 개발의 모범 사례임
예전에는 내 구형 머신의 4코어를 모두 써야 Metroid Prime이 돌아갔는데, 몇 년 뒤엔 같은 게임이 코어의 25%만 사용함
JIT와 에뮬레이션 효율화 덕분에 성능이 비약적으로 향상된 것임
이런 최적화는 진짜 대단한 성취였음
Triforce 아케이드 호환성 논의 중에 “IC 카드 지원”이 언급되었는데, 이게 구현되면 많은 기능이 열릴 거라고 함
일본의 교통카드처럼 보이지만, Triforce 기판에서는 게임 진행 데이터를 저장하는 데 사용된다고 함
미국 아케이드에서는 본 적이 없는 멋진 기능임
magcard는 저렴하지만 내구성이 약하고, 인쇄가 가능함
IC 카드는 더 두껍고 튼튼하지만 인쇄는 불가능함
사진과 함께 설명된 출처: Rise of the Triforce
거의 모든 Triforce 게임이 세이브를 위해 카드를 사용함
아마 미국에서도 Mario Kart Arcade GP 버전을 본 적이 있을 것임
maimai, chunithm, DDR 등에서 사용하는 AIME 카드와 비슷한 개념임
다만 Triforce의 IC 카드는 인증뿐 아니라 데이터 저장 기능도 있음
fnmsubs CPU 명령이 JIT에서는 잘못 구현되어 있었지만 인터프리터에서는 올바르게 작동했다는 사례가 흥미로움
이런 경우 differential fuzzing을 적용하기 좋은 기회라고 생각함
이번 글의 핵심은 Dolphin이 Triforce 아케이드 캐비닛 지원을 복원했다는 점임
Triforce는 Nintendo, Sega, Namco가 공동 개발한 하드웨어로, Dolphin이 2016년에 지원을 중단했었음
이제 F-Zero AX, Mario Kart Arcade GP 1·2 같은 게임이 다시 돌아옴
자세한 내용: The Return of the Triforce
이전 토론 링크
기사 첫 문단이 이미 이 내용을 다루고 있어서 “묻힌 주제”라고 하긴 어려움
혹시 기부를 받는지 궁금했는데, 공식 사이트에서는 찾을 수 없었음
관련 포럼 글: Dolphin Donations