Fundamentals Overview
Your Dill Pixel application
The Dill Pixel framework is designed to be a flexible and modular system for building games. It provides a set of core features that are essential for any game, and allows you to add additional functionality through plugins.
Application
The Application is the entry point for your game. It is responsible for initializing the game, loading assets, and managing the game loop.
Signals
Dill Pixel uses Signals as the reccommended way to handle events and callbacks in your game.
Asset Management
The Assets system handles loading and managing:
- Images, audio, and JSON files
- Fonts and spritesheets
- Spine animations
- Background loading support
Actions System
The Actions system provides:
- Context-aware input handling
- Multiple input method support
- Type-safe action definitions
Scene Management
Scenes are the building blocks of your game, handling state transitions and content organization. They provide:
- Scene lifecycle management
- Transition animations
- Dynamic loading capabilities
Data
Data Management provides persistent storage and state management.
- Type-safe data handling
- Automatic localStorage backup
- Change event system
Content Management
The Copy and Content system provides:
- i18n support
- JSON-based content management
- Dynamic string interpolation
- Variant text support
Audio
The Audio system features:
- Multiple audio channels
- Volume control and fading
- Priority-based playback
- Voice-over support
Animation
- The Animated Sprite can be leveraged to add frame-based animations to your game.
- The Spine plugin can be leveraged to add complex, rigged animations to your game.
UI
UI Components
-
Text rendering with support for basic, HTML, and bitmap text
-
Layout tools offer two main approaches:
FlexContainer
: CSS Flexbox-inspired layout systemUICanvas
: Edge-anchored positioning
-
Popup system for modals and overlays
Physics
Physics support through two plugins:
- Snap Physics: Lightweight, performance-focused system
- Matter.js: Full-featured physics engine
Accessibility
Comprehensive accessibility features including:
-
- Keyboard navigation
- Focus layers
- Visual feedback
-
- Queue management
- Multiple play modes
- Localization support
-
- Multi-language support
- Customizable styling
- Automatic sync with voice-over