Visual-js game engine

Full name : Visual-js GUI for windows Multiplatform 2d Game engine

creator: Nikola Lukic 2017

2018 open source

Visual-js project parts:

-2D PART :  
This is JavaScript game engine  (server part node.js / client part js)
Js framework with windows GUI editor and game instance creator.
( + server engine tools + server part of web apps )

webgl based on three.js engine

webGL2 based on glmatrix 2.0

-2D PART (new):  
This is TypeScript based game engine  (client part ts).
With strong connection with webpack
Physics done with (matter.js) matter ts

This part is removed from this project. New link is:

Basic license rules:

1) Each file in this project has its own license, be careful, do not violate the basic rules.

2) You are free to use any version of Visual JS library in any other project (even commercial projects)
   as long as the copyright header is left intact Except for plugins on sale and graphics that come with
   them (they have special commercial license).
3) Please read the following terms and conditions before using this application:
   Disclaimer of warranty
      'Visual js' is provided "as-is" and without warranty of any kind, express, implied or otherwise,
      including without limitation, any warranty of merchantability or fitness for a particular purpose.  
      In no event shall the author of this software be held liable for data loss,
      damages, loss of profits or any other kind of loss while using or misusing this software.

External licenses in this project:

About GUI for windows (canvas2d part only):

windows GUI application version 1.0 (using visual-js 0.9 lib)
Important: you will need NET 4.5.2 minimum also redistribution pack for c++

How to start project ?

2) Enter new application name in input prompt
3) Select folder for server part of application (important: www is not secure place)
4) Select folder for client part of application ( any path in www)
5) New app name will appear in project list, select and click OPEN APPLICATION

6) Open your server folder: 

Install node.js modules 

One way - Use windows bat-s file (in server root folder with prefix install_ )

Second way - open cmd terminal and enter next command: 

  • npm install mysql
  • npm install delivery
  • npm install express
  • npm install mkdirp
  • npm install
  • npm install nodemailer@0.7.0

Very easy installation and project files generator.

Now you can use On-Page-Editor (nice for visual setup, checking positions and dimensions - not for logic). Manual start from cmd: server_folder/node editor.js

After starting On-Page-Editor open browser icon to open internet browser in editor mode. See video explanation:

If you use editor.js to visual create game object method, you must start ***node build_from_editor_to_visual_js_file.js*** on the end of work.
This tool will create visual.js in folder starter/ with all your game object was created in editor style.

or you can use Visual-JS Source editor.

Visual-JS Source editor  (2d part only)

is new and better way. In future visual staff will be better (real time simulator will be implemented).For now this place is good for coding.

Visual-js works direct with project files, no need for build.

Add->New game object (form dialog for define type of new game object )
Add->Quick code (make your work faster - add usually code blocks)
Resources - explorer view for images and audios, you can drag or edit also need to execute node build_resources for creating resources object for engine.
Inserting new code will be always at current line selected intro editor.
Save on drop menu or better with ctrl+s before testing in browsers.

Adding new script explanation:

After adding new script and save script if you have extra changes, open starter/run.js and you will found line:



Use from menu Run->Choose browser for testing. Important: Safari not working at the moment

Chrome, Firefox, Opera

Tutorial - Pencil (Animation path) : 

How to use Pencil tool to create PATH object. Path object can be saved intro localhost, you can collect object and put it direct source code.

File location: starter/templates/paths.js Templates are made from visual-js core also. See source code: paths.js 

See the Pen Visual js - Pencil by VisualJS game engine (@zlatnaspirala) on CodePen.

Online demo examples at:

Demo slot machine basic demo at:

Help about new 2d part - implementation of matter.js based typescript.

I make strong relation with webpack and project. Build folder is full vendor nature. Html css and resources come from dependency logic taken from source.

To make all dependency works in build process we need some plugins.


Tile's background draw for images (alias sprite - but for now there's no sprite and frame by frame animation methods).

Small engine config.

Some option in aspect view like 

npm install

npm install typescript
npm i clean-webpack-plugin --save-dev
npm i html-webpack-plugin --save-dev

Possible fix:

npm i webpack --save-dev
npm i extract-text-webpack-plugin --save-dev

Fix code format:

tslint -c tslint.json 'src/**/*.ts' --fix

Download project link:

Download link from BitBucket.