# game/img — credits ## atlas.webp The sprite sheet for Skyland Survival (`game/js/game.js`). Every sprite on it is rendered and kitbashed from **Kenney**'s CC0 3D kits — Nature, Holiday, Fantasy Town, Pirate, Survival, Food, Graveyard and Tower Defense — by `tools/render.mjs`. V21.121 added the last three of those, for the ten GOODS the camp carries and sells: a hay bale makes a fleece, a packed bedroll makes a bolt of cloth, a tinted fish makes a dried one. V21.122 added six more sprites off the same kits: the Orchard's apple trees, its cider press and its cider counter (the Orchard used to keep bees), the market square's lamppost and its string of lights, and — for anybody crossing the bay — **Kenney's own canoe**, from the Nature kit, which replaced a hull this repo had drawn by hand. V21.123 rebuilds the orchard trees and harvest rows, adds fruitless tree variants, and grounds the cider press's wheel and barrels. These use the same models from the same mirror commit listed below; no new art source was added. V21.124 adds no art and removes none. It lays the fruitless `orchardTree` and `orchardTreeYoung` across the whole orchard wedge, which the fruited pair had shared until now, and the people go back to being drawn entirely by this repo's own canvas code. No figure on this map is a Kenney character model. * Source: * License: [Creative Commons Zero (CC0 1.0)](https://creativecommons.org/publicdomain/zero/1.0/) * Rendered from: at commit `3694c687`, a public community MIRROR of the library rather than Kenney's own download. Its README says it was built from a Kenney all-in-1 dump and it carries Kenney's standard CC0 notice. CC0 asks for nothing and nothing here turns on the provenance, but a sheet is only as trustworthy as the files it was rendered from, so this says which files those were. CC0 places the work in the public domain and asks for nothing, including attribution. Kenney is credited here anyway, because a person made these and art keeps its maker's name. The compositions — which pieces make a hall, a fishmonger, a peat clamp — are this repo's, in `tools/recipes.json`, and carry the repo's own license. The sheet is a derivative of CC0 work and is not encumbered. ## V21.127 supplied models * **Low Poly Sheep**, by **The_Cyborg_Lord / Elijah_The_Peacock**: [original model](https://sketchfab.com/3d-models/low-poly-sheep-20ef523bee784e4a939b4c5f8734edfc), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Attribution and license are embedded in the supplied GLB. Rendered to a small isometric sprite; the original mesh is preserved in `tools/sources/sheep.glb`. * **Gold**, by **Poly by Google**, supplied as `Gold by Poly by Google - 0w-WpQf7O9J.zip`. Its original OBJ geometry is preserved in `tools/sources/gold/`; the game renders it in silver-blue as iron. The supplied archive contains no separate license file. * **support.obj**, by **Kenney**, from the **Minigolf Kit** (CC0), supplied locally. Rendered horizontally in wood brown as the cut log; geometry is preserved in `tools/sources/support.obj`. * Fish use **Kenney Survival / fish.glb**, from the documented mirror above, recolored turquoise at render time and varied in hue in the game. The supplied non-Kenney fish archive is not used, following the requested Kenney fish choice. The sheep attribution and license apply to its portion of the combined atlas; the earlier description of the sheet as entirely CC0 no longer applies. ## terrain.png The map's tiles: the ground under the camp, its roads and its paving. Unlike the sheet above, **nothing on it comes from a kit.** Every tile is generated by `tools/terrain.mjs` out of its own geometry, and the whole of it is this repo's work under the repo's own license. What it does take from Kenney is the LOOK, on purpose, so the two sheets can be laid side by side on one map without a seam: * the camera, which is the game's own in both; * the slab — one world unit across, the same thickness, the same anchor; * the light, solved from the faces of the kits' own `snow-tile` and `tile` (see `lib/tiles.mjs`, `SHADE`), so a generated tile is shaded exactly as a kit tile would have been; * four base colours read off those kit tiles to the byte, so a snow variant beside Kenney's snow tile is the same snow. Reading a published colour value is not copying a work, and CC0 would not restrain it if it were. It is recorded here because the resemblance is the point and somebody should be able to find out why. ## The sound There is no audio file in this repository, and that is on purpose. Every sound the game makes is **synthesised at run time** by `makeAudio()` in `game/js/game.js`, out of Web Audio oscillators, filtered noise and one convolution impulse generated at boot. No sample is fetched, decoded or shipped. * Source: this repository, under the repo's own license. * License on the sounds themselves: none attaches. A waveform computed from arithmetic is not a recording of anything and carries no third-party right. It is written down here for the same reason the sheets above are: so that somebody asking "where did this come from, and may we ship it" finds the answer in the place they went looking. The practical reason for synthesising rather than sampling is that a sound that has to be fetched is one more thing to download before the game can play. ## V21.125 mine kitbash The mine uses `nature/cliff_cave_stone`, `mini-dungeon/wood-support`, `holiday/trainset-rail-straight`, `holiday/rocks-medium`, `holiday/rocks-small` and `fantasy-town/cart`, with their original textures, from the same Kenney CC0 mirror at commit `3694c687`. The recipe is in `tools/recipes.json`. No generated images or newly authored models are used. ## V21.126 fishing dock The Fishing Nets dock uses Kenney Pirate's `structure-platform-dock-small` and `barrel`; the rod support uses Survival's `campfire-fishing-stand`. Source: the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0. The live rope mesh, fishing line, colored fish and beveled ingot are drawn by the game's canvas code. Eight canoe headings are rendered from Nature's `canoe` and `canoe_paddle` at the same mirror revision. They preserve the isometric hull while turning. ## V21.132 helper houses and the water's edge The five helper houses are rebuilt off the same Kenney CC0 mirror at commit `3694c687`. Three of them used to be `modular-buildings/building-sample-house-a`, `-b` and `-c`, which are one house in three near-identical poses; each is now a four-wall kitbash out of **Fantasy Town**, so the five read apart from across the map: * Plains: `wall-wood-door`, `wall-wood-window-shutters`, `wall-wood`, `wall-wood-window-small` under `roof-point`, with `chimney-top`. * Mountains: `wall-door`, `wall-window-stone`, `wall`, `wall-window-small` under `roof-high-point`, with `chimney`. * Sea: `wall-wood-doorway-square`, `wall-wood-window-round`, `wall-wood`, `wall-wood-window-shutters` under `roof-flat`, with Pirate's `barrel` and `crate` outside. * Forest, unchanged: the Holiday snow-roofed log cabin. * Orchard: `wall-wood-doorway-round`, two `wall-wood-detail-cross`, `wall-window-shutters` under `roof`, with `chimney-top`. Two new props dress the water's edge, both from **Nature**: `reed` is `grass_leafsLarge` and `reedTall` is `crops_bambooStageB`. The bigger lake rocks are the existing Holiday boulders drawn at larger sizes, so no new rock art was added. The compositions are this repo's, as above. No new art SOURCE is introduced by this version: every model named here comes from the mirror and commit already recorded. ## V21.131 hiring-square icons The hiring squares beside each building carry a line icon of the job for sale, and those seven icons are **Tabler Icons** — `axe`, `pick`, `scissors`, `fish`, `apple`, `basket` and `package` from the outline set, transcribed unchanged as path data into `ICON_D` in `game/js/art.js`. * Source: , * License: [MIT](https://github.com/tabler/tabler-icons/blob/master/LICENSE) Nothing is fetched at run time and no file is shipped: the paths are text in the module, built into a `Path2D` once at first paint like every other sprite in that file. They are stroked in whatever colour the live theme hands them, so they follow the palette the way this repo's own vector art does. The choice of WHICH icon stands for which job — an axe on a Forest harvester, a pick in the Mountains, a basket on a crafter — is this repo's, and carries its own license. ## V21.134 the skydocks, the ships and the station The valley is an island now, so three sprites were cut for its edge, off the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0: * **skydock** — Pirate's `structure-platform-dock` and `structure-fence-sides`, with `mast` and `flag-high` standing at one corner as a mooring post. * **airship** and **airshipBig** — Pirate's `ship-small` and `ship-medium`, unmodified. They are sailing ships, and what makes them airships is that the game draws them in the air with a shadow on the ground under them. * **station** — re-cut off **Fantasy Town**: `wall-door`, `wall-window-shutters`, `wall` and `wall-window-small` under `roof-high-point`, with `lantern` by the door. It used to be the kit's own `stall` model with pillars and a gable over it, which is why a station used to look like a market stall. The rock hanging under the island, the sky behind it and the clouds drifting past it are drawn by the game's own canvas code and are not art sources. No generated images and no newly authored models are used. ## V21.136 the mine, the park, the sea shore and the facings More sprites off the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0: * **toolPick** and **toolShovel**: **Survival**'s `tool-pickaxe` and `tool-shovel`, held while mining. * **itGem** and **itGemBig**: **Tower Defense**'s `detail-crystal` and `detail-crystal-large`, tinted flat and re-coloured per gem at draw time. * **palm**, **palmBend**, **palmShort**: **Nature**'s `tree_palmTall`, `tree_palmBend` and `tree_palmShort`, on the Sea's strand. * **driftLog**: **Nature**'s `log`. * **bench** and **benchR1**: **Holiday**'s `bench`. * **bush**, **bushLarge**, **flowerRed**, **flowerYellow**, **flowerPurple**, **parkTree**: **Nature**'s `plant_bush`, `plant_bushLarge`, `flower_redA`, `flower_yellowA`, `flower_purpleA` and `tree_default`, in the town park. * **…R1**, **…R2**, **…R3** for every house and working building: the same recipes rendered from the other three sides. The shovel icon on the mining button is **Tabler Icons**' `shovel` (MIT, ), transcribed unchanged beside the other Tabler paths in `game/js/art.js`. **`game/img/clouds.webp`** is cut from a cloud pack the game's author supplied with this change (`Clouds_pack.zip`: four 8192-pixel-wide bands, each in colour and in greyscale, files dated 2024-08-03). The greyscale bands were cropped to their clouds, scaled to 2048 pixels wide and stacked into one sheet; nothing else was changed. The pack carried no licence file or author credit of its own, so where it came from before the author is not recorded here. It is used at the author's instruction. ## V21.135 the island's keel, the piers and the koi pond Seven more sprites, off the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0: * **cragStone** and **cragDirt** — **Nature**'s `cliff_block_stone` and `cliff_block_rock`. These are the stone and dirt CUBES the island's underside is built out of: one world unit on every side at the game's camera, so they tessellate with the map's own tiles. Each is rendered with its `grass` material tinted to match the rock beside it, because a block hanging under the turf has no turf on it. A note on where they came from, since the ask named the **Tower Defense** kit: that kit's ground pieces are thin SLABS — one unit across and a fifth of one tall — and a keel built of them is a stack of plates. Nature's cliff blocks are the same library, the same CC0 licence and the same camera, and they are cubes. * **cragRocks** — **Tower Defense**'s `detail-rocks-large`, scattered along the lip as rock broken off the edge. * **cragMoss** — **Nature**'s `hanging_moss`, hanging from the same lip. It is the library's only hanging plant; there are no vines in it. * **pier** and **pierPost** — **Pirate**'s `platform` and `structure-platform` at 0.62 scale: the planking a skydock runs out over the sky on, and the trestle under every third section of it. * **lily** and **lilyFlower** — **Nature**'s `lily_small` and `lily_large`, the pads on the town's two koi basins. The island's sky, its clouds and the water in the basins are still the game's own canvas code and its own generated tiles. No generated images and no newly authored models are used. ## V21.137 the Icon Zone's icons (game-icons.net) Every icon in the game's Icon Zone, on its hiring squares and on a station's building buttons is from **game-icons.net**, by Lorc, Delapouite and the other contributors credited there. * Source: (the author pointed at its montage, ). That site is not reachable from the environment this change was made in, so the paths were taken from the npm package **`@iconify-json/game-icons` 1.2.4**, which carries the same artwork as SVG path data, and transcribed unchanged into `GAME_ICONS` in `game/js/icons.js`. * License: [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) (). This entry is the attribution. * The thirty-seven used, as `key → game-icons name`: sleep → `night-sleep`, paint → `paint-brush`, roof → `house`, wall → `brick-wall`, move → `move`, rotate → `clockwise-rotation`, ok → `check-mark`, cancel → `cancel`, upgrade → `upgrade`, fish → `fishing-pole`, mine → `war-pick`, stop → `stop-sign`, rename → `quill-ink`, drop → `backpack`, establish → `flying-flag`, board → `zeppelin`, pond → `fish-bucket`, climb → `rope-coil`, chest → `open-treasure-chest`, shop → `shop`, srcSky → `sheep`, srcLand → `mining`, srcSea → `fishing-net`, srcLight → `axe-in-stump`, srcLife → `fruit-tree`, millSky → `spinning-wheel`, millLand → `anvil`, millSea → `fish-smoking`, millLight → `wood-pile`, millLife → `barrel`, hireSky → `shepherds-crook`, hireLand → `war-pick`, hireSea → `fishing-net`, hireLight → `wood-axe`, hireLife → `shiny-apple`, crafter → `wheelbarrow`, porter → `wooden-crate`. They are drawn filled in whatever colour the game hands them, and never recoloured in the file. The Tabler paths in `game/js/art.js` (V21.131, V21.136) are no longer drawn by the game and are kept only because the module still exports them. The little islands (V21.137) introduce no new art: their turf, rock and props are the existing sheet's tiles and sprites (`cragStone`, `cragDirt`, `crate`, `lantern`, `boulderSplit`, the region trees), and the rope is drawn by the game's canvas code. ## V21.141 the stalls, the mill houses and houses built in parts The stalls and mill houses below were reverted in V21.142, which put V21.140's own sprites back on the sheet unchanged; only the house parts remain. A full re-render, off the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0. No new art source was added; these are new compositions of pieces from kits already listed here: * **The Firewood Stall, the Cloth Stall and the Ironmonger**: **Survival**'s `structure-roof`, `structure-canvas` and `structure-metal-roof` over **Fantasy Town**'s `stall` counter, with **Nature**'s `log_stack` and `log_stackLarge`, **Survival**'s `bedroll-packed`, `resource-stone` and `workbench-anvil`, and **Pirate**'s `barrel` for the wares. * **The Spinning Shed**: **Fantasy Town**'s wood walls under `roof-point`, with its `chimney` standing on the roof. * **The Splitting Yard**: **Survival**'s `tree-trunk` and `tool-axe` with **Nature**'s log stacks. * **The Cider Press**: **Fantasy Town**'s wood walls under `roof-point`, with its `watermill` wheel on the side. * **Every house in three parts** (`Base`, `Floor`, `Roof`, in all four facings): the same kit pieces as the whole house, split into the ground floor, one storey with a window where the door was, and the roof, so a tall house is built of real floors. ## V21.145 the harvesters' tools and the skydocks' trestles Five new sprites, off the same [shorepine/kenney mirror](https://github.com/shorepine/kenney/tree/3694c687/3d) at commit `3694c687`, CC0. The tools a harvester holds used to be drawn by the game's own canvas code; they are Kenney's now: * **toolAxe** — **Survival**'s `tool-axe`, in the Forest. * **toolShears** — two of the **Weapon Pack**'s `knife_smooth`, crossed at the pivot, on the Plains. Kenney has no shears; this is the kitbash. * **toolPaddle** — **Pirate**'s `tool-paddle`, at the Sea's nets. * **toolBucket** — **Survival**'s `bucket`, the Orchard picker's pail. * The Mountains keep **toolPick**, Survival's `tool-pickaxe` (V21.136). And one for the skydocks: * **trestlePost** — the **Minigolf Kit**'s `support`, the wooden post its courses stand on. The game stands it between the underside of a pier and the rock face below the rim, at whatever rake the two points ask for, and builds each pier's trestle out of it. The sheet was not re-rendered: every sprite already on it was cut back out of the shipped `atlas.webp` by `tools/unpack.mjs`, the five above were rendered with `--only`, and the lot was packed again. ## V21.151 the stalls' banners The Cloth Stall's and the Ironmonger's banners hung in the air half a square off the stall at three of their four facings, because the kit's `banner-red` and `banner-green` are wall banners modelled against a wall at +0.4 and the recipes stood them out at ±0.58. They now hang from the eave, just outside the posts, in every facing (`tools/recipes.json`: `clothStall`, `clothStall0`, `ironStall`, `ironStall1`), and those four and their twenty-six turned and road-facing variants were re-rendered with `--only` on top of the shipped sheet cut back out by `unpack.mjs`; every other sprite is unchanged. These thirty were rendered from **Kenney's own downloads** rather than the mirror: **Fantasy Town Kit 2.0** () and the **Survival Kit** (), CC0. Before the recipe was changed the renderer reproduced the shipped `clothStallR1` and `ironStallR1` to the pixel from those downloads, so the two sources agree. No new art source is introduced.