Crate akashi

Source
Expand description

A library for building collectible card and gacha games.

§Architecture

Akashi uses an Entity-Component-System architecture (though at the moment only Entities and Components are really implemented).

Players and cards, within the Akashi framework, are entities: they aren’t much more than a unique ID. Functionality is added by attaching various components to entities. For example, inventories can be represented as components that are attached to players, while card images and text can be represented as components attached to cards.

Modules§

card
A representation of an in-game card.
components
Implementations of basic components for use in games.
ecs
Akashi’s Entity-Component-System architecture.
local_storage
Storage systems that work entirely in-memory, for testing and prototyping use.
player
A representation of a game player.
snowflake
Unique 64-bit IDs.

Structs§

Card
Represents a tradable card.
EntityManager
Manages creating, storing, and loading Entities.
Player
Represents a player / user.
Snowflake
This type is used to represent unique IDs across Akashi.
SnowflakeGenerator
Generates Snowflake IDs.

Traits§

Component
Represents a Component within Akashi’s Entity-Component-System architecture.
ComponentBackend
This trait is used to mark backing storage objects for Components.
Entity
Represents an Entity within Akashi’s Entity-Component-System architecture.
EntityBackend
This trait is used to mark backing storage objects for Entities.