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.
With LITIengine, you can create games for Windows, Linux, and MacOS
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
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.
Entitiesdon't necessarily have to originate from
MapObjects, you can also add them to your
GameWorld directly from code.
We offer extensive tutorials on our website. It is also a good idea to look through the LITIengine docs pages. If concrete questions come up, you should visit the LITIengine forum. We do have a YouTube channel as well, but due to video creation being such a time consuming task, don't expect many video tutorials being released from us anytime soon. Here's an overview over the most useful links for learning LITIengine:
This section contains useful information for external libraries related to Java Game Development.
LITIengine uses the steamworks4j wrapper for the SteamAPI to grant access to Steam features from java. When developing a game that uses these features, you need to execute a few extra steps in order to support the functionality from the IDE.
You need to have created the game on Steamworks in order to have an appID
steam_appid.txt file containing only the appID of your game
steam_appid.txt to the working directory of your app.
For debugging and running your app from Eclipse (or other IDEs), the application will be run, using the
javaw.exe. Your working directory will typically be something like C:\Program Files\Java\jdkX.X.X_XXX\bin, which is where your
javaw.exeis located. This, of course, depends on your environment (workspace/project) Java Build Path configuration of the editor
From here on, you can just follow the original tutorial here.
From the official Tiled docs page:
Tiled is a 2D level editor that helps you develop the content of your game. Its primary feature is to edit tile maps of various forms, but it also supports free image placement as well as powerful ways to annotate your level with extra information used by the game. Tiled focuses on general flexibility while trying to stay intuitive.
With Tiled editor, you can create orthogonal, hexagonal, and isometric Tile maps in no time. It is the absolute go-to tool for 2D Tile-based mapping.
For a general understanding of the mapping process with Tiled editor, we encourage you to have a look at its plentiful documentation. However, we will refer to a few LITIengine specific aspects of creating maps with Tiled in the sections about Map Objects and custom properties
LITIengine had its origin in the idea of writing a Java 2D game engine without including any external libraries (what were we thinking?). Yet, we believe that it is key to success to be able to sometimes rely on other people's expertise, especially when having limited resources. The Tiled editor has been developed by a vivid community for approximately ten years, offering a universal standard for tile maps. In other words, it just works. There is simply no need to reinvent the wheel when it comes to tile mapping.