About
JavaFX Game Development Framework
Why FXGL?
- No installation or setup required
- "Out of the box": Java 8-15, Win/Mac/Linux/Android 8+/iOS 11.0+/Web
- Simple and clean API, higher level than other engines
- Superset of JavaFX: no need to learn new UI API
- Real-world game development techniques: Entity-Component, interpolated animations, particles, and many more
- Games are easily packaged into a single executable .jar or native images
Good for:
- Any 2D genre (side-scroller / platformer / arcade / RPG)
- Complex UI controls
- Hobby / academic / commercial projects
- Teaching / learning / improving game development skills
- Fast prototyping of game ideas
Minimal Example
public class BasicGameApp extends GameApplication {
@Override
protected void initSettings(GameSettings settings) {
settings.setWidth(800);
settings.setHeight(600);
settings.setTitle("Basic Game App");
}
public static void main(String[] args) {
launch(args);
}
}
Getting Started
For a quick dive into code, see standalone basic examples. Otherwise, see:
- Showcase Trailer
- Wiki & written tutorials
- YouTube tutorials
- Java 11 modules
- Sample code demos
- Full FXGL games (with source)
- Pre-built FXGL demos (.jar)
- Published demos on itch.io
Maven
- Maven template project if you use Java and/or Kotlin (Java 11+)
Already have pom.xml
? Then add: (use 0.5.4
for Java 8-10). Note: make sure to set <release>11</release>
for maven-compiler-plugin
.
<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>11.12</version>
</dependency>
Gradle
- Gradle template project if you use Java and/or Kotlin (Java 11+)
Already have build.gradle
? Then add: (use 0.5.4
for Java 8-10). Note: in case you have errors, please see templates for Gradle above.
repositories {
jcenter()
}
dependencies {
compile 'com.github.almasb:fxgl:11.12'
}
Uber jar
Download the latest uber jar from Releases
Community
- University of Brighton, UK
- University of Nottingham, UK
- kidOYO, USA
- Walton High School, USA
- Zealand Institute of Business and Technology, Denmark
- Federal Institute of Education, Science and Technology of Rio Grande do Sul, Brazil
If your institution wants to use / is using FXGL, drop me an email to be added to the list.
Community tutorials:
- Space Ranger at journaldev
- Geometry Wars at webtechie
Community projects (identified using fxgl
topic):
If you'd like your project featured here, just add a note in the Chat.
Contribution & Support
If you want to build FXGL from sources or want to contribute, please see the Contribution Guide (including non-code). FXGL is fully modular, so new contributors do not need to understand the entire codebase, only the module to which the contribution is made.
You can support the FXGL development / show interest by simply starring the repo or becoming a sponsor.
Sponsors
- @Marsl10
- @SergeMerzliakov
- @mbains
- @sabit86
Contact
- Ask questions on StackOverflow with tags
javafx
andfxgl
- Tweet with #fxgl
- Chat with the friendly FXGL community