Zircon is an extensible, multiplatform and user-friendly tile engine. If you are not yet familiar with the project take a look at our Project Page.

You can grab this release from Jitpack here. Maven Central synchronization will come soon as well.

Highlights of this release

This release contains numerous usability upgrades and the introduction of new Component types like Modal s and the Icon Component . We also worked on fleshing out the inner workings of the GameArea based on feedback from our users.

We also started working on Caves of Zircon which is a tutorial project which has the goal to get you started with writing roguelike games! The project is almost complete and when it is ready a series of tutorial articles will follow. Take a look at some game footage here.

Apart from a tutorial project there is now also a Java and a Kotlin skeleton project which you can download to get started with Zircon without the need to manually set up a project. The Java skeleton can be found here and the Kotlin one is here.

What’s also important to mention is that now we have a LibGDX Renderer for Zircon! It is in beta right now, but we’ll get it to production-ready state for the next release. Thanks for @Ender_L for contributing it to the project! With this it is now possible to run Zircon in the browser. We’ll put up an example with this soon.

New Features

#1: LibGDX rendering support Yea, this was the first issue in our issue tracker and now we have it in BETA. Thanks for the contribution, @Ender_L! These screens are rendered using the new LibGDX renderer. CP437 fonts are supported now together with Input handling. Animation , Modifier and the remaining tileset support will come in the next release!

in our issue tracker and now we have it in BETA. Thanks for the contribution, @Ender_L! These screens are rendered using the new LibGDX renderer. CP437 fonts are supported now together with handling. , and the remaining tileset support will come in the next release! #24: Modal (dialog) support This one was on the Road map for quite some time, but it is ready now! Take a look at this example.

#121: Programmatic focus for Components Now it is possible to programmatically focus Component s. Take a look at an example here.

s. Take a look at an example here. #153: Implement Ellipse Factory Now you can draw not only triangles, rectangles and boxes, but also ellipse shapes! Thanks for @Milo for this contribution!

#156: Databinding Iteration 1 Zircon now supports databinding. It looks like this. This feature might be familiar from JavaFX or some other UI framework. The basic premise is that you can create Property instances which you can bind to other properties and their values will change together. Databinding is possible uni-, and bidirectionally and it is implemented for the basic Component s in Zircon.

instances which you can bind to other properties and their values will change together. Databinding is possible uni-, and bidirectionally and it is implemented for the basic s in Zircon. #171: Fragment Support A Fragment is a re-usable Component container which contains a root Component (which can also be a Container and can be added to either a Container or a Screen .

is a re-usable container which contains a (which can also be a and can be added to either a or a . #172: Implement the Icon Component An Icon Component is a regular Component which has a size of 1x1 and holds a single GraphicTile . It looks like this and can be used to put icons on your UI.

Enhancements

#132: TextArea s now can be enabled and disabled once again. This feature was removed previously because of some technical limitations, but now it is fixed.

s now can be enabled and disabled once again. This feature was removed previously because of some technical limitations, but now it is fixed. #133: Layer s are now clearable

s are now clearable #145: Component alignment is now easier with the new alignment functions. Take a look here.

alignment is now easier with the new alignment functions. Take a look here. #152: Borders now support custom width and also custom color like in this example.

#154: Handling Input s are now easier with some new convenience features like whenInputTypeIs and whenCharacterIs .

s are now easier with some new convenience features like and . #155 GameArea now supports adding overlays. This is useful for creating things like Fog of War effects as seen in this example.

Bug fixes

#122: Weird effect if label has FadeIn modifier

#158: When different tilesets are set only one of them is used.

#128: Bug in README.md document example

Roadmap

There are some things which did not make it into this release, but will be present in the next release, like the Group Component and Event Bubbling.

Apart from those we have some things which are quite interesting:

Browser support with Pixi.js

Floating windows

Toolbars

Drag’n drop support

Concurrency / parallelism refactoring to use Kotlin Coroutines

Scrollable Component s

s Slider widget

Drop down menus

Custom Component support

support Layout support

Contribute

If you think that you can contribute or just have an idea feel free to join the discussion on our Discord server.