Changelog History
-
v11.11 Changes
September 08, 2020๐ This release brings mobile (via Gluon client-maven-plugin) and networking support.
- ๐ TCP support is no longer in draft (feedback welcome)
- โ Added draft UDP support
- โช Restored FXGLTextFlow
- AnimationBuilder now has rotate and scale origins, thanks to @AahzBrut
- ๐ Fixed WobbleEffect, thanks to @AahzBrut
- Various API improvements
- โ More tests
- attach 4.0.6 -> 4.0.8
- javafx 13.0.2 -> 14
- ๐ Improved peformance in IntroScene
- โ Added lifecycle event handlers on mobile
- ๐ Significant performance improvements to Images::merge and sub/superTexture
- ๐ Fixed default logging format
- ๐ท Clean up CI scripts
FXGL dialogue editor:
- ๐ can move multiple nodes with CTRL+click
- ๐ latest builds available from builds-editor
-
v11.10 Changes
July 31, 2020๐ Changelog:
- โก๏ธ Default intro scene updated
- Draft of
fxgl-net
TCP - ๐ Significant improvement in animation performance
- Anonymous components are now allowed, though still not recommended
- ๐ Component injection can be disabled on a per component basis to improve runtime performance when creating many entities
- fxgl-trade module is now part of FXGL API
- โ Added "global" input object accessible via SceneService
- โ More tests
- ๐จ Internal code cleanup and refactor
fxgl-samples
cleanup- attach 4.0.2 -> 4.0.6
- ๐ new dep: jackson databind
- Dialogue editor: added branches / functions / conditions
- โ Added a setting to disable all FS write operations
- Localizations and fonts are now lazily loaded, improving fxgl startup time
- Camera scene can be entered with
CTRL+C
in debug / developer modes
๐ Bug fixes:
- ๐ Fixed translation animation along a path, which now doesn't snap to 0,0
- ๐ Fixed a bug where tmx with different tileset sizes would load incorrectly
- ๐ Fixed a bug where viewport would not correctly follow entity if zoomed
- ๐ Fixed a bug where mouse world coordinates would be incorrect when viewport is zoomed
- ๐ Fixed a bug where viewport bounds would not honor zoom level
- ๐ Fixed a bug where resized window would generate incorrect input coordinates
Contribution credits (thanks to):
-
v11.9 Changes
May 27, 2020๐ Changelog:
- ๐ Error reporter is no longer a native window. It now runs as an MDI window to improve cross-platform support
- Animation now has an
onCycleFinished()
callback - Single unified AnimationBuilder for
Entity
andNode
, available for all fxgl modules .properties
or any extension with same properties format can be loaded as aPropertyMap
- Redesigned menu architecture: now there are only two menus: main and game, each controlled separately via
settings.setMainMenuEnabled()
andsettings.setGameMenuEnabled()
. - ๐ Fixed a bug that incorrectly sorted the rendering order of subscene views
- ๐ Fixed a bug that incorrectly resized scenes
- More detailed OS info is logged to debug (thanks to @ross-holloway94)
- ๐ New input trigger: sequence of keys
- ๐ New components: AutoRotationComponent, StateComponent
- ๐ New Entity and Animation builder convenience methods
- ๐ Improved internal management of entity views, resulting in significantly improved use of CPU time (especially when there are many entities)
- Simplified Save/Load API
- ๐ Improvements to Shop API in the
fxgl-trade
module - ๐ Improvements to Entity API for kotlin users (thanks to @wakingrufus)
Mobile improvements:
- no extra IO tasks during FXGL init (faster startup)
- no runtime proxy functions (avoids mobile runtime crash)
- ๐
.tmx
is now correctly parsed - platform os is correctly detected
- virtual joystick
-
v11.8 Changes
March 08, 2020- Most
FXGL.*
calls are implemented asEngineService
for further modular architecture getGameState()
is now a property map of the game world, accessible viaFXGL.getWorldProperties()
- Fonts are loaded lazily. Now
getUIFactoryService().newText()
has unmodifiable fonts - Faster window startup
- ๐ New events DSL API
- ๐ New Action API for entities. An Action is short-term behavior.
- JavaFX Properties can now be animated using the Animation DSL API
- WobbleEffect
- โฌ๏ธ JavaFX upgraded to 13.0.2
- ๐ New function to calculate distance between bboxes of entities
- โก๏ธ Minor convenience updates to API
๐ Fixes:
- ๐ Fixed z-index sorting bug when z is updated at runtime
- ๐ Fixed incorrect offset of the pause menu when window is resized
- Most
-
v11.7 Changes
January 05, 2020๐ Main focus of this release was on the fxgl-ai module. In particular, A* pathfinding and cell-based movements. Changelog:
- โ Added fxgl-ai module
- ๐ป ProgressBar (fxgl-ui module) value not bindable was fixed (thanks @marvinbuff )
- Particle effects can now scale with entities
- Images.kt has new resize() function (thanks @CharlyZhu)
- Cursor can now be set to invisible in the game scene
- โ Added IntervalSwitchComponent (thanks @CharlyZhu)
- โ Added TrailViewComponent
- โ Added PropertyMapView (thanks @CharlyZhu)
- ๐ FXGLMath random can now be initialized with a seed (
settings.setRandomSeed()
) - ๐ Minor bug fixes and extra convenience methods to Java and Kotlin DSL
-
v11.6 Changes
November 17, 2019๐ Unified localization support for both in-game and engine data. Example usage:
getLocalizationService().addLanguageData(new Language("ENGLISH"), Map.of("some.key", "Hello World")); // just String String s = getLocalizationService().getLocalizedString("some.key"); // a bindable StringProperty StringProperty s = getLocalizationService().localizedStringProperty("some.key");
๐ Support for flipped tiles in .tmx files from Tiled map editor
Tiled maps with transparency are now correctly loaded
โ Added circuit breaker style mini game
๐ Allow entities to call component methods directly using method name:
class SomeComponent extends Component { public void someMethod() { } } ... entity.addComponent(new SomeComponent()); entity.call("someMethod");
โ Added components: ActivatorComponent, FollowComponent, TextViewComponent, GenericBarViewComponent (thanks to @marvinbuff}
โ Added effect: SlowTimeEffect
๐ Fixed a rare bug that would crash FXGL on startup
โ More tests
-
v11.5 Changes
September 22, 2019๐ This release fixes a major bug in fullscreen mode. All developers using fullscreen in their games should upgrade to this version.
- ๐ Fixed UI not scaling properly when going fullscreen
- ๐ Fixed (via a workaround, thanks to @Madave94) uncapped frame rate on Linux
- โ Larger code coverage for unit tests + added a system test
- ๐จ Internal code refactorings to reduce inter-class dependencies
- Cleanup of legacy code and resources
- โ Added static code analyser (thanks to @megaman248)
- ๐ New fxgl-tools module with functional dialogue editor
-
v11.4 Changes
August 06, 2019๐ This release completes a lot of the groundwork required to run FXGL 11 natively (desktop + mobile).
๐ Changelog:
- ๐ง The engine core is fully functional on native Linux, Mac + iOS
- File system access now works on iOS via "attach" storage 4.0.2
- ๐ฑ Most of fail-fast calls in AssetLoader are now fail-safe: dummy assets are returned if load fails and a warning message is recorded
- ๐ Deprecated API has been removed
- ๐ New setting to preserve resize ratio
- โ Add build number, java and javafx runtime versions to FXGL version
- Developer debug messages that can be used for temporary messages
- โ Added OffscreenPauseComponent
- โช Restored virtual controls
- ๐ป Menu UI bug is fixed wrt credits
- ViewComponent API is redesigned to be more intuitive. Access to underlying view (JavaFX Node subclasses) should now be easier. Adding and removing views at runtime should also be easier.
- ๐ Uses JavaFX 12.0.1
- ๐ท Travis CI now uses OpenJDK11 and 12
- ๐ง Uber jar now contains all (win, mac, linux) dependencies
-
v11.3 Changes
May 31, 2019๐ This is the first stable release for FXGL 11. All Java 11 users should update to this version.
๐ Changelog:
- Animation channels can be constructed from sprite sheets with different frame sizes
- Extra built-in components: LiftComponent, DraggableComponent, IntervalPauseComponent
- โช Restored
onPreInit()
for single pre-init tasks - ๐ Improved Java module names (thanks to @sormuras )
- ๐ Documentation cleanup in various modules
- ๐ New modules: minigames and trade (these are WIP and are not yet used by the main module)
-
v11.2-beta Changes
April 28, 2019- ๐ New developer pane
- ๐ New service API
- Tentative architecture for Notification and Achievement services
- ๐ Fixed problems with scaling of polygonal shapes and hit boxes
- Input now correctly reports onActionEnd() if a scene is switched
- Collision handlers now correctly report onCollisionEnd() if an entity becomes ineligible for collision while colliding
- ๐ Fixed check for web platform
- ๐ Minor bug fixes