# Simple Java Game System

**Author - Mitch Weaver 2016**


*NOTE:* SJGS development has been discontinued since 2016

-------------------------------------------------------------------------------


Physics Demonstration:

![Image](res/physics-demo.gif)

Lighting Demonstration:

![Image](res/lighting-demo.gif)

Inventory Demonstration:

![Image](res/inventory-demo.gif)

--------------------------------------------------------------------------------------

Contents:

 1. What is Simple Java Game System and why should I use it?
 2. What are its components and dependencies?
 3. What are its licenses?
 4. How should I use it?
 5. Where can I get tutorials or documentation for SJGS?
 6. How do I play sound in SJGS?
 7. How can I contribute to SJGS?

--------------------------------------------------------------------------------------

1) *What is SJGS and why should I use it?*

> SJGS is meant to provide all the functionality that any starting 2D
 developer would need for creating games, while remaining as simple and
 easy-to-use as possible. SJGS offers customizeable levels of
 configuration for almost all elements in the engine to cater to
 beginners and advanced users alike, giving SJGS a much smaller
 learning curve compared to more complex game engines on the market.
 SJGS is also more than just a physics engine, implementing everything
 from media loading and management, physics, input, game loops, window
 systems, tile map support, world handling, multiple language support,
 a quad-tree data structure, and much much more.

2) *What are its components and dependencies?*

> SJGS is written in both Java and Jython, which means it will require the standalone Jython .jar to function. You will need to include this .jar along with SJGS's .jar in your project's build path in order to use SJGS. If you want sound in your project, you will also need to include a copy of JMP3 as described below.

3) *What are its licenses?*

> SJGS and its dependencies are proudly **open-source**!

> **SJGS** is licensed under [**LGPL 3.0**](https://opensource.org/licenses/LGPL-3.0)

> **JMP3** is licensed under [**LGPL 3.0**](https://opensource.org/licenses/LGPL-3.0)

> **Jython** is licensed under its [**own license**](http://www.jython.org/license.html)

3.1) *I don't know what those mean, can I use it for my commercial project?*

> Yes! As this license is fully open-source, you have free-will to use SJGS in your commercial project. 
> However, if your project were to be a derivative of SJGS, (and not just using it), you would then need your 
> project to be licensed under LGPL 3.0 as well. 

> Some sort of recognition for the engine used for your game would be much appreciated, but not necessary! ;)

4) *How should I use it?*

> There are essentially two ways to use SJGS. Either in pieces included in your source code, or built into a .jar 
> which is then added to your project's build path. The second way is much, much simpler. You will find a .jar 
> of the final built project in the 'build' folder above. I suggest using an IDE such as Eclipse to handle this for you.

5) *Where can I get tutorials or documentation for SJGS?*

> TBA --- video tutorials are pending

6) *How do I play sound in SJGS?*

> Please include [**JMP3**](https://github.com/MitchWeaver/jmp3) inside your project for this functionality, (made by the same developer).

> SJGS does not come with any sound support native, as this is provided in JMP3.


7) *How can I contribute to SJGS?*

> [Pull requests](https://help.github.com/articles/using-pull-requests) are always welcome!

