GN⁺: 마인크래프트의 "Bad Apple"
(purplesyringa.moe)우리는 Minecraft에서 최고의 "Bad Apple!!"을 만들었음
-
데모씬과 Bad Apple!!
- 데모씬은 컴퓨터가 설계되지 않은 작업을 수행하도록 하는 예술임.
- "Bad Apple!!"은 그림자 예술 애니메이션으로, 다양한 플랫폼에서 재생되었음.
- Minecraft에서 Bad Apple!!을 구현하는 프로젝트를 진행했음.
-
프로젝트의 배경
- 이 프로젝트는 많은 창의성과 기술이 필요했음.
- Yuki, Mia, Kira 등 여러 사람의 도움을 받았음.
- Minecraft의 엔진은 느리기 때문에 20 fps로 비디오를 재생하는 것이 어려웠음.
-
데이터 저장 방법
- Minecraft에서 원시 프레임을 저장하는 방법을 찾는 것이 가장 큰 도전이었음.
- 호퍼 라인, 패킹된 바이너리, 리피터 라인 등 다양한 방법을 시도했음.
- 최종적으로 구조 블록을 사용하여 데이터를 저장했음.
-
애니메이션 구현
- 구조 블록을 사용하여 애니메이션을 구현했음.
- 구조 블록은 Ctrl-C/Ctrl-V처럼 작동하며, 블록을 메모리에 저장하고 다른 위치에 로드할 수 있음.
- 구조 블록을 사용하여 20 fps로 애니메이션을 구현했음.
-
최적화 및 문제 해결
- Minecraft의 렌더링 엔진은 느리기 때문에 최적화가 필요했음.
- 델타 코딩을 사용하여 프레임 간의 차이만 업데이트하여 성능을 개선했음.
- 블록 상태를 활용하여 더 많은 색상과 최적화된 블록을 사용할 수 있었음.
-
오디오 및 기타 기능
- 음악 디스크를 사용하여 Bad Apple!!의 음악을 재생했음.
- 구조 블록을 사용하여 무선 레드스톤과 같은 기능을 구현했음.
-
프레임 준비
- 비디오를 6가지 색상으로 변환하고 30 fps를 20 fps로 변환하는 작업을 수행했음.
- 디더링 기법을 사용하여 고품질의 이미지를 생성했음.
GN⁺의 정리
- 이 프로젝트는 Minecraft의 한계를 극복하고 창의적인 방법으로 Bad Apple!!을 구현한 사례임.
- 구조 블록과 같은 Minecraft의 기능을 활용하여 복잡한 애니메이션을 구현했음.
- 이 프로젝트는 개발자들에게 창의적인 문제 해결과 협업의 중요성을 상기시켜줌.
- 유사한 기능을 가진 다른 프로젝트로는 다양한 플랫폼에서 Bad Apple!!을 구현한 사례들이 있음.
Hacker News 의견
-
컴퓨터 그래픽에 대해 기대 이상으로 많은 것을 배웠음. 저자에게 찬사를 보냄
- 저자가 "태양"이라고 부른 그림은 실제로 Eirin이 달을 바라보는 장면임
- Eirin이 달을 향해 손을 뻗다가 망설이며 손을 거두는 장면이 있음
- 다음 장면에서 Kaguya도 달을 향해 손을 뻗지만 망설이지 않음
- Touhou 위키에 따르면 Eirin의 계획은 달을 훔치는 것이었음
-
해커 커뮤니티에서 드문 여성의 참여가 멋지다고 생각함
-
Safari 모바일 프라이빗 모드에서 YouTube 임베드가 로그인 요청을 함
- Firefox Focus로 전환하면 로그인 없이 비디오를 재생할 수 있음
-
Bad Apple이 그래픽 렌더링의 "Hello World"가 되는 이유를 잘 이해하지 못하지만 실시간으로 보는 것이 재미있음
- 고속 FPS 하이퍼미디어를 보여주는 Bad Apple 데모를 발견함
-
"Bad Apple on all the things!" 트렌드를 좋아함
- Genesis/Mega Drive에서 처음 봤을 때 약한 하드웨어에서 가능한 것에 놀랐음
- 저사양 장치에 포팅하는 사람들을 존경함
-
Mojang이 Redstone의 지연 문제를 개선했음
- Mojang은 커뮤니티의 비판을 많이 받음
- Minecraft는 15년 된 Java 코드베이스와 대규모 멀티플랫폼 C++ 앱을 동시에 유지해야 하는 어려움이 있음
- Mojang의 기술 전문성을 인정하고 Minecraft가 훌륭하다고 말하고 싶음
-
고등학교 이후로 Minecraft에 중독되지 않았지만 가끔 친구들과 플레이함
- Redstone의 변화가 놀라울 정도로 크다고 느낌
- 시간이 지나면서 기술이 얼마나 빠르게 변화하는지 감탄함
-
작업 결과가 거의 사소해 보이지만, 이를 달성하는 과정이 대단하다고 생각함
- Bad Apple을 20fps로 렌더링하는 데 성공함
- 커스텀 텍스처와 객체 정의만 변경하여 가능했음
-
비디오 구현에 많은 노력이 들어가는 것이 재미있다고 느낌
- Bad Apple 구현 후에는 피곤해서 ffmpeg로 처리하고 끝냄
-
"Get'r Done" 성과 달성: 시스템의 제약 내에서 개별 문제를 해결하여 큰 아이디어를 실현하는 능력임