• Stars
    star
    3,984
  • Rank 10,384 (Top 0.3 %)
  • Language
    Java
  • License
    MIT License
  • Created about 9 years ago
  • Updated 3 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
755
star
2

FXTutorials

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

Zephyria

JavaFX Kotlin RPG using FXGL engine
Kotlin
48
star
4

FXGL-FastRender

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

JavaFX11-example

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

grammy

A grammar generator based on tracery: https://github.com/galaxykate/tracery
Kotlin
21
star
7

mmorpg

A prototype for an mmorpg game
Java
21
star
8

Battleship

Implementation of classic battleship game
Java
16
star
9

FXEventBus

Simple event bus implementation based on JavaFX event dispatching mechanism.
Java
15
star
10

FXGL-MavenGradle

A template project for FXGL games using Maven and Gradle.
Java
15
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
9
star
13

SDL2-Demo

A minimal example using SDL2
C
9
star
14

Mathris

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

FXHub-data

Data repo for FXHub
8
star
16

FXGL-MobileApp

An example game that uses FXGL and runs on a mobile device
Java
8
star
17

AStar

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

HandTrackingFXGL

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

CI553-CW

CW codebase for CI553
Java
6
star
20

blackjack

the card game of blackjack
Java
6
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

SolarSystem

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

SpaceFXGL

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

fx-localization

A tiny JavaFX library that provides localization API
Java
4
star
26

UoB-Codefest

University of Brighton Codefest page
Java
4
star
27

CI628-PongClient

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

almasb.github.io

Almas Baimagambetov Homepage
SCSS
3
star
29

xcube2d

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

CodefestApp

An automated platform for Codefest challenges
Kotlin
3
star
31

UniversalCheatSheet

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

javafx3d-samples

A collection of minimal sample code for JavaFX 3D
Java
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

CV

CV
TeX
2
star
36

RandomAppWriter

An app that writes other apps
2
star
37

CI628

Multiplayer Game Development module material
2
star
38

CodeSamplesJava

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

CI346

2
star
40

FOSDEM22-FXGL

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

maze3d

A simple maze game based on jME3
Java
2
star
42

ClientServerCalculator

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

jEncrypt

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

TextAdventure

A small text adventure game
Java
2
star
45

CI517

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

fx-mvc

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

Codefest2021

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

TODO-Calendar

Kotlin
1
star
49

WeatherApp

A simple tutorial
Java
1
star
50

IntroductionToFXGL

A 3-part practical workshop
Java
1
star
51

SSLogger

Super simple logger
Kotlin
1
star
52

gltexture

A simple example of using 2d textures in modern opengl
C++
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

hangman

A hangman game in java
Java
1
star
56

GameJam-1

30-min FXGL test
Java
1
star
57

CI628-PongServer

A simple server for multiplayer pong.
Java
1
star