Expand description
ISSUN (一寸) - A mini game engine for logic-focused games
Build games in ISSUN (一寸) of time - typically 30 minutes to 1 hour.
§Quick Start
ⓘ
use issun::prelude::*;
fn main() {
Issun::builder()
.with_title("My Roguelike")
.with_turn_based_combat(|combat| {
combat.with_ai(SmartAI)
})
.run();
}§Features
- System Plugins: Reusable game systems (80% reuse, 20% customize)
- Scene/Context Architecture: Clean separation of persistent and transient data
- Auto-generated Title Screens: FIGlet integration + preset ASCII art
- TUI Support: Play over SSH, no GUI needed
- Built-in Save/Load: Automatic serialization with Serde
Re-exports§
pub use async_trait;
Modules§
- asset
- Asset system for ISSUN
- builder
- Game builder for ISSUN
- context
- Game context for ISSUN
- engine
- Engine modules for ISSUN
- entity
- Entity system for ISSUN
- error
- Error types for ISSUN
- event
- Type-erased, buffered event bus for decoupled communication between systems.
- modding
- MOD System for ISSUN
- plugin
- Plugin system for ISSUN
- prelude
- replay
- Event recording and replay for deterministic reproduction
- resources
- Resource Registry for global read-only data
- scene
- Scene system for ISSUN
- service
- Service system for ISSUN
- state
- State management for game runtime state
- storage
- Storage and save/load system for ISSUN
- store
- In-memory store for entities and game objects
- system
- System trait for ISSUN
- trace
- Event chain tracing for debugging and visualization
- ui
- UI modules for ISSUN
Macros§
- call_
hook_ traced - Hookをトレース付きで呼び出すマクロ
- collect_
events - Convenience macro for collecting events from an EventBus into a Vec.
- drive
- Drive macro for rendering components with automatic error handling
- drive_
to - Render components to specific areas with automatic error handling
- event
- Function-like macro that declares ISSUN events with common derives.
- resource_
guards - Helper macro for creating multiple ResourceGuards at once
Attribute Macros§
- auto_
pump - Attribute macro that injects
pump_event_systemscalls before/after input handlers. - event_
handler - Attribute macro that generates
process_eventsfor systems reacting to events.