New Features/Changes:

  • Added initial implementation of climbable tiles and related functionality (see "Climbing" documentation for more details)
  • Added ability to assign scripts to objects in the Map Editor that are triggered by tool items (similar to tiles)
  • Added placeholder UI for tool item selection in-game (enable "Tool Item UI" in Game Configuration's experimental section, click button to cycle through any tool items in your inventory)
  • Added "Interaction Range" setting for items defined as tools in the Item Editor ("adjacent" or "unlimited", with unlimited indicating that the entity can be anywhere in the map)
  • Added ability to set up default custom properties for models in the Voxel Editor which will be automatically assigned when the tile/object/character is placed into a map
  • Added rotation type dropdown for the orthogonal camera to the Gameplay settings (locked at 90-degree intervals, locked at 45-degree intervals, free rotation)
  • Added checkbox to the Gameplay settings for starting the camera with a 45-degree offset (only applicable to the "locked at 45/90-degree intervals" options)
  • Added button next to the "Camera Pitch" field in the Gameplay settings to set the angle value to default (55 degrees)
  • Added button next to the "Camera Pitch" field in the Gameplay settings to set the angle value to isometric (only applicable to orthogonal)
  • Added visual script node for the "break" command (for breaking out of while loops and for loops) to the Script Editor
  • Added "Item Icon Popups" setting to the Game Configuration's experimental section for showing icon popups when the player receives an item via "Give Item"
  • Added setting to the Combat Editor for indicating whether or not enemies should be removed from the map upon being defeated
  • Added "Global Illumination" setting to the Map Properties panel in the Map Editor (see "Global Illumination" documentation for more details)
  • Added "Used in Baked Light" setting to the Entity Properties panel in the Map Editor for indicating whether or not the entity should be included in global illumination
  • Added new Steam achievement "Hi, I'm Justin!" for dragging and dropping the Justin guide 10 times
  • Added new Steam achievement "Game Exporter" for using the "Export Game" feature to export your project to a standalone game
  • Updated the built-in example game to include many of the new features and functionality that have been added since its original release (more details to be announced separately)
  • Updated the "Camera Pitch" field in the Gameplay settings to allow up to two decimal places in the angle value
  • Updated Entity Properties panel to automatically choose the first trigger event with a script assigned, if applicable, when an entity is initially selected in the Map Editor
  • Updated "Justin guide" to open the "Vehicles" documentation when dropped onto the "Vehicle" settings on the Entity Properties panel for objects
  • Updated "Justin guide" to open the "Climbing" documentation when dropped onto the "Climbable" setting on the Entity Properties panel for tiles
  • Updated "Justin guide" to open the "Marching Cubes" documentation when dropped onto the "Mesh" components of the Model Tools panel
  • Updated "Justin guide" to open the "Global Illumination" documentation when dropped onto the "Global Illumination" settings on the Map Properties panel
  • Updated the About box to include palette credits for the editor icons (AAP-64 by Adigun A. Polack), Bauxite coloring (BLK NEO by BlackedIRL), and visual script nodes (Journey by PineTreePizza)
  • Updated the About box to include a link button for opening RPG in a Box's Patreon page in a web browser
  • Changed "Enemy Turn X/X" and "End Turn" text displayed during combat to use the game's default dialogue font to allow better language support
  • Changed background color of the editor startup splash to better match the editor's default theme colors

Bug Fixes:

  • Fixed issue with the Ctrl+V shortcut to paste voxels in the Voxel Editor not working properly in certain scenarios
  • Fixed issue where the Voxel Editor was not ensuring that at least one voxel was selected before allowing a copy to be performed
  • Fixed issue where the action system would revert to real-time when using roguelike mode and the "Restart Game" function was triggered
  • Fixed issue where the message log area (for "Log Message" function) would be inadvertently cleared out when starting a dialogue
  • Fixed issue where dialogues would get stuck when reaching a comment node until the player pressed Space or left-clicked to continue
  • Fixed issue where an entity's "direction" value was not being set when rotated in the Map Editor (a particular entity may need rotated again in the Map Editor if the initial value is referenced in a script)
  • Fixed issue where the speed multiplier setting for tiles was not being applied and would therefore not affect a character's speed
  • Fixed issue where the "passable" property for characters was not being updated for characters already placed into a map when changed in the Voxel Editor
  • Fixed issue where the player was not able to attack enemies and enemies would not properly wait to attack when using the roguelike action system
  • Fixed issue where the damage sound effect could break if the Combat Editor was saved after opening a project without a "combat.json" file
  • Fixed issue where pressing certain keyboard controls could cause the player to move even when movement had been locked
  • Fixed issue where using keyboard controls while on a moving platform could result in unexpected behavior
  • Fixed issue with hiding extras (`/~ key) in the Voxel Editor while an animation was playing (only attach points markers for the current frame were being hidden)
  • Fixed issue with "$variable." syntax failing to parse properly when used on the left side of a "contains" conditional expression (e.g. $tile1.tags contains "grass")
  • Fixed issue with "$variable.x", "$variable.y", and "$variable.z" syntax failing to parse properly when getting the x, y, or z value of a coordinate stored in a variable
  • Fixed issue with Ctrl+S in the Map Editor causing the map to be saved even if there weren't any changes at the time
  • Fixed issue with "Create Door" functionality in the Map Editor not working properly in certain scenarios
  • Fixed issue with "Show Credits" scripting function not working (error would display in the console window and the credits would fail to start)
  • Fixed issue with "str" scripting function not working properly to convert a coordinate value into a string value (e.g. str(coord[1, 2, 3]))
  • Fixed issue with "initiator" syntax not working properly when used in a consumable item's script (should now reference the player character)
  • Fixed issue with style of "Scripts" header on Entity Properties panel not updating when the editor theme was changed
  • Fixed issue with "Random (Forced)" option for NPC movement not working consistently when their movement was restricted to an area
  • Fixed issue with container name not displaying in the titlebar of the item container widget when one was assigned
  • Fixed pathfinding error that would display in the console during turn-based battles when the cursor was moved over an enemy while a player character's attack animation was playing
  • Fixed some issues that could cause navigation path inconsistencies when replacing existing tiles with impassable tiles in the Map Editor
  • Fixed "signal is already connected" console errors that would display when opening the Game Configuration dialog more than once
  • Fixed console error that would occur when the "Move Camera at Speed" function was triggered and the calculated distance to move was zero
  • Fixed console error that would occur when a moving platform without an entity ID assigned reached a waypoint
  • Fixed console error that would occur in certain scenarios in the Script Editor when a "Move Platform" function was used without the "pause" parameter explicitly set
  • Fixed error that could occur when using "Save As" in the Voxel Editor to save a character as a tile or object
  • Fixed issue where certain rooms in the example game's dungeon map were not being hidden initially due to missing global properties

Documentation:

  • Added initial version of built-in docs for "Climbing", "Marching Cubes", and "Global Illumination"
  • Updated built-in docs for "Voxel Editor" to include info about adding to/subtracting from the current selection and "G" hotkey for adding voxels to a group
  • Updated built-in docs for "Tile" to include a list of properties that can be accessed from scripts
  • Updated built-in docs for "Script Syntax" to include info about the "str" and "num" functions for converting between strings and numbers
  • Updated built-in docs for "Script Syntax" to include a note about the "Array" documentation now containing info regarding array manipulation functions
  • Updated built-in docs for "Placeholder Expression" to include an informational note about using them sparingly in scripts
  • Updated built-in docs for "Script Syntax" (and various others with Bauxite examples) to include semicolons at line endings to minimize issues when copying code
  • Updated built-in docs for "Data Files" to include the dollar sign prefix for variable names in the Bauxite examples