Making game development for web fun and easy

Check out the documentation for details

Based on Babylonjs library

kheljs uses the excellent babylonjs library to create and display scenes for your game. If you are already a babylonjs expert, kheljs will increase your productivity by many folds by reducing boilerplate codes you have to write often. It is also based on Typescript to provide better support for editing and type checking.

Support for Asset Pack and Asset Store

No more manual copying of asset files into project folder and loading assets using paths. Asset packs are npm packages that acts as container of assets and can be installed as packages. They can be hosted in and installed from any npm registry. Your game will load assets using asset pack name and asset name rather than using paths.

Webpack based development server

khlejs uses a webpack based development server to facilitate iterative development, hot reload and easy debugging. You can get a basic game with many features up and running in minutes. You can also modify the basic game quickly by adding asset packs and adding only a few lines of code.

Simple Game Interaction Engine

Kheljs also provides a simple interaction engine which allows developer to register actions which are triggered when specified conditions are met. Using GamePlay objects, developers can create interaction between different entities based on conditions. This allows gradual and incremental addition of interaction logic to the game.

Support for Inventory

Kheljs provides a basic framework to manage inventory for a game level or for the player character. The basic framework allows a game level to have two inventories at every level - one for the player and the other for the level itself. Developer can add additonal inventory if needed. Khleljs provides a configuration based creation of inventory for the player and for the level.

Code Generation

Apart from CLI tool to generate a basic project, kheljs provides a number of other tools to generate other game artifacts. For example, you can generate code for a new game level, or create a new terrain configuration file or keyboard or dualshock controller action file and so on.

Solid Architecture

Kheljs is based on a modular and easy to use and extend game architecture. Time and battle tested object oriented principles like Single Reposnsibility Principle, Loose Coupling, High Cohesion are guiding principles for this architecture. Simplicity is one of the major goals of kheljs.

Extensive Documentation

Documentation and examples are one of the major features of kheljs. This site provides extensive documentation for this framework. The documentation will be updated and corrected frequently by its core contributors.