dotzuki-engine 0.1.0

A general-purpose JRPG game engine built from Game Boy tile rendering principles
Documentation
  • Coverage
  • 79.78%
    1219 out of 1528 items documented3 out of 684 items with examples
  • Size
  • Source code size: 806.29 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 14.87 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 15s Average build duration of successful builds.
  • all releases: 15s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • liuyanghejerry/dotzuki
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • liuyanghejerry

dotzuki-engine

Core trait definitions for a JRPG engine framework.

This crate defines the foundational abstractions that any JRPG engine implementation must provide. It has zero dependency on specific game data — all types are generic associated types or marker traits that the implementing crate supplies.

Design Philosophy

The traits in this crate follow these principles:

  • Generic over game data: No concrete game-specific, item, or move types. All identifiers are associated types bounded by Copy + Eq + Hash + Debug.
  • Provider pattern: Data providers (tilesets, maps, palettes, tile metadata, render data) are obtained through a single GameData master trait, enabling dependency injection and testing.
  • No I/O, no platform: This crate contains only trait definitions and simple data types. No file loading, no GPU code, no platform calls.

Modules

Module Contents
[tileset] TilesetTrait and TilesetProvider — tileset loading and querying
[tile_meta] CollisionType, TileMetaTrait, TileMetadata — collision and terrain
[tilemap] TilemapEntry, Tilemap — 16-bit tilemap with per-tile metadata
[map] MapTrait, MapProvider, MapConnection — map data and connections
[palette] PaletteTrait, PaletteProvider — colour palette lookups
[render_data] RenderData — display-name and metadata lookups for moves, items, species
[save] SaveData, SaveManager, SaveStorage, SaveError — save/load with CRC16
[link] NetworkTransport<M>, TransportError, ChannelTransport<M>, LinkRole — game-agnostic link-play transport seam (zero-I/O)