Harbour Kit v1¶
Published mirror · Source of truth: pending in
Captainswords.app/docs
Purpose¶
Harbour Kit v1 is the first reusable world kit for CaptainsWorld.
It should provide enough assets to build the first guided top-down area, support multiple Fisherman / Harbour Master / Pier Manager missions, and test the full mission architecture without needing bespoke illustrations for every activity.
The goal is not to create a perfect final harbour.
The goal is to create a reusable art and interaction kit that proves:
One small world can generate many distinct learning missions.
1. Design Goal¶
The Harbour should feel:
- warm
- safe
- coastal
- child-friendly
- slightly magical
- busy but not cluttered
- readable from a top-down 2D perspective
The child should understand:
- where they are
- who needs help
- what is interactable
- what area is currently locked
- what changed after missions are completed
2. Art Direction¶
Camera¶
Top-down 3/4 perspective.
Similar structure to classic Pokémon towns, but with more modern pixel-art detail and warmth.
Suggested tile size¶
48×48 px.
This gives enough room for expressive props and characters without making the asset workload too heavy.
Character size¶
Captain and NPCs should be around 64–80 px tall.
Style¶
Modern premium pixel art.
References in spirit:
- Eastward-style warm pixel environments
- Sea of Stars-style readable top-down towns
- Pokémon-style clarity and navigation
Not full 2.5D illustration.
Palette¶
Warm coastal palette:
- soft blues
- sandy yellows
- warm wood browns
- gentle greens
- cream highlights
- soft orange/gold accents
Avoid harsh black outlines.
3. Map Scope¶
Harbour Kit v1 should support one small guided playable area.
Required areas¶
1. Shore / Bottle Arrival¶
Purpose:
- first moment
- bottle pickup
- tutorial movement
- story catalyst
Assets needed:
- sand tiles
- shoreline edge
- small waves
- bottle prop
- sparkle / arrow indicator
- footprints optional
2. Wooden Pier¶
Purpose:
- Fisherman missions
- Pier Manager / cargo missions
- boat access later
Assets needed:
- dock tiles
- dock posts
- ropes
- moored boat
- fishing props
- cargo props
3. Harbour Office¶
Purpose:
- Harbour Master location
- story guidance
- unlock boat / captain outfit
Assets needed:
- small office building
- sign
- notice board
- map board
- door
- window
4. Market Corner¶
Purpose:
- sorting / delivery / matching missions
Assets needed:
- market stall
- crates
- baskets
- fish table
- barrels
- labels
5. Locked Sea Route¶
Purpose:
- communicate future progression
Assets needed:
- blocked pier gate or rope barrier
- fog over water
- distant lighthouse silhouette
- small route marker
4. Terrain Assets¶
Required terrain tiles¶
water_tile
water_edge_horizontal
water_edge_vertical
water_corner_inner
water_corner_outer
sand_tile
sand_to_water_edge
sand_to_grass_edge
grass_tile
grass_detail_variants
wooden_dock_tile
wooden_dock_edge
wooden_dock_corner
wooden_dock_post
stone_path_tile
stone_path_edge
Optional terrain polish¶
small_shell
small_pebble
seaweed_patch
grass_flower_patch
wet_sand_overlay
foam_strip
Notes¶
Terrain assets should tile cleanly.
The map should be built from reusable pieces, not painted as one large background.
5. Building Assets¶
Harbour Office¶
Required states:
harbour_office_normal
harbour_office_lit_optional
Required details:
door
window
roof
small_sign
notice_board
Fisherman Hut / Stall¶
Required states:
fisherman_hut_normal
Optional states:
fisherman_hut_busy
fisherman_hut_closed
Market Stall¶
Required states:
market_stall_empty
market_stall_active
This can visually change as the harbour becomes restored.
6. NPC Assets¶
Each mission-giving NPC should have 5 MVP states.
Captain¶
Minimum required:
captain_idle_down
captain_idle_up
captain_idle_left
captain_idle_right
captain_walk_down
captain_walk_up
captain_walk_left
captain_walk_right
Optional for MVP if static interaction is easier:
captain_reading
captain_happy
captain_pointing
Fisherman¶
Required states:
fisherman_idle
fisherman_talk
fisherman_worried
fisherman_point
fisherman_happy
Harbour Master¶
Required states:
harbour_master_idle
harbour_master_talk
harbour_master_worried
harbour_master_point
harbour_master_happy
Pier Manager¶
Required states:
pier_manager_idle
pier_manager_talk
pier_manager_worried
pier_manager_point
pier_manager_happy
Shopkeeper / Market Helper¶
Required states:
shopkeeper_idle
shopkeeper_talk
shopkeeper_worried
shopkeeper_point
shopkeeper_happy
NPC rule¶
Do not create mission-specific NPC animations for MVP.
Avoid:
fisherman_repairing_net
fisherman_sorting_fish
fisherman_pulling_boat
Use generic emotional states instead.
The props and FX should carry the mission-specific action.
7. Universal Props¶
These props should be reusable across Captain's Words and Captain's Numbers.
Core props¶
crate
barrel
basket
bucket
rope
net
signpost
wooden_sign
lantern
plank
map_board
paper_note
bottle
small_boat
cargo_cart
fish_token
shell_token
Reuse examples¶
Basket¶
Can support:
- count fish
- sort objects
- deliver supplies
- collect shells
- store word cards
Crate¶
Can support:
- cargo counting
- label reading
- sorting
- delivery
- spelling labels
Rope¶
Can support:
- pull boat
- connect bridge
- measure length
- untangle path
Lantern¶
Can support:
- light mission
- reading mission
- counting oil mission
- reveal hidden sign mission
8. Mission Props and States¶
Mission props are objects the child can change.
Repairable props¶
Fishing Net¶
fishing_net_broken
fishing_net_repaired
Metadata:
type: repairable
effects:
- stitch
- sparkle
repairPoints:
- top_left
- centre
- bottom_right
Broken Basket¶
basket_broken
basket_repaired
Metadata:
type: repairable
effects:
- snap
- sparkle
Broken Sign¶
sign_fallen
sign_fixed
Metadata:
type: repairable
effects:
- dust
- pop
- sparkle
Revealable props¶
Faded Crate Label¶
crate_label_faded
crate_label_clear
Metadata:
type: revealable
effects:
- ink_reveal
- glow
Harbour Map Board¶
map_board_blank
map_board_partial
map_board_revealed
Metadata:
type: revealable
effects:
- ink_reveal
- map_glow
Fillable props¶
Basket¶
Use:
basket_empty
fish_token
The engine fills the basket procedurally by placing fish tokens inside.
Avoid baking:
basket_1_fish
basket_2_fish
basket_3_fish
unless absolutely needed.
Cargo Boat¶
Use:
boat_empty
crate
barrel
basket
The engine places cargo items procedurally.
Progressive props¶
Lighthouse Route Fog¶
fog_full
fog_half
fog_clear
Could also be rendered as a particle/fog overlay with opacity changes.
Harbour Activity Level¶
harbour_quiet
harbour_warmer
harbour_active
This could be achieved with overlays and NPC visibility rather than full map variants.
9. FX Library¶
Reusable FX are what make the world feel alive.
Required MVP FX¶
sparkle_success
soft_glow
wrong_wobble
letter_fly_to_target
object_pop
dust_puff
stitch_line
ink_reveal
water_splash
small_bounce
soft_shine
FX usage¶
Repair mission¶
letter_fly_to_target
stitch_line
sparkle_success
Reveal mission¶
ink_reveal
soft_glow
soft_shine
Sort mission¶
object_pop
small_bounce
sparkle_success
Wrong answer¶
wrong_wobble
soft_error_pulse
Avoid creating unique FX per mission.
10. Mission UI Modes Supported by Harbour Kit¶
Harbour Kit v1 should support three mission UI modes.
Mode 1: Focus Object Mode¶
Used when one object is central.
Examples:
- repair fishing net
- restore crate label
- fix sign
- light lantern
Required assets:
- one mission prop
- prop problem state
- prop success state
- FX
- letter/word/number interaction UI
Mode 2: Progressive Object Mode¶
Used when one object changes over several answers.
Examples:
- clear fog
- light harbour lamp
- restore map board
- prepare boat
Required assets:
- object start state
- object mid state
- object complete state
- progress FX
Mode 3: World Action Mode¶
Used when child moves/sorts/places objects.
Examples:
- load cargo
- sort fish crates
- place labels on signs
- deliver baskets
- match words to objects
Required assets:
- draggable object sprites
- target containers / zones
- success state or completion feedback
11. Example Missions Supported by Harbour Kit v1¶
Captain's Words¶
Mission 1: Bottle Arrival¶
Location:
shore
Props:
bottle
sparkle_indicator
letter_scroll
Mechanic:
read_word_or_short_sentence
World change:
harbour_master_intro_unlocked
Mission 2: Repair the Fisherman's Net¶
Location:
wooden_pier
NPC:
fisherman
Props:
fishing_net_broken
fishing_net_repaired
Mechanic:
missing_letter
FX:
letter_fly_to_target
stitch_line
sparkle_success
Mission 3: Restore Crate Labels¶
Location:
market_corner
NPC:
fisherman or shopkeeper
Props:
crate
crate_label_faded
crate_label_clear
Mechanic:
missing_letter or read_word
FX:
ink_reveal
soft_glow
Mission 4: Sort the Catch¶
Location:
market_corner
NPC:
fisherman
Props:
fish_token
labelled_crates
sorting_table
Mechanic:
match_word_to_category
FX:
object_pop
small_bounce
sparkle_success
Captain's Numbers¶
Mission 5: Load the Cargo¶
Location:
pier
NPC:
pier_manager
Props:
cargo_boat
crate
barrel
basket
Mechanic:
count_objects
Interaction:
drag crates into boat
Mission 6: Share Fish Fairly¶
Location:
harbour_lane
NPC:
fisherman
Props:
fish_token
three_baskets
delivery_cart
Mechanic:
equal_groups
Interaction:
drag fish into baskets
12. World Progression States¶
The harbour should visually change as the child helps.
State 0: Quiet Harbour¶
Before missions:
- fewer NPCs visible
- some signs faded
- boat unavailable
- fog blocks sea route
- market quiet
State 1: Harbour Warming Up¶
After 2–3 missions:
- market stall opens
- more crates organized
- fisherman happier
- some lamps glow
- dock looks tidier
State 2: Harbour Ready¶
After enough trust:
- Harbour Master gives boat
- captain outfit unlocks
- route to lighthouse opens
- fog reduces
- boat becomes interactable
Implementation note¶
Do not create three complete harbour maps.
Use:
- NPC visibility
- prop states
- overlays
- lights
- blocked/unblocked paths
- small environmental changes
13. Required Data Metadata¶
Each asset should have metadata so the engine can use it.
Prop metadata example¶
id: fishing_net
category: mission_prop
archetype: repairable
states:
problem: fishing_net_broken
complete: fishing_net_repaired
allowedPatterns:
- repair
allowedMechanics:
- missing_letter
- spell_word
effects:
correct:
- letter_fly_to_target
- stitch_line
complete:
- sparkle_success
anchors:
repairPoints:
- x: 120
y: 45
- x: 180
y: 90
- x: 230
y: 130
NPC metadata example¶
id: fisherman
category: npc
location: harbour_pier
states:
idle: fisherman_idle
talk: fisherman_talk
worried: fisherman_worried
point: fisherman_point
happy: fisherman_happy
missionDomains:
- fishing
- sea
- weather
- delivery
preferredVerbs:
- repair
- guide
- deliver
- sort
preferredProps:
- fishing_net
- fish_token
- basket
- rope
- boat
14. MVP Asset Count Estimate¶
Terrain¶
Approx. 15–25 tiles.
Buildings¶
Approx. 3–5 buildings.
NPCs¶
4 NPCs × 5 states = 20 NPC images.
Captain movement adds more if animated:
- 4 directions idle
- 4 directions walk animation
Props¶
Approx. 20–30 reusable props.
Mission prop states¶
Approx. 8–12 mission props × 2–3 states = 20–30 state images.
FX¶
Approx. 10–12 reusable FX animations.
Total rough MVP kit¶
Approx. 80–120 small assets.
This is not tiny, but it is manageable and reusable.
It is far better than creating a new illustrated scene for every mission.
15. Production Priority¶
Phase 1: Minimum playable harbour¶
Create:
- water
- sand
- dock
- shore
- captain
- fisherman
- bottle
- one net
- one crate
- one basket
- sparkle
- letter fly
- stitch FX
Supports:
- bottle pickup
- fisherman net mission
- basic movement
- one reward moment
Phase 2: Harbour community¶
Add:
- Harbour Master
- Pier Manager
- harbour office
- market stall
- cargo boat
- crates
- fish tokens
- signs
- ink reveal FX
Supports:
- 3–5 unique missions
Phase 3: Progression and unlock¶
Add:
- fog route
- boat unlock
- captain outfit state
- route marker
- lighthouse silhouette
- harbour activity state changes
Supports:
- major harbour transformation event
- transition to lighthouse
16. Key Decision¶
Harbour Kit v1 is the production foundation.
Do not create many bespoke story scenes yet.
Do not create full 2.5D illustrations for every mission.
Build a reusable modern top-down pixel art kit first.
The kit should let us prove:
CaptainsWorld can create many memorable, visually distinct learning missions from one coherent world asset library.