One of the new features that I have been working on recently is auto-tiling. I decided this would be something that would be very convenient to have - with this, map-making should be a bit quicker and less tedious, especially when initially building out a map that has a lot of transition tiles (for example, water/grass edges and corners). As seen below, in the initial version of auto-tiling you can place your tiles in a specific layout within a map, then generate the tilesets from that.
I plan to post another article in the near future focusing just on auto-tiling once I get a bit more of the functionality completed.
Over the past couple of weeks, I have also focused on adding customization around game cursors. To lay the groundwork for this, I created a set of built-in cursors for 5 unique contexts: default, walk, interact, speak, and attack.
These predefined cursor types can be overridden with a custom image from the Game Configuration dialog as shown below. The cursor's hotspot can also be specified. The hotspot is the "activating" area of the cursor, for example the tip of the arrow or sword.
I am also finishing up the option to define your own custom cursor types. These will be used for certain scenarios, such as custom cursors for interactive objects in your map. For example, you may want a locked treasure chest to show a "key" cursor when hovering over the chest to open it.
I also have a lot of miscellaneous updates this time around! As you may have seen in previous screenshots, I redid the Game Configuration dialog to be a bit more user friendly and easier to maintain for future additions. The sections/categories are now listed on the left. Clicking on these will change the details panel on the right to display the corresponding settings.
A new scripting function is now available called "Remove Entity". This will allow you to remove an object, tile, or character from the scene permanently. The GIF below shows one example of how you could use this - when the script is activated, the key is removed from the scene and an item is given to the player, acting as an "item pickup" of sorts.
The scripting language was also updated to allow arithmetic expressions (+, -, *, and /) and relational operators (<, <=, >, >=). One convenient use for this is counters. In the example below, whenever the player reads the sign, the "counter" property is incremented by one, and when the counter is greater than 5 a different message is displayed.
In regards to First-Person mode, I added a couple of new customization options. One option is to unlock the mouselook so the player can freely look in 360 degrees horizontally. The second option is to allow navigation and interaction, for example clicking on tiles to walk and objects to interact, similar to the way input is handled in the standard camera mode.
Another small change I made was to display the "grid boundaries" of objects in the Map Editor in Place and Edit mode. This should be particularly useful for placing larger objects that cover multiple tiles, like the bench below which spans two tiles.
And finally, something somewhat off-topic but potentially related to future development. Last month I received my Google Daydream View headset and was very impressed with my first VR experience using it. Combine that experience with a Black Friday discount and I ended up with an HTC Vive as a Christmas present from my wife. Who knows, maybe "RPG in a Box VR" will be a thing someday! :)
Thanks for reading!