Friends of OpenJDK Today

New Book: FXGL 17 — Learn JavaFX Game and App Development

September 19, 2022


  • Avatar photo
    Almas Baimagambetov

    Principal Lecturer, Computing Department Lead at the University of Brighton. Author of #FXGL game engine. #Java #JavaFX #Kotlin open sourcerer. PhD in Computer Science.

This is an announcement of the FXGL 17 book. This book is for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.

This book is also suitable for experienced developers who wish to learn how to use FXGL.

Lastly, game developers familiar with Unity, Unreal Engine or Godot who wish to learn Java and JavaFX will find this book useful.

JavaFX is a modern high-performance GUI toolkit for Java. It provides hardware acceleration support on a range of platforms, including desktop, mobile and embedded, allowing the development of cross-platform applications.

However, to develop games with JavaFX effectively, numerous domain-specific concepts are needed. To address this need, the FXGL game engine extends JavaFX and brings support for real-world game development techniques.

FXGL is a JavaFX-based game engine that is distributed as a typical Maven/Gradle dependency.

Out of the box it supports commonly used game development techniques, such as Entity-Component, physics, interpolated animations, particle effects, AI, networking and many more.

The API is typically higher level than other engines and follows the JavaFX conventions, where appropriate, to minimise the transition from JavaFX to FXGL.

The book is available from Springer:

All of the source code is available at:

FXGL powered games are available from:

Complete playable demos are published at:

Related Articles

View All
  • Game Development Basics with FXGL

    Game Development is a large field of Computer Science with a lot of underpinning theory behind the concepts and practices used in the industry.

    In this short article, we will learn some fundamental basics of these concepts, which will be explored within the context of the FXGL game engine.

    However, the concepts themselves are language-agnostic and engine-agnostic.

    Please note that the material presented here is deliberately simplified to provide a gentle introduction. Those seeking in-depth coverage are encouraged to pursue further research.

    Read More
    Avatar photo
    June 17, 2021
  • Getting Started with FXGL Game Development

    FXGL is a JavaFX Game Library Engine for Java and Kotlin, created by Almas Baimagambetov.

    In this article, you’ll read what FXGL is, what it is good for, what its dependencies are, as well as a complete scenario with a video and code snippets to set up your first FXGL scenario from scratch.

    Read More
    Avatar photo
    Avatar photo
    November 12, 2020
  • High Performance Rendering in JavaFX

    In this article, we comparatively evaluate four different approaches to render particles in JavaFX in terms of runtime performance.

    The approaches are Canvas, PixelBuffer AWT, PixelBuffer CPU and PixelBuffer GPU.

    The evaluation suggests the following order of approaches from fastest to slowest:

    – PixelBuffer GPU (fastest).
    – PixelBuffer CPU.
    – PixelBuffer AWT.
    – Canvas (slowest).

    Read More
    Avatar photo
    January 18, 2021


  • Avatar photo
    Almas Baimagambetov

    Principal Lecturer, Computing Department Lead at the University of Brighton. Author of #FXGL game engine. #Java #JavaFX #Kotlin open sourcerer. PhD in Computer Science.

Comments (1)

Your email address will not be published. Required fields are marked *

Highlight your code snippets using [code lang="language name"] shortcode. Just insert your code between opening and closing tag: [code lang="java"] code [/code]. Or specify another language.

Save my name, email, and website in this browser for the next time I comment.


Good morning Sir,
I have bought your book to start learning how to build games with FXGL and i have viewed your videos on youtube. I think what you have done is really great and i have a lot of ideas now and i want to make it real. I have some questions concerning how to use the Api that you have developped without using maven and intellij. I am using eclipse and i want to integrate those files in my project and i have a lot of misunderstanding. Can you help me figure out and solve this issue please? my email is [email protected]

Subscribe to foojay updates:
Copied to the clipboard