sarkahn / bevy_ascii_terminal

A simple terminal for rendering ascii in bevy.
MIT License
101 stars 14 forks source link

License: MIT Crates.io docs

Bevy Ascii Terminal

A simple ascii terminal integrated into bevy's ecs framework.



The goal of this crate is to provide a simple, straightforward, and hopefully fast method for rendering colorful ascii in bevy. It was made with "traditional roguelikes" in mind, but should serve as a simple UI tool if needed.

Code Example

use bevy::prelude::*;
use bevy_ascii_terminal::prelude::*;

fn setup(mut commands: Commands) {
    // Create the terminal
    let mut terminal = Terminal::new([20,3]).with_border(Border::single_line());
    // Draw a blue "Hello world!" to the terminal
    terminal.put_string([1, 1], "Hello world!".fg(Color::BLUE));

    commands.spawn((
        // Spawn the terminal bundle from our terminal
        TerminalBundle::from(terminal),
        // Automatically set up the camera to render the terminal
        AutoCamera,
    ));
}

fn main () {
    App::new()
    .add_plugins((DefaultPlugins, TerminalPlugin))
    .add_systems(Startup, setup)
    .run();
}

Versions

bevy bevy_ascii_terminal
0.13 0.15.0
0.12 0.14.0
0.11 0.13.0
0.9 0.12.1
0.8.1 0.11.1-4
0.8 0.11
0.7 0.9-0.10

Bevy Ascii Terminal Projects

Bevy Roguelike - Source - WASM

Ascii Snake - Source - WASM

Ascii Tetris - Source - WASM

Roguelike Snake Tetris