Files
kq4-decompile/rooms/kq4-010-forest-path.md
2026-02-20 10:16:03 -08:00

5.9 KiB

Room 10: Forest Path

This is a forest path room in King's Quest IV connecting multiple areas of the game world. The room features a dense pine forest surrounding the player, with a cottage visible in the distance to the north. An ogre may randomly appear and chase the player, representing a dangerous encounter. Birds fly in the sky overhead. The room serves as a transit hub connecting the eastern and western regions of the game map.

Look Description

"A thick forest of pine trees surrounds you. You see a house in the distance to the north."

Interactions

Status Behavior Type Command Response
TODO Look look cottage "It's too far in the distance to see it clearly."
TODO Look look around / look room "A thick forest of pine trees surrounds you. You see a house in the distance to the north."
TODO Look look /boulder "There are rocks here and there." (from Region 508)
TODO Look look /dirt / look down "You see nothing of importance on the ground." (from Region 508)
TODO Look look /grass "Pine needles, among the grass, crunch beneath your feet as you walk through the forest." (from Region 508)
TODO Look look /bush "You don't see many shrubs here." (from Region 508)
TODO Look look /flora "Mostly, you see pine trees." (from Region 508)
TODO Look look /blossom "You don't notice many flowers here." (from Region 508)
TODO Look look /forest "A forest of pine trees encircles you." (from Region 508)
TODO Look look /crow / look /bird If raven present: "The raven doesn't look to be a friendly bird at all!" / If not: "You see small birds here and there." (from Region 508)
TODO Action climb /boulder "You don't like to climb rocks." (from Region 508)
TODO Get get /blossom "There aren't many flowers to pick!" (from Region 508)
TODO Action climb /forest "It is difficult to climb trees while wearing that dress!" (from Region 508)
TODO Talk converse /crow If raven present: "Caw, caw!" / If not: "Cheep, cheep!" (from Region 508)
TODO Action get/capture /crow / get/capture /bird If raven present: "You wouldn't want it even if you COULD get it!" / If not: "Cheep, cheep!" (from Region 508)
TODO Action kiss /crow / kiss /bird If raven present: "Not this bird!" / If not: "Cheep, cheep!" (from Region 508)
TODO Look look /giant (when ogre present) "The ogre looks MEAN!! Better get out of there...FAST!!" (from Region 517)
TODO Talk converse (when ogre present) "This is no time for conversation!" (from Region 517)
TODO Action kill /giant (when ogre present) "You have no way of killing a giant ogre!" (from Region 517)
TODO Action get/capture /giant (when ogre present) "That's ridiculous!" (from Region 517)
TODO Action kiss (when ogre present) "He wouldn't like it, and neither would you!" (from Region 517)
TODO Inventory deliver [item] (when ogre present and item owned) "You don't want to get that close to the ogre!" (from Region 517)
TODO Inventory deliver [item] (when ogre present and item not owned) "You don't have it." (from Region 517)

Scripts

Status Behavior Type Name Trigger Behavior
TODO Interaction ogreActions Random chance on room entry OR entering from room 4 without item 33 Creates ogre actor that chases player; plays ogre theme music; ogre catches player and displays death message; sets game over state
TODO Background bird1Actions Random chance (50%) on room entry when global100 is false Creates animated bird in sky (view 342, loop 5), cycles between animation frames with random delays
TODO Background bird2Actions Random chance (50%) on room entry when global100 is false Creates second animated bird in sky (view 342, loop 4), cycles between animation frames with random delays
TODO Background ravenActions (from Region 508) Random chance (20%) on room init Creates raven actor that flies across screen, disposes after reaching destination

Technical Notes

  • Room Number: 10
  • Picture: 10
  • Region: 508 (Forest Region), 517 (Ogre's Region)
  • Exits: North→4, South→16, East→11, West→9
  • Music: Ogre theme (sound #5, looping when ogre present)

State Variables

Variable Values Description
global101 0 Set to 0 on room init
global189 0, 1 Ogre encounter state flag (set to 1 during chase)
global165 4, 5 Ogre state tracking - 4 triggers new encounter, 5 prevents immediate re-encounter
global100 true, false Whether overlay picture 110 is active (birds suppressed when true)
local2 0, 1 Ogre encounter initialized flag
ogre_present true, false Whether gNewAct (ogre) exists in the cast

Additional Technical Details

  • Synonyms defined in Ogre's Region: kiss = embrace, giant = giant = giant = giant = man = giant
  • Entry from room 16 (south) positions player at y=187 with x constrained to minimum 63
  • Entry from room 4 (north) positions player at horizon+2 (y=74) with x constrained to minimum 200
  • Ogre uses view 250 for walking, view 78 for catching animation, view 79 for departing
  • Ogre has custom movement: xStep 6, yStep 2 with Walk cycle and Avoid for pathfinding
  • Random ogre spawn: 40% chance if not arriving from room 4 and no current ogre
  • Guaranteed ogre spawn: 100% when arriving from room 4 without item 33
  • Birds only spawn when global100 is false (overlay not active)
  • Bird 1 uses view 342 loop 5, Bird 2 uses view 342 loop 4
  • Room clears timers with dispose: 84 on exit
  • When ogre catches player: ego is hidden, ogre plays catch animation, plays scream sound (#6), game over triggered (global127 = 1)