Wouldn't it be better to use blocks (219 in ASCII) as the main paint unit and use some other half-block and "hashed" characters (ASCII 220, 223, 176-178) to implement dithering?
There are multiple extensions to ASCII. "Extended ASCII" isn't a single thing, but a category of single-byte character encodings which are supersets of ASCII.
“I wanted to build a city that feels alive, but is made entirely from ASCII characters.
This is a small custom engine built with JavaScript and Canvas — no Unity, Unreal, 3D models, textures, or shaders. The world is a grid-based city with roads, buildings, trees, cars, and pedestrians.
Every frame, the engine raycasts from the camera to work out perspective, depth, collisions, and what should be visible, then draws it all using letters, numbers, and symbols.
In other words: it’s a tiny 3D city made from blocks, viewed through a screen of ASCII characters.
Still a work in progress, but I’m going to keep pushing the atmosphere, detail, and interaction further.”
Wow, that's interesting. It's a good start, and it would be interesting to see how the project develops.
Wouldn't it be better to use blocks (219 in ASCII) as the main paint unit and use some other half-block and "hashed" characters (ASCII 220, 223, 176-178) to implement dithering?
By leveraging characters, you can actually do a form of dithring! See this great interactive blog post: https://alexharri.com/blog/ascii-rendering
Everything above 127 would be extended ASCII instead of strict ASCII, if that matters.
There are multiple extensions to ASCII. "Extended ASCII" isn't a single thing, but a category of single-byte character encodings which are supersets of ASCII.
This is really nice! is it accessible somewhere to play with?
The OP's first link is a demo, their second link is the source.
From the video description:
“I wanted to build a city that feels alive, but is made entirely from ASCII characters.
This is a small custom engine built with JavaScript and Canvas — no Unity, Unreal, 3D models, textures, or shaders. The world is a grid-based city with roads, buildings, trees, cars, and pedestrians.
Every frame, the engine raycasts from the camera to work out perspective, depth, collisions, and what should be visible, then draws it all using letters, numbers, and symbols.
In other words: it’s a tiny 3D city made from blocks, viewed through a screen of ASCII characters.
Still a work in progress, but I’m going to keep pushing the atmosphere, detail, and interaction further.”