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! - #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. - #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 basicComponent
s in Zircon. - #171: Fragment Support
A
Fragment
is a re-usableComponent
container which contains aroot
Component
(which can also be aContainer
and can be added to either aContainer
or aScreen
. - #172: Implement the Icon Component
An
Icon
Component
is a regularComponent
which has a size of 1x1 and holds a singleGraphicTile
. 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. - #133:
Layer
s are now clearable - #145:
Component
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 likewhenInputTypeIs
andwhenCharacterIs
. - #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 - Slider widget
- Drop down menus
- Custom
Component
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.
Do you have questions? Ask us on our Discord Server.
If you like what we do and want to support us consider becoming a Patron.