@sprite-foundry/fantasy-villains-hd
v1.0.1
Published
Fantasy Villains HD | 16 villain archetypes × 8 directions × 4 layers | high-fidelity 2.5D de-lit sprite pack (512px, engine-relightable)
Downloads
410
Maintainers
Readme
16 high-fidelity 2.5D fantasy villains — de-lit, engine-relightable, 8-direction. The HD companion to @sprite-foundry/fantasy-villains-48: the same rogues' gallery and the same export contract, rebuilt at illustration fidelity for games that light their sprites at runtime (HD-2D / 2.5D). A full antagonist roster — dark mirrors of the heroes, plus mid-bosses and monsters.

Why de-lit?
These sprites carry form and material; your engine supplies the light. That is the HD-2D contract (Octopath Traveler, Sea of Stars): a placed light casts real shadows, the normal map turns a flat billboard into volume, the mask's ambient-occlusion deepens the folds and its roughness lets blackened steel catch a highlight the robe doesn't. The same villain reads correctly at noon, at dusk, and in a torch-lit throne room — from one pack.
What's Included
16 villain archetypes, each with 8 directional views × 4 map layers at 512×512, foot-anchored (pivot [0.5, 1.0]):
| Variant | Role | Identity cue | |---------|------|--------------| | Blackguard | Elite tank | Blackened plate, horned helm, halberd | | Dread Ranger | Ranged hunter | Black hooded cloak, recurve bow, red emblem | | Necromancer | Summoner / caster | Dark cloak, hollow-eyed stare, skull-topped staff | | Assassin | Flanker | Green-black leather, hood, twin curved daggers | | Cult Priest | Support / debuffer | Deep-red ritual robes, horned headdress | | Reaver | Heavy damage | Bare scarred chest, massive cleaver | | Warlord | Commander | Red-and-gold armor, plumed helm, cape | | Dark Monk | Fast specialist | Bald, black-grey martial robes, red sash | | Vampire Lord | Aristocratic undead | Ornate black-and-crimson robes, dark crown, high collar | | Gorgon | Petrifying monster | Snake hair, green scales, bronze Greek armor | | Mind Tyrant | Psychic overlord | Tentacled face, psychic crown, purple robes | | Corrupted Paladin | Fallen holy warrior | Cracked holy armor, dark broken halo | | Witch | Forest curse weaver | Dark green robes, tall crooked hat | | Bandit King | Outlaw warlord | Fur cloak, crown of thorns, twin swords | | Dark Elf Matriarch | Spider-themed ruler | White hair, dark-purple robes, spider motif | | Plague Doctor | Pestilence bringer | Bird-beak mask, dark waxed coat, censer |
The four layers
| Layer | What it is | Use it for | |---|---|---| | albedo | de-lit base colour — no baked light, shadow, or AO | the sprite; your engine lights it | | normal | view-space surface normals — OpenGL-style (Y up), blue ≈ toward camera (flip green for DirectX) | real-time directional lighting | | mask | R = ambient occlusion · G = roughness · B = emissive | contact shadows, material sheen, self-glow | | depth | linear camera-distance (white = near) | parallax / tooling (not 2D lighting) |
Every layer is pixel-aligned across the 8 directions; each villain ships a manifest.json (schema_version 2.0.0) with a per-file SHA-256, the pivot, the mask channel map, and per-engine notes.
Install
npm install @sprite-foundry/fantasy-villains-hdFolder Structure
assets/
blackguard/
albedo/ 8 directional PNGs (front, front_left, left, back_left, back, back_right, right, front_right)
normal/ 8 matching view-space normal maps
mask/ 8 matching AO/roughness/emissive masks
depth/ 8 matching depth maps
manifest.json
...15 moreEngine Compatibility
Plain PNG + JSON — load them anywhere, then wire the layers into your lighting pipeline:
- Godot 4 —
albedoon aSprite2D,normalviaCanvasTexture.normal_texture, aPointLight2D; samplemask.gfor specular,mask.rto modulate ambient. - Unity URP (2D) —
albedo→_BaseMap,normal→_NormalMap,mask→_MaskMap(R=AO, G=roughness). - Phaser / PixiJS / custom —
albedo+normalinto the 2D lighting pipeline;mask/depthare tooling-side.
manifest.json carries the per-engine notes in engineNotes. No engine-specific format, no runtime dependency.
The -hd line vs the 48 line
fantasy-villains-48 (retro 48px pixel-art) and fantasy-villains-hd are parallel tiers, not a breaking upgrade. Same 16 villains, same direction order, same foot-anchored framing — ship the 48px pack for a pixel game, ship -hd for a high-fidelity 2.5D game. Pick the tier your renderer wants.
Specs
- Variants: 16 villain archetypes
- Tile size: 512 × 512 px
- Directions: 8
- Layers: albedo + normal + mask (AO/roughness/emissive) + depth
- Total sprites: 512 (16 × 8 × 4)
- Format: transparent PNG +
manifest.json(schema 2.0.0) - Pivot:
[0.5, 1.0](foot-anchored)
How it's made (and why it's commercial-clean)
Each villain starts as a fresh high-fidelity concept in a house-trained painterly style (Qwen-Image, Apache-2.0). The 8 directional views are generated without a 3D mesh — Qwen-Image-Edit-2511 (Apache-2.0) rotates the camera around the character while holding identity, so the face and detail survive every angle. Each view is then decomposed into its 2.5D layers by single-image estimators: a de-lit albedo + roughness from Marigold-IID (Apache-2.0 code, OpenRAIL weights — commercial-OK), real surface normals from Marigold-Normals, depth from Depth-Anything-V2-Base (Apache-2.0), a clean alpha matte from BiRefNet (MIT), and ambient occlusion derived from the depth — then packed to the contract above. The original fantasy-villains-48 silhouette, palette, and signature prop are preserved per villain. Identity stays in the image model — no InsightFace / InstantID / face-adapter weights (which carry non-commercial licenses) touch this pack. Every component is Apache-2.0 / MIT / commercial-OpenRAIL; the assets are yours to ship.
Security
This package contains only static PNG images and JSON metadata — no executable code, no install hooks, no network access, no telemetry. See SECURITY.md.
License
MIT — use in commercial and non-commercial projects.
Credits
Built by MCP Tool Shop with the Sprite Foundry no-mesh 2.5D pipeline (Qwen-Image + Qwen-Image-Edit + Marigold + Depth-Anything-V2).
