Difference between revisions of "Game Adaptation Language"
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
| DatesUsed = [[1983]] - [[1984]] | | DatesUsed = [[1983]] - [[1984]] | ||
| Company = {{SierraEng}} | | Company = {{SierraEng}} | ||
− | | Developer = {{KenWilliamsSys}} ?????? | + | | Developer = {{KenWilliamsSys}} and others?????? |
| EngType = {{GraphicalParserEng}} | | EngType = {{GraphicalParserEng}} | ||
| DevLang = {{C}} | | DevLang = {{C}} |
Latest revision as of 19:57, 24 February 2021
{{{Image}}} | |
Dates Used: | 1983 - 1984 |
---|---|
Company: | Sierra |
Developer(s): | Ken Williams and others?????? |
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
- ↑ Inside King's Quest Compute! magazine February 1985