Home - KobaltBlu/KotOR.js GitHub Wiki

Welcome to the KotOR.js Wiki

KotOR.js is a TypeScript reimplementation of the Odyssey Game Engine that powered Star Wars: Knights of the Old Republic (KotOR I) and Knights of the Old Republic II: The Sith Lords (TSL). The project aims to support the full feature set of the original engine and runs as a desktop app (Electron) or in the browser. It also includes KotOR Forge, an in-progress modding suite for editing modules and resources.


Quick links

Link Description
GitHub Repository Source code and issue tracking
Online playable demo Try KotOR.js in Chrome (HTTPS required)
Discussion (Deadlystream) Community thread
KotOR.js YouTube channel Videos and progress updates
OpenKotOR Discord Chat and support

Wiki documentation

Project & architecture

  • Project Directory Structure β€” Layout of the repo, src/ folders, apps (Launcher, Game, Forge, Debugger), and build output.
  • Application Flow β€” How the app starts: main.js β†’ Electron β†’ launcher window β†’ IPC and profile-based windows (game or Forge).

Guides

Design & proposals

Media

  • Screenshots β€” In-game and launcher screenshots.
  • Videos β€” Demo and progress videos.

Technologies

  • TypeScript β€” All source is TypeScript, compiled to JavaScript.
  • THREE.js β€” Foundation for 3D rendering (Odyssey models, areas, effects).
  • Electron β€” Desktop packaging; main.js loads the compiled main process from dist/electron.
  • Webpack β€” Bundles the Launcher, Game, Forge, and Debugger apps into dist/.
  • React β€” Used for app UIs (launcher, game menus, Forge, debugger).

Supported games

  • Star Wars: Knights of the Old Republic (PC)
  • Star Wars: Knights of the Old Republic II: The Sith Lords (PC)

You need a legal copy of one of these games installed if you want KotOR.js to load that game’s files. No game assets are distributed with this project.


Getting started (developers)

  1. Install Node.js (includes npm).
  2. Clone the repo and install dependencies: npm install
  3. Build and watch: npm run webpack:dev-watch
  4. In another terminal, start the app: npm run start

For more detail, see the main README in the repository.


Influences & credits

And many others who have contributed to reverse engineering and documenting the Odyssey engine.


KotOR.js is licensed under GPL 3.0.