Skip to content

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 system
    • UICanvas: Edge-anchored positioning
  • Popup system for modals and overlays

Physics

Physics support through two plugins:

Accessibility

Comprehensive accessibility features including:

  1. Focus Management

    • Keyboard navigation
    • Focus layers
    • Visual feedback
  2. Voice-over Support

    • Queue management
    • Multiple play modes
    • Localization support
  3. Captions

    • Multi-language support
    • Customizable styling
    • Automatic sync with voice-over