docsReading time: 8 minutes

LITIENGINE Release notes

v0.5.1-beta - "No more Netcode"

LITIENGINE v0.5.1-beta featureimage

This release brings tons of bugfixes and quality-of-life improvements. Feature-wise, the highlight of this version is the addition of a Tweening framework that lets you interpolate values over time, e.g. to let your GuiComponents bounce or your Entities wiggle. As the engine's networking code had been an unmaintained, untested, and even unsafe mess, we have decided to remove the networking package entirely.

Our Discord server has seen some upgrades and we gladly welcome our first community moderator, Conifer! In order to give back some of your love, we have introduced some special roles for our forum and the Discord server:

  • @Supporter : Members that have supported us with donations.
  • @Contributor : Members that have contributed to our open source code repositories
  • @Early Bird : Members that have been part of our community since the Alpha days of LITIENGINE.

We try to assign these roles to the best of our knowledge, but if we forgot you - please don't hesitate to complain. 🙂

Apart from that, we've updated the sponsoring tiers in the LITIENGINE Open Collective, allowing you to support our work financially and with full transparency. We have also started a spreadshirt shop where you can buy all kinds of LITIENGINE related swag and promote the cause (feel free to suggest additional motives)!

As always, huge thanks to all contributors and fans! This is an exciting journey for us and we are grateful to share it with you.

