UNPKG

3.59 kBMarkdownView Raw
1# Sideral JS
2
3[![Stories in Ready](https://badge.waffle.io/js-republic/sideral.png?label=ready&title=Ready)](https://waffle.io/js-republic/sideral) [![Build Status](https://travis-ci.org/js-republic/sideral.svg?branch=master)](https://travis-ci.org/js-republic/sideral) [![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badge/) [![License: GPL v3](https://img.shields.io/badge/license-GPL--V3-blue.svg)](https://www.gnu.org/licenses/quick-guide-gplv3.fr.html) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
4
5:rocket::construction: Project in construction :construction::rocket:
6
7Sideral JS is the next generation of video-game framework with JavaScript. This framework is made to create a more complexe 2D game with all features needed like HUD, Event Manager, Map Editor, Quest manager, etc.
8It also provide complete library to make your game online.
9
10## What is inside this framework ?
11
12 - A fast and lightweight library to build easily a complete game. It will embark all feature needed like HUD, Event, Map, Character, Input, etc.
13 - A complete map editor to create a platform or a RPG game with a complete event system
14 - A big feature to transform your game into a complete MMO with server calculation, data prediction, etc.
15 - A new way to build your game with ES6
16
17## How does it works ?
18
19More than just a framework, Sideral is a complete workspace with HUB and many features to improve your game development.
20It is separate into 3 features :
21 - the **library** with all you need to develop your game
22 - A second **library** for server side and transform your game into a complete MMO
23 - A **map editor** to build your map in WYSIWYG
24 - A **hub** which list all your games, and give quick access to all features listed above
25
26## Installation
27
28At this time, it's preferable to use git and clone this repository like this :
29```
30git clone https://github.com/js-republic/sideral sideral
31```
32Your folder will be your workspaces to create project.
33
34## Usage
35
36### Core library
37This is all the src you need to create your game. The library has theses classes :
38
39#### Scene
40A **Scene** is typically a canvas. A game can have multiple **Scenes** and *it must have multiple **Scenes***.
41
42#### Entity
43An **Entity** is an object to be render in a **Scene**.
44
45#### Engine
46**Engine** is a singleton instance. The aim of this object is to loop and give information about **FPS**
47
48#### Element
49an **Element** is the superclass of this library. It provide lifecycle of each element such as **initialize**, **update** and **render** functions.
50
51#### Component
52a **Component** is a class which is not inherited from **Element** class because it doesnot have static lifecycle. A component must be composed by an **Element** and add additional instructions into **Element**'s function such as **update** for example.
53
54### HUB
55
56The **HUB** will be your best friend to develop your game. To run it, go into your workspace project and run :
57```
58yarn start
59```
60Now you can access to your main hub page at *http://localhost:3000*
61
62With the HUB, you can :
63 - See all your games stocked into the **public/games** folder
64 - Create an empty game. It will be stocked into the **public/games** folder
65 - Access to other features of **Sideral**
66
67## Contributing
68
69See [CONTRIBUTING.md](./CONTRIBUTING.md) to contribute to this project.
70
71## License
72
73SGR project is a licensed under [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.en.html).