The Making of King's Quest IV

<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:.5in; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:.5in; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0	{mso-list-id:602226810; mso-list-type:hybrid; mso-list-template-ids:1167763582 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} -->King’s Quest IV, like the other Quests in the sage, began as an idea in Roberta Williams’ head. This time she wanted the main character to be a woman, so Princess Rosella, the sister of Gwydion from King’s Quest III, was given the title role. Rosella’s quest is to find a magic fruit that will restore her father, King Graham of Quest I and II, to health.

First Roberta outlines the story on scraps of paper and in notebooks, making changes freely as the plot thickens. Sometimes she consults her two children, D.J. and Chris, but husband Ken is little help; he’s more interested in the technical details than the story line. As the story begins to gel, Roberta makes rough drawings of each scene, called rooms by the developers. For example, the original sketch of the fisherman’s shack, room 7, showed a boxy house with a line extending out to represent the pier.

Roberta also writes a description of each room; here’s what she says about room 7:

A beach. Ocean to the west. Beach turning to green grass to the east. A fisherman’s shack overlooks the ocean with maybe a little pier or something going into the water.

In addition to the drawing and the description, Roberta creates the script or story line that explains what goes on in each room. Although this gives away a few clues, here’s what she says about the fisherman’s shack:

1. You need to go to the room 7 and enter the fisherman’s house, room 42. There will be a fishing pole in there leaning against the wall. You want to get the fishing pole but to do that you need to buy it. The fisherman and his wife will take the pouch of diamonds in trade for the fishing pole. But, they will also take the golden ball. You don’t want to give them that, though, because you need it for the frog. It’s not possible to give them the hen that lays the golden eggs because you can’t get the hen until AFTER getting the unicorn.

2. Next, you can go into any of the beach rooms and “fish.” Randomly you can catch a fish. Keep the fish with you. (Maybe you can only fish form the pier, for animation reasons.)

Of course some things change as the game develops. To conserve memory, it was decided that you could only fish from the end of the pier. And to avoid confusion, the fisherman and his wife will take nothing but diamonds in exchange for the fishing pole.

Setting The Stage
From Roberta's sketches and written material, the artists and programmers begin to construct the game using special programming tools developed by Sierra. View Editor is the program used to draw animated objects like Rosella and the fisherman. The central character, Rosella in this game, is always called Ego by the programmers and artists no matter what his or her gender in the program.

Picture Editor is the program used to construct and draw the background scenes like the fisherman's shack and pier. When the background artist got Roberta's sketch of the fisherman's shack, he first drew an outline of the building and pier. Next, he colored in large surfaces, then added textures and details like flowers, roof shingles, and wood grains. All King's Quest rooms use shade and shadow as well as perspective to give the illusion of three dimensions. In the photographs (see color section) notice how the roof line slants to a vanishing point far to the right of the screen. Vanishing points are chosen to be high on the horizon to give the characters as much space as possible to walk; a low vanishing point would limit Ego's range.

Backgrounds are not stored as a completed picture; instead, they’re constructed and stored as coordinates and vectors. Vectors give the instructions for drawing a picture, and they have the advantage of taking less space than would a bit image of a complete picture. The artist works with a standard IBM PC and mouse, using pull down menus and windows similar to many commercial CAD programs.

To maintain and enhance the three dimensional quality of the rooms, every object is constructed with a priority in relation to the other objects. There are 16 bands or areas in which things may be placed. Although the priority bands are invisible in the finished product, the artists must use them like a horizontal grid as he draws the room. Considerable effort and time is spent placing houses, bushes, and trees so the player remains unaware of the room’s mathematical rigidity. It wouldn’t do for things to look like they were lined up on a checker board.

As the room nears completion the artist adds control lines that determine where Ego can walk. She shouldn’t walk through a wall or tree, for example, but sometimes she does. If a tree is placed between two priority bands, Ego will walk right through it. The Sierra staff spends a lot of time running Ego all over the rooms looking for places where she falls off or walks though something she shouldn’t. Fixing an error may involve shifting a tree to a priority band or adding new features to a room to cover up a programming bug. In the fisherman’s shack room, for example, a rope fence was added to keep Ego from falling off the pier onto the sandy beach.