-
-
Notifications
You must be signed in to change notification settings - Fork 559
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #113 from AlmasB/0.1.9
release 0.1.9
- Loading branch information
Showing
177 changed files
with
7,943 additions
and
4,296 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,10 @@ | ||
## FXGL | ||
Simple and easy to use (hopefully!) JavaFX 8 game library<br/> | ||
[![Release](https://img.shields.io/badge/maven-0.1.8-blue.svg)](https://jitpack.io/#AlmasB/FXGL) | ||
JavaFX 8 Game Library<br/> | ||
[![Release](https://img.shields.io/badge/maven-0.1.9-blue.svg)](https://jitpack.io/#AlmasB/FXGL) | ||
[![MIT License](http://img.shields.io/badge/license-MIT-green.svg) ](https://github.com/AlmasB/FXGL/blob/master/LICENSE) | ||
[![Javadoc](https://img.shields.io/badge/docs-javadoc-green.svg)](http://almasb.github.io/FXGL/javadoc/index.html) | ||
|
||
## Use Case | ||
FXGL is perfect for small to medium sized games and for beginner / intermediate programmers in JavaFX. | ||
It is primarily aimed at people who wish to learn and practise game development. | ||
It also takes care of the common boilerplate code, so it can be used for fast prototyping. | ||
For larger projects the library may not be as suitable, whereas advanced programmers will probably want to work | ||
with JavaFX directly. | ||
If you have a use case (feature) that FXGL doesn't cover, raise an issue, carefully describing the use case. | ||
|
||
## Prerequisites | ||
Oracle JDK 1.8.0_40+ | ||
|
||
## Build | ||
```bash | ||
mvn package | ||
``` | ||
This will generate FXGL-0.1.8.jar, sources and javadoc. | ||
|
||
## Setup | ||
Choose setup steps based on your IDE/build tool. | ||
|
||
## Setup (Maven) | ||
## Maven | ||
```maven | ||
<repository> | ||
<id>jitpack.io</id> | ||
|
@@ -34,77 +14,40 @@ Choose setup steps based on your IDE/build tool. | |
<dependency> | ||
<groupId>com.github.AlmasB</groupId> | ||
<artifactId>FXGL</artifactId> | ||
<version>0.1.8</version> | ||
<version>0.1.9</version> | ||
</dependency> | ||
``` | ||
|
||
## Setup (Gradle) | ||
## Gradle | ||
```gradle | ||
repositories { | ||
// ... | ||
maven { url "https://jitpack.io" } | ||
} | ||
dependencies { | ||
compile 'com.github.AlmasB:FXGL:0.1.8' | ||
compile 'com.github.AlmasB:FXGL:0.1.9' | ||
} | ||
``` | ||
|
||
## Setup (General) | ||
Download FXGL-0.1.8.jar from <a href="https://github.com/AlmasB/FXGL/releases">Releases</a> (or the one built yourself) | ||
and add it to the build path in your IDE. That's it, you're all set! | ||
|
||
## Setup (NetBeans, tested with 8.0.2) | ||
1. File -> New Project -> Java -> Java Application -> Next | ||
2. Choose Project Name (optional: create main class) -> Finish | ||
3. In the Projects view, right-click Libraries -> Add Jar/Folder -> Navigate and Select downloaded FXGL jar | ||
|
||
## Setup (Eclipse, tested with 4.5.1) | ||
1. File -> New Java Project | ||
2. Choose Project Name -> Finish | ||
3. Right-click on the created project -> Build Path -> Configure Build Path -> | ||
Libraries Tab -> Add External JAR -> Navigate and Select downloaded FXGL jar | ||
|
||
## Setup (IntelliJ IDEA, tested with 15) | ||
1. Create Project | ||
2. File -> Project Structure | ||
3. Libraries -> Add Java -> Navigate and Select downloaded FXGL jar | ||
|
||
## Directory Structure for FXGL Applications | ||
This matches a typical IDE directory structure. For Maven users source root is "src/main/java" and assets | ||
should be in "src/main/resources". | ||
This allows easy packaging and deployment, as all assets packaged into jar will continue loading with | ||
exactly the same code. | ||
|
||
project directory (typically project name)<br /> | ||
src (source code directory)<br /> | ||
assets<br /> | ||
textures (image files ".png", ".jpg")<br /> | ||
audio (audio files ".wav")<br /> | ||
music (music files ".mp3")<br /> | ||
text (text files ".txt")<br /> | ||
data (binary data files with custom extensions)<br /> | ||
ui/css (stylesheets for customizing UI elements)<br /> | ||
ui/fonts (fonts ".ttf", ".otf")<br /> | ||
(your packages / code) | ||
## Use Case | ||
FXGL is perfect for small to medium sized games and for beginner / intermediate programmers in JavaFX. | ||
It is primarily aimed at people who wish to learn and practise game development. | ||
It also takes care of the common boilerplate code, so it can be used for fast prototyping. | ||
For larger projects the library may not be as suitable, whereas advanced programmers will probably want to work | ||
with JavaFX directly. | ||
If you have a use case (feature) that FXGL doesn't cover, raise an issue, carefully describing the use case. | ||
|
||
## Basic Usage / Examples | ||
The samples/ folder will be constantly updated to include demonstrations of various features. | ||
Video Tutorials Playlist - <a href="https://www.youtube.com/watch?v=mPE8p8p_YjQ&list=PL4h6ypqTi3RTiTuAQFKE6xwflnPKyFuPp">YouTube Link</a> <br/> | ||
The videos will walk you through the basics. | ||
|
||
## Notes | ||
If certain parts of documentation are ambiguous/incorrect/missing please let me know or raise an issue. | ||
Any testing, feedback and bug reports are welcome <br/> | ||
|
||
3D features and port to mobile will be considered in the future. <br/> | ||
|
||
This is only a hobby / side project (for the time being anyway), so the development progress may vary. | ||
Most of the code follows "some" design principles and practices, but overall I wouldn't consider the code to be high quality | ||
and as it is now it doesn't have much production value. | ||
## Extra Info | ||
For more information check out the project <a href="https://github.com/AlmasB/FXGL/wiki">Wiki</a> | ||
|
||
## Latest Release Features | ||
FXGL 0.1.8 supports: | ||
FXGL 0.1.9 supports: | ||
* Full JavaFX Integration (FXGL is built on top of JavaFX 8) | ||
* JBox2D Physics Engine Integration (v.2.3.0, https://github.com/jbox2d/jbox2d) | ||
* Basic Game Loop | ||
|
@@ -117,6 +60,7 @@ FXGL 0.1.8 supports: | |
* Entity Component/Control System | ||
* Time Management System | ||
* Global and Scoped Event System | ||
* Multithreading | ||
* Input Bindings (Keys + Mouse) | ||
* Automated Asset Management (".png", ".jpg", ".wav", ".mp3", ".txt", ".ttf/.otf" custom binary formats) | ||
* Automated Collision Handling (also unified, physics collisions are hooked into FXGL) | ||
|
@@ -134,21 +78,6 @@ FXGL 0.1.8 supports: | |
* In-game Notification System | ||
* Other minor game dev features | ||
|
||
## Next Release Features | ||
The issue tracker contains information about possible features to be added in | ||
the next release. | ||
|
||
## Few Simple Projects So Far<br/> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_menu2.jpg" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_cannon.jpg" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_Menu.jpg" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_Pacman.png" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_Physics.jpg" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_Platformer.jpg" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL_RPG.png" /> | ||
<img src="http://almasb.github.io/LearnJavaGameDev/tutorials/images/fxgl/FXGL24_FXWars2.jpg" /> | ||
Sprites can be found on http://opengameart.org/ | ||
|
||
## Contact | ||
Email: [email protected]<br/> | ||
<a href="https://plus.google.com/+AlmasB0/about">Google+</a> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Oops, something went wrong.