Features topic

🎯 Bullseye2D

A rapid 2D game prototyping library for Dart

  • Quickly prototype and build web games
  • 2D Library witihout wrestling huge frameworks
  • Code-centric approach to game dvelopment, valuing direct control and understanding of the engine's components.

Features:

  • Graphics

    • Fast 2D rendering with WebGL2.
    • Automatic Sprite batching.
    • Texture loading & management (sprite sheets, filtering, mipmapping, wrapping).
    • Blend modes (alpha, additive, multiply, etc.).
    • Draw primitives (points, lines, rects, ovals, polys).
    • Bitmap fonts (with on the fly .ttf/.otf auto-atlas generation).
  • Input Handling:

    • Keyboard (down, up, hit, char queue).
    • Mouse (position, buttons, wheel) – plays nice with touch.
    • Gamepad (multiple controllers, buttons, axes, triggers).
    • Accelerometer for motion stuff.
  • Audio Engine:

    • Play sounds and music.
    • Multi-channel audio (control volume, pan, playback rate per channel).
    • Sound retrigger delay control.
  • Resource Loading:

    • Easy loading for textures, sounds, fonts, and generic data files.
    • Built-in progress loader.
    • Texture & font caching.
  • Game Loop & Structure:

    • Clear app lifecycle (onCreate, onUpdate, onRender).
    • Auto-handles browser focus (pauses/resumes your game).
    • Default loading screen included.
  • Utils:

    • Matrix stack for easy 2D transformations (translate, rotate, scale).
    • Color & vector math utilities.
    • A flexible debugging logger with tagging and filtering capabilities.
Why build another engine?

Roadmap

Here are some ideas and plans what I want to add next to Bullseye2D:

  • Compile to native desktop apps (Windows/Mac/Linux/maybe even Consoles)
  • Export/Bindings to VanillaJS and Typescript
  • Support for custom shaders
  • Add RenderTargets for rendering directly into framebuffers
  • Add Support for Tracker-Music-Formats (Protracker, Fasttracker ...)
  • Support for Tilemaps
  • Support for prebaked bitmap fonts
  • A simple themeable, immediate mode gui module
  • Improve Documentation
  • Official Website
  • More online resources (youtube videos, tutorial, educational material)
  • An example creating / manipulating texture by data
    • Maybe a per frame renderbuffer :)
  • Games as showcase and examples to learn from

Properties

dartDoc ↔ bool? Features Cheatsheet Getting Started My first App
This is just a unused variable to enforce the dart doc generator to include topics that aren't attached to a specific classes or functions. {@category Getting_Started} {@category TutorialFirstApp} {@category Features} {@category Cheatsheet}
getter/setter pair