catosaur/ascii city
First-person view of a neon city street at night, drawn entirely from text characters, with green towers and a red sign.

ASCII City

A first-person cyberpunk story game for desktop. Walk the city, meet its people, and uncover what lies beneath its network.

Kotlin · LibGDX · LWJGL3 · CPU-rendered ASCII perspective

Where it stands

Playable now

The city foundation. You can walk four authored maps, inspect the environment, use terminals, talk to characters, and hear the city change between districts.

Not built yet

The Kernel-Panic campaign, its choices, and persistent story progress. The story is being adapted from the campaign documents in the repository.

In the game now

Run it from source

There is no downloadable release yet. You can build and run it with the Gradle wrapper in the repository.

  1. Clone ucwxcato/ascii-city. The first build needs internet access so Gradle can fetch dependencies and the pinned Java 21 toolchain.

  2. Launch the game:

    ./gradlew gameRun
  3. Optional: pick a world font profile.

    ./gradlew desktop:run --args="--ascii-density=fine"
    ./gradlew desktop:run --args="--ascii-density=dense"
    ./gradlew desktop:run --args="--ascii-density=standard"

The window starts at 1280 by 720 and keeps that as its minimum. Larger windows scale the glyphs in whole steps.

Controls

W S
Walk forward or backward
A D
Strafe
Left Right
Turn
Up Down
Look up or down
E or Enter
Interact or advance dialogue
Esc
Cancel or close dialogue
M
Mute or unmute music. Rain and footsteps keep playing.
F3
Diagnostics. With F3 open, Tab loads the next map and C toggles the CRT effect.
Open the repository on GitHub