算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
gamedev-2d-art-character-design【设计与创意】Character design for 2D games: silhouette-first methodology, character- to-tile size ratio, expressions in low resolution (eye / mouth pixel placement), anatomy shortcuts in pixel art, faction/role visual language (silhouette + palette identifying class), walk cycle conveying weight and attitude. USE WHEN: designing a new character, fixing unreadabl…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: gamedev-2d-art-character-design description: | Character design for 2D games: silhouette-first methodology, character- to-tile size ratio, expressions in low resolution (eye / mouth pixel placement), anatomy shortcuts in pixel art, faction/role visual language (silhouette + palette identifying class), walk cycle conveying weight and attitude.
Character design in pixel art = silhouette + palette + a few decisive pixels. At small resolutions, every pixel matters.
Black-out the character and judge readability. If the silhouette tells the story, the rest is detail.
If no, the silhouette is wrong. No amount of detail will fix it.
Generic humanoid blob → unreadable. Silhouette with: tall hat + cape + sword pointing right → instantly "warrior".
Match character size to gameplay needs:
Game style Char width × height (px) Tile size
Top-down RPG (Stardew) 16 × 32 16 px
Top-down adventure 16 × 24 16 px
Platformer (Celeste) 8 × 11 8 px
Platformer (Cuphead) 96 × 128 - (no tilemap)
Action 2D (HK) ~80 × 100 varies
Tactical RPG iso 24 × 32 24 px
JRPG overworld 16 × 16 16 px
Width matters for collider more than visuals — make collider snug to the in-game body, not the entire sprite (cape, hair shouldn't collide).
Height matters for camera framing — short character = lots of visible scenery; tall character = framed close.
At 16×16 sprite, you have ~3 pixels for an eye, 1-2 for a mouth. Limited expressiveness.
Even if main animation is shared, emotional expressions can be authored as face-only frames (just eyes + mouth) and overlaid on the body. Saves art cost. Used in many JRPGs.
States to author: neutral, happy, angry, surprised, sad, hurt, thinking (7 covers most needs).
At 32×32, full anatomical accuracy is impossible. Use shortcuts:
Round shape with hair / hat detail. Skip ears, neck, hairline. The silhouette tells you "head".
Wider shoulders / hips, narrower waist (or vice versa). Avoid square torso (looks blocky).
Upper arm + forearm + hand can be 3 pixels each. Joints not visible when in idle pose, articulate during animation.
Hair is usually a blob attached to head shape. Avoid pixel-by-pixel strands in low-res — looks noisy. Use 1-2 darker shade values for internal hair shading.
At 16×16, hands are 2-3 pixels — basically "abstract paws". Detailed hands only at 32×32+. For wielding: anchor weapon to a fixed shoulder/ hand pixel; hand detail is implied.
Players read characters quickly when factions have consistent visual codes:
(Adjust to your game; the principle is consistency, not specific colors.)
Same faction shares silhouette traits: all knights have helmets, all mages have cloaks, all rogues have hoods. Player learns the language in seconds.
Bigger sprite = bigger threat. Spikes / horns / claws on enemies = "dangerous". Friendly NPCs are smaller, rounder, less detail. Players parse this without conscious thought.
Stylized 2D often uses cliché shorthand: long hair = female, beard = male, etc. This works for readability but limits design space. Modern indies often subvert deliberately. Choose based on game tone.
The walk cycle is where character "feels". Different characters walk differently:
Sample 8-frame walk for "heavy hero":
F1: contact, weight forward, 1px bob down
F2: full down position (lowest), recoil
F3: passing position, body lifting
F4: up position (highest), light moment
F5-F8: mirror of F1-F4 (other foot)
For light hero, compress to 6 frames, reduce vertical bob, faster cadence.
In a busy crowd scene, the player MUST stand out:
Stardew Valley uses palette differentiation; Celeste uses size + distinctive hair.