Fundamentals Overview
Your Dill Pixel application
Section titled “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
Section titled “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
Section titled “Signals”Dill Pixel uses Signals as the reccommended way to handle events and callbacks in your game.
Asset Management
Section titled “Asset Management”The Assets system handles loading and managing:
- Images, audio, and JSON files
- Fonts and spritesheets
- Spine animations
- Background loading support
Actions System
Section titled “Actions System”The Actions system provides:
- Context-aware input handling
- Multiple input method support
- Type-safe action definitions
Scene Management
Section titled “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 Management provides persistent storage and state management.
- Type-safe data handling
- Automatic localStorage backup
- Change event system
Content Management
Section titled “Content Management”The Copy and Content system provides:
- i18n support
- JSON-based content management
- Dynamic string interpolation
- Variant text support
The Audio system features:
- Multiple audio channels
- Volume control and fading
- Priority-based playback
- Voice-over support
Animation
Section titled “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 Components
Section titled “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
Section titled “Physics”Physics support through two plugins:
- Snap Physics: Lightweight, performance-focused system
- Matter.js: Full-featured physics engine
Accessibility
Section titled “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