Vibeleaderboard
Index / game
Visit github.com
Category
Entertainment
Rank
No. 2059Tools index

Previous survey · No. 2054 ·

Pricing
Open Source
Type
GAME
Builder
dimillian
GitHub
7 stars
Date

About

Dimillian's Rust ASCII Diablo — terminal-rendered ARPG with classic isometric layout, all in characters.

What it does

ASCIIBlo is a native, windowed action RPG prototype built in Rust. It combines real-time combat, loot, character progression, quests, merchants, travel, and procedural exploration. A graphical renderer draws glyphs and punctuation as visual texture, while seeded world generation allows exact replays and reproducible previews.

Why it's ranked here

The project already connects many systems into a coherent playable slice: combat, equipment, mastery, settlements, maps, quests, services, and progression all interact. Deterministic seeds and dedicated preview modes make the prototype unusually inspectable. Its scope is impressive, but the repository presents it as a prototype rather than a finished game.

What's good

Seed control supports exact world replay, while stable preview seeds produce repeatable screenshots across twelve interface states. The overworld generates biomes, settlements, roads, landmarks, and props without a fixed boundary. Combat includes cooldowns, mana, melee and ranged enemies, ranks, packs, loot, and visible feedback. Embedded tests cover launch behavior and shared stat vocabulary.

Tradeoffs

This is not a terminal application despite its character-based visual language. Running it requires a graphical window plus keyboard and mouse input. Installation is source-oriented through Cargo, with no packaged binary described. The interface exposes only two bound skill slots during play, and quests permit one active objective at a time.

How to use it well

Pick it for studying or extending a compact Rust game prototype with procedural generation, action combat, progression, and glyph-driven presentation. Use explicit seeds when debugging world behavior, and preview modes when checking interface states or producing screenshots. It does not cover terminal-native play, a reusable game library, or a documented packaged distribution workflow.

Technical notes+

Cargo.toml defines a Rust 2024 binary package using macroquad 0.4.14 and rand 0.10.1. src/main.rs configures a 1280 by 760 high-DPI Macroquad window, runs fixed simulation steps, draws interpolated frames, and exports PNG previews after rendering. src/launch.rs parses random or explicit decimal and hexadecimal seeds, preview requests, and balance reports. src/preview.rs configures twelve deterministic UI and gameplay states. src/world.rs generates tiles, biomes, settlements, roads, landmarks, collision data, and glyph visuals from a seed. src/render.rs caches tile visuals and composes world, entities, effects, lighting, and modal UI. src/game/mod.rs separates simulation, UI, effects, runtime state, and fixed updates. src/stat_display.rs centralizes player-facing stat labels, calculations, item summaries, and comparisons. Unit tests appear inside src/launch.rs and src/stat_display.rs.

Observed

Primary language
Rust
Packaging and install surface
Cargo binary package run from source with cargo run
Interface
Native graphical desktop game with keyboard and mouse controls plus command-line launch options
Rendering
Macroquad renderer uses glyphs and punctuation as graphical texture rather than terminal escape sequences
Dependencies
Macroquad and rand
Test structure
Unit tests are embedded in supplied Rust source modules
Reproducibility
Explicit world seeds and stable default preview seeds support repeatable runs and PNG captures

Read from README.md, Cargo.toml, src/main.rs, src/world.rs, src/launch.rs, src/render.rs, src/content.rs, src/preview.rs, src/stat_display.rs, src/ui/mod.rs, src/ui/hud.rs, src/ui/shop.rs, src/game/mod.rs.

What it can do

  • Render isometric game world in ASCII characters

    Game world dataASCII character display in terminal

  • Control player character movement

    Keyboard input commandsUpdated character position

  • Engage in combat encounters

    Player actions and enemy interactionsCombat results and damage calculations

  • Manage character inventory

    Item pickup/drop commandsUpdated inventory display

  • Display game interface in terminal

    Game state dataText-based user interface

  • Progress character levels and stats

    Experience points and player choicesUpdated character attributes

Tags

gameasciirustterminaldimillian

Tech Stack

Rust

Media

ASCIIBlo

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.