Hacker News 의견들
  • 오래전에 종료된 공식 서버 대신, 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

    • 몇 주 전에도 관련 스레드가 있었음
      이전 토론 링크
      기사 첫 문단이 이미 이 내용을 다루고 있어서 “묻힌 주제”라고 하긴 어려움
  • 혹시 기부를 받는지 궁금했는데, 공식 사이트에서는 찾을 수 없었음