From Seo Wiki - Search Engine Optimization and Programming Languages
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 the two Ultima games is different but similar in principle.
The languages were called AGIL (Another Goofy Interpreted Language) 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 virtual 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.