• Stars
    star
    4,396
  • Rank 9,744 (Top 0.2 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created over 9 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Java / JavaFX / Kotlin Game Library (Engine)

promo

Languages

  English

  简体中文

  Русский

About

JavaFX Game Development Framework

Maven Central Build Status codecov sponsor JFXCentral

Why FXGL?

  • No installation or setup is required
  • "Out of the box": Java 8-21, 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
<dependency>
    <groupId>com.github.almasb</groupId>
    <artifactId>fxgl</artifactId>
    <version>21.1</version>
</dependency>

Gradle

  • Gradle template project if you use Java and/or Kotlin

Please refer to the template if there are any errors.

repositories {
    jcenter()
}

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

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
  • Georgia Institute of Technology, USA
  • 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
  • Johann-Andreas-Schmeller-Gymnasium Nabburg, Germany

If your institution wants to use or is using FXGL, add a note via GitHub Discussions 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 via GitHub Discussions.

Development Team

A description of roles is given in the Contribution Guide.

Maintainers (Collaborators):

Coordinators:

Testers:

Contribution & Support

If you want to build FXGL from the source code 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
  • @thejeed
  • @chikega

Companies:

  • @karakun

Contact

More Repositories

1

FXGLGames

This repo contains sample games built with FXGL
Java
817
star
2

FXTutorials

A collection of JavaFX tutorials from my YouTube channel
Java
454
star
3

Zephyria

JavaFX Kotlin RPG using FXGL engine
Kotlin
52
star
4

FXGL-FastRender

A quick demo of JavaFX PixelBuffer inside an FXGL environment
Java
39
star
5

JavaFX11-example

An example that shows how to use JavaFX 11 with Java 11
Java
35
star
6

mmorpg

A prototype for an mmorpg game
Java
20
star
7

grammy

A grammar generator based on tracery: https://github.com/galaxykate/tracery
Kotlin
20
star
8

FXEventBus

Simple event bus implementation based on JavaFX event dispatching mechanism.
Java
16
star
9

FXGL-MavenGradle

A template project for FXGL games using Maven and Gradle.
Java
16
star
10

Battleship

Implementation of classic battleship game
Java
14
star
11

FXHub

A PoC implementation of a hub for community-developed JavaFX apps and projects.
Java
10
star
12

LibraryLoan

Simplistic example of library booking system
Java
10
star
13

SDL2-Demo

A minimal example using SDL2
C
9
star
14

FXGL-MobileApp

An example game that uses FXGL and runs on a mobile device
Java
9
star
15

Mathris

A game to help you improve mental math
Java
8
star
16

FXHub-data

Data repo for FXHub
8
star
17

HandTrackingFXGL

A simple FXGL game that makes use of MediaPipe hand tracking for controls
Java
7
star
18

AStar

A tiny library that can be used in games to perform A* pathfinding search.
Java
7
star
19

blackjack

the card game of blackjack
Java
6
star
20

CI553-CW

CW codebase for CI553
Java
5
star
21

WolFX

An example 3D FPS shooter built with FXGL
Java
5
star
22

TDD-Snake

A quick and simple tutorial on how TDD can be used in games
Java
5
star
23

fx-localization

A tiny JavaFX library that provides localization API
Java
5
star
24

javafx3d-samples

A collection of minimal sample code for JavaFX 3D
Java
4
star
25

SpaceFXGL

A recreation of https://github.com/HanSolo/SpaceFX using FXGL
Java
4
star
26

SolarSystem

An example of a 3D application with FXGL
Java
4
star
27

xcube2d

2D game engine based on SDL 2.0 developed as teaching material for CI517
C
4
star
28

UoB-Codefest

University of Brighton Codefest page
Java
4
star
29

CI628-PongClient

A simple multiplayer pong client in C++.
C
4
star
30

almasb.github.io

Almas Baimagambetov Homepage
SCSS
3
star
31

CodefestApp

An automated platform for Codefest challenges
Kotlin
3
star
32

UniversalCheatSheet

Contains various things that are useful for work but can be forgotten
Shell
3
star
33

javafx-serialization

Kotlin
3
star
34

FXGL-WebApp

A demo game in FXGL that runs in a browser via JPro
Java
3
star
35

FOSDEM22-FXGL

Sample code for AI Pathfinding in FXGL presented at FOSDEM 2022
Java
2
star
36

CV

CV
TeX
2
star
37

RandomAppWriter

An app that writes other apps
2
star
38

CodeSamplesJava

A collection of short feature specific code samples in Java
Java
2
star
39

CI346

2
star
40

ClientServerCalculator

A simple example of the client-server architecture using a calculator
Java
2
star
41

jEncrypt

An app that encrypts/decrypts files using AES based on a single user password
Java
2
star
42

maze3d

A simple maze game based on jME3
Java
2
star
43

TextAdventure

A small text adventure game
Java
2
star
44

CI517

Learning material for the Game Engine Fundamentals module at the University of Brighton
2
star
45

CI628

Multiplayer Game Development module material
1
star
46

fx-mvc

An ultra lightweight library to simplify javafx MVC application design
Java
1
star
47

TODO-Calendar

Kotlin
1
star
48

WeatherApp

A simple tutorial
Java
1
star
49

IntroductionToFXGL

A 3-part practical workshop
Java
1
star
50

gltexture

A simple example of using 2d textures in modern opengl
C++
1
star
51

SSLogger

Super simple logger
Kotlin
1
star
52

Codefest2021

"Belong at Brighton" University of Brighton Codefest challenges
1
star
53

text-to-speech

Test
JavaScript
1
star
54

PongWarfare

A clone of Pong with additional gameplay. Made with FXGL
Java
1
star
55

GameJam-1

30-min FXGL test
Java
1
star
56

hangman

A hangman game in java
Java
1
star
57

CI628-PongServer

A simple server for multiplayer pong.
Java
1
star