
한국의 한 단체가 플로피 디스크를 기념하기 위해 1.44MB 용량 안에 리소스, 엔진, 라이브러리를 모두 담아야 하는 게임 개발 공모전을 열었다는 소식이 해외 커뮤니티에서 화제가 됐다. 과거 저장 매체였던 플로피 디스크의 물리적 한계를 게임 개발의 제약 조건으로 되살린 기획이라는 점이 관심을 끌었다.
해외 반응에서는 이 주제가 이른바 '사이즈 코딩'이나 데모씬 전통과 자연스럽게 연결됐다. 2004년작 96kb 3D 게임 .kkrieger나 QUOD 같은 초소형 FPS 사례, js1k 같은 스크립트 사이즈 코딩 대회 등이 함께 언급되며 이번 공모전이 완전히 새로운 시도라기보다는 오래된 개발 문화의 연장선에 있다는 인식이 나타났다.
동시에 1.44MB라는 용량이 이런 종류의 챌린지 기준으로는 오히려 넉넉한 편이라는 의견도 많았다. 절차적 생성 기술을 활용하면 이론적으로 3D RPG 같은 큰 규모의 게임도 그 안에 담을 수 있다는 논의가 이어졌다.
- 1.44MB가 사이즈 코딩 전통에 비춰보면 오히려 큰 용량이라는 반응이 많다.
- 과거 .kkrieger, QUOD, 파브라우쉬의 Werkkzeug 등 초소형 게임 개발 사례를 소환하며 향수를 드러내는 댓글이 다수다.
- 절차적 생성 기술이 용량 절감에 핵심적이지만 그만큼 에셋 및 코드 제작 난이도가 극도로 높아진다는 지적이 나온다.
- NES나 게임보이 카트리지 등 과거 하드웨어의 저장 용량과 비교하며 옛 개발 환경을 회고하는 댓글이 눈에 띈다.
- 일부는 변수명까지 절차적으로 생성하는 극단적 최적화 방식에 의문을 제기하며 단순 심볼 제거로 충분하지 않냐는 실용적 의견을 낸다.
원본: https://www.reddit.com/r/technology/comments/1uzucdl/korean_outfit_hosting_144mb_game_development/

누가 또 .kkrieger 같은 거 하나 던져주면 좋겠다 ㅋㅋ 진짜 이런 거 다시 하는 사람 나왔으면 좋겠음 https://en.wikipedia.org/wiki/.kkrieger
와 그래픽 미쳤다!!!!! 저거 엄청 압축된 게임 그런 건가?!
대부분 절차적 생성임.
저도 예전에 이런 거 만져본 적 있는데, 코드가 극도로 타이트하고 결과물은 놀랍지만 그 완벽함을 유지하려다 보면 머리가 아파오더라고요. 그래도 나름 뿌듯하긴 해요. 바이트 하나라도 더 줄이려고 변수 이름 자체도 절차적으로 생성하고, 거기에 절차적으로 생성된 리소스를 할당하기까지 했어요. 머리에 다 담아두지 않고 문서화를 놓치면 어느 순간부터 완전히 길을 잃게 돼요. 코드로 만든 미친 골드버그 장치 같은 느낌이었죠.
네, 이게 함정을 정말 잘 설명해주는 글이네요. 저도 거의 비슷한 경험 했었어요.
변수 이름을 왜 절차적으로 생성하나요? 바이너리를 가볍게 만드는 게 목표라면 그냥 심볼을 제거하면 될 것 같은데요.
스크립트 언어 쪽에도 사이즈 코딩 전통이 있어요. 예를 들면 js1k(https://js1k.com/) 같은 거요.
게임 자체는 압축을 풀어서 메모리는 더 쓸 수 있는데, 실행 파일은 그 크기 안에 들어가야 하거든요. 게다가 절차적 생성을 그렇게 많이 했다는 건 일종의 플렉스였던 것 같아요 🤣
예전에 인터넷이 게임 속 절차적 생성을 지금 AI 대하듯이 했던 거 기억나네. 절차적 생성이 아티스트의 비전을 파괴해서 게임을 죽일 거라고 떠들던 사람들 생각나.
이거 노맨즈스카이가 프록젠 대박이라고 사기치기(결국엔 게임이 명예회복하긴 했지만) 전이야 후야?
그런 것 같기도 하고 아닌 것 같기도. 지오메트리, 텍스처, 그리고 아마 코드 일부까지 절차적으로 생성되는 에셋이 꽤 많음. 실제 메모리에서 돌아가는 플레이 가능한 게임은 300MB 정도 될 걸.
https://www.youtube.com/watch?v=qht68vFaa1M 이 사람은 FPS를 훨씬 더 작은 용량으로 만드는 데 성공함. QUOD라는 이름으로. 그리고 그걸 위해 거의 전체 콘텐츠 툴링 파이프라인까지 만들었음. 이건 또 완전히 다른 의미로 대단함.
참고로 파브라우쉬(farbrausch)도 이런 식으로 개발했었습니다(했었다고 해야 하나), Werkkzeug라는 툴을 썼는데 독일어로 '도구'라는 뜻이죠. 옛날 버전은 여기서 구할 수 있습니다: https://github.com/farbrausch/fr_public