What a fascinating deep dive. 2x with sphere mapping is my favourite - it starts to take on a sort of pointillism-like quality which gives all the objects (or maybe my brain) a sort of understanding of their texture.
If you find this interesting, you might also be interested in this video of someone diving even deeper into how to make the dither surface stable: https://www.youtube.com/watch?v=HPqGaIMVuLs
I grew up on the small 6 inch 1 bit Mac SE display so the art style has a special place in my heart. Sadly I'm too "dumb" to fully enjoy the game as it requires a lot of attention to detail -- amazing if you enjoy detective style puzzles! I still highly respect it.
I keep feeling like there's a set of fundamental assumptions that can be optimized for, or relaxed and optimized for, in order to get at what a better method might be.
For example, stability of dithering under rotation and or some type of shear translation. What about stability under scaling?
There's been some other methods that essentially create a dither texture on the surface itself but, to me at least, this has a different quality than the "screen space" dithering that Obra Dinn employs.
Does anyone have any ideas on how to make this idea more rigorous? Or is the set of assumption fundamentally contradictory?
One of the biggest issues with dithering stability in screen space is attributable to perspective projection. The division operation is what screws everything up. It introduces a nonlinearity. An orthographic or isometric projection is much more stable.
If anyone finds this interesting, I'd like to plug my post analyzing a similar technique, but generalized for perspective pixel art: https://tesseractc.at/shadowglass
nice! that project shadowglass is really neat, as an engine, hopefully the dev will have support from good artists to fully exploit the engine’s capabilities, as is it has great potential!!!
> It feels a little weird to put 100 hours into something that won't be noticed by its absence. Exactly no one will think, "man this dithering is stable as shit. total magic going on here." I don't want to give people problems they didn't know they should have though so it was worth fixing.
I mean maybe it's just me, but that is literally the first thing I noticed and I appreciated it so much I instantly bought the game. I don't even play video games much!
This is great from a technical and artistic perspective. But for me personally, the visual style ruined a great game. I love detective/deduction games. I'm listing some of my all-time favorites in this genre. I'd love to finish Obra Dinn, but god it just makes my eyes hurt so much.
Chants of Sennaar is my absolute favourite and I also really enjoyed The Case of The Golden Idol.
I haven't found anything close to scratching that Chants of Sennaar itch so far but I will check out the other games you mentioned as I haven't played any of them.
I also loved the conceit of the Obra Dinn but the visual style made me feel physically ill to the point I couldn't continue with the game. I'm useless with any first person POV stuff in general though.
When the Mac and Atari ST first hit the market in the 80's, there were Comics created in this 1-bit "ordered-dither" style. For error-diffusion dithering (Floyd-Steinberg etc.), you needed more bits per pixel, to carry the error.
I feel like I understand it all except the last step:
> I could feel the closeness, and a very simple fix for this kind of aliasing is to supersample: apply the dither thresholding at a higher resolution and downsample.
Here he shows a dither pattern that isn't monochrome, but has grays (cause it's downsampled). But the picture in the end is monochrome again. How does this work? How does he downsample the dithered result while staying monochrome?
> Finding this particular spherical mapping took some time. There's no way to perfectly tile a square texture onto a sphere. It would've been possible to redefine the dither matrices in terms of a hexagon grid or something else that does tile on a sphere.
Hexagon grids are flat and can't tile a sphere. Nothing can tile a sphere without knowing some specifics about the sphere, and even then you're pretty much limited to "orange slices", pole-to-pole longitudinal sweeps.
32 comments
[ 11.8 ms ] story [ 913 ms ] threadInteresting read!
For example, stability of dithering under rotation and or some type of shear translation. What about stability under scaling?
There's been some other methods that essentially create a dither texture on the surface itself but, to me at least, this has a different quality than the "screen space" dithering that Obra Dinn employs.
Does anyone have any ideas on how to make this idea more rigorous? Or is the set of assumption fundamentally contradictory?
I mean maybe it's just me, but that is literally the first thing I noticed and I appreciated it so much I instantly bought the game. I don't even play video games much!
I thought that constraint was the whole idea?
The Case of the Golden Idol
Chants of Sennaar
Her Story
IMMORTALITY
The Painscreek Killings
The Roottrees are Dead
Type Help
I haven't found anything close to scratching that Chants of Sennaar itch so far but I will check out the other games you mentioned as I haven't played any of them.
I also loved the conceit of the Obra Dinn but the visual style made me feel physically ill to the point I couldn't continue with the game. I'm useless with any first person POV stuff in general though.
Golden Idol and Chants of Senaar are incredible as well though.
SHATTER:
https://imgur.com/gallery/shatter-1984-was-first-commerciall...
Robot Empire:
https://www.reddit.com/r/atarist/comments/xgs4rh/comicbook_c...
[1] https://dither.blode.co
[2] https://github.com/mblode/dither-3d
I feel like I understand it all except the last step:
> I could feel the closeness, and a very simple fix for this kind of aliasing is to supersample: apply the dither thresholding at a higher resolution and downsample.
Here he shows a dither pattern that isn't monochrome, but has grays (cause it's downsampled). But the picture in the end is monochrome again. How does this work? How does he downsample the dithered result while staying monochrome?
Hexagon grids are flat and can't tile a sphere. Nothing can tile a sphere without knowing some specifics about the sphere, and even then you're pretty much limited to "orange slices", pole-to-pole longitudinal sweeps.