# Example art credits

Every piece of art in this course is real, human-made work under a licence that permits
this use. Nothing here was drawn by the teaching agent. See `../../NOTES.md`.

## kiira-gb-platformer/

**Game Boy Platformer Tileset & Character** by **Chloe Wolfe** (KIIRA)
Licence: **CC0 1.0 Universal** — attribution not required, given anyway.
Source: <https://opengameart.org/content/game-boy-platformer-tileset-character>
Retrieved: 2026-09-10

| File in this repo             | Original filename               |
| ----------------------------- | ------------------------------- |
| `tileset-a.png`               | `Gameboy Tileset_6.png` (green) |
| `tileset-b.png`               | `Gameboy Tileset_4.png` (brown) |
| `fluffy/idle-walk-strip5.png` | `IdleAndWalk_strip5.png`        |
| `fluffy/roll-strip4.png`      | `Roll_strip4.png`               |
| `fluffy/jump.png`             | `Jump.png`                      |
| `fluffy/fall.png`             | `Fall.png`                      |

Renamed for URL-safety and unpacked from `Game Boy Character - Fluffy.zip`. Pixels
untouched.

## littlesadnerd-gbjam/

**Gameboy Platformer Art** by **LittleSadNerd**
Licence: **CC0 1.0 Universal**
Source: <https://opengameart.org/content/gameboy-platformer-art>
Retrieved: 2026-09-10

Made for **GameBoy Jam 4** — a four-shade tileset and ninja sprite set produced under jam
conditions, which is why it earns its place here. Unpacked from `Ningriptzu Art.zip`;
folders lower-cased, `tilesheetv1mini.png` renamed to `tilesheet.png`. Pixels untouched.
Unused sub-folders (`Misc/`, `Riceball/`) were not vendored.

