Search packages, repositories and app categories

Package detailsv3.0.0

piecemeal

Basic data structures for your 2D game.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
488
Likes
7
Pub points
140

Install package

flutter pub add piecemeal

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Piecemeal is a lightweight Dart package providing essential 2D game development data structures such as vectors, rectangles, and points. Designed for simplicity and performance, it offers foundational tools to manage game entities, collisions, and spatial operations in 2D environments. Ideal for developers building games with Flutter, it supports cross-platform deployment across Android, iOS, Web, macOS, Windows, and Linux. The package is minimal and focused, making it easy to integrate into existing projects without overhead.

Use cases

  • 2D game physics
  • collision detection
  • game object positioning
  • spatial calculations
  • simple game prototyping

Key features

  • 2D vector math
  • rectangle and point utilities
  • cross-platform support
  • minimal dependencies
  • clean, readable API

Suitable for

  • beginner game developers
  • small to medium 2D games
  • Flutter-based game prototypes
  • projects needing basic geometry tools

Considerations

  • Not suitable for complex physics engines
  • limited to 2D spatial operations
  • no built-in rendering or input handling

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Piecemeal is a small Dart library of low-level utility types aimed at 2D games. In particular, I harvested it from my roguelike Hauberk.

Using it

Add it to your package's pubspec:

dependencies:
  piecemeal: any

Import it:

import 'package:piecemeal/piecemeal.dart';

Running tests

Piecemeal comes with a unit test suite. From the root directory of piecemeal, run:

dart --checked test/run_all.dart 

Categories

Source repository

Projects using this package