The story of Chunky

How every PC player’s fave renderer was wrought

Chunky is an amazing tool for visualising your PC Minecraft worlds. You load up your world, select which chunks you want to pull in, and frame the shot, staging the sunlight to hit your creation just so. And then you render it out - a process which can take many hours, but creates gorgeous images. (There’s even a dedicated page on Reddit, r/chunky, where people show off their cool stuff.)

It also comes with a load of camera presets that let you take isometric shots really easily - isometric being the sort of view shown below, where you get a downward diagonal view of the landscape without any of the normal foreshortening you see in-game.

Chunky is the brainchild of Jesper Öqvist, but it didn’t start out as a rendering tool: “In the beginning, it was just a 2D mapping tool,” he explains. “I could highlight different block types and then I could scroll through the layers of the Minecraft world so I could see easily where there were diamonds in my mines.”

“In the beginning, it was just a 2D mapping tool so I could see easily where there were diamonds.”

A few years later, Jesper was inspired to expand the program by the community’s growing interest in rendering their Minecraft worlds. “Usually they used a converter that could export some of the Minecraft world into a 3D model format so that you could load it into a render. But that whole process was cumbersome. I’ve always been interested in 3D modelling and rendering, so I thought it would be really fun to add rendering support to Chunky.”

The reason Chunky renders look so lovely is the different way the program draws the scene, allowing for much more natural lighting. Minecraft’s in-game renderer works by breaking down the 3D scene into lots and lots of tiny triangular surfaces. Then it works out where each triangle will end up in the final picture, and draws it onto the screen in the right spot.

“In Chunky, you kind of do it the opposite way around,” says Jesper. “For each pixel displayed on your screen, you ask, what can you seen in the game world from this point? It’s like you’re following an imaginary ray from your eye into the 3D world, and working out what it collides with. That’s both a more simple way of rendering stuff, and you can do more realistic effects more easily, but it’s also more demanding.”

The technique Chunky uses, called path-tracing, adds a random element: once a ray collides with a block, it bounces off in a random direction. “Maybe it hits another block, or a lightsource, or flies into the sky,” says Jesper. “You get a different lighting conditions for each of these scenarios.”

Chunky then repeats this procedure for each pixel over and over again, allowing you to take an average which takes into account all of the light coming into that pixel from all over the scene. The results are much more realistic, but this repetitive process, called sampling, takes time. If you only have a few samples per pixel, the results will be a little random - but as you can see in the images below, the more samples you get the more consistent the lighting.

It costs a lot of time though - especially if you’re rendering scenes with torches and other light-emitters. I have a beefy PC, but it took something around 60 hours to get rid of the noise in the above scene - and that’s just a single chunk of Minecraft! Jesper advises against rendering things with lots of light-sources, and making sure you’ve loaded as few chunks as necessary to fill the scene. Even if the chunks are out of shot of the camera, Chunky will still be calculating rays bouncing into them, and slowing the render down.

Jesper’s still working on Chunky, and hopes to one day it’ll render entities better, as well as the landscape. “I’ve added player entities - but not fully. You can render a player, but not see what they have in their hand, for example. I’d like to add armor rendering and mobs, too!”

More information on how to use Chunky can be found on its site, but Reddit also has good advice on how to get the most out of your renders. Have a look and get inspired to take super snaps of your own Minecraft world!