← 변경 내역
일일2026-06-20

전체 이중 언어 UI + 완전한 개발자 도구 패널

오늘은 철저한 국제화가 이루어졌습니다. 전체 스튜디오 인터페이스가 이중 언어로 바뀌고, 한 번의 클릭으로 전환이 가능하며, 여러 창에서 실시간으로 동기화되고, 편집기도 완전히 이중 언어가 됩니다. 콘솔/네트워크/로그 개발 도구 패널이 빈 쉘에서 실제 기능으로 바뀌었습니다. UI 스택, 양식 대비 및 접근성 제목이 정리되었습니다. 엔진의 며칠 동안 지속되는 방향성 그림자 버그가 마침내 수정되었습니다. 게임 로직에 선언적 시스템 스케줄링이 추가되었습니다. 엔진 리소스는 규율 있는 수명 주기와 결함 격리 기능을 갖추고 있습니다.

세상을 마주하고, 디버깅을 마주하다

이날은 두 가지 방향을 마주했다. 하나는 외부입니다. 전체 인터페이스를 완전히 이중 언어화하여 더 이상 중국 사용자에게만 서비스를 제공하는 것이 아니라 전 세계를 대상으로 할 수 있도록 합니다. 이는 제품이 더 많은 고객에게 다가가는 데 필요한 단계입니다. 다른 하나는 자신의 게임을 디버깅하는 제작자가 콘솔 출력, 네트워크 요청 및 런타임 로그를 명확하게 볼 수 있도록 개발 도구를 완성하는 것입니다. 즉, "현재 수행 중인 작업을 볼 수 있다는 확신"을 갖게 됩니다. 외부와 내부는 서로 관련이 없는 것처럼 보이지만 핵심은 동일합니다. 둘 다 "볼 수 없음/이해할 수 없음"의 장벽을 제거합니다. 언어 장벽은 인터페이스를 벽으로 만듭니다. 디버깅할 수 있는 방법이 없으면 문제가 불명확해집니다. 이날은 두 종류의 장벽을 한꺼번에 무너뜨린 날이다. 한편, 엔진은 며칠 동안 지속되는 섀도우 문제를 근본적으로 해결하고 게임 로직을 예약하는 보다 질서 있는 방법을 추가했으며 자체 리소스 관리에 대해 보다 엄격한 규칙을 설정했습니다. 바깥쪽으로 더 쉽게 닿을 수 있고, 안쪽으로 더 투명하며, 아래쪽은 더 견고합니다. 이것이 오늘의 세 가지 측면입니다.

한 번의 클릭으로 전체 인터페이스를 영어와 중국어 간에 전환하세요

이날은 국제화를 철저하게, 정중하게 했습니다. 첫 번째 단계는 가벼운 다국어 코어였습니다. 기본 소스인 영어(모든 사본은 영어로 권위 있음), 오버레이로서의 중국어(있는 경우 영어 대체), 언제든지 전환 가능합니다. 2단계에서는 상단 표시줄, 대시보드, 채팅 패널, 설정 창, 사이드바, 다양한 전환기, 수십 개의 패널 및 구성 요소 등 하나도 빠짐없이 파일 단위로 전체 인터페이스를 이 시스템 파일로 일괄 마이그레이션했습니다. 한 번에 모두가 아닌 "파일별로 파일"을 사용하는 이유는 무엇입니까? 하드코딩된 사본은 인터페이스의 수백 또는 수천 지점에 분산되어 있고 각 지점을 통과하는 것만으로도 아무것도 놓치지 않기 때문입니다. 마이그레이션 후 인터페이스는 기본적으로 영어로 설정되고 시스템 언어를 자동으로 따르며 사려 깊은 세부 정보를 얻습니다. 실시간 창 간 동기화 — 한 창에서 언어를 중국어로 전환하면 열려 있는 다른 창이 즉시 따라오고 각 창을 전환할 필요가 없습니다. 편집자는 전체 이중 언어화도 완료하고 런타임 검증을 통과했습니다. 전 세계 창작자들이 사용하고 싶은 플랫폼이라면 먼저 언어의 벽을 허물어야 하는데, 오늘 그 벽이 완전히 허물어졌습니다.

