
Summary
- A video of an ASCII 3D city, built as a single HTML file using only JavaScript and canvas with no game engine, is drawing attention on Hacker News.
- The project applies raycasting to a grid-based world, using only characters and symbols to render perspective, depth, and occlusion.
- Two follow-up videos have since added traffic, interiors, and skyscrapers, showing the prototype continuing to evolve.
A City Made of Text You Can Walk Through
A developer's "ASCII City" video has drawn more than 200 upvotes on Hacker News. There are no 3D models, no textures, and no shaders involved. Everything on screen is made purely of letters, numbers, and symbols, yet buildings, roads, and moving cars and pedestrians all shift position in real time. In the video, the creator explained that they wanted to see whether they could make a city that felt alive.
Raycasting, an Old Technique Resurfaces
The core of this prototype is raycasting, a 3D rendering method that fires rays from the camera across a grid, finds the first object each ray hits, and uses that distance to calculate perspective, scale, and occlusion. It's a technique that early 3D games relied on heavily before GPU-based 3D engines became widespread. This project revives that old approach with one twist: instead of drawing the results with polygons, it renders them with text.
Approaches to building 3D worlds vary widely even when the goal is the same. As covered in Tencent Unveils Hy3D WorldClaw, Which Builds Open 3D Worlds From Text, recent efforts to generate 3D worlds have leaned toward agentic workflows that produce game-ready assets from a text prompt. This ASCII city sits at the opposite extreme. With no AI model and no prompt involved, a single developer built a walkable world entirely from hand-written rendering logic.
What's Happening Inside the Engine
According to the explanation in the video, the engine stores a grid-based 3D world as data. That grid holds the positions of roads, buildings, trees, cars, and people, along with details like building height. Every frame, the renderer fires rays outward from the camera position in multiple directions, finds what each ray hits first, and uses that distance to work out perspective, scale, depth, and occlusion. The engine also handles collision detection for cars and pedestrians, along with sorting which objects sit in front of or behind others.
Rather than being rendered with standard graphics, the results are drawn on canvas using characters, numbers, and symbols. Objects closer to the camera appear as larger, brighter clusters of text, while distant objects shrink and fade into darkness.
Three Videos and Counting
Beyond the video that's currently trending, the same project has appeared in two earlier videos as well. One, "ASCII City: Traffic and Detail Update," refined traffic flow and added finer detail. The other, "ASCII City Update: Interiors, Elevation and Skyscrapers," added indoor spaces, elevation, and tall buildings. What started as a walkable stretch of street has grown, update by update, into something with traffic flow, building interiors, and vertical structure. The creator noted at the end of the video that they plan to keep experimenting with the prototype.
Editor's Note
Most news about 3D world-building these days comes out of the AI world. Agentic workflows that turn a few lines of text into game-ready assets keep popping up, and the story is usually about the scale and polish of what they produce. This ASCII city catches attention by going the opposite direction. With no AI model at all, not even a game engine, someone built a walkable world using nothing but a JavaScript canvas and the old math of raycasting.
There was a time when spinning up a 3D world meant a long setup process, from installing an engine to configuring asset libraries. This prototype shows the other extreme still exists. Since it runs from a single HTML file, distribution and sharing become almost trivially simple, which is a practical hint for developers building browser-based prototypes, game jam entries, or experimental web art: you can build immersive spaces without a heavy engine behind them. For solo developers or small teams looking to validate an idea quickly, this kind of low-dependency rendering approach still has real value.
Given that the creator has already shipped two updates adding traffic, interiors, and skyscrapers, it seems likely that sound or NPC behavior could come next. While AI keeps accelerating the pace of 3D world generation, the fact that a hand-coded project like this can generate just as much buzz says something about how wide the landscape of creative tools has become.





Comments