Devember 2022 - Bad Apple in a Minecraft Book

Just yesterday I came across this video: Bad Apple!! played on Minecraft sheep [original] - YouTube

At first I did not quite get what was going on until I realized they were using the minecraft sheep as pixels on a display.
In that moment I discovered a rabbit hole that started its formation over a decade ago. I had no idea what touhou was (and still don’t really) but I was floored by some of the amazing stuff I saw.

For those like me who had no idea what the music video being played on the sheep was, here it is: 【東方】Bad Apple!! PV【影絵】 - YouTube
This video turns out to be very nice for demos because it only has 2 colours: white and black.
This makes it ideal for displaying it in unexpected places like factorio (one of my favourite games), desmos, minecraft bookshelves, mechanical switches, the advent of code day 10 simulation (wow that happened really quick) , as a slice of a volume, as a fourier series!!, hand drawn risc-v cpu :exploding_head:, minesweeper, and more like atari systems, gameboy, and oscilliscopes… It never ends

I’m not sure if it’s been done before but I figure I might as well try it, and make a flipbook in minecraft for this apparently famous music video.

With that, I will set a few milestones (I have not decided which order I want to complete these in yet):

[:white_check_mark:] generate a book and flip through it with an autoclicker (probably xdotool)
- the book will probably have to be loaded as a datapack/mcfunction for the 6000+ pages/frames needed
- there likely is an existing tool to do this, but I want to make my own. If I find an existing tool I can use it as a proof of concept for this milestone
[] write an mcfunction to automatically flip through the book
[] write my own program (probably rust, maybe python if it gets too complicated) to convert video frames to pages in a minecraft book
- can probably use ffmpeg to convert frames to pictures, then some other program (opencv?) to convert the pictures to text
- ideally, make get this program to interface with ffmpeg and do all that automatically
[] bonus: generate a music disc or note block thing to play the music at the same time as the video plays

3 Likes

my favorite is on SNES
base hardware

SD2SNES

Hey, I’m not much of a TouHou/Bad Apple fan, but when you mentioned this:

It reminded me of this talk from a few years ago:

It’s specifically tailored towards rendering to a DOS terminal, but I think there’s enough ideas in here for you to apply to minecraft books as well.

The main takeaway is to weight out how well different characters represent a given block of pixels, and then build that into a look-up table.
Just like with dithering, there’s also a trade off between color vs. shape reproduction.

Good luck! I look forward to seeing what you come up with, and how you work around the limited page size.

1 Like

alright, this is looking promising. I have a proof of concept. This is using someone else’s program, and their idea to use braille utf-8 characters is interesting. I’ll try that in my own implementation, maybe even see if it’s possible to make the parts that are supposed to be white blank as well

1 Like

managed to find the inspiration to continue this, Mostly just defining what colours are available according to this page: Formatting codes – Minecraft Wiki and then also minimizing the l2 norm between an arbitrary RGB value and the nearest minecraft colour: GitHub - Arunscape/minecraft-flipbook

2 Likes

i like the task manager version: