Skip to content


Repository files navigation

Divine Engine

TypeScript License Open Source Love Build Status codecov

The Divine Engine is a Typescript game engine built for developers - first and formost - on some of the latest web libraries and frameworks. The Divine Engine allows users to develop and deploy lightweight games in a modern development environment. The engine focuses on being modular and lightweight, all while allowing developers to quickly build projects and applications and begin buidling right out of the box.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


Before you begin with the project, check out the Divine Engine's API documentation and learn what the engine has that you don't have to write. Also be sure to checkout the wiki for additional information on the engine.


  • Install NodeJS and NPM

    If you've never worked with NodeJS or NPM before, check out my tutorial on setting up a Typescript library. The first part of the tutorial goes over how to install NodeJS and NPM here.

  • Install all project dependencies


To use the Divine Engine in your own project, first setup a new NodeJS project:

Documents/projects/> mkdir temp-project && cd temp-project && npm init

Note: (use npm init -y for a basic setup).

Next install Typescript and the Divine Engine from NPM as project dependencies:

Documents/projects/> npm install typescript divine-engine

Now you can begin working with the Divine Engine in a new TypeScript file.

Running the library unit tests

Running the unit tests is simple when using NPM, all you need to call inside the project folder is:

npm test
# Or one of it's variations:
# `npm run test:` and tab the rest out

Note: each test must be passing before submitting a pull-request. Travis-CI will check unit tests before allowing admins to merge. More can be found in CONTRIBUTING

Break down into end-to-end tests

The engine runs these unit tests on all core components. Through the methodology described in the proposal, unit tests are crucial to the development of this project. Test cases are written before code development, then functionality is written and tests are run to debug. This will ensure rigorous testing of the engines components and structure for a complete product.

Code Linting

Coding styles must be followed in this project. To ensure that users are following the standards, all pull requests will be run with the linting standards described in the tslint.json file.

Built With


Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.


Spencer Pollock

See also the list of contributors who participated in this project.


This project is licensed under the Apache 2.0 License - see the LICENSE file for details