본문으로 건너뛰기
피드

넷핵 5.0.0 공개, C99 전환과 크로스 컴파일 지원까지 들어갔다

open-source 약 5분
vote
0
댓글
북마크

오픈소스 던전 탐험 게임 넷핵(NetHack)이 5.0.0 버전을 공개했다. 게임 개선과 버그 수정뿐 아니라 C99 준수, 크로스 컴파일 장벽 제거, yacc·lex 기반 도구를 Lua 기반 처리로 바꾸는 등 빌드와 아키텍처 쪽 변화가 꽤 크다.

  • 1

    넷핵 5.0.0이 2026년 5월 2일 공개

  • 2

    소스 코드가 C99 표준을 준수하도록 정리

  • 3

    서로 다른 플랫폼을 대상으로 빌드하는 크로스 컴파일 지원 강화

  • 4

    레벨·던전·퀘스트 텍스트 처리 일부가 yacc·lex·makedefs에서 Lua 기반 처리로 이동

  • 5

    기존 세이브 파일과 bones 파일은 5.0.0에서 호환되지 않음

  • 넷핵(NetHack) 개발팀이 2026년 5월 2일 넷핵 5.0.0을 공개했음

    • 넷핵은 로그(Rogue)와 핵(Hack)의 먼 후손이자, 넷핵 3.6 계열의 직접 후속임
    • 5.0.0은 .0 릴리스라 버그가 있을 수 있고, 개발팀은 제안·깃허브 풀 리퀘스트·버그 리포트를 받겠다고 밝힘
  • 이번 릴리스는 게임 개선과 버그 수정만 있는 게 아니라, 코드베이스와 빌드 구조를 꽤 손본 버전임

    • 소스 코드가 C99 표준을 준수하도록 정리됐음
    • 오래된 C 프로젝트에서 표준 준수는 단순 취향 문제가 아니라, 여러 컴파일러와 플랫폼에서 같은 방식으로 빌드되게 만드는 기반임
  • 크로스 컴파일(cross-compiling) 쪽 장벽도 낮췄음

    • 한 플랫폼과 운영체제에서 넷핵을 빌드한 뒤, 다른 플랫폼이나 운영체제에서 실행할 수 있게 만드는 작업을 개선했다는 뜻임
    • 자세한 내용은 최상위 폴더의 ‘Cross-compiling’ 파일에 정리돼 있다고 함

⚠️주의

> 기존 저장 파일과 bones 파일은 넷핵 5.0.0에서 동작하지 않음. 오래 이어오던 플레이 데이터가 있다면 업그레이드 전에 이 호환성 변경을 먼저 봐야 함.

  • 빌드 타임 도구 의존성도 줄이는 방향으로 바뀜

    • 기존에는 레벨 컴파일러와 던전 컴파일러가 yacc·lex 기반이었음
    • 퀘스트 텍스트 파일 처리는 넷핵의 makedefs 유틸리티가 맡고 있었음
    • 5.0에서는 이 부분들이 게임 실행 중 로드·처리되는 Lua 텍스트 대안으로 교체됐음
  • 변경 규모는 생각보다 큼

    • 게임 소스 안의 doc/fixes5-0-0.txt 파일에 3100개가 넘는 수정과 변경 목록이 들어 있다고 함
    • 이 문서는 개발팀 내부 용도로 작성된 내용이라 ‘있는 그대로’ 제공되며, 새 기능 섹션에는 스포일러로 볼 수 있는 항목도 있을 수 있다고 안내함
  • 바이너리 검증과 경로 확인용 안내도 포함됨

    • nethack.org에서 받은 윈도우 바이너리는 certUtil로 SHA256 체크섬을 확인할 수 있음
    • 대부분의 플랫폼에서는 nethack --showpaths 명령으로 넷핵이 사용하는 여러 파일 위치를 확인할 수 있음
  • 넷핵답게 릴리스 노트의 마무리는 피드백 요청임

    • 버그는 문제 보고 양식으로 제출해 달라고 안내함
    • 보고 전에 알려진 버그 목록을 먼저 확인하라고도 덧붙임

