3P by neo 5달전 | favorite | 댓글 1개

Descent 3 소스 코드 공개

업데이트 (2024/04/16)

  • Descent 개발자 디스코드 커뮤니티에 많은 관심과 참여에 감사함. 이미 활발한 커뮤니티가 존재하니 아래 링크로 참여 바람.
  • 조만간 다른 개발자들이 병렬로 작업하거나 이 코드가 아카이브된 이후에 작성한 코드를 머지하는 등 큰 커밋이 예상됨.

개발 방향 및 결정사항

  • 앞으로 C++17을 지원할 예정임.
  • 코드 포맷팅을 위해 LLVM 모드의 clang을 사용 중이므로, PR 제출 전에 clang-format을 실행해 줄 것.

최초 릴리즈

  • 최신 버전의 Descent 3 소스 코드로, 몇 년 전 Jeff Slutter와 Kevin Bentley가 작성한 '1.5' 패치가 포함되어 있음. 당시 Windows, Linux, Mac에서 동작함.
  • 일부 Interplay 사유 사운드 및 비디오 라이브러리(ACM, MVE 포맷)는 제거됨. 해당 코드는 보유 중이므로 옛 컷신이 동작하도록 컨버터 제작을 도와줄 분을 찾고 있음. 컴파일되도록 해당 코드를 스텁 아웃하는 데 노력이 필요함.
  • 우선 모든 것이 다시 컴파일되도록 하는 것이 목표이며, 가능하다면 CI/CD 액션도 추가하고자 함. 그 후 오래된 버전 제어 주석 등을 제거하는 등 코드 정리가 필요함. 대부분의 코드는 훌륭한 팀에 의해 작성되었지만, 당시에는 훨씬 어리고 경험이 적었다는 점을 고려해야 함.
  • 유지보수를 돕고 싶다면 메시지를 보내주길 바람. 그렇지 않으면 PR을 기꺼이 받겠음.
  • 이것이 서로 다른 아키텍처에서 플레이하는 모습을 보여주는 마지막 업데이트임. 1.5 패치를 릴리스하지 못해 죄송함. 일부 물류 문제가 방해가 되었음.
  • 90년대 코드를 현대화하는 작업의 대부분을 수행한 Jeff Slutter에게 감사함. 커뮤니티가 이를 가지고 무엇을 할지 기대됨!

GN⁺의 의견

  • 20년 넘게 사랑받아온 게임의 소스코드가 공개되어 많은 개발자들에게 관심을 끌 것으로 보임. 하지만 오래된 코드를 현대화하는 작업에는 많은 노력이 필요할 것임.
  • 소스코드 공개 자체로 의미가 있지만, 실제 게임에 적용되려면 라이선스 문제 해결, 최신 플랫폼 지원, 개발 프로세스 정립 등 넘어야 할 산이 많아 보임.
  • 오픈소스 프로젝트의 지속가능한 발전을 위해서는 명확한 로드맵 제시, 기여자 가이드라인 마련, 거버넌스 체계 확립 등이 선행되어야 할 것으로 보임.
  • 게임 엔진 오픈소스로는 Godot, Cocos2d-x 등이 활발히 개발되고 있음. 이들의 장단점을 파악하고 차별화 방안을 고민해 볼 필요가 있음.
  • 20년 전 게임이 현재에도 통할지, 올드한 느낌을 줄지 우려되는 부분임. 그래픽, 사운드, UI 등 게임의 핵심 요소를 현대적으로 업그레이드하는 것이 필요해 보임.
Hacker News 의견
  • Descent 게임 시리즈가 한 개인의 인생에 큰 영향을 미친 사례들이 소개됨. 포럼에서 만난 아내와 결혼하고 아들들의 이름을 Descent 친구들의 닉네임으로 지었으며, 지인들의 결혼식과 장례식에 참석한 일화 등.

  • Descent의 360도 자유로운 비행 컨트롤 시스템이 이후 FPS 게임에서 Y축 반전 옵션의 기원이 되었음. 12살 때 Descent FAQ를 읽고 IRC를 배웠으며, 오늘날 엔지니어이자 게임 개발자가 되기까지 Descent가 큰 영향을 미쳤다는 개발자의 회고.

  • 경쟁 플레이어들 사이에서는 속도 극대화를 위해 '트리코딩(trichording)'이라는 테크닉이 사용되었는데, 3축을 동시에 이동하기 위해 여러 키를 동시에 누르는 방식. 의도된 디자인인지 버그인지는 불분명.

  • Descent 3의 오래된 사운드/비디오 라이브러리 포맷(ACM, MVE)은 제거되었지만, 변환 도구 개발을 위해 코드 공유 의사를 밝힘. FFMPEG에서 해당 포맷을 지원하는 것으로 보임.

  • 한 엔지니어에게 Descent 시리즈는 인터넷 세계로 가는 관문이었음. 10살 때 D1으로 친구들과 전화 연결 플레이를 하고, D2에서 Kali/Kahn을 통해 매치메이킹을 경험. IRC, ICQ를 접하고 최신 PC 업그레이드에 몰두. D3에서는 월드 랭킹 100위 내에 든 것이 인상적인 경험.

  • Descent 3 소스 코드 공개 과정과 배경에 대한 궁금증과, Interplay의 다른 게임인 Hardwar 소스 코드 공개 가능성에 대한 문의도 있었음.