JavaFX Game Development Framework
- No installation or setup required
- "Out of the box": Java 8-13, Win/Mac/Linux/Android 5.0+(Sample)/iOS(alpha)/Web(Sample)
- 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, Event System, Scripting, and many more
- Games are easily packaged into a single executable .jar or native images
- 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
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);
}
}
- Version for Java 8-10:
0.5.4
(not updated) - Version for Java 11+:
11.8
(frequent updates)
FXGL 11 supports Java 11+ and has a more scalable architecture,
but currently supports only a subset of features from 0.5.4
.
Want a quick dive into code? See basic examples. Otherwise, you have the following options:
- Java 11 modules
- Wiki & Written tutorials
- YouTube tutorials
- Sample code demos
- FXGL games (src)
- Game demos (.jar)
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.8</version>
</dependency>
- Gradle project if you use Java 8-10
- Gradle project if you use Java 11+
- Gradle project if you use Kotlin
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.8'
}
Download the latest uber jar from Releases
- 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 discuss how FXGL can aid your course.
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.
- @Marsl10
- @SergeMerzliakov
- Ask questions on StackOverflow with tags
javafx
andfxgl
- Tweet with #fxgl
- Chat with the friendly FXGL community