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
- Browser Support β Required APIs and which browsers work (Chrome, Edge; Brave with a flag; Firefox/Safari limitations).
- Enable File System Access API in Brave β Step-by-step for running in Brave.
Design & proposals
- Mod namespacing (draft) β Design proposal for mod namespacing.
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.jsloads the compiled main process fromdist/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)
- Install Node.js (includes npm).
- Clone the repo and install dependencies:
npm install - Build and watch:
npm run webpack:dev-watch - In another terminal, start the app:
npm run start
For more detail, see the main README in the repository.
Influences & credits
- xoreos β Open-source game engine reimplementation research.
- The KotOR modding community (Deadlystream) β Tools, formats, and documentation.
And many others who have contributed to reverse engineering and documenting the Odyssey engine.
KotOR.js is licensed under GPL 3.0.