LITIENGINE is a 2D game library for Java. It is based on Java 8, but we plan to update to a later Java version soon.
LITIENGINE is currently in Beta. To find out what that means, please read our Roadmap.
LITIENGINE does not collect any user data via telemetry. However, if you register on our forum or subscribe to our newsletters, some of your information will be stored safely on our servers.
We guarantee that your data is only used for the purposes you agreed with.
With LITIENGINE, you can create games for Windows, Linux, and MacOS.
We have sometimes discussed bringing LITIENGINE to other platforms. However, for example on Android that means completely rewriting all rendering aspects of the engine since javax.swing
and java.awt
are unsupported under Android. Porting an engine to Xbox, Playstation, and Nintendo consoles, on the other hand, would require costly dev kits and an extensive knowledge of the respective platform's hardware, which is why we are not even considering porting to consoles.
We are happy with LITIENGINE being a PC only game library. Since Java Applets are not really an option anymore and Java Web Start has been declared deprecated, web deployment with LITIENGINE is currently not in development either.
LITIENGINE is made for anyone interested in creating 2D computer games with Java. Simple in nature, it is easy to pick up, yet powerful enough for creating massive worlds.
We think that if you are a relatively inexperienced Java developer seeking to create your first Java game, LITIENGINE might be the most hassle-free experience for you.
If you are looking for a Java game engine able to deploy to mobile devices and browsers, LITIENGINE is unfortunately not your tool of choice.
Professional game developers experienced in using other engines might find LITIENGINE's capabilities a bit limiting, but we encourage you to request missing features via GitHub issue.
LITIENGINE does not implement bindings for OpenGL or other graphics processing APIs. Hence, the CPU load is increased compared to other java game libraries, while the potential of GPU acceleration stays unexhausted. Most performance issues occur due to CPU-heavy computations (e.g. updating too many particles or scaling lots of images at once). Memory issues, on the other hand, occur rather rarely. While LITIENGINE per se runs on very low system specs, we have sometimes encountered poor performance when playing our previous games with older PCs, depending on the complexity of the game.
Sure you can make a LITIENGINE game without using the editor. We've done that in the past and the editor is not a required piece in the development workflow. The main functionality of the utiLITI editor is to provide a convenient UI to position and configure Entities
in your maps and to ultimately provide a resource bundle for your game to simply load with a oneliner: e.g.Resources.load("game.litidata")
. Without such a resource bundle, you need to explicitly load all your resources from code using the Resources
API.
Since the Entities
in the LITIENGINE can be loaded from MapObjects
, an alternative way to get things done is to directly add them in the Tiled editor and provide the required MapObjectProperties
if you want to use the engine's entity framework. This was, by the way, the workflow we went with before we had the editor. So you could say that the editor basically evolved from that. Everything that you see in the editor can also be done directly in code though, so if you want, you can totally skip the editor entirely, although it's not recommended.
Btw: Entities
don't necessarily have to originate from MapObjects
, you can also add them to your GameWorld
directly from code.
See our Deployment guide for LITIENGINE games.