Devtools 패널 완료: 콘솔 + 네트워크 + 온디스크 로그

이전에 devtools 영역에는 비어 있거나 클릭할 수 없는 자리 표시자 패널이 있었습니다. 오늘은 그것들을 단번에 실제 기능으로 완성했습니다. 콘솔 패널은 게임과 편집기의 전체 출력 스트림을 연결했습니다. 게임에서 인쇄하는 모든 로그와 발생하는 모든 오류가 이제 여기에서 실시간으로 흐릅니다. 네트워크 패널은 죽은 자리 표시자에서 실제 패널로 바뀌어 플레이 테스트를 거친 게임에서 발생하는 다양한 네트워크 요청(일반 요청, 비동기 요청 및 장기 연결 모두 표시)을 캡처합니다. 또한 콘솔, 네트워크 및 정보 스트림은 패널에만 표시되는 것이 아니라 나중에 검토할 수 있도록 로컬 로그 파일에 미러링됩니다. 실시간으로 문제를 포착할 필요가 없습니다. 나중에 로그에서 재생할 수 있습니다. 두 곳에 동일한 내용이 표시되는 혼란을 피하기 위해 모니터링 보기와 중복되는 탭을 제거했습니다. 의미: 디버깅은 생성에서 피할 수 없는 부분이며, 디버깅의 전제 조건은 "볼 수 있는 것"입니다. 게임이 잘못 작동할 때 전체 콘솔 오류와 네트워크 트래픽을 패널에서 직접 확인하면 디버깅이 "느낌으로 추측"에서 "증거에 대한 확인"으로 전환됩니다.

UI 개선: 스태킹, 대비, 접근성

이 큰 변화를 기회로 삼아 오랫동안 지속되어 온 몇 가지 UI 문제가 함께 해결되었습니다. 하나는 스택 순서입니다. 이전에는 일부 대화 상자, 드롭다운 및 언어 선택기가 상단 표시줄을 잘못 덮거나 대화 상자 아래에 숨겨졌는데, 오늘은 레이어 순서를 명확하게 다시 지정하여 맨 위에 있어야 하는 항목이 맨 위에 단단히 유지되도록 했습니다. 두 번째는 양식 제어 대비입니다. 이전에는 스타일이 연결되지 않아 어두운 배경에서 거의 읽을 수 없었기 때문에 특정 기본 입력 상자와 버튼에 브라우저의 기본 검정색 텍스트가 표시되었습니다. 오늘은 그들에게 읽기 쉬운 테마 색상을 제공했습니다. 세 번째는 접근성입니다. 프롬프트 대화 상자는 표준에서 요구하는 제목을 가져서 접근성 오류를 제거하고 보조 판독기를 사용하는 사람들이 대화 상자 내용을 올바르게 이해할 수 있도록 해줍니다. 이들 각각은 대부분의 사람들이 특별히 알아차리지 못할 만큼 작습니다. 그러나 그들은 함께 인터페이스가 어디에서나 "정상"으로 느껴지는지 여부를 결정합니다. 어디서나 어색함이 거의 없는 인터페이스는 사용자의 인내심을 지속적으로 미묘하게 소모시킵니다. 하나씩 다듬어 보면 "모든 것이 사용하기 좋은 것 같다"는 확고한 감각을 얻게 됩니다.

방향성 그림자 고정 + 선언적 시스템 스케줄링

