almasb by fxgl

JavaFX Game Development Framework

Maven Central Build Status codecov


  • No installation or setup required
  • “Out of the box”: Java 8-15, Win/Mac/Linux/Android 5.0+/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 {

    protected void initSettings(GameSettings settings) {
        settings.setTitle("Basic Game App");

    public static void main(String[] args) {

Getting Started

For a quick dive into code, see standalone basic examples. Otherwise, see:


  • 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.



  • 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 {

dependencies {
    compile 'com.github.almasb:fxgl:11.11'

Uber jar

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 be added to the list.

Community tutorials:

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.


  • @Marsl10
  • @SergeMerzliakov
  • @mbains
  • @sabit86


  • Ask questions on StackOverflow with tags javafx and fxgl
  • Tweet with #fxgl
  • Chat with the friendly FXGL community
compile "com.github.almasb:fxgl:11.12"

Related Libraries



Last updated 3 mins ago