A solo developer from Grow Now! Games launched a playable browser version of an ASCII cyberpunk city that runs on a 283KB Rust WebAssembly module and a WebGL renderer, making th...
A solo developer from Grow Now! Games launched a playable browser version of an ASCII cyberpunk city that runs on a 283KB Rust WebAssembly module and a WebGL renderer, making the demo accessible without Unity or Unreal engines. The build, released this week, follows a YouTube video posted previously that has amassed over one million views and 9,000 comments. The project demonstrates a text‑based metropolis generated in Rust and rendered via WebGL shaders.
The 283KB module reserves 1,152KB of linear memory at startup and reports an engine version of 0.1.0 when instantiated outside the browser. Its exports include initialise_native_game, step_native_game, and generate_native_local_map. The source modules behind these calls are city.rs, world.rs, population.rs, interiors.rs, and rendering.rs. World generation runs in Rust and hands JavaScript base64‑packed byte arrays covering building heights, tile kinds, surfaces, hues, saturations, window styles, lit flags, and floor plan IDs.
The renderer requests a WebGL context and compiles a vertex and fragment shader pair, the fragment stage consisting of a single texture2D lookup. Characters are drawn once each into an atlas canvas with fillText, cached per character‑and‑color combination, uploaded to the GPU with one texImage2D call, and then drawn as textured quads with six vertices apiece. Desktop sessions render 180 columns by 80 rows, or 14,400 character cells, in 10px Consolas at nine pixels per row. Touch devices drop to 48 rows and between 96 and 168 columns, and the Rust engine uses a separate 160 by 112 profile. The vertex buffer preallocates 2.76MB and doubles when a frame overruns it.
Grow Now! Games described the original demo to PC Gamer as having "no Unity, there's no Unreal, there's no 3D models, textures, or shaders." A first‑person Backrooms game for the 1994 Sega 32X runs on a raycasting engine written from scratch in C and SH-2 assembly. A multiplayer Doom tribute implements raycasting and sprite projection as a stack of SQL views, reaching roughly 30 FPS at 128 x 64. Thunder Lizard, an ASCII roguelike, has had its character grid redrawn by image models into full‑motion visuals at around 10 FPS.
The project illustrates how lightweight WebAssembly modules can enable complex graphics in a web browser, though the developer has not indicated plans for broader release.
- Publisher
- tomshardware
- Reliability
- high
- Published
- 8/24/2026, 10:00:30 AM
- Retrieved
- 8/24/2026, 10:00:30 AM
- Relevance
- 80%
- Confidence
- 85%

