# 마인크래프트의 "Bad Apple"

> Clean Markdown view of GeekNews topic #17204. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17204](https://news.hada.io/topic?id=17204)
- GeekNews Markdown: [https://news.hada.io/topic/17204.md](https://news.hada.io/topic/17204.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-10-12T17:34:00+09:00
- Updated: 2024-10-12T17:34:00+09:00
- Original source: [purplesyringa.moe](https://purplesyringa.moe/blog/we-built-the-best-bad-apple-in-minecraft/)
- Points: 2
- Comments: 1

## Topic Body

### 우리는 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!!을 구현한 사례들이 있음.

## Comments



### Comment 29984

- Author: neo
- Created: 2024-10-12T17:34:01+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41798369) 
- 컴퓨터 그래픽에 대해 기대 이상으로 많은 것을 배웠음. 저자에게 찬사를 보냄
  - 저자가 "태양"이라고 부른 그림은 실제로 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" 성과 달성: 시스템의 제약 내에서 개별 문제를 해결하여 큰 아이디어를 실현하는 능력임
