Skip to content
Library for embedding fantasy computer virtual machines in game engines.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Kallisti is a library for embedding fantasy computer virtual machines inside other JVM-based systems, particularly JVM-based game engines.

Fantasy computers, in this meaning, refer to imaginary architectures designed for computer games, versus real-world technology. (However, it does not exclude support for the latter!)


  • Many sandbox-leaning games like to feature, or make available, an in-game computer system. Having a library which solves the most common problems and provides compatibility with existing "fantasy" in-game codebases greatly simplifies that.
  • Having a built-in simulator allows creators to test their in-game software without using the entire game engine, which can be a costly and CPU/GPU-intensive process.
  • Having a common interface makes it easier for you to create your own, compatible designs and peripherals which work across all games and architectures.

Key concepts

  • Separation of the APIs of the game engine and of the virtual machine.
    • "Components" can be provided by the engine, and via implementing generic interfaces and automatically being wrapped through a rule-based system, the computer VM can translate it into APIs it understands internally.

How to use

There are two main ways to use Kallisti:

  • Embed it in your own project (for example, KComputers for the Terasology game engine),
  • Run the simulator.

To run the simulator, simply compile the project with gradle, then run java -jar KallistiSimulator.jar simulator.json, where simulator.json is a valid .JSON simulator definition.

Supported architectures

  • (WIP) OpenComputers/JNLua, based on the OpenComputers mod project.
You can’t perform that action at this time.