Almas Baimagambetov12 articles
New Book: FXGL 17 — Learn JavaFX Game and App Development
New book for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.
FXGL Game Engine 11.17 Release
The FXGL game engine is now at 11.17. Most of the changes in this release focus on internal code quality and fixes.
Major additions to note:
1. Added download file API to NetService. Using this API developers can download files from any URL. For example, if certain assets are stored remotely.
2. Rotation and scale in 3D now support origin points (pivot points). This is a beneficial addition since some animations will need specific origin points for transformations to achieve the desired effect.
JavaFX: June 2021 Community Update
In order for any technology to grow and improve, community support and feedback are paramount.
To get a general idea of what the community would like to see in JavaFX in the future, I have asked developers to share their thoughts. The collated results are given below.
Each entry also includes links to open-source libraries and other resources that may provide (or help develop) some of the necessary functionalities.
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.
FXGL Game Engine 11.16 Release
1. The restored Multiplayer Service allows easy replications of input, events and entities on a remote machine. For example, by just adding a single line of code (see MultiplayerService API), any key or mouse inputs that occur on one end of the connection can be replicated on the other end.
2. The new FPS camera allows easy control of the player (or their “line of sight”) in the context of a first-person 3D game.
3. There is no longer a transitive dependency on the javafx.swing module. This means FXGL users will not need an extra module in their module graph.
Creating a Snake Game with JavaFX FXGL in Three Pair-Programming Sessions
In this article, Almas and Frank show you how to start with an idea for a game and bring it to life in a prototype application. We will then modify the application to run on a Raspberry Pi and on a mobile device.
To give some background, some time ago my 10y old son challenged me to create a Snake-like game with emojis. He selected the emoji images and I “only” needed to do the programming bit, the easy part… Luckily Almas asked me if I had a topic for some pair-programming for his YouTube channel, and his question turned into a three-part series. My son is delighted because his idea is now a real game!
Modern JavaFX Game Development with FXGL: Pong (Simple)
In this tutorial we will make a very simple clone of the classic Pong game using the FXGL game engine.
We will be using the latest (currently 11.15) version of FXGL via Maven or Gradle.
The full source code is available at the end of this page.
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).
Device Monitoring with JavaFX and FXGL
In a previous post, Getting Started with FXGL Game Development, we already have taken a look at the FXGL game development framework developed by Almas Baimagambetov.
But, this game engine can also be used for other use cases. In this post, we will be building a system monitoring dashboard, which can run on a Raspberry Pi.
The dashboard can be used to keep an eye on any device that can report its state to a queue. And, for me personally, it finally solves the problem of finding the IP addresses of all my Raspberry Pi’s when my router decided to shuffle them.