com.github.almasb:fxgl-base

JavaFX Game Development Framework

License

License

Categories

Categories

FXGL Business Logic Libraries Game Development
GroupId

GroupId

com.github.almasb
ArtifactId

ArtifactId

fxgl-base
Last Version

Last Version

0.5.4
Release Date

Release Date

Type

Type

jar
Description

Description

JavaFX Game Development Framework

Download fxgl-base

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.almasb/fxgl-base/ -->
<dependency>
    <groupId>com.github.almasb</groupId>
    <artifactId>fxgl-base</artifactId>
    <version>0.5.4</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.almasb/fxgl-base/
implementation 'com.github.almasb:fxgl-base:0.5.4'
// https://jarcasting.com/artifacts/com.github.almasb/fxgl-base/
implementation ("com.github.almasb:fxgl-base:0.5.4")
'com.github.almasb:fxgl-base:jar:0.5.4'
<dependency org="com.github.almasb" name="fxgl-base" rev="0.5.4">
  <artifact name="fxgl-base" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.almasb', module='fxgl-base', version='0.5.4')
)
libraryDependencies += "com.github.almasb" % "fxgl-base" % "0.5.4"
[com.github.almasb/fxgl-base "0.5.4"]

Dependencies

compile (10)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.2.51
org.jetbrains.kotlinx : kotlinx-coroutines-core jar 0.23.4
com.fasterxml.jackson.core : jackson-databind jar 2.9.0
com.fasterxml.jackson.module : jackson-module-kotlin jar 2.9.0
org.apache.httpcomponents : httpclient jar 4.5.3
com.gluonhq : charm-down-plugin-storage jar 3.7.0
com.gluonhq : charm-down-plugin-storage-desktop jar 3.7.0
com.gluonhq : charm-down-plugin-lifecycle jar 3.7.0
com.github.almasb : fxgl-plugin-audio jar 0.0.2
com.github.almasb : fxgl-plugin-audio-desktop jar 0.0.2

test (2)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.1.1
org.hamcrest : hamcrest-library jar 1.3

Project Modules

There are no modules declared in this project.

promo

About

JavaFX Game Development Framework

Maven Central Build Status codecov sponsor

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 game (side-scroller / platformer / arcade / RPG)
  • Any business application with complex UI controls / animations
  • Experimental 3D
  • Hobby / academic / commercial projects
  • Teaching / learning / improving game development skills
  • Fast prototyping of app 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:

Maven

  • Maven template project if you use Java and/or Kotlin (Java 11+)

Make sure to set <release>11</release> for maven-compiler-plugin.

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

Note: use 0.5.4 for Java 8-10.

Gradle

  • Gradle template project if you use Java and/or Kotlin (Java 11+)

Please refer to the template if there are any errors.

repositories {
    jcenter()
}

dependencies {
    compile 'com.github.almasb:fxgl:11.15'
}

Note: use 0.5.4 for Java 8-10.

Modularity

If you wish to develop a modular application, here's a complete example of your module-info.java:

open module app.name {
    requires com.almasb.fxgl.all;
}

Uber jar

Download the latest uber jar from Releases

Community

  • University of Brighton, UK
  • University of Nottingham, UK
  • kidOYO, USA
  • Walton High School, USA
  • Conant High School, USA
  • Zealand Institute of Business and Technology, Denmark
  • Federal Institute of Education, Science and Technology of Rio Grande do Sul, Brazil
  • FHNW School of Engineering / Computer Science, Switzerland

If your institution wants to use or is using FXGL, add a note in the Chat 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.

Development Team

Description of roles is given in the Contribution Guide.

Maintainers (Collaborators):

Coordinators:

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. Contributions will be reviewed in accordance with the Code of Conduct.

You can support the FXGL development or show interest by simply starring the repo or becoming a sponsor.

Sponsors

Users:

  • @Marsl10
  • @SergeMerzliakov
  • @mbains
  • @sabit86
  • @hendrikebbers
  • @ImperaEtConquer

Companies:

  • @karakun

Contact

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

Versions

Version
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0