Crate ryot

source ·
Expand description

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 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 components:

  • Content - A collection of content assets that can be loaded into the game, including appearances.dat, catalog, sprites and configs.

It also provides some utilities:

  • Appearance - A collection of structs and utilities used to manipulate protobuf based appearances, including Prost generated structs from the appearances.proto file.
  • Bevy Helpers - A collection of helpers that can be used to send async events, load configurations, appearances, sprites and contents as BevyAssets.
  • Compression - A compression utility that can be used to compress and decompress sprite sheets.
  • ContentBuilder - 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 - 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 - A collection of structs that can be used to manipulate contents, including configuring and loading them.

Re-exports§

Modules§

  • This module contains the structs and enums that are used to load the graphical content of a OT based game, with assets from the client’s content folder. The content folder is the folder that contains the content-catalog.json file and the files that are listed in it. The content-catalog.json file is a list of resource files that the client needs to load. This module also wraps the protobuf representation of the appearances.dat file. See appearances.proto and the auto generated appearances.rs file for more information.
  • Bevy plugins and utilities for RyOT games.

Macros§

  • A macro that simplifies the usege of on_hold_every condition by already calling into on the time argument.