LITIENGINE 🕹 The pure 2D java game engine.
You might wonder why we've skipped version 0.7.x. This has been due to tests on our automated release pipeline that have created some release versions with 0.6.x and 0.7.x tags. We wanted to make sure that these test versions remain as hidden as possible and thus have decided to continue with 0.8.0.
Full Changelog: https://github.com/gurkenlabs/litiengine/compare/0.6.1...0.8.0
Surprise! After a quiet period of not releasing a new engine version since January 2022, we proudly present LITIENGINE 0.6.0. This is a release packed mostly with invisible infrastructure changes and refactorings, but also enhanced documentation, tests, and important bugfixes.
There had been some crucial problems in our build and deploy toolchain, which prevented us from releasing new versions for quite a while, but these problems have been resolved and now we are even releasing nightly snapshot builds for you to test out the latest changes!
You may have noticed the versioning of LITIENGINE has changed too.
Instead of e.g. v0.5.2-beta
, we are now using plain semantic versions for stable releases (starting with this release 0.6.0
) and a modified git describe
variant (e.g. 0.5.2-166-gb2e597fe-SNAPSHOT/
) for snapshot versions.
Since the last release, we have updated to a more recent Java version several times, and recently we have finally moved to the new LTS version Java 21. That means you can now use all the new cutting-edge Java features in your LITIENGINE games!
Of course, we want to thank all our contributors, sponsors, users, and community members for keeping LITIENGINE alive even when we maintainers get lazy. You are the heart of this project!
- @ecchilds made their first contribution in https://github.com/gurkenlabs/litiengine/pull/448
The LITIENGINE library 0.6.0 is ready for consumption already, please stand by while we get the utiLITI packages for windows, mac, and linux ready.
The LITIENGINE library is available through Maven Central:
implementation 'de.gurkenlabs:litiengine:0.6.0'
implementation("de.gurkenlabs:litiengine:0.6.0")
<dependency>
<groupId>de.gurkenlabs</groupId>
<artifactId>litiengine</artifactId>
<version>0.6.0</version>
</dependency>
Just in time for making your new year's resolution of creating amazing games with LITIENGINE, we proudly present our latest update, packed with 250 commits over the last ten months!
Let's talk about the elephant in the room: LITIENGINE is now fully running on Java 17! In the future, we plan to keep the library updated to the latest stable jdk versions for you to utilize all the juicy new features Java has to offer.
To make building ingame UI more pleasant, the Slider
, TextFieldComponent
, and SpeechBubble
components have seen massive updates.
Bugfixes and UX improvements for utiLITI will ensure a more smooth experience when handling the editor.
Apart from that, a lot has changed in our build and deployment pipeline and the repository is now utilizing GitHub actions instead of Travis CI. This goes along with a completely revised directory structure and proper separation of submodules. The way we bundle native libraries has been adapted and the dependency on steamworks4j has been removed. Please also take note of our changed contribution guidelines: it is now required to comply with the Java code style conventions we provide in the repository (see CONTRIBUTING.md).
Finally, a huge THANK YOU is in order: To all our tireless code contributors, to the community involved in discussing issues, to everyone providing help in our forum and on Discord, and lastly: Thank you to our new Sponsors RajBet, Trust My Paper, CasinoHex Canada, and ej-technologies (in chronological order of sponsorships)!
What are you waiting for? Start the new year the right way: making games with LITIENGINE.
Visit litiengine.com
Download LITIENGINE v0.5.2-beta
LITIENGINE is available through Maven Central:
implementation 'de.gurkenlabs:litiengine:0.5.2'
implementation("de.gurkenlabs:litiengine:0.5.2")
<dependency>
<groupId>de.gurkenlabs</groupId>
<artifactId>litiengine</artifactId>
<version>0.5.2</version>
</dependency>
Just in time for making your new year's resolution of creating amazing games with LITIENGINE, we proudly present our latest update, packed with 250 commits over the last ten months!
Let's talk about the elephant in the room: LITIENGINE is now fully running on Java 17! In the future, we plan to keep the library updated to the latest stable jdk versions for you to utilize all the juicy new features Java has to offer.
To make building ingame UI more pleasant, the Slider
, TextFieldComponent
, and SpeechBubble
components have seen massive updates.
Bugfixes and UX improvements for utiLITI will ensure a more smooth experience when handling the editor.
Apart from that, a lot has changed in our build and deployment pipeline and the repository is now utilizing GitHub actions instead of Travis CI. This goes along with a completely revised directory structure and proper separation of submodules. The way we bundle native libraries has been adapted and the dependency on steamworks4j has been removed. Please also take note of our changed contribution guidelines: it is now required to comply with the Java code style conventions we provide in the repository (see CONTRIBUTING.md).
Finally, a huge THANK YOU is in order: To all our tireless code contributors, to the community involved in discussing issues, to everyone providing help in our forum and on Discord, and lastly: Thank you to our new Sponsors RajBet, Trust My Paper, CasinoHex Canada, and ej-technologies (in chronological order of sponsorships)!
What are you waiting for? Start the new year the right way: making games with LITIENGINE.
Visit litiengine.com
Download LITIENGINE v0.5.2-beta
LITIENGINE is available through Maven Central:
implementation 'de.gurkenlabs:litiengine:0.5.2'
implementation("de.gurkenlabs:litiengine:0.5.2")
<dependency>
<groupId>de.gurkenlabs</groupId>
<artifactId>litiengine</artifactId>
<version>0.5.2</version>
</dependency>
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.
Visit litiengine.com
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.
Visit litiengine.com
Finally!
As of today, we end the four year-long LITIENGINE alpha, spanning a total of 17 feature-packed releases. Simultaneously, LITIENGINE hits its first beta release v0.5.0-beta, marking a magnificent milestone for us.
What once started as an overly ambitious hobby project of two naive brothers seeking to create their own video game, is now one of the most successful Java 2D game engines on the market - despite being in early access! Our hearts are filled with joy seeing how popular LITIENGINE has become and we want to thank you from the bottom of our heart.
To celebrate the prosperity of LITIENGINE and as a big thank you to our supporters, we have completely remade the LITIENGINE website from scratch. It is now a well-designed, streamlined experience that guides users to the most important points of interest more naturally. With everything designed to be maximally self-contained, we are also no longer hosting the documentation, JavaDocs, and Download page externally: The LITIENGINE website thus has become a purposeful and holistic hub for everything related to our favourite software.
We are convinced that LITIENGINE's user base and relevance will keep growing and there are some thrilling years ahead of us. If you're not already part of the LITIENGINE family, join our lovely community and explore the exciting features of our new website and LITIENGINE's first beta release.
Visit litiengine.com
Finally!
As of today, we end the four year-long LITIENGINE alpha, spanning a total of 17 feature-packed releases. Simultaneously, LITIENGINE hits its first beta release v0.5.0-beta, marking a magnificent milestone for us.
What once started as an overly ambitious hobby project of two naive brothers seeking to create their own video game, is now one of the most successful Java 2D game engines on the market - despite being in early access! Our hearts are filled with joy seeing how popular LITIENGINE has become and we want to thank you from the bottom of our heart.
To celebrate the prosperity of LITIENGINE and as a big thank you to our supporters, we have completely remade the LITIENGINE website from scratch. It is now a well-designed, streamlined experience that guides users to the most important points of interest more naturally. With everything designed to be maximally self-contained, we are also no longer hosting the documentation, JavaDocs, and Download page externally: The LITIENGINE website thus has become a purposeful and holistic hub for everything related to our favourite software.
We are convinced that LITIENGINE's user base and relevance will keep growing and there are some thrilling years ahead of us. If you're not already part of the LITIENGINE family, join our lovely community and explore the exciting features of our new website and LITIENGINE's first beta release.
Visit litiengine.com
GraphicsEnvironment
ListField
constructors.ResolutionChangedListener
for the GameWindow
Entity
boundsShadowImageEffect
Creature
implementations to override the parents controllersTextRenderer
APIEntitySpawner
support for providing spawn points via callbackSpawnpoint.spawn
in the EntitySpawner
to support eventsSpawnpoint
to align spawning entitiesCustomEmitter
resources from ResourceBundles
Random
API for the engine4217403 Previously the extension methods were spread around the utility classes. With these changes, all additions that provide pseudo-random values have been unified and aggregated into one API: Game.random()
Some prominent examples of API changes:
ArrayUtilities.getRandom(...)
-> Game.random().choose(...)
CollectionUtilities.random(...)
-> Game.random().choose(...)
MathUtilities.randomSign()
-> Game.random().nextSign()
MathUtilities.getRandomIndex(...)
-> Game.random().getIndex(...)
java.nio.charset
instead of constants strings for charsetsde.gurkenlabs.litiengine.entities.behavior
ICombatEntity.addHitListener
-> ICombatEntity.onHit
ICombatEntity.addDeathListener
-> ICombatEntity.onDeath
AssetPanelItem
visuals6.0.1
-> 6.2.2
5.4.+
-> 5.6.0
2.25.+
-> 3.3.3
@Phlosioneer @Gamebuster19901 @YannikSchoeberl @hyler
Also, thanks to all the contributors to the LITIENGINE community in the forum and our discord! All your comments and thoughts help us to shape the engine towards a stable release.
GraphicsEnvironment
ListField
constructors.ResolutionChangedListener
for the GameWindow
Entity
boundsShadowImageEffect
Creature
implementations to override the parents controllersTextRenderer
APIEntitySpawner
support for providing spawn points via callbackSpawnpoint.spawn
in the EntitySpawner
to support eventsSpawnpoint
to align spawning entitiesCustomEmitter
resources from ResourceBundles
Random
API for the engine4217403 Previously the extension methods were spread around the utility classes. With these changes, all additions that provide pseudo-random values have been unified and aggregated into one API: Game.random()
Some prominent examples of API changes:
ArrayUtilities.getRandom(...)
-> Game.random().choose(...)
CollectionUtilities.random(...)
-> Game.random().choose(...)
MathUtilities.randomSign()
-> Game.random().nextSign()
MathUtilities.getRandomIndex(...)
-> Game.random().getIndex(...)
java.nio.charset
instead of constants strings for charsetsde.gurkenlabs.litiengine.entities.behavior
ICombatEntity.addHitListener
-> ICombatEntity.onHit
ICombatEntity.addDeathListener
-> ICombatEntity.onDeath
AssetPanelItem
visuals6.0.1
-> 6.2.2
5.4.+
-> 5.6.0
2.25.+
-> 3.3.3
@Phlosioneer @Gamebuster19901 @YannikSchoeberl @hyler
Also, thanks to all the contributors to the LITIENGINE community in the forum and our discord! All your comments and thoughts help us to shape the engine towards a stable release.