[HN Gopher] "Bad Apple" in Minecraft
       ___________________________________________________________________
        
       "Bad Apple" in Minecraft
        
       Author : purplesyringa
       Score  : 156 points
       Date   : 2024-10-10 13:02 UTC (1 days ago)
        
 (HTM) web link (purplesyringa.moe)
 (TXT) w3m dump (purplesyringa.moe)
        
       | pzmarzly wrote:
       | I learned way more about computer graphics here than I expected.
       | Kudos to the author.
       | 
       | One nit: the picture that the author called "The sun" is actually
       | Eirin [0] looking at the moon. In that scene [1] she's reaching
       | for the moon, where she was exiled from, only to hesitate and
       | retract the hand. In the next scene, Kaguya [2] also reaches for
       | the moon, but does not hesitate. I'm not sure what the symbolism
       | here was supposed to mean, as according to Touhou wiki it was
       | Eirin's plan to steal the moon.
       | 
       | [0] https://en.touhouwiki.net/wiki/Eirin_Yagokoro
       | 
       | [1] https://youtu.be/FtutLA63Cp8?t=99
       | 
       | [2] https://en.touhouwiki.net/wiki/Kaguya_Houraisan
        
         | tmtvl wrote:
         | You may have misread, the wiki says her plan was to 'seal', not
         | 'steal' the passageway between Earth (or Gensokyo) and the
         | Moon. Eirin deliberately chose to break her connection to the
         | Moon in order to protect Kaguya.
        
         | pxc wrote:
         | > One nit: the picture that the author called "The sun" is
         | actually Eirin [0] looking at the moon.
         | 
         | I always think 'the sun' when I see it because of this goofy
         | video: https://www.youtube.com/watch?v=ReblZ7o7lu4
        
       | ConcernedCoder wrote:
       | ACHIEVEMENT UNLOCKED: "Get'r Done" -- The ability to interate and
       | solve individual hurdles and issues within the constraints of a
       | system to achieve a grand idea.
        
       | SCUSKU wrote:
       | I don't really understand how or why Bad Apple is becoming the
       | de-facto graphics rendering "hello world" but it's fun to see in
       | real time. I came across this demo which uses Bad Apple for
       | demonstrating high FPS hypermedia:
       | 
       | https://data-star.dev/examples/bad_apple
        
         | nomel wrote:
         | I think it's simply that it's (mostly) black and white.
        
         | jabroni_salad wrote:
         | 2 reasons:
         | 
         | 1. The creator is extremely cool about remixes and fanuse. In
         | many ways touhou is the OG modern internet fandom in a way that
         | previous ones weren't. Your bad apple video will not be taken
         | down even though it has the same audio as all the others.
         | 
         | 2. The shadow puppet format is recognizable at seemingly any
         | resolution. I have seen examples in a 3x3 grid even. On top of
         | that, it only has two colors (black/white, 1/0) so its dead
         | simple to convert the video frames into any other format you
         | can imagine with only a 'hello world' understanding of what
         | you're doing.
        
           | layer8 wrote:
           | > its dead simple to convert the video frames into any other
           | format you can imagine
           | 
           | Maybe read the linked article about that. ;)
        
             | dylan604 wrote:
             | "It's grayscale, not just black-and-white."
             | 
             | Just in case reading TFA is too daunting for those only
             | reading comments
        
               | layer8 wrote:
               | I was alluding to the difficulties of frame-rate
               | conversion, dithering, and compression artifacts in the
               | original source being amplified by the conversion.
               | Grayscale by itself isn't the issue.
        
               | dylan604 wrote:
               | But the person you replied to "it only has two colors
               | (black/white, 1/0)" which is what I was referring
        
               | layer8 wrote:
               | Yes, but I don't think that black & white vs. grayscale
               | makes a significant difference. Naively converting
               | grayscale is virtually as "dead simple" as converting
               | black & white.
        
               | dylan604 wrote:
               | You seem to be interpreting my reply as a challenge to
               | your comment rather than taking as support to it. The
               | original comment made an incorrect statement-as-fact with
               | b&w 1/0, yet TFA clearly stated it was grayscale. Your
               | comment challenged implying TFA was not read, so I just
               | backstopped your comment.
        
               | layer8 wrote:
               | Your comment implied that your citation makes reading the
               | article unnecessary, in the context of my initial
               | comment. Since your citation didn't mention the
               | difficulties I was alluding to, your comment seemed to be
               | missing my point, and to those who didn't read the
               | article would give the wrong impression that my comment
               | was about grayscale.
        
         | dokyun wrote:
         | That the video is entirely monochrome while also extremely
         | fluid and intricate makes for an interesting duality when
         | applying it to a technical problem, and that it's also a very
         | pleasing and impressive work of art in of itself, I would think
         | gives it many of the qualities that demosceners in particular
         | appreciate.
        
         | verdverm wrote:
         | The DOOM standard is here:
         | https://www.reddit.com/r/Doom/comments/1c0g0mi/i_made_doom_i...
         | 
         | built on a fully programmable cpu in redstone
         | 
         | IRIS Computer Specs:
         | 
         | - Custom 16 bit CPU
         | 
         | - 8 kB of RAM
         | 
         | - 64 kB of ROM
         | 
         | - 1 kB texture ROM
         | 
         | - 96x64 pixel screen - 16 colours
         | 
         | - Floating point unit (add sub mult div sqrt)
         | 
         | - 173 redstone tick clock
         | 
         | - No 3D graphics hardware acceleration (entirely done in
         | software)
         | 
         | - Runs programs written in URCL
         | 
         | - Runs at 1 million ticks per second thanks to MCHPRS server -
         | which is 5.8 kHz clock speed
        
       | vessenes wrote:
       | > And... that's it? Looking back, the result looks almost trivial
       | to achieve, which raises the question of why no one has done it
       | before.
       | 
       | Umm, wow. I do not share that reaction to the work. This is an
       | awesome dev log and closet lesson in splitting up what seems like
       | an insurmountable task into nearly-impossible-but-doable chunks.
       | Love it.
       | 
       | For reference, this renders Bad Apple at 20fps in vanilla
       | minecraft, with only a custom texture and some custom object
       | definitions changed to allow more textures. The rest is (very
       | exotic) vanilla.
        
       | MrPowerGamerBR wrote:
       | > Resource packs can change the music played by discs. The
       | duration of the music disc stays fixed even if the audio is
       | replaced
       | 
       | You can change the music disc duration with data packs since
       | Minecraft: Java Edition 1.21, you can even add new music discs
       | definitions without replacing any of the vanilla music discs.
       | 
       | I know that one of the rules was "no data packs", but hey, it is
       | a cool thing if someone doesn't know about it. (also, in my
       | opinion this wouldn't break the "no data packs" rule, because the
       | "no data packs" rule seems mostly related to not using data packs
       | to set blocks in the world)
        
       | floydnoel wrote:
       | Off topic: I was excited to see the demo video, but when I
       | pressed play YouTube accused me of being a bot and refused to
       | play. Apparently it protects their community. There are some
       | privacy respecting alternatives, it might be good to see those
       | gain traction. I'm going to try to do so myself, if i ever make
       | or post a video!
        
       | tombert wrote:
       | "Bad Apple on all the things!" is one of my favorite geek trends.
       | I remember the first time I saw it on the Genesis/Mega Drive I
       | was astounded that such a thing was possible on such weak
       | hardware.
       | 
       | I love seeing the new ports that people make for underpowered
       | stuff. I'm afraid that I'm not smart enough with low-level
       | programming to ever do one myself, but I have a lot of respect
       | for people that can.
        
       | pkilgore wrote:
       | > Looking back, the result looks almost trivial to achieve
       | 
       | I wish the author was a bit more gentle on herself! What a ride.
        
       | treyd wrote:
       | Prior art is missing the one I worked on, using Sheep and Bukkit
       | plugin, although that might be considered out of scope since it's
       | not entirely in-game.
       | 
       | In any case this is great work! I find it hard to imagine anyone
       | improving on it.
        
       | menx wrote:
       | Also check out Bad Apple but it's a Minecraft world:
       | https://www.youtube.com/watch?v=RN3QW9SVnds
        
       | saagarjha wrote:
       | Kind of amusing how much effort this puts on the actual video
       | itself. When I'm done with implementing a Bad Apple I'm usually
       | too tired to think about dithering or frame rate Instead I just
       | run it though ffmpeg and call it a day.
        
       ___________________________________________________________________
       (page generated 2024-10-11 23:00 UTC)