Skip to content

House Memory System

Part of NPCs World Verbs Rewards and Living World

The house is not a shop. It is a memory space.

Every item should answer:

  • Who gave this to me?
  • Where did it come from?
  • What did I do to receive it?
  • What memory does it represent?

Item categories

Category Examples
wall_photo lighthouse_old_photo, whale_bay_sketch
shelf_object rare_shell, small_crate, lantern_charm
floor_object model_boat, rolled_map
table_object keeper_notebook, compass_fragment
window_object hanging_star, sailor_flag

House slots

Predefined silhouette slots with gentle labels:

wall_frame_01:
  accepts: [wall_photo]
  silhouette_label: "A memory from the lighthouse"

Silhouette copy: "A memory from the Old Lighthouse could go here."

When item drops: "The Old Lighthouse Photo fits here."


Placement (MVP)

Auto-placement for MVP:

Item drops → find matching empty slot → item appears → child visits house to see it

Manual decoration later — do not build full controls too early.


Item source metadata

item:
  id: lighthouse_old_photo
  display_name: Old Lighthouse Photo
  source_type: npc_drop
  source_npc: lighthouse_keeper
  source_location: old_lighthouse
  source_activity_verb: clean
  source_story: "The Lighthouse Keeper found this after you helped restore the lantern room."

House UI copy:

Old Lighthouse Photo
Given by the Lighthouse Keeper after you helped clean the lantern room.


Silhouettes — tone

Bad: 0/100 items collected

Better: This wall is waiting for memories from your journey.

Avoid: completion percentages · rarity pressure · shop catalogue · "missing item" anxiety


Drop → house flow

Server saves to child inventory
  ↓
Check matching house slot → auto-place if available
  ↓
Godot: NPC gift dialogue → house shows item on next visit