Solo developer built a 3D ASCII-style city in JavaScript in a single HTML file

ASCII art was born from limitations. Artists had to build recognizable images out of a fixed, equal-width character set, and those constraints created an aesthetic that still lives on today.

Traces of the style show up everywhere – in Dwarf Fortress and Cataclysm: Dark Days Ahead, in the elaborate Unicode °☆•°text decorations°•☆° that filled forums back in the 2000s, and in the cascading green characters from "The Matrix."

The idea of drawing with letters and numbers keeps evolving, too. The first ASCII art was flat, since conveying depth with fixed-width characters is a lot harder than just putting together a recognizable image. These days, nothing stops anyone from pushing character graphics into the third dimension.

That's exactly what a solo developer going by Grow Now Games set out to do, posting a demo of the work on YouTube this week:

The idea was to create something that looks like you're walking through a world made of data without it being just a flat visual image.

https://www.youtube.com/watch?v=3YtygAx_C6A

The effect comes across as striking. It mostly brings to mind the braindance sequences from Cyberpunk 2077, where the world breaks apart into countless separate streams of data.

A visual like this would fit right into the upcoming Neuromancer series too, though the depiction of cyberspace there will probably cost a fortune and end up looking a lot glossier than the book calls for.

The most interesting part of the demo is what's actually running under the hood. The developer skipped 3D models and shaders entirely, the most obvious route to an effect like this (getting a similar result in Blender, for instance, isn't hard).

Instead, the world renders through a custom ray-casting engine. As the creator puts it, it's "Just JavaScript and Canvas, in a single HTML file."

The level geometry sits on a grid, similar to Wolfenstein 3D. But while id Software classic wasn't actually fully three-dimensional despite its name, the player here can apparently look freely up and down based on the footage.

Cars drive through the ASCII city, semi-transparent trees line the streets, and people wander around. Everything is built from characters, yet it reads as a fully dimensional scene.

Even though the whole thing runs on JavaScript and HTML, there's no public version to try in a browser just yet. The engine might be headed for an actual game – walking through a Cyberpunk 1977 like this sounds like a pretty fun experience.

More news
Tags: