Harbour Kit v1 - Asset Checklist¶
Published mirror · Source of truth: pending in
Captainswords.app/docs· See also Harbour Kit v1
Purpose¶
This checklist tracks the exact assets needed to build Harbour Kit v1 for CaptainsWorld.
The goal is to create a small but reusable top-down harbour world that can support:
- bottle arrival
- first guided movement
- Fisherman missions
- Harbour Master missions
- Pier Manager cargo missions
- Captain's Words activities
- Captain's Numbers activities
- first boat unlock
- transition toward the lighthouse
This is not a final art list for the whole product.
This is the minimum reusable kit needed to prove the mission architecture.
1. Terrain Tiles¶
Water¶
- [ ]
water_tile_base - [ ]
water_tile_variant_01 - [ ]
water_tile_variant_02 - [ ]
water_edge_top - [ ]
water_edge_bottom - [ ]
water_edge_left - [ ]
water_edge_right - [ ]
water_corner_inner_top_left - [ ]
water_corner_inner_top_right - [ ]
water_corner_inner_bottom_left - [ ]
water_corner_inner_bottom_right - [ ]
water_corner_outer_top_left - [ ]
water_corner_outer_top_right - [ ]
water_corner_outer_bottom_left - [ ]
water_corner_outer_bottom_right
Shore / Sand¶
- [ ]
sand_tile_base - [ ]
sand_tile_variant_01 - [ ]
sand_tile_variant_02 - [ ]
wet_sand_overlay - [ ]
sand_to_water_edge_top - [ ]
sand_to_water_edge_bottom - [ ]
sand_to_water_edge_left - [ ]
sand_to_water_edge_right - [ ]
sand_to_grass_edge_top - [ ]
sand_to_grass_edge_bottom - [ ]
sand_to_grass_edge_left - [ ]
sand_to_grass_edge_right
Grass¶
- [ ]
grass_tile_base - [ ]
grass_tile_variant_01 - [ ]
grass_tile_variant_02 - [ ]
grass_detail_patch_01 - [ ]
grass_detail_patch_02 - [ ]
small_flower_patch - [ ]
small_bush_patch
Wooden Dock¶
- [ ]
dock_tile_base - [ ]
dock_tile_variant_01 - [ ]
dock_edge_top - [ ]
dock_edge_bottom - [ ]
dock_edge_left - [ ]
dock_edge_right - [ ]
dock_corner_top_left - [ ]
dock_corner_top_right - [ ]
dock_corner_bottom_left - [ ]
dock_corner_bottom_right - [ ]
dock_post - [ ]
dock_post_with_rope
Stone Path¶
- [ ]
stone_path_tile_base - [ ]
stone_path_tile_variant_01 - [ ]
stone_path_edge_top - [ ]
stone_path_edge_bottom - [ ]
stone_path_edge_left - [ ]
stone_path_edge_right - [ ]
stone_path_corner_top_left - [ ]
stone_path_corner_top_right - [ ]
stone_path_corner_bottom_left - [ ]
stone_path_corner_bottom_right
2. Environmental Details¶
Shore Details¶
- [ ]
small_shell_01 - [ ]
small_shell_02 - [ ]
small_pebble_01 - [ ]
small_pebble_02 - [ ]
seaweed_patch_01 - [ ]
seaweed_patch_02 - [ ]
footprints_sand - [ ]
foam_strip_small - [ ]
foam_strip_long
Harbour Details¶
- [ ]
rope_coil - [ ]
anchor_small - [ ]
wooden_bench - [ ]
notice_post - [ ]
lamp_post_off - [ ]
lamp_post_on - [ ]
small_flag - [ ]
hanging_flags - [ ]
harbour_bell
Nature¶
- [ ]
tree_small - [ ]
tree_medium - [ ]
bush_round - [ ]
bush_wide - [ ]
flower_patch_yellow - [ ]
flower_patch_white - [ ]
rock_small - [ ]
rock_medium - [ ]
rock_cluster
3. Buildings¶
Harbour Office¶
- [ ]
harbour_office_base - [ ]
harbour_office_door - [ ]
harbour_office_window - [ ]
harbour_office_sign - [ ]
harbour_office_notice_board - [ ]
harbour_office_lit_overlay - [ ]
harbour_office_shadow
Fisherman Hut / Stall¶
- [ ]
fisherman_hut_base - [ ]
fisherman_hut_roof - [ ]
fisherman_hut_sign - [ ]
fisherman_hut_table - [ ]
fisherman_hut_shadow
Market Stall¶
- [ ]
market_stall_empty - [ ]
market_stall_active - [ ]
market_stall_canopy - [ ]
market_stall_table - [ ]
market_stall_shadow
Storage Shed¶
- [ ]
storage_shed_base - [ ]
storage_shed_door - [ ]
storage_shed_window - [ ]
storage_shed_shadow
4. Captain Assets¶
Required Movement States¶
- [ ]
captain_idle_down - [ ]
captain_idle_up - [ ]
captain_idle_left - [ ]
captain_idle_right - [ ]
captain_walk_down_frame_01 - [ ]
captain_walk_down_frame_02 - [ ]
captain_walk_down_frame_03 - [ ]
captain_walk_down_frame_04 - [ ]
captain_walk_up_frame_01 - [ ]
captain_walk_up_frame_02 - [ ]
captain_walk_up_frame_03 - [ ]
captain_walk_up_frame_04 - [ ]
captain_walk_left_frame_01 - [ ]
captain_walk_left_frame_02 - [ ]
captain_walk_left_frame_03 - [ ]
captain_walk_left_frame_04 - [ ]
captain_walk_right_frame_01 - [ ]
captain_walk_right_frame_02 - [ ]
captain_walk_right_frame_03 - [ ]
captain_walk_right_frame_04
Optional Interaction States¶
- [ ]
captain_reading - [ ]
captain_happy - [ ]
captain_pointing - [ ]
captain_surprised - [ ]
captain_holding_bottle - [ ]
captain_holding_scroll
Outfit States¶
- [ ]
captain_basic_outfit_idle_down - [ ]
captain_uniform_idle_down - [ ]
captain_uniform_idle_up - [ ]
captain_uniform_idle_left - [ ]
captain_uniform_idle_right
Optional later:
- [ ]
captain_uniform_walk_down_spritesheet - [ ]
captain_uniform_walk_up_spritesheet - [ ]
captain_uniform_walk_left_spritesheet - [ ]
captain_uniform_walk_right_spritesheet
5. NPC Assets¶
Each NPC needs five MVP emotional states.
Fisherman¶
- [ ]
fisherman_idle - [ ]
fisherman_talk - [ ]
fisherman_worried - [ ]
fisherman_point - [ ]
fisherman_happy
Optional later:
- [ ]
fisherman_walk - [ ]
fisherman_carrying_bucket - [ ]
fisherman_celebrate
Harbour Master¶
- [ ]
harbour_master_idle - [ ]
harbour_master_talk - [ ]
harbour_master_worried - [ ]
harbour_master_point - [ ]
harbour_master_happy
Optional later:
- [ ]
harbour_master_holding_map - [ ]
harbour_master_celebrate
Pier Manager¶
- [ ]
pier_manager_idle - [ ]
pier_manager_talk - [ ]
pier_manager_worried - [ ]
pier_manager_point - [ ]
pier_manager_happy
Optional later:
- [ ]
pier_manager_holding_clipboard - [ ]
pier_manager_celebrate
Shopkeeper / Market Helper¶
- [ ]
shopkeeper_idle - [ ]
shopkeeper_talk - [ ]
shopkeeper_worried - [ ]
shopkeeper_point - [ ]
shopkeeper_happy
Optional later:
- [ ]
shopkeeper_holding_basket - [ ]
shopkeeper_celebrate
6. Universal Props¶
These props should be reusable across multiple missions.
Cargo / Storage¶
- [ ]
crate_empty - [ ]
crate_closed - [ ]
crate_open - [ ]
barrel - [ ]
basket_empty - [ ]
bucket_empty - [ ]
cargo_cart_empty - [ ]
cargo_cart_loaded
Fishing Props¶
- [ ]
fishing_net_normal - [ ]
fish_token_01 - [ ]
fish_token_02 - [ ]
fish_token_03 - [ ]
fishing_rod - [ ]
bait_box - [ ]
fish_table - [ ]
small_anchor
Harbour Props¶
- [ ]
rope_straight - [ ]
rope_coiled - [ ]
rope_tied - [ ]
wooden_sign_blank - [ ]
wooden_sign_labelled - [ ]
signpost_blank - [ ]
signpost_labelled - [ ]
lantern_off - [ ]
lantern_on - [ ]
wooden_plank - [ ]
map_board_blank - [ ]
paper_note - [ ]
scroll_closed - [ ]
scroll_open - [ ]
message_bottle - [ ]
small_boat_empty - [ ]
small_boat_ready
Collectible / Feedback Props¶
- [ ]
trust_token - [ ]
harbour_stamp - [ ]
map_fragment - [ ]
rope_knot_reward - [ ]
fish_token_reward - [ ]
delivery_stamp
7. Mission Props and States¶
These are the props that visibly change during missions.
Repairable Props¶
Fishing Net¶
- [ ]
fishing_net_broken - [ ]
fishing_net_repaired
Metadata needed:
- [ ] repair points
- [ ] stitch FX anchors
- [ ] completion sparkle anchor
Broken Basket¶
- [ ]
basket_broken - [ ]
basket_repaired
Metadata needed:
- [ ] repair anchor
- [ ] snap animation anchor
- [ ] completion sparkle anchor
Fallen Sign¶
- [ ]
sign_fallen - [ ]
sign_fixed
Metadata needed:
- [ ] label anchor
- [ ] pop animation anchor
- [ ] completion sparkle anchor
Broken Plank / Dock Gap¶
- [ ]
dock_gap - [ ]
dock_plank_fixed
Metadata needed:
- [ ] plank placement anchor
- [ ] dust FX anchor
- [ ] completion sparkle anchor
Revealable Props¶
Faded Crate Label¶
- [ ]
crate_label_faded - [ ]
crate_label_clear
Metadata needed:
- [ ] text anchor
- [ ] ink reveal mask
- [ ] glow anchor
Harbour Map Board¶
- [ ]
map_board_blank - [ ]
map_board_partial - [ ]
map_board_revealed
Metadata needed:
- [ ] reveal mask
- [ ] route line anchors
- [ ] map glow anchor
Old Letter / Scroll¶
- [ ]
scroll_blank - [ ]
scroll_revealed
Metadata needed:
- [ ] text area anchor
- [ ] ink reveal mask
- [ ] glow anchor
Fillable Props¶
Basket Fill System¶
- [ ]
basket_empty - [ ]
basket_slot_positions_metadata - [ ]
fish_token
Optional:
- [ ]
basket_full_overlay
Cargo Boat Fill System¶
- [ ]
cargo_boat_empty - [ ]
cargo_boat_slot_positions_metadata - [ ]
crate - [ ]
barrel - [ ]
basket
Optional:
- [ ]
cargo_boat_full_overlay
Bucket Fill System¶
- [ ]
bucket_empty - [ ]
bucket_fill_overlay - [ ]
bucket_slot_positions_metadata
Progressive Props¶
Fog Route¶
- [ ]
fog_full_overlay - [ ]
fog_half_overlay - [ ]
fog_clear_state
Alternative implementation:
- [ ] procedural fog particle layer
- [ ] opacity control
Harbour Activity State¶
- [ ]
harbour_quiet_overlay - [ ]
harbour_warm_overlay - [ ]
harbour_active_overlay
Alternative implementation:
- [ ] control via NPC visibility
- [ ] prop states
- [ ] lighting overlays
- [ ] market stall state
Boat Unlock¶
- [ ]
boat_unavailable - [ ]
boat_ready - [ ]
boat_departing_optional
Metadata needed:
- [ ] boarding anchor
- [ ] route transition anchor
- [ ] sparkle anchor
8. FX Library¶
Core Feedback FX¶
- [ ]
sparkle_success - [ ]
soft_glow - [ ]
wrong_wobble - [ ]
soft_error_pulse - [ ]
object_pop - [ ]
small_bounce - [ ]
soft_shine
Mission FX¶
- [ ]
letter_fly_to_target - [ ]
number_fly_to_target - [ ]
stitch_line - [ ]
ink_reveal - [ ]
dust_puff - [ ]
water_splash - [ ]
rope_tighten - [ ]
crate_snap - [ ]
label_reveal - [ ]
fog_clear - [ ]
lantern_light_up
Ambient FX¶
- [ ]
water_shimmer - [ ]
wave_loop_small - [ ]
seagull_shadow - [ ]
flag_flutter - [ ]
lamp_glow_loop - [ ]
floating_sparkle_indicator
9. UI Assets¶
Dialogue UI¶
- [ ]
dialogue_box_base - [ ]
dialogue_box_nameplate - [ ]
dialogue_continue_arrow - [ ]
npc_portrait_frame - [ ]
mission_objective_banner
Mission UI¶
- [ ]
letter_tile_base - [ ]
letter_tile_selected - [ ]
letter_tile_correct - [ ]
letter_tile_wrong - [ ]
word_slot_empty - [ ]
word_slot_filled - [ ]
word_slot_correct - [ ]
word_slot_wrong - [ ]
number_tile_base - [ ]
number_tile_selected - [ ]
number_tile_correct - [ ]
number_tile_wrong
Buttons¶
- [ ]
button_primary - [ ]
button_secondary - [ ]
button_icon_back - [ ]
button_icon_continue - [ ]
button_icon_audio - [ ]
button_icon_repeat - [ ]
button_icon_help
Indicators¶
- [ ]
interaction_arrow - [ ]
sparkle_indicator - [ ]
mission_available_icon - [ ]
mission_complete_icon - [ ]
locked_path_icon - [ ]
trust_gain_indicator
10. Interaction Metadata¶
These are not images, but they are required for the engine to use the assets.
Prop Metadata¶
- [ ]
fishing_net.metadata.yaml - [ ]
basket.metadata.yaml - [ ]
crate.metadata.yaml - [ ]
signpost.metadata.yaml - [ ]
lantern.metadata.yaml - [ ]
map_board.metadata.yaml - [ ]
cargo_boat.metadata.yaml - [ ]
message_bottle.metadata.yaml
Each prop metadata file should include:
id:
category:
archetype:
states:
allowedPatterns:
allowedMechanics:
effects:
anchors:
interactionZones:
NPC Metadata¶
- [ ]
fisherman.metadata.yaml - [ ]
harbour_master.metadata.yaml - [ ]
pier_manager.metadata.yaml - [ ]
shopkeeper.metadata.yaml
Each NPC metadata file should include:
id:
category:
defaultLocation:
states:
missionDomains:
preferredVerbs:
preferredProps:
dialogueTone:
Map Metadata¶
- [ ]
harbour_map_zones.yaml - [ ]
harbour_collision_map - [ ]
harbour_interaction_zones.yaml - [ ]
harbour_npc_spawn_points.yaml - [ ]
harbour_locked_paths.yaml - [ ]
harbour_world_state_rules.yaml
11. First Missions Supported¶
These are the first missions the kit should support.
Mission 1: Bottle Arrival¶
Required assets:
- [ ]
shore_area - [ ]
message_bottle - [ ]
sparkle_indicator - [ ]
scroll_open - [ ]
captain_idle - [ ]
dialogue_box_base
Required FX:
- [ ]
floating_sparkle_indicator - [ ]
object_pop - [ ]
soft_glow
Required metadata:
- [ ] bottle interaction zone
- [ ] bottle pickup trigger
- [ ] scroll text area
Mission 2: Fisherman Net Repair¶
Required assets:
- [ ]
fisherman_idle - [ ]
fisherman_talk - [ ]
fisherman_worried - [ ]
fisherman_happy - [ ]
fishing_net_broken - [ ]
fishing_net_repaired - [ ]
letter_tile_base - [ ]
word_slot_empty
Required FX:
- [ ]
letter_fly_to_target - [ ]
stitch_line - [ ]
sparkle_success - [ ]
wrong_wobble
Required metadata:
- [ ] net repair points
- [ ] letter target anchor
- [ ] NPC reaction mapping
Mission 3: Restore Crate Labels¶
Required assets:
- [ ]
crate_empty - [ ]
crate_label_faded - [ ]
crate_label_clear - [ ]
letter_tile_base - [ ]
fisherman_or_shopkeeper_states
Required FX:
- [ ]
ink_reveal - [ ]
soft_glow - [ ]
sparkle_success - [ ]
wrong_wobble
Required metadata:
- [ ] crate text anchor
- [ ] label reveal mask
- [ ] crate completion anchor
Mission 4: Sort the Catch¶
Required assets:
- [ ]
fish_table - [ ]
fish_token_01 - [ ]
fish_token_02 - [ ]
fish_token_03 - [ ]
labelled_crates - [ ]
fisherman_states
Required FX:
- [ ]
object_pop - [ ]
small_bounce - [ ]
sparkle_success - [ ]
wrong_wobble
Required metadata:
- [ ] draggable fish zones
- [ ] crate drop zones
- [ ] category labels
Mission 5: Load the Cargo¶
Captain's Numbers prototype.
Required assets:
- [ ]
pier_manager_states - [ ]
cargo_boat_empty - [ ]
crate - [ ]
barrel - [ ]
basket - [ ]
cargo_cart_empty
Required FX:
- [ ]
object_pop - [ ]
small_bounce - [ ]
sparkle_success - [ ]
crate_snap
Required metadata:
- [ ] cargo boat slot positions
- [ ] draggable cargo zones
- [ ] cargo target zone
- [ ] counter position
Mission 6: Share Fish Fairly¶
Captain's Numbers prototype.
Required assets:
- [ ]
fisherman_states - [ ]
fish_token - [ ]
basket_empty - [ ]
delivery_cart_empty - [ ]
house_door_or_family_marker_01 - [ ]
house_door_or_family_marker_02 - [ ]
house_door_or_family_marker_03
Required FX:
- [ ]
object_pop - [ ]
small_bounce - [ ]
sparkle_success - [ ]
soft_glow
Required metadata:
- [ ] basket slot positions
- [ ] basket drop zones
- [ ] group counters
- [ ] correct distribution rule
12. World Progression Assets¶
Harbour State 0: Quiet Harbour¶
- [ ]
market_stall_empty - [ ]
lamp_post_off - [ ]
boat_unavailable - [ ]
fog_full_overlay - [ ] fewer NPCs visible
Harbour State 1: Harbour Warming Up¶
- [ ]
market_stall_active - [ ]
lamp_post_on - [ ]
organized_crates - [ ]
fog_half_overlay - [ ] more NPCs visible
Harbour State 2: Harbour Ready¶
- [ ]
boat_ready - [ ]
captain_uniform_unlocked - [ ]
fog_clear_state - [ ]
route_marker_lighthouse - [ ]
harbour_active_overlay
13. Major Story Moment Assets¶
These can be more illustrated/premium than the regular top-down map.
Optional Storybook Illustrations¶
- [ ]
storybook_bottle_arrival - [ ]
storybook_harbour_master_gives_boat - [ ]
storybook_captain_receives_uniform - [ ]
storybook_first_sailing_to_lighthouse - [ ]
storybook_lighthouse_visible_in_distance
These are optional for MVP, but they can make the major moments feel special.
14. Priority Levels¶
Use these labels when producing assets.
P0 — Required for first playable mission¶
- [ ] water tile
- [ ] sand tile
- [ ] dock tile
- [ ] captain idle/walk
- [ ] fisherman 5 states
- [ ] message bottle
- [ ] scroll open
- [ ] fishing net broken/repaired
- [ ] letter tiles
- [ ] dialogue box
- [ ] sparkle indicator
- [ ] letter fly FX
- [ ] stitch FX
- [ ] success sparkle FX
P1 — Required for Harbour community prototype¶
- [ ] Harbour Master 5 states
- [ ] Pier Manager 5 states
- [ ] Shopkeeper 5 states
- [ ] harbour office
- [ ] market stall
- [ ] crates
- [ ] baskets
- [ ] fish tokens
- [ ] cargo boat
- [ ] crate label faded/clear
- [ ] ink reveal FX
- [ ] object pop FX
- [ ] wrong wobble FX
P2 — Required for progression and polish¶
- [ ] fog overlays
- [ ] boat unlock assets
- [ ] captain uniform states
- [ ] route marker
- [ ] lighthouse silhouette
- [ ] harbour state overlays
- [ ] ambient FX
- [ ] storybook illustrations
15. Production Notes¶
Do not create bespoke mission illustrations¶
Avoid producing a separate image for each mission.
Instead, create reusable:
- tiles
- props
- prop states
- NPC states
- FX
Props should carry mission identity¶
NPCs should mostly use generic emotional states.
Mission-specific animation should happen through:
- prop states
- FX
- object movement
- UI feedback
Keep asset count controlled¶
The MVP goal is approximately:
- 15–25 terrain tiles
- 3–5 buildings
- 4 NPCs × 5 states
- 20–30 reusable props
- 20–30 mission prop state images
- 10–12 reusable FX animations
- core UI components
Approximate total:
80–120 small assets.
Production principle¶
Build the Harbour as a reusable kit, not as a collection of one-off scenes.
Success criteria¶
Harbour Kit v1 is successful when it can support:
- walking around the shore and pier
- picking up the bottle
- talking to the Fisherman
- repairing the net through a literacy mission
- restoring crate labels
- sorting objects
- loading cargo for a numbers mission
- showing world state progress
- unlocking the boat route to the lighthouse