/FXGL

Java / JavaFX / Kotlin Game Library (Engine)

Primary LanguageJavaMIT LicenseMIT

promo

About

JavaFX Game Development Framework

Maven Central Build Status codecov

Why FXGL?

  • No installation or setup required
  • "Out of the box": Java 8/9/10/11(alpha), Win/Mac/Linux/Android 5.0+(Sample)/iOS(alpha)/Web(alpha)
  • 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, etc.
  • Games are easily packaged into a single executable .jar

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

Features

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

  • Version for Java 8/9/10: 0.5.4
  • Version for Java 11: 11.0-alpha

Note: from now on only 11.0+ will be developed. FXGL 11 supports Java 11 and has a more scalable architecture, but currently supports only a subset of features from 0.5.4.

Maven

  • Maven project if you use Java
  • Maven project if you use Kotlin

Already have pom.xml? Then add: (use 0.5.4 for Java 8/9/10)

<dependency>
    <groupId>com.github.almasb</groupId>
    <artifactId>fxgl</artifactId>
    <version>11.0-alpha</version>
</dependency>

Gradle

  • Gradle project if you use Java
  • Gradle project if you use Kotlin

Already have build.gradle? Then add: (use 0.5.4 for Java 8/9/10)

repositories {
    jcenter()
}

dependencies {
    compile 'com.github.almasb:fxgl:11.0-alpha'
}

Uber jar

Download the latest uber jar from Releases

Community

  • University of Brighton, UK
  • University of Nottingham, UK
  • 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.

Contribution & Support

If you want to build FXGL from sources or want to contribute, please see the Contribution Guide (including non-code).

You can support the FXGL development / show interest by simply starring the repo.

Contact

  • Ask questions on StackOverflow with tags javafx and fxgl
  • Tweet with #fxgl
  • Chat with the friendly FXGL community
  • Email