itch.io is community of indie game creators and players

Devlogs

Release 0.12.0

LITIENGINE
A downloadable game engine for Windows, macOS, and Linux

What’s Changed

Highlights of this release include runtime display mode switching with automatic GUI rescaling, expanded tweening capabilities, Aseprite animation import/export support, improved GUI navigation, an emitter data serialization rework, and several stability improvements across the engine and utiLITI editor.

πŸ”§ Engine & Core

  • Added runtime display mode switching, allowing games to change resolution and display mode without restarting.
  • Added automatic GUI rescaling and repositioning when the game resolution changes.
  • Added focus-aware keyboard and controller navigation for core GUI components.
  • Expanded the tweening system:
    • Added loopable tweens.
    • Added tween lifecycle events.
    • Added Camera tweening support.
    • Renamed Tween.begin() to Tween.start().
  • Added support for registering custom Trigger types without implementing a custom MapObjectLoader.
  • Added Animation Resources and JSON utilities for importing and exporting Aseprite animations.
  • Resource lookups are now case-insensitive, preventing load failures caused by filename casing differences.
  • Improved resource loading with more graceful exception handling.
  • Fixed floating-point precision issues in collision detection that could cause false-positive intersections.
  • Fixed an alignment clamping issue.
  • Improved documentation throughout the engine, including extensive JavaDoc updates and clarifications.

🎨 Particle System

  • Replaced ParticleParameter with serializable RangeAttribute.
  • Renamed EmitterData to EmitterAttributes.
  • Improved / simplified emitter serialization.

πŸ› οΈ utiLITI

  • Added context menus for resources in the Resources tab.
  • Added keyboard shortcuts for common resource operations.
  • Added context-sensitive import menus to the Resources panel.
  • Improved Asset Panel usability and interactions.
  • Added double-click color picker support in the layer list.
  • Fixed a macOS-specific crash caused by right-click interactions.

πŸ–₯️ Platform & Runtime

  • Improved handling of borderless window mode changes.
  • Added required desktop modules to packaged applications for improved runtime compatibility.

πŸ—οΈ Toolchain

  • Updated the Gradle Wrapper to 9.5.1.
  • Improved workflow security by pinning GitHub Actions to commit hashes.
  • Updated and modernized CI/CD workflows and release tooling.
  • Various code quality improvements, cleanup efforts, and Sonar findings addressed.

πŸ“¦ Dependencies

Notable dependency updates include:

  • Input4J β†’ 1.2.0
  • JUnit β†’ 6.1.0
  • SonarQube β†’ 7.3.0
  • Gradle Actions β†’ 6
  • Spotless β†’ 8.6.0
  • Mockito β†’ 5.23.0
  • JAXB β†’ 4.0.9

⚠️ Breaking Changes

  • Tween.begin() has been renamed to Tween.start().
  • ParticleParameter has been removed and replaced by RangeAttribute. -> rename maxValue to max and minValue to min in your emitter XML.
  • EmitterData has been renamed to EmitterAttributes.

New Contributors

  • @SOrtiz1967 made their first contribution in #959

Full Changelog: https://github.com/gurkenlabs/litiengine/compare/0.11.1…0.12.0

Files

  • utiLITI-windows.zip 32 MB
    Version 0.12.0
  • utiLITI-linux.zip 37 MB
    Version 0.12.0
  • utiLITI-mac.zip 31 MB
    Version 0.12.0
Download LITIENGINE
Leave a comment