Skip to content

Architecture

Adrian Siekierka edited this page Jun 11, 2018 · 1 revision

General description

The Kallisti architecture is designed to faciliate the emulation of "fantasy computers" (loosely defined as low-requirement virtual machines which may not have an equivalent in the physical world) inside game engines. Additionally, it tries to abstract away both machine-specific and game-specific implementation details: as much of the communication between the virtual machine and the game is achieved via a mixture of generalized interfaces and wrappers, allowing new architectures to be added to Kallisti-utilizing game engines with ease, as well as for new architectures to trivially cooperate with newly added games.

Terminology

  • Machine - a virtual machine, particularly its representation and state in the Kallisti library.
  • Component - a class marked with @ComponentInterface or implementing at least one interface marked as such. These are the parts which comprise the environment of a machine.
  • Peripheral - a component additionally marked as one which interfaces directly with the computer.
  • In-game Kallisti interface - the "backend" of Kallisti support for a game engine; it exposes in-game content and APIs to the Kallisti library.
  • In-game content - the "frontend" of Kallisti support; specific displays, containers, items, peripherals, et cetera. What the player sees and interacts with.
Clone this wiki locally