Skip to content

Art Direction

Parkitect-adjacent, low-poly 3D that feels bright, readable, and playful. Clarity of systems first. Charm via color, silhouette, and animation timing.

  • Default: Perspective camera, shallow FOV 30–45°, orbit around ship center
  • Angle snaps: 0°, 90°, 180°, 270°
  • Pitch limits: 20°–55°
  • Deck visibility: deck toggle, auto-hide decks above cursor, optional X-ray on hover
  • Orthographic toggle for blueprint-style building
  • Time-of-day: static for demo; later add baked lighting variants
  • Base: soft brights with strong value contrast
  • Category hues
    • Cabins: teal family
    • Dining: warm yellow/orange
    • Entertainment: magenta/purple
    • Utilities/staff: cool gray/blue
    • Wellness/spa: mint/seafoam
  • Accent rules
    • Signage at +30–40% value contrast vs background
    • Danger/safety: saturated red and lime strips used sparingly
  • Flat colors with subtle roughness variation per material group
  • No photo textures; use trim sheets for edges, rails, and panel lines
  • Metallic accents: doors, railings, elevator frames
  • Water: simple plane with scrolling normal map, low spec gloss
  • Grid: 1 m unit. Wall modules 1×H m (H adjustable in 0.5 m steps). Doorway 1×2.0 m.
  • Core pieces
    • Floors: plain, carpet, tile variants (color-swapped)
    • Walls: solid, windowed, half-wall, glass partitions
    • Stairs: straight 1×3 m run; elevator shaft 2×2 m
    • Railings: deck edges, balcony separators
  • Room tokens (for readability)
    • Cabins: bed, side table, bathroom box, wardrobe token
    • Dining: table clusters, buffet counter, bar segment
    • Entertainment: stage riser, arcade cabinet, seating banks
    • Wellness: massage bed, treadmill, spa tub token
  • LOD policy: 3 tiers per module; collapse props into proxies at distance
