Minecraft Java Edition 26.3 Snapshot 4가 SDL3로 전환
Minecraft Java Edition 26.3 스냅샷 4, SDL3 로 전환
TL;DR – 무엇이 바뀌었고 왜 중요한가
Minecraft Java Edition의 26.3 Snapshot 4는 오랫동안 사용돼 온 GLFW 백엔드를 창 관리, 입력 처리 및 플랫폼 통합을 위해 SDL3으로 교체합니다. 이번 전환으로 엔진의 저수준 코드가 현대화되고, 크로스‑플랫폼 일관성이 향상되며, 물리키 스캔코드와 같은 새로운 입력 기능이 제공됩니다. 동시에 대규모 데이터‑팩, 전리품‑테이블, 월드‑생성 업데이트가 포함됩니다.
1. SDL3가 GLFW를 대체 – 기술적 영향
즉각적인 결과
- 창 및 입력: 모든 창 생성, 전체 화면 처리, 마우스/키보드 입력이 이제 GLFW 대신 SDL3을 통해 이루어집니다. 키보드 처리는 물리키 위치를 위한 SDL 스캔코드와 레이아웃에 따라 달라지는 단축키를 위한 SDL 키코드를 사용합니다.
- 전체 화면 동작: 테두리 없는 전체 화면이 기본값이 되며, 테두리 없는 모드와 전용 모드 간 전환에 재시작이 필요하지 않습니다. 전용 전체 화면은 여전히 실험 단계이며, 다중 모니터가 연결된 Windows와 Wayland에서 충돌이 발생합니다.
- 플랫폼 통합: Linux는 사용 가능한 경우 기본적으로 네이티브 Wayland를 선호합니다; macOS 전용 전체 화면 지원은 삭제되었습니다.
왜 SDL3인가?
Hacker News의 댓글에 따르면, SDL3용 LWJGL 바인딩은 GTNH 모드팩 개발자가 기여했으며, "바닐라 → 모드 → 바닐라" 사이클을 완성했다고 합니다. SDL3의 API는 깔끔한 설계로 호평받고 있으며, 다른 게임(예: osu!)도 SDL2에서 SDL3로 전환 후 레이턴시 감소를 보고했습니다. Mojang의 정확한 이유는 공개되지 않았지만, 커뮤니티는 SDL3가 오래된 GLFW 코드베이스보다 더 현대적이고 활발히 유지 관리되는 기반을 제공한다고 consensus합니다.
"SDL은 언제나 훌륭한 API 설계를 가지고 있었지만, SDL3에서는… Goddamnn!" – hackernews 댓글
2. 새로운 게임플레이 기능 및 UI 조정
게임플레이 추가 사항
- 관전자 포털 – 관전자 모드 플레이어가 포털과 상호작용해 텔레포트할 수 있습니다.
- 맞춤형 용광로 연료 – 새로운
minecraft:cooking_fuel및minecraft:brewing_fuel컴포넌트를 통해 데이터 팩이 커스텀 연소 시간과 속도 배율을 정의할 수 있습니다. - 표지판 텍스트 컴포넌트 –
minecraft:sign_text_front와minecraft:sign_text_back이 아이템 툴팁에 표지판 텍스트를 저장합니다; 클릭 이벤트는 기본적으로 비활성화되며,allow_op_features플래그를 통해 레거시 동작을 복원할 수 있습니다. - 주민 음식 –
minecraft:villager_food컴포넌트가 주민이 먹을 수 있는 아이템의 영양 값을 정의합니다.
UI 변경 사항
- Raw Input 마우스 설정이 제거되었습니다; 마우스는 항상 상대 모드를 사용합니다.
- 키 바인딩이 물리키를 기준으로 하여 레이아웃‑특정 매핑 버그가 수정되었습니다.
- 최소 창 크기가 이제 320 × 240 px 로 설정되었습니다.
- 디버그 오버레이에 독립적인 GUI 스케일, 플레이어 속도 표시, 화면 주사율 표시가 추가되었습니다.
- 창의적 인벤토리 정렬이 재구성되어 비‑티어 광물을 먼저, 그 다음 티어 아이템이 표시됩니다.
3. 데이터‑팩, 전리품‑테이블 및 프레디케이트 전면 개편
버전 상승
- 데이터 팩 버전 → 111.0
- 리소스 팩 버전 → 92.0
레지스트리‑인식 전리품 테이블
- 전리품‑테이블 타입이 이제 레지스트리 요소와 태그 참조를 받아들여, 대부분의 필드에 인라인 값, 네임스페이스 ID 또는 해시‑접두사 태그를 사용할 수 있습니다.
- 프레디케이트, 아이템 수정자, 슬롯 소스에 대한 오래된 참조 타입이 제거되었습니다.
프레디케이트 및 숫자‑제공자 확장
minecraft:block/fast_cooking및minecraft:match_block같은 새로운 바닐라 프레디케이트가 기존block_state_property타입을 대체합니다.- 숫자 제공자는 이제 명시적인
type필드를 요구하며,minecraft:cooking/time_coal,minecraft:brewing/speed_default등 많은 새로운 제공자가 커스텀 연료의 연소 시간 및 속도 데이터를 노출합니다.
4. 월드‑생성 및 밀도‑함수 세부 조정
- 환경 속성이 바이옴의 스포너 및 스폰‑코스트 필드를 대체하여 몹 스폰 구성을 중앙화합니다.
nether_forest_vegetation,twisting_vines,weeping_vines피처 타입이 삭제되었습니다.- 수중수원 및 광맥을 위한 노이즈‑라우터 필드가 전용
aquifers와ore_veins객체로 재구성되었으며, 배치 로직을 위한 명시적인 밀도 함수가 제공됩니다. - 새로운 밀도‑함수 연산자(
sub,div,negate,lerp,floor,ceil,round,truncate,beardifier)가 지형 형성 도구 상자를 확장합니다.
5. 알려진 문제 및 안정성 참고사항
- 전용 전체 화면 충돌 – Windows(특히 다중 모니터 환경)와 Wayland에서 전용 전체 화면으로 전환 시 충돌이 발생할 수 있습니다.
- macOS 전용 전체 화면 – 더 이상 지원되지 않습니다.
- 최소 창 크기 – 게임이 이제 320 × 240 픽셀 최소 크기를 강제하여, 창이 0 크기로 축소되는 버그를 수정했습니다.
커뮤니티는 이러한 버그가 다음 정식 릴리즈 전에 해결될 것으로 기대하고 있으며, 여러 댓글에서 이를 “차단” 문제로 표시했습니다.
6. Hacker News에서의 커뮤니티 반응
- SDL3 채택 – 다른 타이틀(osu!)이 최근 SDL3로 마이그레이션하면서 눈에 띄는 레이턴시 개선을 보였다는 의견이 있어 성능 동기가 추정됩니다.
- GLFW vs. SDL – 한 댓글은 이유에 대한 문서를 요청했고, 다른 댓글은 SDL3가 전체 소프트웨어 렌더러와 더 많은 기능을 제공하지만 Minecraft는 여전히 창/입력 서브셋만 사용할 것이라고 지적했습니다.
- 모딩 관점 – LWJGL‑SDL3 바인딩이 GTNH 모드팩 개발자에 의해 기여된 점은 바닐라와 모드 생태계 간의 오픈‑소스 협업을 강조합니다.
- 엔진‑같은 진화 – 한 댓글은 Minecraft가 단순 게임이 아니라 자체 게임 엔진으로 점점 더 변하고 있다고 관찰했습니다.
"Minecraft가 단순 게임이 아니라 자체 게임 엔진처럼 점점 더 발전하고 있다는 것이 정말 놀랍습니다." – Hacker News 사용자
7. 스냅샷 사용 방법
- Minecraft Launcher를 열고 Installations 탭에서 스냅샷을 활성화합니다.
- 공식 페이지에서 스냅샷(또는 크로스‑플랫폼 서버 jar)을 다운로드합니다.
- 테스트 전에 월드 백업을 반드시 수행하세요 – 스냅샷은 저장 파일을 손상시킬 수 있습니다.
8. 변경 사항 요약
- 백엔드 교체 – 창 및 입력을 위해 GLFW → SDL3.
- 데이터‑팩 버전 상승 – 111.0, 새로운 연료 컴포넌트와 표지판 텍스트 처리 포함.
- 전리품‑테이블, 프레디케이트, 숫자‑제공자 전면 개편 – 레지스트리 참조가 더 유연해짐.
- 월드‑생성 리팩터링 – 환경 속성, 새로운 밀도 함수, 재구성된 노이즈 설정.
- UI 및 게임플레이 조정 – 관전자 포털 상호작용, 키 바인딩 수정, 디버그 오버레이 향상.
- 알려진 버그 – Windows와 Wayland에서 전용 전체 화면 충돌; macOS 전용 전체 화면 제거.
이러한 변화는 보다 현대적이고 모듈화된 엔진 아키텍처의 기반을 마련하고, 데이터‑팩 제작자와 모드 개발자에게 새로운 가능성을 열어줍니다.