Blossom is an opinionated MUD engine written in Rust.

Overview

🌸 Blossom

Blossom is an opinionated MUD engine written in Rust.

This is still a VERY early work-in-progress and there will be sweeping, breaking changes constantly as I refine the architecture and API. If you actually want to build a MUD, you'd be best off using an existing codebase. Any of the old C-bases, Evennia (Python), or Ranvier (JavaScript) are excellent options.

Live Game

Secure: blossom-engine.com:5443       Unsecure: blossom-engine.com:5080

The server should be online most of the time. If it is not, I am probably updating and it should be back momentarily.

It is recommended to always connect with the secure connection. Your traffic will be encrypted with modern TLS. You will, of course, need an actual MUD client to connect securely. If you are using old-school telnet, you will have to use the unsecure connection.

Usage

// main.rs
use blossom::prelude::*;

fn main() -> Result<(), Box dyn std::error::Error>> {
    let server = Server::new();
    let world = World::new();

    server.listen(world)?;

    Ok(())
}

This is a minimal working example; it has no game content. If you want to see the code and game data for Coven, the example game above, it is also open-source.

Contributing

Prerequesites:

  • Rust 1.60 (nightly; Blossom uses some nightly-only features)
  • PostgreSQL 14
  • (optional) Python 3 (tooling)
  • (optional) SQLx CLI (migrations)
  1. git clone https://github.com/robertwayne/blossom
  2. Modify the .env.TEMPLATE file in the root directory with your local Postgres details. (This is neccesary for SQLx to do compile-time SQL validation).
  3. (requires SQLx CLI) From the root directory, run sqlx migrate run to apply the schema.
  4. Hack away!
  5. Run ./check.sh before you open a PR.

By contributing, you agree that any code submitted by you shall be dual-licensed under MIT and Apache-2.0.

License

Blossom source code is dual-licensed under either

at your option.

You might also like...
A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

My first Real-Time 3D Game Engine learning project written in Rust.

EyeEngine-Rust FOA, sry for my poor English. What is Eye Engine? Eye Engine is my first Real-Time 3D Game Engine learning project. There are two editi

A simple Minecraft written in Rust with the Piston game engine
A simple Minecraft written in Rust with the Piston game engine

hematite A simple Minecraft written in Rust with the Piston game engine How To Open a World This method is only for personal use. Never distribute cop

A modular game engine written in Rust
A modular game engine written in Rust

A modular game engine written in Rust Maintainers of Piston core libraries: @bvssvni Dive into the world of Piston Guide Overview Examples Tutorials F

Simple island generator written in rust using bevy engine
Simple island generator written in rust using bevy engine

Getting Started Easy enough to run cargo run --release Change generation speed Find the system set that looks like this .add_system_set(

Pleco is a chess Engine & Library derived from Stockfish, written entirely in Rust

Pleco Pleco is a chess Engine & Library derived from Stockfish, written entirely in Rust. This project is split into two crates, pleco, which contains

A basic web assembly chess engine written in rust.

This library is a basic implementation of a chess min-max algorithm with alpha-beta pruning (Algorithm Info). It is designed to be compiled down to WebAssembly and used for web applications.

A block world game engine written in Rust.

About This is the Leafwing Studios' template repo, providing a quick, opinionated base for high-quality Bevy game projects (and libraries). We've shav

Clone of Soldat engine written in Rust
Clone of Soldat engine written in Rust

Soldank 🚧 open source clone of Soldat engine written in Rust 🚧 Screenshot Goals Fully authentic look and feel bugs feature-complete port of Soldat b

Comments
  • Compile time improvements

    Compile time improvements

    • shrunk dependencies where possible
    • tightened features on dependencies (like tokio)
    • fixed the dylib feature

    Hot compile times are usually under 3 seconds downstream (as low as sub-1 second), which is okay.

    opened by robertwayne 0
  • Implement initial framework for the web server

    Implement initial framework for the web server

    When the game server is being setup, an axum-based server will now spawn in the background as a Tokio task. This will, eventually, be an administration/moderation panel, analytics and status dashboard, the content creation tools (map builder, script editor, etc.), and logging.

    A lot of that still needs planning, but the first things to add will likely be authentication (simple - no sign up, just log in tied to the game database accounts) and an account/player editor.

    opened by robertwayne 0
Owner
Rob
Rob
Heavy - an opinionated, efficient, relatively lightweight, and tightly Lua-integrated game framework for Rust

Heavy - an opinionated, efficient, relatively lightweight, and tightly Lua-integrated game framework for Rust Slow down, upon the teeth of Orange Heav

Shea Leffler 12 Mar 18, 2022
An opinionated, monolithic template for Bevy with cross-platform CI/CD, native + WASM launchers, and managed cross-platform deployment.

??️ Bevy Shell - Template An opinionated, monolithic template for Bevy with cross-platform CI/CD, native + WASM launchers, and managed cross-platform

Kurbos 218 Dec 30, 2022
Work-in-Progress, opinionated game framework built on Bevy.

Bones A work-in-progress, opinionated game meta-engine built on Bevy. Under development for future use in the Jumpy game, and possibly other FishFolk

Fish Folk 9 Jan 3, 2023
An opinionated 2D sparse grid made for use with Bevy. For storing and querying entities

bevy_sparse_grid_2d An opinionated 2D sparse grid made for use with Bevy. For storing and querying entities. Personally, I'm using it for simple stupi

Johan Klokkhammer Helsing 5 Feb 26, 2023
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.

vx_bevy A voxel engine prototype made using the Bevy game engine. Goals and features Very basic worldgen Animated chunk loading (ala cube world) Optim

Lucas Arriesse 125 Dec 31, 2022
A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music.

rustris A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music. (C) 2020 Ben Cantrick. This code is distri

Ben Cantrick 17 Aug 18, 2022
Rustcraft is a simple Minecraft engine written in rust using wgpu.

Rustcraft is a simple Minecraft engine written in rust using wgpu.

Raphael Van Hoffelen 110 Dec 22, 2022
Walleye is a chess engine written completely in rust.

Walleye is a UCI-compatible engine written using the classical alpha-beta style AI. It supports loading board positions from arbitrary FEN strings, Unicode pretty printing to the console, and UCI communication logs to help with debugging.

Mitchel Paulin 95 Dec 24, 2022
A feature-rich, production-ready, general purpose 2D/3D game engine written in Rust with a scene editor.

A feature-rich, production-ready, general purpose 2D/3D game engine written in Rust with a scene editor.

rg3d engine 5.4k Jan 4, 2023
Blackmarlin is a chess engine fully written in Rust.

Blackmarlin WIP UCI Chess Engine Blackmarlin is a chess engine fully written in Rust. Make sure to compile the chess engine with cargo build --release

null 50 Oct 31, 2022