Element Dimension Notes
Grid unit 1 m IJ horizontal, K up
Doorway 1.0 × 2.0 m (W×H) Matches tech docs
Wall height (module) H adjustable in 0.5 m steps Use increments of 0.5 m
Wall thickness 0.2 m Split across adjacent cells; adjust if readability demands
Floor thickness 0.2 m Counts toward vertical spacing
Railing height 1.1 m Deck edges and balcony separators
Railing thickness 0.1 m Use trim sheet for consistency
Stair run 1 × 3 m footprint Straight; per spec
Elevator shaft 2 × 2 m Per spec
Overlapping decks clearance 2.0 m (min) Vertical clearance between adjacent overlapping decks
Non-overlapping deck heights 1.0 m increments Use whole-metre steps only for deck-to-deck changes
Rotation increments Objects 90° / Decorations 45° 45° for décor only
Chair seat height 0.45 m For human scale references
Character height 1.6–1.7 m Exaggerated proportions allowed
Use case World-space bevel width Segments Notes
Default edges (most modules and props) 0.02–0.03 m 1–2 Primary highlight width for the “toy-scale” look
Small props / crowded edges 0.01–0.02 m 1–2 Use when the default bevel eats too much form
Hero touch edges (doors, railings, elevator frames) 0.03–0.04 m 2 For crisper, readable highlights on focal assets
Micro bevel (specular catch-only) 0.005–0.01 m 1 Use sparingly; if it doesn’t read at gameplay distance, remove it
  • Keep bevels in consistent world units, not proportional, unless the asset scale forces an exception.
  • Prefer low segment counts and let trims or smooth shading carry the highlight.
  • Validate at gameplay camera distances; adjust only if the highlight doesn’t read.
  • If gameplay or readability conflicts with a dimension, prefer readability. Update tech docs to match after testing.
  • Source kits
    • Use ONE primary low-poly kit to anchor style. Optionally ONE utility kit for odds & ends.
    • Reject assets that break the look: heavy PBR, photoreal normals, or noisy textures.
  • Palette and materials
    • Replace kit textures with flat colors or a shared trim sheet. Keep materials under 20 for demo.
    • Category colors: cabins teal, dining warm yellow/orange, entertainment magenta/purple, staff/utility cool gray/blue, wellness mint.
    • Emissives used sparingly for signage and panels.
  • Scale and proportions
    • Doors 1×2.0 m, stairs 1×3 m run, chairs 0.45 m seat height. Characters ~1.6–1.7 m.
    • “Toy scale” exaggeration: slightly chunkier props, larger signage.
  • Prefab discipline
    • Rebuild kit parts into game-ready prefabs with pivots snapped to grid, consistent LODs, and colliders.
    • Combine by room chunk at build time. Enable GPU instancing on static meshes.
  • Unifying touches
    • Trim sheet edges and railings applied consistently.
    • Decals for wayfinding, floor markings, and porthole frames to break repetition.
  • Lighting & post
    • One directional key + ambient probe. Gentle AO. Subtle color grade. Avoid hard shadows on low-poly seams.
  • UI/overlays as signature
    • Custom icon set and overlays define identity even when props are from a kit.
  • Week 1
    • Modifiers: array, mirror, bevel. Snapping and pivot/origin management.
    • Create a 1024–2048 trim sheet (edges, rails, panel lines). Export to engine and test on walls/rails.
  • Week 2
    • Model a signage set and railing trims using the trim sheet. UV basics focused on trims and solid colors.
    • Export FBX with unit scale 1 m and consistent naming.
  • Week 3+
    • One “hero” prop per month: elevator frame, bar counter segment, or stage riser. Keep under 800–1500 tris.
  • Style cohesion: matches low-poly, flat-color direction
  • Material count within budget, instancing enabled
  • Scale correct vs. doors/chairs/characters
  • LODs present, collision sane
  • Palette and decals applied
  • Ship exterior kept abstract in demo: flat sides with porthole decals
  • Bow/stern: use decorative angled walls and windows; treat taper space as non-usable
  • Edge trim sheet to sell curvature without complex geo
  • Style: tiny-body, bigger head, mitten hands
  • Rig: minimal, 12–15 bones. No fingers.
  • Variants via material color swaps and 2–3 accessory sockets (hat, hair, bag)
  • Animation set (demo)
    • Idle, walk, turn-in-place
    • Sit, eat/drink loop
    • React happy/annoyed emote
  • Scale exaggeration: heads 1.3–1.5× body width for readability
  • Screen-space UI. Room category bar with color-coding.
  • Overlays
    • Needs heatmap: quantized 5-step gradient, color-blind friendly
    • Path preview: dotted line with arrowheads, desaturated when obstructed
    • Selection outline: thick solid color, no glow
  • Iconography: simple silhouette, single-color glyphs with knockouts
  • Hybrid: single directional key light, ambient probe
  • Interiors: emissive panels for rooms, avoid complex shadow maps in demo
  • Color temperature: warm interiors, neutral daylight
  • Minimal VFX: confetti burst for milestone, gentle steam for spa, sparkle for clean room
  • Water wake: scrolling texture at stern only if performance allows
  • Target: 60 FPS on mid-range laptop GPU
  • Policies
    • GPU instancing on all static props
    • Combine meshes by room chunk at build
    • Culling: per-deck and per-room groups
    • AI update throttling by camera distance
  1. Blockout in engine using primitives
  2. Model minimal hero versions in Blender with mirror/array
  3. Create trim sheet (1024–2048) for edges and rails
  4. UV quickly, use tiling where possible
  5. Export FBX with consistent pivots and 1 m units
  6. Set up prefab variants driven by color materials
  • Structures: 6 floor tiles, 6 wall variants, railing set, door, stair, elevator
  • Props: 25 core props across cabins, dining, entertainment, wellness
  • Signage: 10 icons, 6 wayfinding boards
  • Characters: 1 passenger base, 1 crew base, 5 material variants each
  • Parkitect: camera feel, color blocking, modularity
  • Two Point Hospital: character charm, signage clarity
  • Islanders: minimalism and color surfaces
  • Visual noise: enforce palette limits per room
  • Occlusion: aggressive deck/ceiling auto-hide and X-ray on hover
  • Scope creep: stick to kitbashing, defer unique hero meshes
  • Do we want outlines on selection only or always-on toon edge? Start selection-only.
  • Water inside portholes animated or static decal? Start static.
  • Orthographic blueprint build as separate mode or toggle? Start as toggle.