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
- Blockout in engine using primitives
- Model minimal hero versions in Blender with mirror/array
- Create trim sheet (1024–2048) for edges and rails
- UV quickly, use tiling where possible
- Export FBX with consistent pivots and 1 m units
- 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.