# Chat Toys art credits

## Characters

Pixel Frog packs are grouped as Pixel Frog in `sprites/manifest.json`. Higgsfield Originals is a second group for the ten characters made for this overlay. Each Pixel Frog pack below was checked on its itch.io page before the sheets were added.

### Pixel Adventure 1

Ninja Frog, Mask Dude, Pink Man, and Virtual Guy. Sheets in `sprites/pixel-adventure/` are the Idle, Run, Jump, Fall, and Hit strips. Run is saved as `walk.png`. `wave.png` is the arms-out portion of the Hit strip (frames 3–6).

- Licence: [Creative Commons Zero v1.0](https://pixelfrog-assets.itch.io/pixel-adventure-1) on itch.io. Attribution is not required.
- Mirror used for the files already in this folder: [OpenGameArt](https://opengameart.org/content/pixel-adventure-1). That page is labeled CC-BY 4.0, so Pixel Frog is credited here either way.

### Pixel Adventure 2

Twenty-two enemies and creatures in `sprites/pixel-adventure-2/` (angry pig, bat, bee, blue bird, bunny, chameleon, chicken, duck, fat bird, ghost, mushroom, plant, radish, rino, three rocks, skull, slime, snail, trunk, turtle). Idle, run or the closest locomotion, jump and fall where the pack has them, and hit (or the turtle’s spikes) for the wave.

- itch.io: [Creative Commons Zero v1.0](https://pixelfrog-assets.itch.io/pixel-adventure-2). The page says you can distribute, remix, and build on the art, including commercially, and that attribution is not required. The zip on itch.io is a $5 download.
- The files here are from the author’s free [OpenGameArt upload](https://opengameart.org/content/pixel-adventure-2), which labels the same pack CC-BY 4.0. That licence also allows redistribution. Pixel Frog is credited under both.

### Kings and Pigs

King, King Pig, Pig, Box Pig, Bomb Pig, and Crate Pig in `sprites/kings-and-pigs/`.

- Licence: [Creative Commons Zero v1.0](https://pixelfrog-assets.itch.io/kings-and-pigs). Attribution is not required.

### Pirate Bomb

Bomb Guy, Bald Pirate, Cucumber, Big Guy, Sea Captain, and Whale in `sprites/pirate-bomb/`.

- Licence: [Creative Commons Zero v1.0](https://pixelfrog-assets.itch.io/pirate-bomb). Attribution is not required.

### Treasure Hunters

Clown Nose, Crabby, Fierce Tooth, and Pink Star in `sprites/treasure-hunters/`.

- Licence: [Creative Commons Zero v1.0](https://pixelfrog-assets.itch.io/treasure-hunters). Attribution is not required.

### Skipped

- **Tiny Swords** ([itch.io](https://pixelfrog-assets.itch.io/tiny-swords)). The page allows personal and commercial use, then says you may not redistribute, resell, or repackage the assets, even if modified. One download is named as an older CC0 file, but the page licence does not clearly allow that file to be put in this repo.
- **Pixel Adventure 2 on the Unity Asset Store.** That listing uses the Unity Asset Store EULA, not the CC0 itch.io terms. These sheets do not come from there.
- Props that are not walkers: tiles, doors, cannons, hearts, loose swords, and the Kings and Pigs pig who only lights a cannon.

The characters face right. The overlay flips the sprite when they walk left. Strips in this folder are 32×32 cells with the feet on the bottom row, so the newer cast stands on the same line as the original four.

Pixel Adventure 2’s mushroom is `!skin mush` (aliases `mushroom` and `toadstool`). `shroom` is Shroom Kid in Higgsfield Originals. The skull’s aliases are `cranium` and `bonehead`, and the slime’s are `ooze` and `puddle`, so they do not take `bones`, `skelly`, `goo`, or `blob`.

## Higgsfield Originals

The 10 characters in `sprites/higgsfield/` (Star Wizard, Tin Knight, Bolt Bot, Shadow Cat, Space Cadet, Wisp, Goo, Rattle Bones, Shroom Kid, Ember Dragon) are original pixel art made for ZeMaxi's Chat Toys overlay.

- Generated with **Higgsfield** using **GPT Image 2.5** (`gpt_image_2_5`, quality high, 4K), October 2026. Two multi-character sheets with 5 characters each.
- The style is based on **Pixel Adventure 1 by Pixel Frog** (CC0 1.0, https://pixelfrog-assets.itch.io/pixel-adventure-1). Frames of Ninja Frog, Mask Dude, Pink Man and Virtual Guy were laid out as a grid and given to the model as a style and layout reference. No Pixel Frog pixels appear in the output sprites, and the characters are not copies of any existing or trademarked character.
- Cleaned up in code: chroma key, grid detection and resampling to the native pixel grid, a 16-colour palette per character, magenta-fringe removal, aligning the feet to the baseline and the head horizontally, and a synthetic 2-frame breathing idle.
- Licence: ZeMaxi may release these as CC0 1.0 to match the hats and Pixel Frog sprites. Nothing here needs attribution, but please keep this note.

Wisp’s walk already sits 1–3 pixels above the ground and bobs. The manifest `motion` value `float` adds a small extra lift while they walk or idle. Goo’s `motion` value `squash` flattens the body on alternate walk frames, with the feet kept on the ground. A jump or fall skips the float.

## Hats

`sprites/hats/` is original pixel art made for Chat Toys (see `sprites/make-hats.py`). It is released CC0 1.0. The hats stay their own colours when a chatter tints the character.

## Adding a skin later

Edit `sprites/manifest.json`. Groups are `pixel-frog` and `higgsfield` (Higgsfield Originals). A custom sheet goes in `skins` with `group` set to `higgsfield`:

```json
{
  "id": "mio",
  "name": "Mio",
  "group": "higgsfield",
  "pack": "Higgsfield Originals",
  "aliases": ["mio"],
  "motion": "float",
  "animations": {
    "idle": {"file": "sprites/higgsfield/mio/idle.png", "frames": 8, "fps": 10},
    "walk": {"file": "sprites/higgsfield/mio/walk.png", "frames": 8, "fps": 12},
    "jump": {"file": "sprites/higgsfield/mio/jump.png", "frames": 1, "fps": 1},
    "fall": {"file": "sprites/higgsfield/mio/fall.png", "frames": 1, "fps": 1},
    "wave": {"file": "sprites/higgsfield/mio/wave.png", "frames": 6, "fps": 12}
  }
}
```

`frame` in the manifest is 32. Each file is a horizontal strip of that many square cells, character facing right, feet on the bottom row. `walk` is required. `idle`, `jump`, `fall`, and `wave` are optional. `fps` is per strip: idle 10 (Higgsfield Originals idle is 2), walk 12–16 or 9–10, a one-frame jump or fall 1, wave 4, 10, or 12. Optional `motion` is `float` or `squash`. `group` may be the id `higgsfield` or the name `Higgsfield Originals`. Chat commands pick up a new `id` and any `aliases` on the next overlay load.
