🎯 Bullseye2D

An easy-to-use 2D game library for Dart.

Make 2D Games in Dart

Bullseye2D is a cross-platform 2D game library for the Dart Programming Language.

It runs on the Web (WebGL2) and Desktop (Windows, macOS, Linux via SDL3) from a single codebase.

It provides a simple and straightforward API. You can learn it in an evening and start making awesome games right from the start.

It's made for developers who love Dart and want a solid foundation to make 2D games.

easy to use no bloat joy of crafting fast dart web desktop free
Loading code example...

Graphics

  • Fast 2D Rendering
  • Automatic Sprite batching
  • Different Blend modes
  • Draw Primitives and images
  • Bitmap fonts (with ttf loader)

Input Handling

  • Keyboard, Gamepad, Mouse
  • Mobile support
  • Touch & Accelerometer

Audio

  • Play sounds and music
  • Multi-channel audio
  • Sound retrigger delay control
  • Control volume, pan, pitch

Asset management

  • Easy loading of images, spritesheets, sounds, fonts, game data
  • Built-in progress loader
  • Texture caching

Game Loop

  • Clear app lifecycle
  • Fixed & variable timestep
  • Auto-handles events (pause/resume)
  • Default loading screen

Utils

  • Matrix stack for easy 2D transformations (translate, rotate, scale)
  • Math helpers
  • A flexible debugging logger with tagging and filtering capabilities

How to make a game from Scratch?

I have ported the classic Pong clone "Boing" from the book Code the Classics from Python to Dart using Bullseye2D!

  • Play the game directly in your browser.
  • Tutorial - Follow the step-by-step tutorial that walks you through the entire creation process. Perfect for learning game development fundamentals with Bullseye2D!