Difference between revisions of "Game Adaptation Language"

From AGI Wiki
Jump to navigationJump to search
Line 51: Line 51:
 
* [[mobygrp:game-engine-adventure-game-interpreter-agi|AGI on MobyGames]]
 
* [[mobygrp:game-engine-adventure-game-interpreter-agi|AGI on MobyGames]]
  
[[Category:Engines]]
+
<!-- [[Category:Engines]]
 
[[Category:Technical Info]]
 
[[Category:Technical Info]]
[[Category:Development]]
+
[[Category:Development]] -->

Revision as of 19:39, 24 February 2021

Game Adaptation Language (GAL)


GAL
{{{Image}}}
 Dates Used: 1983 - 1984
 Company: Sierra
 Developer(s): Ken Williams ??????
 Type: Graphical Parser
 Dev Language:  C
 Open Source: Closed
 Source Availability:  No
 License: Internal
 Platform(s): Booter, DOS
 Website: www.sierra.com



Description

There are two theories as to what the Game Adaptation Language (GAL) was. One theory is that it was the original name of the AGI (Adventure Game Interpreter) system used by games such as King's Quest 2, Police Quest 1, Space Quest 1, etc. The other theory is that it was the name of the system used by the original King's Quest game, after which a major redesign of the system produced the Adventure Game Interpreter (AGI) system used by King's Quest 2 and all AGI games after that. Regardless of which theory is correct, the one thing that appears to be true is that the scripting language used in original King's Quest game was called Game Adaptation Language.


History

The first verifiable mention of the Game Adaptation Language was in an article written by Donald B. Trivette [1]

Donald B. Trivette wrote: In addition to the graphics for each room, there is a set of logical statements. These are written in a special language devised by Sierra called the Game Adaptation Language. The program constantly loops through these statements looking for something to change. They work sort of like a group of IF-THEN statements in BASIC.

For example, in one room, room 10, a goat randomly wanders around inside a pen (see photo). The pen extends into room number 11 on the right. If the goat happens to wander out of room 10, the program must erase the goat. The program knows the goat by the codename 14 and Sir Grahame by the name Ego. So if Ego moves to room 11 in search of the goat, the program must remember to draw 14 in room 11. The statement in Game Adaptation Language looks like this:

IF HAS-GOAT 0 AND OBJHIT-EDGE 14 AND EDGEOBJ-HIT 1 AND GOAT-GONE 0 AND SHOWCARROT 0 THEN ASSIGN GOAT-ROOM 11, ERASE 14.


Research

Recently we tracked down Donald B. Trivette, the author of the above article, and asked him what he remembered about it. He recalls that he spoke to Ken Williams, Roberta Williams, and John Williams over the phone as part of the preparation for the article, and he says that if he called it the Game Adaptation Language in the article, then that is what they would have told him the name of the language used by King's Quest was called.

We followed this up with John Williams to see if he could also recall this. John does recall speaking to Donald B. Trivette, many times over the years in fact. John confirms that the language was called Game Adaptation Language at that time, and John also says that they included copies of the above article in some of the copies of King's Quest that they distributed.


References

  1. Inside King's Quest Compute! magazine February 1985


See Also