logoalt Hacker News

“Bad Apple” in Minecraft

406 pointsby purplesyringa10/10/202464 commentsview on HN

Comments

pzmarzly10/11/2024

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

show 2 replies
SCUSKU10/11/2024

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

show 7 replies
tombert10/11/2024

"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.

show 1 reply
nyanpasu6410/12/2024

>This recursion ends when Minecraft hits a hard limit, which by luck results in a yellow block being spawned instead of a red one.

This reminds me of the old update suppression glitch (https://mcdf.wiki.gg/wiki/Java_Edition:Update_Suppression), or the trickier population suppression (https://mcdf.wiki.gg/wiki/Java_Edition:Population_Suppressio...) which can leave the game engine in a glitched state where blocks fall instantly.

fayalalebrun10/12/2024

My favorite dithering algorithm for motion video is Yliluoma dithering: https://bisqwit.iki.fi/story/howto/dither/jy/

It is especially useful for grayscale content, as finding the optimal dithering matrix from the available palette is a straightforward exact operation, and the result can be placed in a LUT for real-time rendering.

In my opinion it looks much better than bayer or random dithering, especially on gradients.

6310/12/2024

> it’s even worse: redstone dust is, like, the only component that doesn’t introduce tick delays, but it’s very laggy, because no one at Mojang seems to know graph algorithms.

It's gotten much less laggy since the post OP linked to for info was posted, with many improvements in the last 3 years including one very recently. Mojang gets a lot of hate from every direction. It took them so long to make Redstone less laggy because every time they touch Redstone in any way, the community screams at them and any time they do anything other than introduce brand new features the community screams at them so it just wasn't worth it. Getting mad on the Internet and saying they don't know graph algorithms isn't helpful. Mojang has repeatedly hired some of the best and brightest minds in the Minecraft community to work for them (e.g. Panda4994, Kingbdogz, Gnembon) so they do have the technical expertise to do anything they want. What they don't have is infinite time/budget and it turns out that working on a 15 year old Java codebase and a massive multiplatform C++ app at the same time and trying to keep them in sync is really damn hard so can we please give them grace? I'm just tired of so much hate from every direction every second of the day. Can we please just say that Minecraft is awesome? Thanks

show 2 replies
saintradon10/11/2024

I haven't been addicted to Minecraft / building serious redstone stuff since high school. Now I just play a few times a month with some friends when the craving randomly comes back to just build and explore. Looking at the redstone landscape now it has completely changed and it's unrecognizable to me - I wonder if that's how I'll feel as I slowly become a senior software engineer, years pass by and I look at stacks I haven't touched professionally in years and wonder in awe just how rapidly things change in tech and what new things people are creating with it.

vessenes10/11/2024

> 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.

show 1 reply
saagarjha10/11/2024

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.

menx10/11/2024

Also check out Bad Apple but it's a Minecraft world: https://www.youtube.com/watch?v=RN3QW9SVnds

show 2 replies
ConcernedCoder10/11/2024

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.

pkilgore10/11/2024

> Looking back, the result looks almost trivial to achieve

I wish the author was a bit more gentle on herself! What a ride.

show 1 reply
MrPowerGamerBR10/11/2024

> 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)

throwaway91829910/12/2024

This boggles my mind that something like this is even possible in Minecraft.

I build redstone dust contraptions with my 4 year old and it blows my mechanical engineer father’s mind but this kind of animation is just another plane of reality to me.

kmacdough10/12/2024

I learned most of what I know about computer architecture from Minecraft CPUS. It's great to see this is still around for younger generations.

packetlost10/12/2024

It's amazing how much staying power Touhou has had in internet culture.

treyd10/11/2024

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.

trollied10/12/2024

Now I want to see this in Factorio...

thih910/12/2024

Off topic, Youtube embed gives me:

> Sign in to confirm that you're not a bot

While viewing in safari mobile private mode. Same if I navigate to the youtube page. This is new for me.

Switching to a different browser (firefox focus) makes that disappear, I can play the video without signing in.

show 2 replies
floydnoel10/11/2024

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!

efilife10/12/2024

A woman did this, a rare sight in the hacker community. That's so cool!

show 2 replies