기술 맥락

  • 넷핵 5.0.0에서 개발자 입장으로 볼 만한 건 게임 콘텐츠보다 빌드와 데이터 처리 방식이에요. 수십 년 된 C 프로젝트는 새 기능을 넣는 것보다, 다양한 플랫폼에서 계속 빌드되게 유지하는 일이 더 어려울 때가 많거든요.

  • C99 준수는 코드베이스의 기준선을 정리하는 선택이에요. 너무 오래된 C 관습에 묶이면 최신 컴파일러나 플랫폼 대응이 피곤해지고, 반대로 너무 최신 표준으로 가면 오래된 환경 지원이 깨질 수 있어요. C99는 그 사이에서 꽤 현실적인 타협점이에요.

  • 크로스 컴파일 개선도 이식성 때문에 중요해요. 게임을 만든 환경과 실행할 환경이 다를 수 있으니, 빌드 과정이 특정 운영체제나 로컬 도구에 강하게 묶이면 배포가 번거로워지거든요.

  • yacc·lex와 makedefs 처리 일부를 Lua 텍스트로 옮긴 것도 같은 흐름이에요. 빌드 시점에 필요한 전통적인 유닉스 도구 의존을 줄이고, 게임 실행 중 데이터를 로드해 처리하는 쪽으로 가면 플랫폼별 빌드 차이를 줄이기 쉬워져요.

오래된 C 코드베이스가 새 버전을 낼 때 진짜 흥미로운 건 기능보다 빌드 시스템과 데이터 처리 방식의 정리임. 넷핵 5.0.0은 게임 릴리스이면서 동시에 장수 오픈소스 프로젝트가 이식성과 유지보수성을 어떻게 챙기는지 보여주는 사례임.

댓글

댓글

댓글을 불러오는 중...

open-source

타리, 메인넷 보안 패치하고 브리지 재개…오픈소스 보상도 실제로 굴러감

프라이버시 중심 오픈소스 블록체인 타리(XTM)가 레이어1 보안 패치를 배포하고 중단됐던 브리지 서비스를 다시 열었음. Bulletproofs Plus 배치 검증 취약점, RPC 처리 공간 점유 문제, 피어 주소 필터링 오류 등을 고쳤고, 외부 개발자에게 6만 XTM 보상까지 지급하면서 오픈소스 메인넷 운영 모델을 보여줬음.

open-source

NIPA, 오픈소스 AI·SW 커뮤니티 15곳에 GPU·서버 지원 시작

정보통신산업진흥원이 국내 오픈소스 AI·SW 커뮤니티 15곳을 선정하고 지원을 시작함. 선정 커뮤니티에는 GPU·서버 자원, 협업 공간, 국내외 콘퍼런스·세미나 참여 기회가 제공된다.

open-source

NIPA, 오픈소스 AI·SW 커뮤니티 15곳 지원 시작

정보통신산업진흥원이 국내 오픈소스 AI·소프트웨어 커뮤니티 15곳을 선정해 활동 지원을 시작했다. 해외 콘퍼런스 참여, 클라우드 GPU·서버 자원, 협업 공간을 제공해 국내 개발자들이 글로벌 오픈소스 생태계에 더 적극적으로 들어가게 하려는 사업이다.

open-source

오픈소스 서밋 코리아, 8월 서울에서 68개 세션으로 열린다

리눅스재단이 8월 11일부터 12일까지 서울 그랜드 인터컨티넨탈 파르나스에서 열리는 오픈소스 서밋 코리아의 주요 프로그램을 추가 공개했다. 리눅스 커널, 클라우드 인프라, AI 플랫폼, 임베디드 시스템, 소프트웨어 공급망 보안, OSPO 운영까지 실무 중심 세션 68개가 준비된다.

open-source

지씨씨, 대규모 언어 모델이 만든 ‘법적으로 의미 있는’ 기여는 받지 않기로 함

지씨씨 운영위원회가 인공지능 기여 정책을 승인하며, 대규모 언어 모델이 생성했거나 그 결과물에서 파생된 법적으로 의미 있는 기여를 거절하기로 했음. 기준은 지엔유 프로젝트 메인테이너 가이드의 저작권 기준을 따르며, 대략 코드나 텍스트 15줄 안팎부터 의미 있는 기여로 봄.