Kiran
Kiran (Sanskrit: किरण — ray of light) — AI-native game engine for AGNOS
Modular game engine built in Rust, designed for AI-driven game development. 46 optional dependencies across 16 feature gates — pull only what you need.
For AI NPCs and headless simulation, see joshua. For the visual editor, see salai.
Architecture
kiran (engine orchestration)
├── hisab — math (vectors, matrices, geometry, transforms)
│
├── rendering: soorat (GPU/wgpu), prakash (PBR/optics), ranga (image processing)
├── audio: dhvani (engine), naad (synthesis), shravan (codecs),
│ goonj (acoustics), garjan (environmental), ghurni (mechanical)
├── voice: svara (formant), shabda (G2P), prani (creature vocals)
├── physics: impetus (rigid body, collision, raycasting)
├── fluids: pravash (SPH, shallow water)
├── dynamics: bijli (EM), dravya (materials), ushma (thermo), pavan (aero)
│
├── ai: hoosh (LLM inference)
├── behavior: bhava (personality), bodh (psychology), mastishk (neuro), jantu (ethology)
├── scripting: kavach (WASM sandbox)
├── multiplayer: majra (pub/sub relay)
├── navigation: raasta (pathfinding, navmesh)
│
├── biology: sharira (physiology), jivanu (micro), rasayan (biochem), vanaspati (botany)
├── chemistry: kimiya (reactions), khanij (geology), tanmatra (atomic), kana (quantum)
├── astronomy: falak (orbits), jyotish (planetary), tara (stellar), brahmanda (cosmo), badal (weather)
└── world: itihas (history), sankhya (calendars), varna (language), pramana (statistics)
Consumers
| Crate | Role |
|---|---|
| joshua | Simulation layer — headless AI-driven game worlds |
| salai | Visual editor — scene editing, asset preview |
Feature Flags
Engine Core
| Feature | Dependencies | Description |
|---|---|---|
rendering |
soorat, prakash, ranga | GPU rendering, PBR optics, image processing |
audio |
dhvani, naad, shravan, goonj, garjan, ghurni | Audio engine, synthesis, codecs, acoustics, environmental/mechanical sounds |
voice |
svara, shabda, prani | Formant synthesis, grapheme-to-phoneme, creature vocals |
physics |
impetus | Rigid bodies, collision detection, raycasting |
physics-3d |
impetus (3D) | 3D physics backend |
fluids |
pravash | SPH and shallow water simulation |
dynamics |
bijli, dravya, ushma, pavan | Electromagnetism, materials, thermodynamics, aerodynamics |
ai |
hoosh, reqwest, tokio | LLM inference integration |
behavior |
bhava, bodh, mastishk, jantu | Personality, psychology, neuroscience, ethology |
scripting |
kavach, tokio | WASM script sandbox via wasmtime |
multiplayer |
majra | Networked state sync, relay messaging |
navigation |
raasta | Pathfinding, navmesh, steering |
Science
| Feature | Dependencies | Description |
|---|---|---|
biology |
sharira, jivanu, rasayan, vanaspati | Physiology, microbiology, biochemistry, botany |
chemistry |
kimiya, khanij, tanmatra, kana | Chemistry, geology, atomic physics, quantum mechanics |
astronomy |
falak, jyotish, tara, brahmanda, badal | Orbital mechanics, planetary positions, stellar physics, cosmology, weather |
world |
itihas, sankhya, varna, pramana | History, calendars, languages, statistics |
Meta
| Feature | Description |
|---|---|
full |
All of the above |
Quick Start
use ;
use ;
let scene = load_scene.unwrap;
let mut world = new;
spawn_scene.unwrap;
let mut scheduler = new;
scheduler.add_system;
loop
Examples
Building
License
GPL-3.0-only — see LICENSE.