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 Modals 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
Inputhandling.Animation,Modifierand 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
Components. 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
Propertyinstances 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 basicComponents in Zircon. - #171: Fragment Support
A
Fragmentis a re-usableComponentcontainer which contains arootComponent(which can also be aContainerand can be added to either aContaineror aScreen. - #172: Implement the Icon Component
An
IconComponentis a regularComponentwhich 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:
TextAreas now can be enabled and disabled once again. This feature was removed previously because of some technical limitations, but now it is fixed. - #133:
Layers are now clearable - #145:
Componentalignment 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
Inputs are now easier with some new convenience features likewhenInputTypeIsandwhenCharacterIs. - #155
GameAreanow 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
Components - Slider widget
- Drop down menus
- Custom
Componentsupport - 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.