Thanks for your interest in improving this collection! This project follows an inner-source model: it is developed in the open with the same rigor we would apply to any production repository. Anyone is welcome to contribute new sprite sheets, fixes, metadata, names, or documentation.
By contributing, you agree that your contributions will be licensed under the project's CC BY 4.0 license, and you confirm you have the right to contribute the material.
- Code of conduct
- Branching model
- Commit conventions
- Pull request workflow
- Adding or updating sprites
- Keeping the catalog consistent
- Reporting issues
All participation is governed by our Code of Conduct. Please read it before engaging.
We use a two-branch, GitHub-Flow-inspired model. Both branches are protected — direct pushes, force-pushes, and deletions are disabled; all changes land via reviewed pull requests.
| Branch | Purpose | Protected |
|---|---|---|
main |
Stable, released assets. | ✅ |
develop |
Integration branch for upcoming changes. | ✅ |
Typical flow:
feature branch ──PR──▶ develop ──PR──▶ main
- Branch off
developusing a descriptive name, e.g.feat/add-water-creaturesorfix/missile-51390-transparency. - Open a pull request into
develop. - Once reviewed and merged, changes are promoted from
developtomainvia a release pull request.
This project uses Conventional Commits. Every commit message must follow:
<type>(<optional scope>): <short, imperative summary>
<optional body>
<optional footer>
Common types in this repository:
| Type | Use it for |
|---|---|
feat |
Adding new sprite sheets or new catalog data. |
fix |
Correcting a broken sheet, wrong metadata, or mislabeled asset. |
docs |
Documentation-only changes. |
chore |
Repository scaffolding, tooling, and housekeeping. |
refactor |
Reorganizing assets or data without changing their meaning. |
style |
Formatting/optimization that does not change the artwork's pixels. |
Recommended scopes: creature, item, effect, missile, sprites, data,
docs, repo.
Examples:
feat(creature): add 12 grass-type evolution sheets
fix(metadata): correct phase count for effect 49731
docs(usage): add Phaser 3 loading example
chore(repo): add issue and pull request templates
- Keep PRs focused — one logical change per PR.
- Fill out the pull request template completely.
- Ensure new assets follow the naming and placement rules.
- Update
data/index.jsonanddata/metadata.jsonwhen adding or removing assets. - At least one approving review is required before merging.
- Prefer a clean, linear history; squash trivial fixups before requesting review.
- Format: transparent 32-bit RGBA PNG.
- Location:
sprites/<category>/<id>.png, where<category>is one ofcreature,item,effect, ormissile. - ID: every asset has a globally unique integer ID across all categories. When adding a new asset, choose the next free ID; never reuse an existing one.
- No Git LFS: commit PNGs directly. Keep individual files well under GitHub's 100 MB limit (existing sheets are a few MB at most).
Whenever you add, remove, or move an asset, update the catalog so it stays in sync with the files on disk:
data/index.json— add/remove the ID under the correct category key.data/metadata.json— add/remove the matchingthings["<id>"]entry.data/names.json— optionally add a human-readable name for the ID.
A change is "consistent" when, for every ID in index.json, both the PNG file
and a metadata.json entry exist (and vice versa). See
docs/data-format.md for the exact schema.
Found a broken sheet, wrong metadata, or a missing asset? Open an issue using one of our issue templates. Please include the asset ID and category whenever possible.