Usecode
From Wikipedia, the free encyclopedia
This video game-related article may require cleanup to meet Wikipedia's quality standards or the Video Games project's guidelines. Video game-related articles should adhere to the Manual of Style and should not contain unverifiable information nor should it have gameplay instructions. This article has been tagged since May 2008. |
Usecode is the common name for the scripting language used in some of the latter Ultima series games, particularly Ultima VII, Ultima VIII and their descendants and spin-offs. The name is derived from the name of the compiled file in Ultima VII. The Usecode in Ultima VIII is different from Ultima VII but similar in principle.
The languages were called AGIL (Another Goofy Interpreted Langauge) for Ultima VII and UNK (A nonsense coined by Tony Zurovec who also coined the term "Gump") for Ultima VIII both languages were created by Zack Booth Simpson. AGIL was a single threaded untyped language mostly for conversation scripting. Unk was a much more ambitious synchronous multi-threaded, multi-stack VM machine and a corresponding language for describing non-cyclic dependencies which aimed to script complex threaded events for animation and AI. Unk included a full IDE and debugger while AGIL was debugged by various in-game mechanics.
The Usecode is a bytecode interpreter which interfaces with the game engine and which runs the Usecode scripts as certain events in the game happen. Most of the game logic itself is stored in the Usecode file. This includes NPC schedules, game script in general, and conversations.
Exult includes ucc, a compiler that can compile C-like language to Usecode format.
|