import com.kotcrab.Brain;

VisEditor - Devlog #2

Hi again!

I’ve got some updates for you about VisEditor - my game level editor. You can read previous devlog here: Devlog #1

So let’s see what I’ve added:

Object Properties

It is basically a window that displays current selected objects properties. I’ve added two nice features to it. First is that in any field you can press Ctrl+Plus or Minus to increment or decrement value.

And second, if you select multiple objects then values that are same for every selected object will be shown normally, as number. Values that are various will be displayed as ‘?’. In any field you can enter new value and it will be set for every selected object.

This can be used for example to quickly align objects.

Z Index changing

Simple but important thing, changing Z index of added objects.

This system works without need to store Z index in scene data. When user wants to move object to next Z index (by pressing Page Up key for now), editor searches for overlapping objects and then moves selected object in list so it will be rendered after that overlapping object. I think that Inkscape uses similar system.


I’ve also been working on editor settings dialog, and it is finished now. I tried to make adding new settings, as simple as possible and I think it turned out pretty well. I’m using Kryo to save settings, so later I will be able to add new options without compatibility issues.

One of the first settings is to disable exit confirmation:

Crash reporter

It is another nice thing that will allow me to detect issues with editor. After uncaught exception an error log is generated and anonymously send to me. There will be option to disable that, but for alpha versions it will be permanently enabled.

Generic projects

I’ve decided that editor will also support other frameworks than LibGDX, now user will be able to create ‘Generic’ and ‘LibGDX’ project. There won’t be many differences between them but VisEditor will have better integration with LibGDX project. For example launching game straight form editor. Users would be also able to choose generic project it they don’t want to use Gradle with their LibGDX project.

FormValidator improvements

FormValidator is a VisUI class that simplifies form validation. I’ve added one thing that improves UX.

First look at those screenshots:

Old behavior:

New behavior:

Yep, just not marking two last fields as invalid before user enters something in first one. A small change but ‘new behavior’ is definitely looking better.

For technical details, those two last field contains path relative to first one, if the field that they are relative too is empty they don’t report error, this should be used with validator that checks if relative field is not empty to avoid form errors.

VisUI stats

I found out that I can check out how many people have downloaded VisUI.

Looks like about 180 downloads for VisUI in January, pretty cool. :D

Alright, that’s all for this devlog, until next time!