Skip to content
/ FXGL Public
forked from AlmasB/FXGL

Java / JavaFX / Kotlin Game Library (Engine)

License

Notifications You must be signed in to change notification settings

Abbilion/FXGL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,046 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

promo

About

JavaFX Game Development Framework

Maven Central Build Status codecov

Why FXGL?

  • No installation or setup required
  • "Out of the box": Java 8-11, 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

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

  • Version for Java 8-10: 0.5.4
  • Version for Java 11: 11.4

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.

Want a quick dive into code? See basic examples. Otherwise, you have the following options:

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-10). Note: make sure to set <release>11</release> for maven-compiler-plugin.

<dependency>
    <groupId>com.github.almasb</groupId>
    <artifactId>fxgl</artifactId>
    <version>11.4</version>
</dependency>

Gradle

  • 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.4'
}

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

Contact

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

About

Java / JavaFX / Kotlin Game Library (Engine)

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 58.1%
  • Kotlin 40.2%
  • CSS 1.5%
  • Other 0.2%