Live data from Hacker News

ASCII characters are not pixels: a deep dive into ASCII rendering

alexharri.com

121–130 of 158 posts

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#121

> I don’t believe I’ve ever seen shape utilized in generated ASCII art, and I think that’s because it’s not really obvious how to consider shape when building an ASCII renderer. Not to take away from this truly amazing write-up (wow), but there's at least one generator that uses shape: https://meatfighter.com/ascii-silhouettify/ See particularly the image right above where it says "Note how the algorithm selects the…

In the "Image to Terminal character" space this is also a known solution. Map characters to their shape and then pick the one with the lowest diff to the real chunk in the image. If you consider that you have a foreground and a background colour you can get a pretty close image in the terminal :D

https://hpjansson.org/chafa/

My go version: https://github.com/BigJk/imeji

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#122

Earlier quoted context omitted.

I want to do game programming again like it's 1999. No more `npm i` or "accept all cookies" :/ rant off :)

Go make a game for the Sega Genesis https://mdengine.dev/ Or, the GameBoy Advance https://github.com/GValiente/butano

I was seriously looking into the GameBoy Advance, but the real hardware has gotten quite expensive these days.

I wonder how the latest and greatest Wonderswan is doing in terms of price.

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#123

> I don’t believe I’ve ever seen shape utilized in generated ASCII art, and I think that’s because it’s not really obvious how to consider shape when building an ASCII renderer. Not to take away from this truly amazing write-up (wow), but there's at least one generator that uses shape: https://meatfighter.com/ascii-silhouettify/ See particularly the image right above where it says "Note how the algorithm selects the…

Yes I have not not seen this technique used for image to ascii art. Maybe for hand crafted stuff it isn't.

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#125
This was painful to read. It become better and simpler with a basic signals & systems background:

- His breaking up images into grids was a poor-man's convolution. Render each letter. Render the image. Dot product.

- His "contrast" setting didn't really work. It was meant to emulate a sharpen filter. Convolve with a kernel appropriate for letter size. He operated over the wrong dimensions (intensity, rather than X-Y)

- Dithering should be done with something like Floyd-Steinberg: You spill over errors to adjacent pixels.

Most of these problems have solutions, and in some cases, optimal ones. They were reinvented, perhaps cleverly, but not as well as those standard solutions.

Bonus:

- Handle above as a global optimization problem. Possible with 2026-era CPUs (and even more-so, GPUs).

- Unicode :)

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#127
post #122

Earlier quoted context omitted.

Go make a game for the Sega Genesis https://mdengine.dev/ Or, the GameBoy Advance https://github.com/GValiente/butano

I was seriously looking into the GameBoy Advance, but the real hardware has gotten quite expensive these days. I wonder how the latest and greatest Wonderswan is doing in terms of price.

One uses emulator while developing anyways. Try with C64 and VICE and join us at https://csdb.dk/

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#128
post #109

Earlier quoted context omitted.

I’ve been having The Talk with my kids recently. They’ll say “I looked up this question and the answer was X.” And I’ll ask “was that answer on a credible website, or was it an AI summary?” And then explain, again, that LLMs are great at producing plausible sounding explanations for things, but that you have to ground-truth anything that they tell you if it’s important that it’s correct.

Some countries are banning social media for teenagers, but they really should be banning "AI" all teenagers. Most adults can't even be trusted with asking an "AI" about anything, so children are going to have a very warped world view the more they interact with "AI". The tech really is not ready for prime time.

I see plenty of people getting real work done with it.

Why on earth would we ban it?

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#129

This was painful to read. It become better and simpler with a basic signals & systems background: - His breaking up images into grids was a poor-man's convolution. Render each letter. Render the image. Dot product. - His "contrast" setting didn't really work. It was meant to emulate a sharpen filter. Convolve with a kernel appropriate for letter size. He operated over the wrong dimensions (intensity, rather than X-Y)…

Perhaps you're right but I won't believe you until you whip up a live-rendering proof of concept. It's a bit rude to dismiss somebody's cool work as "painful", with some hypothetical "improvements" that probably wouldn't even work.

Re: ASCII characters are not pixels: a deep dive into ASCII rendering

#130
This is an awesome effort. I stared and played with the rotating graphics at the top for a while before reading the rest of the article, trying to figure out why it was so much better than a lot of the efforts I'd seen before, and I kind of figured out what you must be doing, but I'll admit, I wouldn't have ever done it as well or put in as much work as you had - really excellent techniques for determining character!

I am actually really curious how performant this is and whether something like this would be able to contribute beyond just demo displays. It's obviously beautiful and a marvel of work, but it seems like there should be a way to use it for more.

Also, I did find myself wondering about the inevitable Doom engine

Really nice job!

Post reply on HN