엔진은 며칠 동안 지속되었던 문제인 방향광 그림자 문제를 근본적으로 해결했습니다. 지난 며칠 동안 샘플 게임을 구축하는 동안 그림자가 안정적으로 드리워지도록 "그림자의 캐스케이드 수를 4에서 1로 변경"하는 임시방편 외에는 선택의 여지가 없었습니다. 이는 엔진의 실제 질병으로 인해 증상을 피할 뿐이었습니다. 오늘 문제가 완전히 해결되었습니다. 특정 구성에서 계단식 그림자가 실패하는 근본 원인과 단일 수준의 정렬 불량이 함께 해결되었습니다. 업스트림 안정을 사용하면 모든 다운스트림 게임의 방향성 그림자가 제대로 작동하므로 더 이상 증상만 해결하는 방법은 없습니다. 같은 날, 게임 로직은 선언적 시스템 스케줄링이라는 귀중한 기능을 얻었습니다. 게임은 많은 "시스템"(이동, 충돌, AI와 같이 각각 하나의 영역을 관리하는 논리 모듈)으로 구성되며, 실행 시간과 순서는 수동으로 정렬되었습니다. 이제 조건, 레이블, 현재 상태에 따라 선언적으로 예약할 수 있습니다. "이 시스템 세트는 전투 상태에서만 실행", "이 시스템을 하나의 레이블 아래에 함께 예약"할 수 있습니다. 이는 복잡한 게임 동작 로직을 작성하기 더 질서 있게 만들고 혼란을 덜 일으키게 만듭니다. 그 아래에는 보다 원활한 그래픽 디버깅을 위해 오류 격리(낮은 수준의 충돌을 자동 재시도를 통해 복구 가능한 오류로 전환)와 오프라인 렌더 프레임 뷰어가 추가되었습니다.

엔진은 리소스를 관리합니다. 완료되면 회수하고, 깨졌을 때 충돌하지 않습니다.

또한 엔진은 오늘날 장기 실행 프로그램이 가장 문제가 발생하기 쉬운 "리소스 관리"에 실제 작업을 수행합니다. 한 부분은 GPU 및 오디오 리소스의 수명주기입니다. 더 이상 어떤 것으로도 참조되지 않는 모든 비디오 메모리 덩어리와 모든 사운드 채널은 조용히 쌓이는 것이 아니라 제 시간에 정확하게 식별되고 회수될 수 있습니다. 오늘은 특별히 "더 이상 참조되지 않는 리소스 릴리스" 메커니즘을 구축하고 장기간 실행되는 스트레스 테스트를 통해 실제로 팽창하는 대신 안정적이고 제한된 사용 수준을 유지하는 것으로 확인되었습니다. 다른 부분은 오류 격리입니다. 심각한 하위 수준 오류가 발생하면 엔진은 전체 충돌이 발생하는 대신 이를 적절하게 처리 가능한 오류로 전환하고 필요할 때 다시 시도할 수 있습니다. 둘 다 사용자가 아직 보지 못한 내부 작업으로 "장시간 안정적으로 실행할 수 있는지 여부"를 직접 결정합니다. 게임은 몇 시간 동안 계속 실행되면서 지속적으로 리소스를 생성하고 파괴할 수 있습니다. "완료되면 반환하고, 깨졌을 때 견딜 수 있는" 솔리드를 만드는 것만으로 긴 플레이가 더 느려지거나 설명할 수 없는 충돌을 방지할 수 있습니다.

오늘의 의미

오늘의 키워드는 '장벽 해소'입니다. 이중 언어화는 언어 장벽을 제거하여 플랫폼에 처음으로 전 세계 청중을 만날 수 있는 기본 조건을 제공합니다. 도구의 범위는 먼저 얼마나 많은 사람들이 그것을 이해하고 사용할 수 있는지에 달려 있습니다. 개발자 도구를 완성하면 디버깅 장벽이 해소되어 제작자가 문제가 발생할 때 블랙박스 때문에 초조해하는 대신 진실을 볼 수 있습니다. 엔진 섀도우를 수정하면 '증상 치료'에서 '근본 치료'까지의 장벽이 사라지고, 해결만 가능했던 반복적인 질병을 근원적으로 해결하게 됩니다. 그리고 선언적 일정 관리 및 리소스 관리는 더 복잡하고 오래 실행되는 게임의 가능성에 대한 장벽을 제거합니다. 이러한 장벽을 하나씩 허물면 플랫폼의 도달 가능성이 높아지고 투명해지며 신뢰성이 높아집니다. 진정으로 널리 사용되고 장기적으로 신뢰할 수 있기를 원하는 도구는 종종 다음과 같은 단순한 작업을 수행합니다. 지속적으로 장벽을 찾아 진지하게 허무는 것입니다.

← 모든 일일 업데이트