본문으로 건너뛰기
0
r/jeffnews HN 약 4분

CRT 모니터의 마법을 되살리기 위해 게임 엔진을 직접 만든 이야기

general

요약

Unreal/Unity 10년차 개발자가 $35 CRT 모니터를 사고 난 뒤, 기존 엔진의 포스트프로세싱 한계를 깨닫고 CRT 물리 시뮬레이션을 위한 자체 게임 엔진(Retro Game Engine)을 D3D12로 만든 이야기.

기사 전체 정리

CRT 모니터의 마법을 되살리기 위해 게임 엔진을 직접 만든 이야기

$35짜리 CRT에서 시작된 집착

  • 저자는 Unreal과 Unity를 10년 가까이 사용한 3D 아티스트 출신 개발자임. CRT 필터나 포스트프로세스 머터리얼을 만들어봤고, 기억 속 어린 시절과 비교하면 "괜찮네" 수준이었음

  • 전환점은 1998년산 Sharp CRT를 $35에 사와서 SNES를 꽂은 날. 모션이 프로즌 프레임의 빠른 재생이 아니라 자연스럽게 흘렀고, 밝은 물체가 진짜 유리 아래의 물리적 빛처럼 행동했고, 픽셀이 현대 디스플레이가 훈련시킨 "픽셀"과 다른 뭔가였음

  • 어린 시절 추억이 없는 오래된 콘솔 게임을 해봐도 같은 마법이 느껴졌음. "우리가 잃어버린 건 해상도나 충실도가 아니라, 하드웨어와 아트 디렉션과 플레이어 사이의 관계 전체였다"

왜 기존 엔진으로는 안 되는가

  • 현대 게임 엔진의 렌더링 모델: 가상 카메라 → 3D 월드 촬영 → 프레임버퍼 → 포스트프로세싱 → 출력. Unity는 포스트프로세싱을 카메라/필름 속성으로 설명하고, Unreal도 톤매핑과 TAA 이후의 최종 LDR 컬러에서 작업함

  • CRT는 카메라가 아님. 물리적 프로세스의 결과로 이미지를 생성하는 디바이스임:

    • 전자빔이 화면을 시간에 걸쳐 스캔함
    • 형광체가 빔에 의해 여기(excite)되어 빛을 방출
    • 형광체가 시간에 따라 흥분을 잃으면서 감쇠(decay)
    • 마스크 기하(섀도 마스크, 애퍼처 그릴 등)가 빛의 착지와 혼합에 영향
    • 프레임이 단일 순간이 아니라 시간에 걸친 통합의 결과
  • 이 근본적인 차이 때문에 기존 엔진에 볼트온 하려고 하면 한계에 부딪힘. Unreal의 포스트프로세싱은 톤매핑 이후라서 파이프라인 초반에 개입하기 어렵고, 스왑 체인은 엔진이 추상화해놓아서 건드릴 수가 없음

자기 엔진을 만드는 이점

  • Retro Game Engine은 D3D12 + Win32 프로토타입에서 시작해서 풀 파이프라인으로 성장함. CRT "효과"가 아니라 CRT의 물리적 동작 각 부분을 연구하고 구현한 디스플레이 시뮬레이션

  • 입력 신호가 뭔지, 디스플레이가 그걸 어떻게 처리하는지, 시간이 어떻게 영향을 주는지, 뭘 언제 출력하는지를 전부 소유함. 스왑 체인의 버퍼 수명, 프레젠트 타이밍, 프레임 간 보존되는 것과 시간에 걸쳐 누적되는 것을 직접 제어할 수 있음

  • "예전 게임은 플레이어의 상상력과 협업해야 했음. 대담한 실루엣, 강렬한 컬러, 노이즈는 적고 정체성은 높은 세계. '제한의 부재가 예술의 적이다'라는 격언이 시간이 지날수록 더 맞는 것 같다"

  • Unreal이나 Unity를 대체하려는 게 아님. 필립스 드라이버처럼 한 가지만 잘하는 도구. 정확성과 리얼리즘을 쫓는 대신 제한을 의도적으로 받아들이는 게임을 만들 수 있는 도구를 목표로 함

핵심 포인트

  • CRT는 카메라 모델이 아니라 전자빔+형광체의 물리적 디스플레이 시뮬레이션
  • 기존 엔진은 톤매핑/TAA 이후의 최종 LDR에서 포스트프로세싱하므로 CRT 동작 재현에 한계
  • 스왑 체인 제어가 CRT의 시간적 에너지 축적 시뮬레이션에 핵심
  • Unreal/Unity 대체가 아니라 필립스 드라이버처럼 한 가지를 잘하는 도구 목표

인사이트

CRT 필터와 CRT 시뮬레이션의 근본적 차이를 기술적으로 설명하는 부분이 인상적. '제한이 예술의 적'이라는 철학과 기술적 구현이 만나는 지점.

댓글

댓글

댓글을 불러오는 중...

general

버티컬 SaaS 만들려고 해충방제 기사 취직했던 썰.txt

SaaS 창업 아이디어 검증하려고 실제로 해충방제 업체에 취직해버린 미친 사람 등장. 13일 만에 자격증 따고 21일 만에 $30k ARR 클로징하는 레전드 행보. 결국 직접 회사 인수해서 처음부터 만들겠다는 결론.

general

Apple, 버그 안 고치고 '확인해봐' 요청 후 닫아버리는 거 실화?

개발자가 3년 전에 신고한 버그를 Apple이 묵묵부답으로 방치하다가, 갑자기 베타 버전에서 '버그 고쳐졌는지 확인해줘'라고 요청함. 근데 실제론 안 고쳤고, 확인 안 하면 그냥 닫겠다고 협박한 레전드 상황. Hacker News 터지고 나서야 Apple이 반응했는데 그것도 별 쓸모없는 sysdiagnose 요청임 ㅋㅋ

general

미국의 이란 전쟁, 왜 처음부터 망한 도박이었나 - 군사사학자 분석

군사사학자 브렛 데버로우가 미국의 이란 전쟁을 전략적 관점에서 분석했는데 결론은 '개망한 도박'임. 초기 정권붕괴 시나리오는 실패했고, 호르무즈 해협이 사실상 봉쇄되면서 미국은 진퇴양난에 빠진 상황. 전술적으론 이기고 있지만 전략적으론 얻은 게 없다는 게 핵심 주장임.

general

충돌 사고 테슬라 부품으로 내 책상 위에 Model 3 컴퓨터 올려놓기 ㄷㄷ

테슬라 버그바운티 참여하려고 eBay에서 사고 차량 부품 긁어모아서 Model 3 MCU+터치스크린을 책상 위에서 부팅시키는 데 성공한 개발자 이야기임. 케이블 하나 구하려다 PCB 태워먹고, 수리하고, 결국 차량 전체 배선 하네스까지 구매하는 험난한 여정 ㅋㅋ

general

AI 코딩 에이전트 때문에 소프트웨어가 개판 됐는데 아무도 모름

코딩 에이전트 등장 1년 만에 소프트웨어 품질이 심각하게 떨어지고 있다는 경고. 에이전트한테 다 맡기다 보니 코드베이스가 감당 안 되는 복잡성 덩어리로 변해가는 중. 필자는 '속도 좀 줄이고 인간이 다시 주도권 잡아야 함'이라고 주장함.