`ninja/kenneyninja.png` is the author's stated starting point, credited by them to
**Kenney** (<https://kenney.nl>, CC0). It is kept for provenance and is not used in any
lesson — note that it carries five colours, not four.

## stealthix-dungeon/

**4 Colour Dungeon Tileset** by **stealthix**
Licence: **CC0 1.0 Universal** — "Attribution is appreciated but not required!"
Source: <https://opengameart.org/content/4-colour-dungeon-tileset>
Retrieved: 2026-09-10

| File in this repo            | Original filename          |
| ---------------------------- | -------------------------- |
| `tileset-dungeon-green.png`  | `Tileset_Dungeon.png`      |
| `tileset-dungeon-bw.png`     | `Tileset_Dungeon_BW.png`   |

The grim end of the key ladder in Lesson 02. Pixels untouched.

## 2dpixx-cave/

**Gameboy Cave Tileset** by **Jana Ochse** (2DPIXX / 2D-Retroperspectives)
Licence: **CC BY 4.0** — *attribution required*. The bundled `license.md` states 4.0;
the OpenGameArt listing says 3.0. The stricter reading is used here.
Source: <https://opengameart.org/content/gameboy-cave-tileset> ·
<https://www.2d-retroperspectives.org>
Retrieved: 2026-09-10

| File in this repo | Original filename                  |
| ----------------- | ---------------------------------- |
| `cave-tiles.png`  | `2DRP_CCArt_Gameboy_Cave.png`      |

Unpacked from `2DRP_CCArt_Gameboy_Cave.tar.gz`; `LICENSE.TXT` kept as `license.md`.
Pixels untouched. This is the counterexample in Lesson 02: a cave that reads bright.

> **If any of this art ships in a game, the CC-BY item above must be credited.** The
> CC0 items need no credit. Simplest safe rule for a jam: use the CC0 packs, or credit
> Jana Ochse in the game's readme.

## armm1998-topdown/

**Gameboy Tileset** by **ArMM1998**
Licence: **CC0 1.0 Universal**
Source: <https://opengameart.org/content/gameboy-tileset>
Retrieved: 2026-09-10

The author's stated aim was "to emulate the Pokémon aesthetic". Top-down, four greys.
Used as the bright end of the top-down key ladder — the thing the mission is moving away
from. Pixels untouched; `generated/topdown-pokemon-like.png` is the same sheet with its
baked one-pixel dither background flood-filled to transparency.

## stealthix-interior/

**4 Colour Interior Tileset** by **stealthix**
Licence: **CC0 1.0 Universal** — "Attribution is appreciated but not required!"
Source: <https://opengameart.org/content/4-colour-interior-tileset> ·
<https://stealthix.itch.io/4-colour-interior-tileset>
Retrieved: 2026-09-10

| File in this repo           | Original filename        |
| --------------------------- | ------------------------ |
| `tileset-interior-green.png` | `Tileset_Interior.png`   |
| `tileset-interior-bw.png`    | `Tileset_Interior_BW.png` |

8×8 top-down tiles in the bgb Game Boy palette. Part of the style kit. Pixels untouched.

## chasersgaming-knight/

**RPG Character 'Knight' (Gameboy)** by **Chasersgaming**
Licence: **CC0 1.0 Universal** — credit appreciated, not required.
Source: <https://opengameart.org/content/rpg-character-knight-gameboy>
Retrieved: 2026-09-10

16×24, four-directional, with idle / walk / run / push / attack / hurt, plus weapons, a
portrait and a title screen. Same bgb palette as stealthix's tiles, which is what makes
the two combine into one style. Unpacked and renamed to `knight-sheet.png`; pixels
untouched.

Note: the sheet carries **eight** stray orange pixels (`#d9680f`). The build script drops
them when cropping, because left in they register as a fifth shade and push the knight's
measured key from 2.33 to 3.20.

## generated/

Not original art. Every file in `generated/` is a **mechanical transformation** of the
CC0 art above, produced by `../build-examples.py`:

- `sprite-whole.png` — frame 0 of `kiira-gb-platformer/fluffy/idle-walk-strip5.png`,
  cropped, unmodified.
- `sprite-shade-N.png` — the same frame with three of its four shades flattened to a
  neutral, leaving shade *N* visible. No pixel was moved or invented; pixels were only
  recoloured to a single flat neutral.
- `topdown-pokemon-like.png` — ArMM1998's sheet with its baked dither background
  flood-filled to transparency from the sheet border. Art pixels untouched.
- `knight-down.png`, `knight-walk-block.png` — crops of Chasersgaming's sheet, with the
  eight stray orange pixels erased.
- `tile-floor.png`, `tile-wall.png`, `tile-void.png` — single 8×8 cells cut from
  stealthix's interior sheet, unmodified.
- `ground-bright.png`, `ground-grim.png` — earlier representative-ground crops, kept for
  the Lesson 02 measurements.

`measurements.json` is likewise generated — it is a count of the pixels in the art above.

The `key-shifter` widget in Lesson 02 recolours this art live in the browser. It also
only ever remaps existing shades onto other existing shades; it never adds a colour and
never moves a pixel.

## chasersgaming-ranger/

**RPG Character 'Ranger' (Gameboy)** by **Chasersgaming**
Licence: **CC0 1.0 Universal** — "no credit required but appreciated."
Source: <https://opengameart.org/content/rpg-character-ranger-gameboy>
Retrieved: 2026-09-11

| File in this repo  | Original filename                                   |
| ------------------ | --------------------------------------------------- |
| `walk-south.png`   | `GB Ranger Single Sheets/Walk/GB_Ranger_Walk_SOUTH.png` |
| `walk-north.png`   | `…/GB_Ranger_Walk_NORTH.png`                        |
| `walk-east.png`    | `…/GB_Ranger_Walk_EAST.png`                         |
| `walk-west.png`    | `…/GB_Ranger_Walk_WEST.png`                         |
| `ranger-sheet.png` | `GB Ranger Sprite Sheets/GB_Ranger_SpriteSheet_Free.png` |

16×24, four directions, drawn with three shades plus transparency. Unpacked from
`GB Ranger Files FREE.zip` (PNG set only; the BMP duplicates were not vendored).
Pixels untouched.

## chasersgaming-kungfu/

**RPG Asset Character 'Kung Fu Man' Gameboy** by **Chasersgaming**
Licence: **CC0 1.0 Universal** — "PUBLIC DOMAIN, FREE TO USE AS YOU WANT, NO CREDIT NEEDED."
Source: <https://opengameart.org/content/rpg-asset-character-kung-fu-man-gameboy>
Retrieved: 2026-09-11

| File in this repo | Original filename                                          |
| ----------------- | ---------------------------------------------------------- |
| `walk-south.png`  | `GB Kung Fu Man Walk/GB_Kung_Fu_Man_Walk_SOUTH_strip4.png` |
| `walk-north.png`  | `…/GB_Kung_Fu_Man_Walk_NORTH_strip4.png`                   |
| `walk-east.png`   | `…/GB_Kung_Fu_Man_Walk_EAST_strip4.png`                    |
| `walk-west.png`   | `…/GB_Kung_Fu_Man_Walk_WEST_strip4.png`                    |
| `walk-4ways.png`  | `…/Kung_Fu_Man_SpriteSheet_Walk_4ways.png`                 |

16×24, four directions, three shades plus transparency. Only the walk cycle was
vendored from `GB Kung Fu Man 4way.zip`. Pixels untouched.

## pebonius-gb-mini/

**gb mini pixel world** by **pebonius**
Licence: **CC0 1.0 Universal** — "you don't gotta credit, but you can link to this page
or say pebonius made this."
Source: <https://opengameart.org/content/gb-mini-pixel-world>
Retrieved: 2026-09-11

`pc-walk-{down,up,left,right}{1,2}.png` and `tileset.png`, unpacked from
`gb-mini-pixel-world.zip`; the 4× preview copies and GIFs were not vendored. 16×16,
top-down, bgb palette. These files ship **without transparency** — the sprite sits on a
flat Paper background — so the build script flood-fills Paper to transparent from the
border before measuring, exactly as it does for ArMM1998's dither. Paper *inside* the
drawing survives. Pixels untouched.

## generated/ — Lesson 05 additions

Also mechanical, also from `../build-examples.py`:

- `frame-{character}-{direction}.png` — one standing frame per direction, cropped to its
  bounding box (Chasersgaming's eight stray orange pixels erased; pebonius's flat
  background cleared).
- `proportion-{character}.png` — the down, up and side frames placed side by side with
  their feet on one line.
- `head-band-{character}.png` — the down frame with every row below the pinned head
  split recoloured to one flat neutral. The split row is a pinned constant in the script.
- `front-back-{character}.png` — the down and up silhouettes, bottom-centred on one
  canvas, and a third panel marking only the pixels that differ.
