LUMENFALL: C++/OpenGL로 밑바닥부터 만든 복셀 월드 엔진 (Fable 및 Opus 활용)
LUMENFALL, a voxel world on an engine I wrote from scratch in C++/OpenGL, built with Fable and some Opus
핵심 요약
AI(Claude)를 활용해 C++/OpenGL로 밑바닥부터 개발한 1MB 용량의 복셀 엔진 게임 소개.
- AI 기반 개발 — Claude와 Fable을 활용해 셰이더와 렌더러 아키텍처를 구축함.
- 절차적 생성 — 외부 에셋 없이 코드만으로 지형, 생태계, 생명체를 생성함.
- 최적화된 엔진 — 1MB 미만의 용량으로 450개 청크를 렌더링하는 C++/OpenGL 엔진.
- 보안 논란 — 소스 코드 없이 실행 파일만 배포되어 사용자의 경계심을 유발함.
일단 솔직하게 까놓고 말할게. 이 갤러리 성격상 이게 제일 궁금할 테니까. 이거 내가 짠 코드 거의 없어. Claude(Opus)랑 Fable이 사실상 코딩 다 했음. 내 역할은 그냥 손가락질하면서 "여기 그림자 깜빡거리는데?", "이거 이상해", "다음엔 X 해봐", "이건 좀 별로니까 다시 해"라고 지시하고, 테스트하고, 결정 내리는 거였어. 프로그래머라기보단 디렉터 겸 QA에 가까웠지.
이놈들이 만든 건 바닥부터 새로 짠 복셀 엔진이야. 유니티? 언리얼? 라이브러리? 그런 거 하나도 안 썼어. 그냥 C++이랑 순수 OpenGL로만 박았음. 기능은 이래:
• 코드로 거대한 절차적 월드를 생성함. 지형, 생태계, 동굴, 성, 마을, 생명체까지 다 포함이야. 에셋 파일이 아예 없어서 게임 전체 용량이 1MB 정도밖에 안 돼. 미리 만들어진 아트가 아니라 전부 코드야. 픽셀 하나하나가 모델들이 짠 셰이더로 그려지는 거지.
• 현대적인 그래픽 스택을 하나하나 직접 쌓아서 렌더링함. 비행 가능한 레이마칭 볼류메트릭 구름, PCSS(soft contact-hardening)가 적용된 캐스케이드 섀도우 맵, 스크린 스페이스 물 반사 및 굴절, TAA, SSAO, 갓 레이, 그리고 볼류메트릭 하늘이 포함된 다이내믹 낮/밤 주기까지 구현했어.
• LOD(Level-of-Detail)를 써서 청크를 스트리밍해. 지평선까지 약 450개 청크를 그리면서도 메모리 관리를 다 함. 멀티스레드 생성 및 메싱 덕분에 RX 7900 XT에서 아주 부드럽게 돌아가.
진짜 놀라운 건 렌더러 아키텍처나 셰이더 수학, 며칠씩 잡아먹던 GPU 드라이버 버그 같은 진짜 어려운 부분들을 내가 증상만 명확하게 설명하면 모델들이 알아서 해결했다는 거야. 결국 내 가치는 뭐가 '잘 만든 건지', 어디가 '고장 났는지'를 아는 데서 나왔던 거지.
직접 해볼 수 있어: https://github.com/vengeful180-dot/LumenFall/releases/tag/v0.22 작업 방식이나 모델들이 엔진 레벨 코드를 어떻게 다뤘는지, 어디서 헤맸는지 궁금하면 다 물어봐.
사람들이 항상 물어보는 거 두 가지:
• 용량이 왜 이렇게 작냐(몇 MB 수준)고? 이게 껍데기가 아니라 진짜야. 게임 전체가 외부 라이브러리 하나 없는 커스텀 C++/OpenGL 엔진이고, 텍스처, 생태계, 생명체, 월드 전부 코드로 절차적 생성한 거거든. 따로 딸려오는 에셋 파일이 없으니까 작은 .exe 파일 하나에 다 들어가는 거야.
• 단일 실행 파일(.exe)이야. 설치도 필요 없고, 의존성도 없고, 텔레메트리도 없어. 불안하면 검사 돌려봐도 됨. 코드 서명이 안 되어 있어서(소규모 인디 빌드에선 흔한 일임) 윈도우에서 SmartScreen 경고 뜰 수 있는데, 그냥 '추가 정보' 누르고 '실행' 누르면 돼.



