Ten night-black pixel-art companions, ready to drop into a game: 10 static sprites, 90 PNG frames, 30 GIFs, and 10 packed sprite sheets.
Explore the Motion Lab ·
Download ShadowPets.zip ·
Verify the SHA-256 ·
Read the asset license
The visual assets are licensed CC BY 4.0, so you may use and modify them in commercial or non-commercial games and projects with attribution. The gallery, scripts, automation, and documentation use the MIT License.
If ShadowPets earns a place in your project, consider starring the repository. It helps other small-game developers find the pack.
- Download and extract
ShadowPets.zip. - Pick a static
PetName.png, individual PNG frames, a looping GIF, or a packedsheet.png. - Import at 128×128 and enable nearest-neighbour / point filtering.
- Add this line to your credits, README, or asset-credits file:
ShadowPets by throwingogo-hub — https://github.com/throwingogo-hub/DigitalPets — licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).
If you modify the artwork, say so in the credit. Copy-ready examples and the
exact asset scope live in ATTRIBUTION.md and
LICENSE-ASSETS.md.
| Deliverable | Count | Size | Best for |
|---|---|---|---|
| Static transparent PNG | 10 | 128×128 | portraits, UI, simple scenes |
| Individual animation PNG | 90 | 128×128 | engines and custom timing |
| Ping-pong GIF loop | 30 | 128×128 | prototypes, web, previews |
| Packed sprite sheet | 10 | 384×384 | one-texture engine imports |
Every pet has idle, bounce, and greet motion. The visual set uses hard
alpha—no half-transparent pixels—and one shared 17-colour palette. The sprites
are drawn at a common scale, so Frost really is rounder than Comet and Draco
really is the big one.
ShadowPets/
├── Felis.png … Vesper.png
└── Animations/
└── PetName/
├── idle/01.png … 03.png
├── bounce/01.png … 03.png
├── greet/01.png … 03.png
├── idle.gif / bounce.gif / greet.gif
└── sheet.png
The release ZIP contains the game-ready files above plus a per-file SHA-256 manifest, license, attribution text, and import notes. Preserved generation inputs remain in the repository for provenance but are intentionally excluded from the player-facing pack.
![]() Felis cat |
![]() Corvus crow |
![]() Vesper fox |
![]() Luna owl |
![]() Ursa bear cub |
![]() Lupus wolf pup |
![]() Draco dragon |
![]() Comet bunny |
![]() Nova axolotl |
![]() Frost penguin |
- Godot: set Texture Filter to
Nearestand define three-frame animations from each motion folder. - Unity: set Filter Mode to
Point (no filter), Compression toNone, and Pixels Per Unit consistently across all ten pets. - Web: use
image-rendering: pixelated;and scale by whole numbers such as 2×, 3×, or 4×.
Avoid smooth filtering and fractional scaling: both blur deliberate pixel edges.
Each pet's nine animation frames came from one dedicated 3×3 source sheet. The
shared prompt structure, species-specific greeting rules, and final Luna/Ursa
anatomy corrections are documented in
ShadowPets/Animations/SOURCE.md.
The asset validator enforces the public promise: exact pet/frame/GIF counts, dimensions, hard alpha, shared palette, GIF timing, packed-sheet fidelity, README/site links, licensing copy, social metadata, and a non-mutating pixel- and timing-exact rebuild across platforms. Release packaging is deterministic and verified twice.
python3 -m pip install -r requirements-dev.txt
python3 tools/validate_assets.py --check-rebuild --check-package
# Maintainers: create the same release files CI creates.
python3 tools/package_release.py --output distDo not run tools/build_animations.py against the repository casually: it is a
derivation tool for approved source sheets. CI rebuilds into a temporary
directory so validation never mutates tracked artwork.
- Visual assets: everything under
ShadowPets/plussocial-preview.pnguses CC BY 4.0. - Code and documentation:
index.html,tools/,.github/, and Markdown documentation use the MIT License.
The repository URL remains DigitalPets so existing links, clones, and Pages
deployments keep working; the collection's public-facing name is ShadowPets.










