Usecode

Usecode

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 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.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Exult — For the company of the same name see Exult Inc. Infobox Software name = Exult caption = Exult title screen developer = Exult team latest release version = 1.2 latest release date = June 17, 2004 latest preview version = 1.4cvs latest preview date …   Wikipedia

  • Ultima VII — is the seventh of the Ultima series of computer role playing games.The game was released in two parts, Ultima VII: The Black Gate (1992), and Ultima VII, Part Two: Serpent Isle (1993). Aside from the direct continuation of the plot and using… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”