✅ Fixes

  • 5bce248 Fixed unsupported Javadoc tags
  • ab5529a Fixed keyframe durations for automatically flipped animations in CreatureAnimationControllers
  • 1ca3997 Fixed flickering particle opacity when fading
  • 9a5c829 Fixed ImageComponent image scaling
  • 0d4cbec Fixed URLAdapter initialization in XmlUtilities
  • 71aa62d Fixed ImageLayer rendering for unbound maps
  • eddb149 Added a collision box update right after unmarshalling CollisionEntities
  • #355 Fixed diagonal Entity movement speed
  • f2bfbbb Fixed Text alignment for GuiComponents with text outlines
  • #365 Fixed threading issue with Swing tests
  • 10673e2 Fixed vertical alignment for GuiComponent text with outlines
  • 63fb8cf Fixed issue where CombatEntityListeners would not fire hit and death events
  • #367 Improved precision of rotation angle calculations
  • 21a7171 Fixed the first Animation frame being skipped
  • 4512029 Ensured that the first Animation in an AnimationController is used as default
  • a29e62d Ensured that the PhysicsEngine is cleared when the game world is cleared
  • 94acb5b Fixed threading issue when drawing maps
  • 07eec17 Fixed a long-standing shape rendering issue (#275)

⭐ Features/Improvements

  • 1296cfa Enabled single-value ParticleParameter initialization
  • 2840217 Implemented SoundSource entities. Added individual falloff ranges for SFXPlaybacks
  • 973d78a Added individual volume modifiers for SFXPlaybacks
  • ec49e60 Added CopyConstructor for Tiles
  • #352 Added Tweening framework
  • 3e604fc Enabled automatic font resizing when resizing GuiComponents
  • 9a5c829 Enabled setting rowHeight and columnWidth in ImageComponentList externally
  • c6fb37b Enabled automatically attaching / detaching IEntityControllers to the Game loop when adding / removing.
  • 57d0394 Added reflection helper method to recursively retrieve methods.
  • 2a0e41d Added possibility to extend MapObject unmarshalling behaviour
  • b721dc9 Check inheritance by default when retrieving fields via reflection
  • c9076fd Enabled getting gamepads by index
  • 75a3ff0 Added method overload for modifying Attribute values
  • 5e0fe1d 2e042e7 Added event listeners for Animation keyframes
  • #357 Added Tests for Attribute, RangeAttribute and AttributeModifier
  • fc42199 Added optional automatic line breaks to GuiComponents
  • 0f39631 Added Image scaling and alignment defaults to ImageComponents
  • bf8087f Added shortcuts to distinguish left/right mouse click events
  • 2afebd4 Added Material support for setting values via reflection
  • a319301 Cache AnimationController instance on Entities
  • 63fb8cf Added resurrection listener for CombatEntities
  • 853eefd Added time attribute to hit events
  • 38d9238 Added fading and anti aliasing for TextParticles
  • bad4b34 Extended environment API to get entities by tag.
  • 10298b0 Unified game shutdowns
  • 7df8c11 Improved GameMetrics java version output

🔀 Changes

  • 9775b9c Set Trigger collision box size implicitly
  • 1ca3997 Removed distinction between particle color alpha and opacity
  • 3b88928 Made VolumeControl public
  • cdaa903 and others: Enforce capitalization of the LITIENGINE brand.
  • c9076fd Renamed gamepad index to id to better reflect its purpose
  • #355 Merged the InputLoop into the GameLoop. The SoundEngine will now also be updated by the GameLoop.
  • 7a5a553 5a5b666 a36cce6 Made MovementController velocity and angle available publicly
  • 0da9f5a fde640a Centered Ability impact area
  • 649ceea Made retrieving flipped Animations from AnimationControllers available as a static method
  • 179f192 Pulled GuiComponent text anti aliasing out of the Appearance
  • c68821f f4a2233 Changed tag serialization behaviour
  • 63fb8cf Renamed instances of removeChangedListener to removeListener
  • 366ed6b Don't set custom RenderType for all Particle instances.
  • 33d588b Made Effect target evaluations protected
  • c7c1deb Made Ability effects available publicly
  • #368 Removed the networking package
  • c8288e5 Set moved events on Creatures to be fired implicitly

🔧 utiLITI Editor

  • 6ba6af3 269a495 Bumped Darklaf version
  • #362 Added "clear" and "scroll to bottom" buttons to console view
  • 66b4051 Fixed Mouse Wheel scrolling bug
  • b6c5e58 Bumped JUnit version
  • 912ecd2 Improved map id rendering
  • a87fee9 Removed redundant lighting updates when setting control values
  • 4e909ac Changed MapObject refresh behaviour for undoing / redoing operations
  • cf79b6e c9146ed Adjusted threading behaviour for arrow key presses
  • 10298b0 Made GridRenderer more robust when no camera is set.
  • 54b8163 Improved tag visualizations
  • 09d7a0e Fixed issue where the wrong Tree nodes in EntityList would be focused
  • d3dfd67 Improved GridRenderer performance
  • 0905394 Ensured that the grid cache is cleared when deleting and importing maps
  • 49708b4 Improved focus renderer
  • 34b183f Ensured there is enough space for all components in the spritesheet import panel

💬 Misc

  • The LITIENGINE Open Collective now lets you support our work financially. A warm welcome to our first sponsors!
  • 193bde3 Updated readme banner to be visible in both light and dark GitHub themes.
  • 37ca653 Arrived in the year 2021
  • 1d6a691 Bumped Gradle wrapper version
  • ddc1caf (and others): Removed redundant modifiers from interfaces
  • 0af1561 Added Java version to bug report template

v0.5.0-beta - "Farewell, Alpha!"

LITIENGINE v0.5.0-beta featureimage

This release marks the beginning of a new era for the LITIENGINE. We consider most of the API to be stable and we pretty much settled on the current API design. With the release of our new Website, the documentation and other information about the engine are easier to use and everything can be found in one place.

It's been a long journey but, finally, we're leaving the Alpha status and are looking forward to even more fruitful experiences with the LITIENGINE in the future. A big thank you to all members of this community. Without your feedback and contributions we wouldn't be here today. You're awesome!

✅ Fixes

  • 00178dd Fixed NullPointerException when rendering Shapes
  • 00178dd Fixed vertical position when rendering Text with Alignment.
  • 2c55195 Fixed NullPointerException when setting opacity on an image.
  • 7c46a6f Fixed issue with collision dimension <= 0
  • 0deffc4 Zoom changed event is now fired after changing the zoom
  • eb1ca1e Fixed issue with "stuttering" PositionLockCamera
  • afe8639 Fixed EntityEmitters to update their position correctly once the corresponding entity moves.

⭐ Features/Improvements

  • 3455fa6 Make TileData constructor visibility being non public.
  • 1c9642a Allow comma separated parameters for random methods.
  • #139 Add API that supports generating maps from code
  • #332 Improved GeometricUtilities
  • 14eb43c Extended Game.random() API with support for choosing a random string
  • 8d3f564 Extended Environment with the possibility to retrieve entities by a specified Predicate
  • e756f53 Extended SoundEffect with the possibility to provide sounds by name
  • 6da1d94 Trigger entity moved event from the EntityNavigator
  • c09c1ca Extended the TextRenderer with several new method overloads
  • 714dd6e Extended TilesetEntry with support for collision info

🔀 Changes

  • 7909f05 Adjusted the handling of the anim controller affine transform
  • 30093d7 Renamed events to suit the naming conventions
  • #336 Fixed inconsistent Entity Hierarchy by removing MobileEntity
  • bfa2d98 Make the local ID sequence unique globally (over all Environments)

🔧 utiLITI Editor

  • 06b8d0e Improved scrollbar granularity
  • 24cd048 Added Spawnpoint pivot fields to the editor
  • 3af2988 Fixed potential exception when removing custom properties
  • #312 Added a Zoom Combobox
  • a5436f3 Fixed capitalization on many UI strings
  • b20fbdd Added support for custom properties for MapArea
  • 18a7735 Clear map list when opening another game project
  • 160e563 Added right-click shortcut menu to the map list
Added Dark Theme and overhauled Light Theme #340

With this version, we've introduced theming support for the utiLITI editor with the DarkLaf library. The theme can be switch at runtime

Dark Theme utiLITI utiLITI: Dark Theme

Light Theme utiLITI utiLITI: Light Theme

Revamped the Emitter UI (make it actually usable)

With this version, we revamped the Emitter UI in the utiLITI editor such that changes to the emitter are instantly applied. The different parameters have been categorized and the overall usability has been drastically improved. In addition, we've also added the possibility to configure particle rotation for even more vivid visual effects.

See the related implementations on GitHub: #346 #298 #345

Example: Emitter Panel overhaul

💬 Misc

  • Added PR templates
  • Added issue templates

nightm4re94Last updated 3 months ago
On this page