@moderrkowo/jsgl
Version:
Client-side JavaScript library for creating web 2D games. Focusing at objective game.
77 lines (76 loc) • 3.13 kB
Markdown
<div align="center">
<h1>⚡ JSGL</h1>
<p>
<a href="https://github.com/Moderrek/JSGL/blob/release/LICENSE.md"><img src="https://img.shields.io/github/license/Moderrek/JSGL" alt="license"></a>
<a href="https://www.codefactor.io/repository/github/moderrek/jsgl"><img src="https://www.codefactor.io/repository/github/moderrek/jsgl/badge" alt="codefactor"></a>
<a href="https://www.npmjs.com/package/@moderrkowo/jsgl"><img src="https://img.shields.io/npm/dm/@moderrkowo/jsgl" alt="downloads"></a>
<a href="https://www.npmjs.com/package/@moderrkowo/jsgl"><img src="https://img.shields.io/npm/v/@moderrkowo/jsgl" alt="version"></a>
</p>
</div>
# About The Project
Client-side JavaScript library for creating web 2D games. Focusing at objective game.
Use the JSGL to create 2D games.
## Features
* Creating 2D Games in HTML Canvas
* Auto canvas scaling to size
* Game Settings (autoCanvasResize...)
* Creating OOP game objects
* Easy events system
* Resources loading system
* Easy management objects with Transform and Vector2
* No need to write HTML. The JSGL.ExampleHTML/JSGL.DefaultGame can render default game page.
## Required
* DOM
# Getting Started
## Browser
To include JSGL in browser add script tag to body element. Like below or check [examples](https://github.com/Moderrek/JSGL/tree/release/examples/).
```html
...
<body>
<script src="https://unpkg.com/@moderrkowo/jsgl/dist/JSGL.js"></script> <!-- CDN -->
<script src="./js/game.js"></script>
</body>
...
```
## Node
To include JSGL in Node, first install with npm.
```
npm i @moderrkowo/jsgl
```
Example node code
```js
const { Vector2 } = require('@moderrkowo/jsgl');
const exampleVector2 = new Vector2(5, 10);
console.log(exampleVector2);
// Vector2 { x: 5, y: 10 }
```
<!-- # Usage W.I.P -->
# Documentation
* [JSGL Reference](https://jsglreference.pl/)
* [JSGL Wiki](https://github.com/Moderrek/JSGL)
* [JSGL Examples](https://github.com/Moderrek/JSGL/tree/release/examples)
* [JSGL Changelogs](https://github.com/Moderrek/JSGL/tree/release/doc/changelogs)
# Developers
## Must have
Installed [**git**](https://git-scm.com/downloads) and [**Node.js**](https://nodejs.org/en/download)
## Building JSGL
1. First clone repository
```bash
git clone https://github.com/Moderrek/JSGL.git
```
2. Enter the JSGL directory and install development dependencies
```bash
cd JSGL
npm install
```
3. Run build script
* `npm run build` - Builds deployment bundle, types declaration and docs -> `/dist` `/docs`
* `npm run build:prod` - Builds deployment bundle -> `/dist`
* `npm run build:dev` - Builds mapped bundle -> `/dist`
* `npm run build:types` - Builds types declaration -> `/dist`
* `npm run build:docs` - Builds web docs for JSGL -> `/docs`
# License
Distributed under the MIT License. See ``LICENSE.md`` for more information.
# Contact
Tymon Woźniak *(owner)* <[tymon.student@gmail.com](mailto:tymon.student@gmail.com)>
Project: [https://github.com/Moderrek/JSGL](https://github.com/Moderrek/JSGL)