# Ryot
Ryot! An open tibia based MMORPG library in Rust.
MMORPG library based on the concepts of open tibia. Ryot is an event-driven library that provides simple utilities for building OT based games. It is designed to be used with the [Bevy](https://bevyengine.org/) game engine. It is currently in early development and is not yet ready for use. Ryot is design to integrate with OpenTibia concepts, facilitating the creation of games that intend to use CIP-like contents/assets formats, as well as some game mechanics. It provides a major component: - [ContentAssets](https://github.com/opentibiabr/Ryot/blob/main/ryot/src/bevy_ryot/mod.rs) - A collection of content assets that can be loaded into the game, including appearances.dat, catalog and configs. It also provides some utilities: - [Appearance](https://github.com/opentibiabr/Ryot/blob/main/ryot/src/bevy_ryot/appearances.rs) - A collection of structs and utilities used to manipulate protobuf based appearances, including [Prost](https://docs.rs/prost-build/latest/prost_build/) generated structs from the appearances.proto file. - [Bevy Helpers](https://github.com/opentibiabr/Ryot/tree/main/ryot/src/bevy_ryot) - A collection of helpers that can be used to send async events, load configurations, appearances, sprites and contents as BevyAssets. - [Compression](https://github.com/opentibiabr/Ryot/blob/main/ryot/src/compression.rs) - A compression utility that can be used to compress and decompress sprite sheets. - [ContentBuilder](https://github.com/opentibiabr/Ryot/blob/main/ryot/src/build/content.rs) - A builder that can be used to build content assets from the CIP client content folder, decompressing sprite sheets and copying the necessary files to the assets folder. - [Sprite Utilities](https://github.com/opentibiabr/Ryot/tree/main/ryot/src/sprites) - Functions that can be used to decompress, manipulate and load sprite sheets as game assets, taking into considerations CIP-like sprite sheets structures. - [Content Utilities](https://github.com/opentibiabr/Ryot/blob/main/ryot/src/content.rs) - A collection of structs that can be used to manipulate contents, including configuring and loading them. # Compass Map editor built on top of Ryot aiming develop tile based map for open tibia based MMORPGs.