User Tools

Site Tools


changelogs

Release Notes for v1.2.1

October 29, 2024


  • Fixed issue where the ladders in “Stumpy's Platforming 101” project template were not climbable unless the “free_climb” experimental values in the Game Configuration were increased
  • Fixed issue where the game title would incorrectly be set to “Stumpy's Platforming 101” when creating a new game with that project template instead of the actual title entered
  • Fixed issue where “Item Pickup” thingies would incorrectly respawn in other maps if the player picked up the item then loaded another map and was still there when the timer triggered
  • Fixed issue where “Item Pickup” thingies were not properly respawning if a game was saved after picking up the item (but before it had respawned in the map) then reloading
  • Fixed issue where “Item Pickup” thingies configured to use the “Stat” type would fail to increase the character's stat unless first selecting a different stat from the dropdown
  • Fixed issue where “Item Pickup” thingies weren't displaying number popups (e.g. +1, -1) to indicate an HP increase or decrease when the pickup was configured to modify the HP stat
  • Fixed issue where items were no longer able to be placed into custom inventory widgets or given to the character via the “Give Item” scripting function
  • Fixed issue where custom quick slot bar widgets were inadvertently being hidden after closing the management screen with the ESC key or after having opened an item container
  • Fixed issue where equipping items and checking inventory via the “contains” logic would no longer work properly after using the “Set Entity Model” function to change the player's model
  • Fixed issue where passable zone scripts were not being triggered in grid-based mode after changing the player character via the “Set Entity Model” or “Change Player” function
  • Fixed issue where attachments on the new player model were not being hidden when changing it via the “Set Entity Model” function and a view model was currently active
  • Fixed issue where the player's team was not being set up properly and would be attacked by friendly NPCs when their model was changed via the “Set Entity Model” function
  • Fixed issue where defeated characters were incorrectly triggering “Item Pickup” thingies (e.g. when an item pickup respawned at the location of the defeated character)
  • Fixed issue where the “Damage Entity” scripting function would incorrectly damage defeated characters (and potentially trigger their death animation again)
  • Fixed issue where the player character would continue to receive HP regeneration even after being defeated when setting the HP stat as regenerative in the Stats Editor
  • Fixed issue where the player character could continue to move and attack in free movement mode after being defeated if a “Player is Defeated” global event script was assigned
  • Fixed issue where the player character was incorrectly able to attack and switch into a crouched position when under the effect of a stun type status
  • Fixed issue where moving the cursor over an item that had been dropped on a tile while currently dragging an item would cause the dragged item's icon to disappear from the cursor
  • Fixed issue where the player was no longer able to drop items onto nearby tiles by clicking outside of a widget when the management screen was disabled
  • Fixed issue where items that had been dropped on a tile would incorrectly display the interaction icon in free movement mode (item drops can't be picked up via mouse in free movement mode)
  • Fixed issue where read-only text fields on widgets would sometimes scroll to the top on their own (should now remain at the current scroll position unless its text is changed)
  • Fixed issue where changing the game's title via the Game Explorer or Game Configuration wasn't updating the title displayed in the application window's titlebar

Release Notes for v1.2

October 13, 2024


  • Added Sarah's RPG archetype Patreon characters to the built-in Asset Library (22 animated characters with 37 attachment objects, search “patreon, npc” in the library to view them all)
  • Added Sarah's traditional Japanese Patreon assets to the built-in Asset Library (190+ tiles and 140+ objects, search “japanese” in the library to view them all)
  • Added “Beneath the Bamboo Grove” project template to the “New Game” dialog (a first-person exploration game that includes two maps built with Sarah's newly released Japanese assets)
  • Added “Sokoban Starter” project template to the “New Game” dialog (includes one map set up with three crates that must be pushed onto goal tiles to complete the level)
  • Added visual preview grid to the “New Game” dialog for more easily browsing all of the available project templates (“eye” button will swap between alternate screenshots)
  • Added ability to change the current in-game time via script using the “global.time” variable (day/night lighting will also update to reflect the time, if configured)
  • Added “Set Time” scripting function and visual node for changing the current in-game time (e.g. set_time(0), day/night lighting will also update to reflect the time, if configured)
  • Added day functionality for tracking the number of in-game days that have passed (value starts at 1 and can be retrieved or manually changed via the “global.day” Bauxite variable)
  • Added “Set Day” scripting function and visual node for changing the current in-game day (e.g. set_day(global.day + 1) will increment the current day by one)
  • Added “system.date” Bauxite syntax for getting the current system date (returned as a codex with the following keys: “year”, “month”, “day”, “weekday”, “dst”)
  • Added “Object Enters” and “Object Exits” zone events for triggering scripts when an object (e.g. projectile, pushable, physics object, etc.) enters/exits a zone
  • Added initial support for zones to grid-based movement (zones are added by clicking the plus button next to the “Zones” dropdown on the Map Properties tab)
  • Added initial support for fall damage to free movement (configured via Game Configuration → Gameplay, see “Set Gameplay Property” documentation for an explanation of each setting)
  • Added initial support for pushable objects to free movement (enabled from the “Thingies” section on the Entity Properties tab when an object is selected)
  • Added settings for pushable objects to allow pushing or pulling only (defaults to both pushable and pullable, only applicable to grid-based movement)
  • Added “Pushable” option to the Thingies section of the Model Properties tab in the Voxel Editor (object will be pushable by default when added to a map)
  • Added initial support for setting stats as regenerative or draining in the Stat Editor (with settings for amount and interval, initially only for player characters in real-time)
  • Added initial support for specifying a skill's range in the Stats Editor (applicable to real-time and tactical turn-based combat, 0 = unlimited range)
  • Added support for tool items to free movement (i.e. interacting with a scripted tile or object with the corresponding tool item active)
  • Added “Character Interacts” trigger event for tiles so that scripts can be triggered when the player interacts with a tile (must be accessible via navigation in grid-based)
  • Added support for viewable attachments to the Map Editor so any auto-attached objects or effects will now display when a map is loaded in the editor or a new entity is placed
  • Added “Unshaded” option to the Effect Editor for specifying that the particle effect should be unshaded/unlit (i.e. unaffected by lighting)
  • Added “Toggle Fullscreen” input action to the Input Bindings tab of the Game Configuration dialog (toggles between fullscreen and windowed mode)
  • Added “Alt + Enter” as default binding for toggling between fullscreen and windowed mode in-game (can be changed in the project's input bindings)
  • Added “Enter” as a bindable key (input bindings are set up for your game from the “Input Bindings” tab of the Game Configuration dialog)
  • Added “In-Game Day” and “System Date” as options to the Script Editor's Expression Builder for the new “global.day” and “system.date” Bauxite variables
  • Added “skill” Bauxite syntax for retrieving information about a specific skill (e.g. skill[“SKILL_0001”] gives a codex containing properties for “SKILL_0001”)
  • Added “status” Bauxite syntax for retrieving information about a specific status effect (e.g. status[“STATUS_0001”] gives a codex containing properties for “STATUS_0001”)
  • Added “<character>.attack_cooldown” Bauxite syntax for overriding a character's attack cooldown (default value is null, which uses the global/character model's cooldown)
  • Added “<tile>.items” Bauxite syntax for getting the item drops on a tile (e.g. tile[3, 2, 0].items returns an array of items on that tile, or null if there are none)
  • Added “Distance” scripting function for getting the distance between two entities, measured in voxels (e.g. $result = distance(player, entity[“xyz”]))
  • Added “Pad Zeros” scripting function for padding a numeric value with leading zeros (e.g. pad_zeros(17, 4) will return a string value of “0017”)
  • Added “Show Equipment” scripting function for opening the specified character's equipment widget (e.g. show_equipment(party.member[“xyz”]), defaults to the current player character)
  • Added “Item Grab” and “Item Drop” settings to the Item Editor for overriding the grab/drop sound effects per item (with options for default, none, and custom)
  • Added ability to specify a projectile's origin when fired from an entity (either a turret or via the “Fire Projectile” function) by having “projectile” attach points on the entity and projectile models
  • Added “hit” as a predefined animation for characters in the Voxel Editor (triggered whenever the character is damaged, but won't interrupt their attack animation - more customization to come)
  • Added ability to use the “Capture Thumbnail” feature on the Voxel Editor toolbar while in “Mesh Preview” mode (useful with Marching Cubes, etc.)
  • Added “Line Spacing” setting for text labels in the Widget Editor (determines the amount of vertical space between each line of text)
  • Added “Auto-Scroll” setting for text fields in the Widget Editor (if enabled, the text field will automatically scroll to the bottom when its text changes)
  • Added “tool” as a supported tag for the default equipment slot configuration's “right_hand” slot in the Stats Editor (for future functionality)
  • Added error messages to the console window when opening models that contain any auto-attached objects or effects that don't exist
  • Added Godot Robot character to the built-in Asset Library (based on the official plush, model includes walk, idle, jump, climb, and wave animations)
  • Added “crate_large” model (i.e. a large crate) to the built-in Asset Library, great for use as a pushable object for the player to push around
  • Added throwing dagger to the built-in Asset Library (model includes “move” animation, intended for use with “base_justin” or “justin” character as a weapon/projectile)
  • Added clickable banner for Slayer's RPG in a Box tutorials channel to the Game Manager dialog (will open Slayer's YouTube channel in your default browser)
  • Added Slayer to the “Special Thanks” section of the About dialog for his extensive community support, tutorials, and tireless troubleshooting
  • Added new popup dialog that displays upon application startup for displaying info about any major new features included in the current release
  • Added Czech translations (credit to David Chytka) for the editor interface and in-game text (selected from the “General” section of the Editor Settings dialog)
  • Moved “Pushable” object setting in the Map Editor to the “Thingies” section (the “Thingies” section can be expanded by double-clicking the header or clicking the plus button)
  • Updated pushing functionality so the player will now automatically push a pushable object when moving against it and continuing to move (instead of requiring it to be grabbed first)
  • Updated pushing/pulling functionality so the player will now auto-release a grabbed object when moving perpendicular to the push/pull direction (or away if not pullable)
  • Updated map loading logic to improve load times when returning to previously visited maps (before, load times would gradually increase in certain scenarios)
  • Updated save game functionality so that the current in-game time (i.e.“global.time”) is now properly saved and restored, including day/night lighting if applicable
  • Updated collision functionality for the player character so that custom collision will now be used if configured in the Voxel Editor
  • Updated collision functionality for entities in grid-based maps so that custom collision will now be used if configured in the Voxel Editor (allowing on hit scripts to trigger)
  • Updated collision functionality for impassable projectiles fired from turrets or via the “Fire Projectile” function to damage the player in addition to pushing them
  • Updated “Climb Up” input action so it will now attempt interaction with scripted entities the player is standing in front of (e.g. to enter a door in a side-scrolling platformer)
  • Updated climbing in free movement so the player can grab back onto a climbable tile via the “Climb Up” action when facing away after dismounting from the bottom
  • Updated “Door” Thingy settings to split out the open/close sound effect into two different dropdowns so each sound can be configured separately
  • Updated crouching in first-person free movement so that the player's “Crouch Vision Height” setting will determine collision if no “idle_crouch” animation is defined
  • Updated attachment functionality in the Voxel Editor so that nested attachments beyond one level will now display (up to 10 levels deep)
  • Updated “Save Camera Position” dialog in the Voxel Editor and Map Editor to display a warning if a camera position with the specified name already exists
  • Updated “Zones” dropdown on the Map Properties tab of the Map Editor to now sort the list of zones for the map alphabetically
  • Updated visual indicators displayed for zones in the Map Editor (i.e. green and red boxes) so they will no longer receive shadows
  • Updated global illumination functionality in the Map Editor to ignore entities with “Use in Baked Light” disabled when calculating the area to which to apply it
  • Updated “Completion Script” and “Failure Script” for quests to provide the $quest_id variable containing the quest's ID (similar to global quest scripts)
  • Updated “Set Gameplay Property” scripting function to support properties for the new fall damage functionality (see function documentation for details)
  • Updated “Damage Entity” scripting function to add a visual health bar above the target character if one isn't shown yet (unless “Floating Health Bars” is disabled in the Stats Editor)
  • Updated “Apply Status Effect”, “Remove Status Effect”, and “Clear Status Effect” scripting functions to allow the character's entity ID to be supplied as a string
  • Updated “Show Inventory” function to add an optional parameter for specifying which character the inventory should be opened for (e.g. show_inventory(party.member[“xyz”]))
  • Updated “Add Item To Tile” scripting function to add an optional fourth parameter for specifying an entity ID for the item drop so it can be referenced elsewhere
  • Updated “Set Zone Script” scripting function to support OBJECT_ENTER and OBJECT_EXIT as trigger options (for projectiles, pushables, physics objects, etc.)
  • Updated “item” Bauxite syntax so it can now be used directly as a codex lookup without being first stored into a variable (e.g. $name = item[“ITEM_0001”][“name”])
  • Updated “Global Time” option in the Script Editor's Expression Builder to instead use the more specific wording of “In-Game Time”
  • Updated enemy spawning to now drop the enemy's assigned loot drop(s) when defeated (i.e. the loot drops configured in the “Enemy” section of the Combat Editor)
  • Updated spawning logic (enemy spawns and “Add Character” function) to now throw an error to the in-game debug console when spawning a character with a default behavior preset that no longer exists
  • Updated item table for loot drops in the Combat Editor so you can now click on any column in order to select that loot item for the editing of its details
  • Updated right-hand side asset tabs to now show attachments in their generated previews (remove files in project's “cache” folder to make use of this, noting that custom thumbnails will be lost)
  • Updated auto-completion functionality in the debug console (tab key) to include the two optional parameters for the “Play Sound” function (i.e. loop mode and interval length)
  • Updated “Flame” preset (available as an option when creating a new effect in the Effect Editor) to use the new “Unshaded” setting to provide a better visual look
  • Updated Stumpy the Squirrel character in the built-in Asset Library with more animations (now also includes jump, climb, and wave)
  • Updated Stumpy's acorn model in the built-in Asset Library to now have a smaller default scale of 0.85 instead of the previous scale of 1.0
  • Updated “base_justin” and “base_sarah” characters in the built-in Asset Library to use a separate foot color for easier filling across all frames
  • Updated Asset Library so that all assets are now automatically deselected/unchecked after successfully importing the assets into your project
  • Updated “Predefined Animation Names” built-in documentation to include info about the “hit” animation for characters and “move” animation for projectile objects
  • Updated “Scripting Reference” built-in documentation to include “global.day” and “system.date” variables and “Set Time”, “Set Day”, “Distance”, and “Pad Zeros” scripting functions
  • Updated “Scripting Reference” built-in documentation to include a section for codex lookups (for retrieving details about an item, skill, status effect, or quest)
  • Updated “Codex” built-in documentation to include an example of reading a value from a codex (e.g. $my_codex[“count”] retrieves the value assigned to the “count” key)
  • Updated “Show Inventory” built-in documentation to include info about the optional parameter for specifying the character whose inventory will be opened
  • Updated “Set Gameplay Property” built-in documentation to include details about the new fall damage properties, missing descriptions for several properties, and a usage idea
  • Updated “Input Actions” built-in documentation to include the new “toggle_fullscreen” action ID that toggles between fullscreen and windowed mode
  • Updated “Tile” built-in documentation to include info about the new “items” property for getting the item drops that are on a tile
  • Updated “Character” built-in documentation to include info about the new “attack_cooldown” property for overriding a character's attack cooldown
  • Updated “Character” built-in documentation to include a function section with the “get_item_count” function (gives the count of a specific item in a character's inventory)
  • Updated editor splash screen, Game Manager dialog, About dialog, and default in-game loading screen to use the new RPG in a Box logo
  • Updated Game Manager dialog to replace the Discord info section with official forum info and changed the previous forum button to link to Slayer's community Discord server
  • Updated About dialog to reflect the current Patreon donors in the credits section and removed the Trello button as it's no longer being updated
  • Fixed issue where the “mp” and “max_mp” character stats were not being saved and restored when saving a game and then later loading it
  • Fixed issue where scripts added to tiles and objects as part of a game update were being inadvertently ignored if the player loaded a save from before the update
  • Fixed issue where the “Move Player” scripting function (and “Move Character” when used with the player) would cause the character's position to become out of sync in free movement
  • Fixed issue where changing the player's direction via script in first-person mode when the camera was locked would inadvertently affect the camera's rotation
  • Fixed issue where the “Character Collides” event for objects wasn't properly triggering its script if the object had the “Physics” option enabled
  • Fixed issue where projectiles fired from turrets or via the “Fire Projectile” function weren't colliding unless custom collision was configured for the object
  • Fixed issue where the visual effect for a status effect was not being properly removed when using a custom attach point and the status effect was cleared
  • Fixed issue where clearing out the visual effect attach point field for a status effect in the Stats Editor (i.e. reverting to default) would cause the effect to not attach properly
  • Fixed issue where a character's default behavior would show as “Standard” in the Voxel Editor if an assigned preset no longer existed (now falls back to “No Behavior” and displays a console error)
  • Fixed issue where real-time enemies would sometimes move away to another tile after attacking even when an adjacent opponent was still present
  • Fixed issue where the “Loot Drop” dropdown in the Map Editor would be blank when first configuring the character as attackable (until the character was reselected)
  • Fixed issue where adding items to a container or removing them could inadvertently affect the contents of other item containers that shared the same visual widget
  • Fixed issue where the initial items assigned to item containers in the Map Editor were not respecting the “Allowed Item Tags” setting for slots of custom container widgets
  • Fixed issue where using Shift + LMB to transfer an item into a custom container widget was not respecting the “Allowed Item Tags” setting for slots in the widget
  • Fixed issue where using the quick slot hotkeys (1, 2, 3, etc.) would incorrectly clear out a slot when the player had no more of the item instead of remaining with a zero count
  • Fixed issue where items were unable to be equipped to party members via script unless the character had been switched to via the “Change Player” function at some point beforehand
  • Fixed issue where default equipment with visual models assigned to them wouldn't display on the first-person view model or the 3D model widget element unless re-equipped
  • Fixed issue where cursor detection would sometimes fail to recognize the player character (e.g. via “cursor.target”, “Request Entity” function, etc.) after their model was overridden
  • Fixed issue where the character's rotation was not being set properly when using the “Rotate Entity Towards” scripting function for the player character in free movement
  • Fixed issue where the player's model was not being kept when changing it via the “Set Entity Model” scripting function then transitioning to another map
  • Fixed issue where the game would crash if the player was changed visually via the “Player Override” map setting or the “Set Entity Model” function and then the game was saved afterwards
  • Fixed issue where dialogue would become stuck and the player could no longer move when changing their model during dialogue via the “Set Entity Model” function
  • Fixed issue where the inventory widget would stay open when using the “Show Inventory” function then closing out of the management screen
  • Fixed issue where the scrollbar position for text field widget elements could become visually out of sync when changing their text via script
  • Fixed issue where the game would crash if a container object was removed from the map via the “Remove Entity” function and then the game was saved afterwards
  • Fixed issue where the player character was not being rotated to the specified direction when using the “Put Player” function in third-person free movement mode
  • Fixed issue where the “Grab” control was not displaying in the bottom right corner if the player was next to a pushable object and then turned to face it
  • Fixed issue where the “Override Animation” function would sometimes trigger the animation to be played in certain scenarios where it shouldn't
  • Fixed issue where sound effects played via the “Play Sound” function were not being stopped after restarting the game or quitting to the title screen
  • Fixed issue where the “Start Dialogue” visual scripting node would incorrectly set the dialogue to empty when selecting the first dropdown item (“None” is now an option)
  • Fixed issue where the white placeholder cubes that are displayed in place of empty models in the Map Editor were incorrectly casting shadows
  • Fixed issue where global illumination in the Map Editor was not considering objects or characters when calculating the area to which to apply it
  • Fixed issue where using the eyedropper tool to select an object with a non-zero offset in the Map Editor could cause issues with the positioning of subsequently placed objects
  • Fixed issue where assigning a view model in-game via the “camera.view_model” variable would not hide any attachments on the player model (and vice versa)
  • Fixed issue where attachments on the player character in first-person mode could obscure the camera and prevent interaction with objects or characters
  • Fixed issue where effects for attached objects in the Voxel Editor were not in the correct position (e.g. particles emanating from a staff attached to a character's hand)
  • Fixed issue where the dropdowns in the “Configure Attached Objects/Effects” dialog were not being truncated properly and long names would cause them to expand outside the window
  • Fixed issue where attaching an object to itself (or at some point down the chain) would cause the game to crash when ran (attachment nesting is now limited to 10 levels deep)
  • Fixed issue where an error would display in the external console window when loading a map in grid-based movement then attempting to free attack from the starting tile
  • Fixed issue where an error related to the “is_conveyor” property would continuously display in the external console window after saving then returning to a previous map
  • Fixed issue where an error would display in the external console window when removing a projectile via an on hit script if the projectile had hit two entities simultaneously
  • Fixed issue where errors related to “body_enter_tree” and “body_exit_tree” would sometimes flood the external console window and cause slowdowns
  • Fixed issue where an error related to the “skill_cooldown_changed” signal would sometimes display in the external console window
  • Fixed issue where the “Quit Game” option on the pause menu was missing its localization for the Russian language

Release Notes for v1.1.7

May 26, 2024


  • Added “Stumpy's Platforming 101” project template to the “New Game” dialog (includes bare bones mechanics to help get started with a platformer, to be expanded in future releases)
  • Fixed issue where the “Camera Boundaries” map setting was incorrectly remaining active for a map after being enabled and then disabled
  • Fixed issue where the maximum Z value for the “Camera Boundaries” map setting was incorrectly being set to the minimum Z value when changed
  • Fixed issue where custom collision wasn't being properly set up in-game when a model was passable and had custom shapes configured in the Voxel Editor
  • Fixed issue where the hostility setting for enemy spawns in the Combat Editor was not working properly when set to “Always Hostile”

Release Notes for v1.1.6

May 12, 2024


  • Added “Attackable in Real-Time” and “Hostility” settings for enemy spawns in the Combat Editor to specify each enemy's behavior upon spawning
  • Updated default behavior for enemies spawned in real-time via spawns configured in the Combat Editor to be attackable and hostile by default
  • Fixed issue where the strength value was not being respected when applying noise to voxels in the Voxel Editor
  • Fixed issue where ranged weapons were not hitting enemies under certain circumstances when using the grid-based movement system

Release Notes for v1.1.5

April 28, 2024


  • Added initial support to the Combat Editor for customizing the menu options available in menu-driven combat, including actions that run scripts (with access to same variables as pre-turn scripts)
  • Fixed issue where a game's main menu music would always play at the default volume instead of using the music volume assigned from the audio options menu

Release Notes for v1.1.4

April 14, 2024


  • Added ability to change the in-game camera's FOV via the “Set Gameplay Property” scripting function (e.g. set_gameplay_property(“camera_fov”, 40))
  • Added ability to retrieve the item currently assigned to a quick slot via the “.item” property (returns a codex, e.g. widget[“quick_slot_bar”].element[“0001”].item)
  • Changed “Stop Sound” scripting function to throw a silent warning to the debug console and continue instead of failing with an error when attempting to stop an invalid sound
  • Fixed an issue where the voxel cursor was incorrectly being shown when returning from an image capture in the Voxel Editor while the attach point selection tool was active
  • Fixed an issue where collision boxes and the attach point gizmo were not being hidden while in certain modes in the Voxel Editor (capturing images, mesh view, etc.)
  • Documentation: Added initial version of built-in docs for the “Give Currency” and “Remove Currency” scripting functions
  • Documentation: Updated “Stats Editor” built-in docs to include comprehensive details covering stats, leveling, equipment, skills, status effects, and currency
  • Documentation: Updated “Set Gameplay Property” built-in docs to include the “camera_fov” property for changing the camera's FOV

Release Notes for v1.1.3

March 31, 2024


  • Added initial implementation of a gizmo tool to the Voxel Editor for moving attach points directly within the 3D viewport, with rotation and scaling to come in a future update
  • Added animation panel to the Voxel Editor that displays any animations to which the current frame belongs (displayed in the bottom left corner)
  • Added “Interact Control Image” setting to the Game Configuration's “User Interface” section for customizing the control image shown when near an interactable object in free movement mode
  • Updated the current view panel in the bottom right corner of the Voxel Editor so that the “Left” and “Right” sides are now relative to the model's front (i.e. swapped)
  • Fixed issue where impassable zones were blocking mouse input in the Map Editor and could potentially prevent entities from being selected when clicked on
  • Fixed issue where the “Rotate Player To Direction” scripting function would not work properly when used with the first-person camera
  • Fixed issue where attachments in the Voxel Editor could potentially prevent the “Select Attach Point” tool from being able to click on an attach point
  • Fixed issue where the “Animations” dropdown on the Model Properties tab was not being clipped properly and long animation names would cause the tab to inadvertently expand
  • Fixed issue where using the “contains” conditional operator to check that an array created from the “range” function has a specific value could fail to work properly
  • Documentation: Updated “Scripting Reference” built-in docs to include info about arrays being supported with the “inverse” function

Release Notes for v1.1.2

March 17, 2024


  • Added “Free Attack System” setting to the “Mechanics” tab of the Game Configuration's gameplay section, with options of “Default” (character attacks forward) and “Cursor-Guided” (character attacks towards the mouse cursor)
  • Added “Thingies” section to the Model Properties tab in the Voxel Editor for configuring a model to be a particular thingy by default (e.g. an item pickup)
  • Added “Use Skill Slot 1” through “Use Skill Slot 5” input actions for triggering the use of skills on the player's skill bar (with default bindings of Ctrl + 1 through Ctrl + 5)
  • Added “Pack Image into Effect” button to the Effect Editor for bundling a billboard image into a particle effect (e.g. for easily sharing an effect with others)
  • Added “Stun” effect to the preset options available when creating a new effect in the Effect Editor (as seen in Stumpy's Epic Adventure)
  • Added “Max Magic (MP)” as a stat increase option to the “Leveling” section of the Stats Editor for increasing maximum MP when a character levels up
  • Updated “Remove Entity” scripting function to now allow a tile to be removed in free movement even when occupied by the player character
  • Updated “Perform Action” scripting function to allow the “next_tool” and “previous_tool” actions to work even when the tool item UI is disabled
  • Updated “Set Gameplay Property” scripting function to support “free_attack_system” as a property name, with possible values of “default” or “cursor”
  • Updated the maximum count for items and currency from 100 to 1,000,000 when creating loot drops in the Combat Editor
  • Updated input actions for the quick slot bar (keys 1 through 5 by default) to go by order of element ID to allow flexibility when using a custom quick slot bar
  • Updated “Skill Effects” dialog shown when adding effects to a skill in the Stats Editor to use the new “spell” icon instead of the old “jump” icon
  • Fixed issue where cube-based Blockbench models would sometimes fail to load properly when attempting to import them into the Voxel Editor
  • Fixed issue where meshes in Blockbench models would sometimes be in the incorrect position when importing them into the Voxel Editor
  • Fixed issue where transparency was not being properly set up for textures when importing Blockbench models into the Voxel Editor
  • Fixed issue where the “Locked Script” setting for “Door” thingies was not properly being shown/hidden when changing whether or not the door requires an item to open
  • Fixed issue where projectiles fired from turrets or from entities via the “Fire Projectile” function would fire in the nearest cardinal direction instead of the precise direction the entity was facing.
  • Fixed issue where projectiles fired from turrets or from entities via the “Fire Projectile” function would originate from the source entity's tile coordinate instead of its absolute position (e.g. if an object had a non-zero offset).
  • Fixed issue where progress bars would sometimes not show the correct value when the current and maximum values were updated at the same time (e.g. leveling up)
  • Fixed issue where the import/export buttons were incorrectly enabled for sprite-based models in the Voxel Editor (images are assigned from the Model Properties tab)
  • Fixed issue where the battle script dropdowns (“Pre-Battle Script”, etc.) in the “General” section of the Combat Editor would be blank initially if the project's “combat.json” file didn't exist yet
  • Fixed issue where the “Available Items” dropdown in the “Loot Drops” section of the Combat Editor would be blank initially if the project's “combat.json” file didn't exist yet
  • Fixed issue where currency without a valid image would be displayed with a black square instead of the “missing” icon in the list of currencies in the Stats Editor
  • Fixed issue where currency without a valid image that had been added to a loot drop in the Combat Editor wasn't falling back to the “missing” icon
  • Fixed issue where currency images would sometimes show at their full size in the list of items for a loot drop or on the “Add Currency to Loot Drop” popup menu in the Combat Editor
  • Fixed issue with some incorrect YouTube links on the “Tutorials” page of the built-in documentation (“Beginner's Guide” and “How to Make a Game” series)
  • Documentation: Added initial version of built-in docs for “Input Actions” with a list of all available action IDs (for use with the input action functions)
  • Documentation: Added initial version of built-in docs for the “Enable Action” and “Disable Action” scripting functions
  • Documentation: Updated “Tile”, “Object”, and “Character” built-in docs to include information about the “animation” property
  • Documentation: Updated “Set Gameplay Property” built-in docs to include the new “free_attack_system” property and its possible values

Release Notes for v1.1.1

March 5, 2024


  • Added Stumpy's computer desk (stmp_computer_desk) to the built-in Asset Library available from the main toolbar at the top of the editor
  • Added visual node for the “Shake Screen” function to the Script Editor (for shaking the screen for a specified number of seconds)
  • Added Tab key as an available key to bind when adding a new binding from the Game Configuration's Input Bindings tab
  • Updated “base_sarah” character model in the Asset Library to match the “base_justin” model's colors (i.e. “Box of Colors” palette)
  • Updated Patreon credits in the About dialog to reflect the currently active Dungeon Master, Hero, NPC, and Slime patrons
  • Fixed issue where a map would fail to load if the current player character was using the “Billboard Sprite” mesh option
  • Fixed issue where the “On Unequip” script assigned to an equipment item was not being triggered if it was unequipped by swapping it with another item
  • Fixed issue where the camera would not be facing in the direction specified when using the “Load Map” function in first-person grid-based mode
  • Fixed issue where the camera would continue to move after loading a saved game while the game was currently in the middle of a camera movement
  • Fixed issue where the management screen widgets would be incorrectly shown after closing an item container if the management screen had been opened while moving to the container
  • Fixed issue where the “<character>.get_item_count(<item_id>)” Bauxite function would fail with an “invalid item” error when called from a script
  • Fixed issue where referencing the “characters” property of a tile by index in a conditional expression would fail to be accepted as valid syntax (e.g. $my_tile.characters[0])
  • Documentation: Added initial version of built-in docs for the “Shake Screen” scripting function, which shakes the screen for the specified number of seconds
  • Documentation: Updated “Scripting Reference” built-in docs to include the “camera.view_model” variable in the camera variables section with a description of its purpose
  • Documentation: Updated “Character” built-in docs to include info about the “statuses” property for getting a character's status effects and its usage with the “contains” operator

Release Notes for v1.1

February 29, 2024


  • Added experimental “Mesh-Based” option when creating a new object or character in the Voxel Editor from the “New Resource” dialog (Blockbench .bbmodel files can imported via “Import from External Format”)
  • Added “Blockbench (.bbmodel)” as a source file option when importing from an external format into the Voxel Editor (available when the model is created as “Mesh-Based”, animations not officially supported yet)
  • Added experimental “Sprite-Based” option when creating a new object or character in the Voxel Editor (models are entirely sprite-based, images are assigned from the Model Properties tab)
  • Added ability to assign sound effects per animation frame in the Voxel Editor that will play when the frame is shown (configurable from the sound icon button on the animation toolbar)
  • Added “Event Schedule” functionality for tying scripts to specific times of the day/night cycle, set up on a per map basis from the Map Properties tab (e.g. to schedule an NPC to move to different locations throughout the day)
  • Added camera boundaries functionality for defining the outer limits for the camera, e.g. to stop scrolling once the edge of a map is reached and prevent the void from being seen (configurable from the Map Properties tab in the Map Editor)
  • Added “Facing Player” as an option to the “Camera Orientation” setting in the Map Editor, which will start the map with the camera facing towards the front of the player (initially only supported in grid-based movement)
  • Added “Visual Override Only” checkbox to supplement the “Player Override” Map Editor setting (toggle off for a unique character with its own stats, properties, etc.)
  • Added initial “zone” functionality to maps (free movement only), with the ability to create passable and impassable zones from the Map Properties tab (passable zones support “Character Enters” and “Character Exits” scripts, impassable zones support “Character Collides” script, “initiator” contains triggering character)
  • Added “Add Zone” scripting function for adding a zone to the current map, with parameters for zone name, passability, position, width, depth, and height (e.g. add_zone(“toxic_zone”, true, coord[0, 0, 0], 64, 64, 16))
  • Added “Disable Zone” scripting function for disabling a zone (e.g. disable_zone(“zone_name”) - scripts for disabled zones won't trigger and disabled impassable zones won't block the player)
  • Added “Enable Zone” scripting function for enabling a zone that was previously disabled via the “Disable Zone” function (e.g. enable_zone(“zone_name”))
  • Added “Remove Zone” scripting function for removing a zone from the map (e.g. remove_zone(“zone_name”))
  • Added “Set Zone Script” scripting function for modifying a zone's script, with trigger options of CHARACTER_ENTER and CHARACTER_EXIT for passable zones and CHARACTER_COLLIDE for impassable zones (e.g. set_zone_script(“zone_name”, “zone_enter_script”, CHARACTER_ENTER))
  • Added “Display Zones” button to the Map Editor toolbar for toggling the display of zones (can also be hidden along with other extras while holding the Backtick (`) key, or Shift + Backtick key to toggle all of them off)
  • Added support for tank controls to the free movement system (selectable from the Game Configuration dialog under Settings → Gameplay → Mechanics → Player Movement)
  • Added “Air Control” functionality to the free movement system (adjustable from the Game Configuration dialog under Settings → Gameplay → Physics → Air Control, or scripted (see “Set Gameplay Property” function))
  • Added initial support for climbing to the free movement system (should be considered experimental for now, more settings for tweaking behavior will be coming in later releases)
  • Added “Climb Up” and “Climb Down” actions to the “Available Actions” dialog shown when changing an input binding from the Game Configuration dialog (can be used in place of “Move Up” and “Move Down” for side-scrolling games to allow the player to climb ladders they're standing in front of)
  • Added several settings to the “Experimental” section of the Game Configuration dialog for tweaking how collision detection is handled when the player is near a climbable tile
  • Added initial support for moving platforms to the free movement system (should be considered experimental for now, more settings for tweaking behavior will be coming in later releases)
  • Added “Jump Count” functionality to the free movement system for defining how many times the player can jump before resetting (adjustable from the Game Configuration dialog under Settings → Gameplay → Physics → Jump Count)
  • Added “Movement System” option for configuring the default movement system for your game (free movement vs. grid movement, accessible from the Game Configuration dialog under Settings → Gameplay → Mechanics → Movement System)
  • Added “Movement System” option to the Map Properties tab in the Map Editor for overriding the movement system on a per map basis (“Global Default” option will use the movement system set in the Game Configuration dialog)
  • Added initial support for the “Change Player” scripting function to the free movement system so that the main player character can be swapped out for party members or NPCS within the map
  • Added support for the “Speed Multiplier” tile setting to the free movement system (adjustable from the Model Properties tab in the Voxel Editor)
  • Added “Physics” setting for objects to the Entity Properties tab in the Map Editor and Model Properties tab in the Voxel Editor (experimental feature that gives an object physics so it can be moved around by the player if free movement is used)
  • Added “Thingies” section to the Entity Properties tab of the Map Editor for the new “Item Pickup”, “Door”, “Conveyor”, and “Turret” mechanics (will be moving other existing mechanics here like “Item Container”, “Pushable”, “Vehicle”, etc.)
  • Added “Item Pickup” mechanic to the Entity Properties tab of the Map Editor for the new “Thingy” system, allowing an object to be easily configured as an item pickup (supported in both grid movement and free movement)
  • Added “Door” mechanic to the Entity Properties tab of the Map Editor for the new “Thingy” system, allowing an object to be easily configured as a door (only supported in free movement at this time)
  • Added “Conveyor” mechanic to the Entity Properties tab of the Map Editor for the new “Thingy” system, allowing tiles to act as conveyors and move any characters or pushable objects on them (supported in both grid movement and free movement)
  • Added “Turret” mechanic to the Entity Properties of the Map Editor for the new “Thingy” system, allowing tiles, objects, and characters to act as turrets (supported in both grid movement and free movement)
  • Added “<character>.equipment” Bauxite syntax for getting a codex containing a character's equipment from a script, where the keys are the equipment slot IDs (e.g. player.equipment[“right_hand”))
  • Added “<character>.get_item_count(<item_id>)” Bauxite function to get the total count of a specific item in a character's inventory (e.g. player.get_item_count(“ITEM_0001”))
  • Added constants to Bauxite for the four ordinal directions (NORTHWEST, NORTHEAST, SOUTHWEST, and SOUTHEAST, in preparation for future functionality)
  • Added “Ordinal Direction” as an option to the Expression Builder in the Script Editor, providing the ability to quickly insert one of the four ordinal directions (in preparation for future functionality)
  • Added optional second parameter to the “Show Widget” and “Hide Widget” scripting functions for fading the widget in/out over a duration of time in seconds
  • Added visual node for the “Change Player” function to the Script Editor (for changing the active player to a party member or a character within the current map)
  • Added “Set Map Background” scripting function for changing the current map's background (e.g. set_map_background(COLOR, color[0, 0, 0], set_map_background(PROCEDURAL_SKY), set_map_background(PANORAMA_SKY, “sky.png”))
  • Added “Stop Animation” scripting function for stopping any animation that's currently playing for an entity, leaving it on its last played frame (e.g. stop_animation(entity[“windmill”]))
  • Added “Fire Projectile” scripting function for firing from a source entity towards a target using an item set up as a projectile in the Item Editor (e.g. fire_projectile(“ITEM_0001”, entity[“source”], player, “projectile_id”))
  • Added “Enable Turret” scripting function for enabling a turret that's currently disabled (e.g. enable_turret(entity[“turret_01”]))
  • Added “Disable Turret” scripting function for disabling a turret that's currently enabled (e.g. disable_turret(entity[“turret_01”]))
  • Added “Enable Conveyor” scripting function for enabling a group of conveyor tiles that's currently disabled (e.g. enable_conveyor(“conveyor_group_01”))
  • Added “Disable Conveyor” scripting function for disabling a group of conveyor tiles that's currently enabled (e.g. disable_conveyor(“conveyor_group_01”))
  • Added “Set Conveyor Speed” scripting function for modifying the speed (in voxels per second) of a group of conveyor tiles, with optional third parameter to also change the animation's speed (e.g. set_conveyor_speed(“conveyor_group_01”, 10, true))
  • Added “Set Conveyor Reversed” scripting function for reversing the direction of a group of conveyor tiles, with optional third parameter to also change the animation's direction (e.g. set_conveyor_reversed(“conveyor_group_01”, true, true))
  • Added “Perform Action” scripting function for emulating the player performing an input action, like moving or attacking, with an optional second parameter for emulating a hold/release (e.g. perform_action(“attack”) to attack, or perform_action(“move_up”, true) to hold down the “Move Up” action)
  • Added “Override Action” scripting function for overriding an input binding action with another action (e.g. override_action(“jump”, “attack”) - player will attack instead of jump when pressing the input bound to “jump”)
  • Added “Reset Action” scripting function for reverting an input binding action that was previously overridden via the “Override Action” function (e.g. reset_action(“jump”))
  • Added “Set Gameplay Property” scripting function for modifying a gameplay setting (currently only the following property names are supported: “movement_control_type”, “gravity”, “air_control”, “jump_enabled”, “jump_vertical_velocity”, “jump_count”, e.g. set_gameplay_property(“jump_count”, 2))
  • Added “Enemy” as a target option for skills in the Stats Editor (when using a script as an effect, the $target variable will contain the chosen enemy)
  • Added “All Enemies” as a target option for skills in the Stats Editor (when using a script as an effect, the $target variable will contain an array of all enemies in the battle/map)
  • Added “Party Member” as a target option for skills in the Stats Editor (when using a script as an effect, the $target variable will contain the chosen member)
  • Added “Stat Required” setting for skills in the Stats Editor that requires a stat to be consumed in order for the skill to be used (e.g. “mp” for a magic spell)
  • Added initial implementation of skill tooltips (when hovering over a skill slot in-game, a tooltip with the skill's name and description will now display)
  • Added “Combat”, “Physical”, and “Social” built-in categories (in addition to the existing “Magic” category) for skills in the Stats Editor (in preparation for future functionality)
  • Added “Apply Status Effect” as an option to the “Skill Effects” dialog when adding an effect to a skill in the Stats Editor (applies a status effect to the target)
  • Added “Remove Status Effect” as an option to the “Skill Effects” dialog when adding an effect to a skill in the Stats Editor (removes a status effect from the target)
  • Added “Clear Status Effects” as an option to the “Skill Effects” dialog when adding an effect to a skill in the Stats Editor (clears all status effects from the target)
  • Added “Summon Character” as an option to the “Skill Effects” dialog when adding an effect to a skill in the Stats Editor (summons a character to the player's team, real-time only for now with, more functionality to come in future releases)
  • Added “Play Sound” as an option to the “Skill Effects” dialog when adding an effect to a skill in the Stats Editor (plays the specified sound effect)
  • Added “Stun” as a new status effect type in the Stats Editor (selectable from the “Effect Type” dropdown, prevents the affected character from moving or attacking)
  • Added “Visual Effect” setting for status effects in the Stats Editor for assigning particle effects to them, which will be attached to the target character if they have an attach point named “status” (with option to customize the attach point ID used per status effect)
  • Added “<character>.statuses” Bauxite syntax for getting the status effects for a character (e.g. player.statuses, value is a codex where each key is a status ID and its value is a codex of that status effect's properties)
  • Added “Set Stat” scripting function for changing a character's stat to a specific value, third parameter is optional and defaults to “player” (e.g. set_stat(“max_hp”, 100, player))
  • Added “Increase Stat” scripting function for increasing a character's stat by a specific amount, third parameter is optional and defaults to “player” (e.g. increase_stat(“attack”, 5, player))
  • Added “Decrease Stat” scripting function for decreasing a character's stat by a specific amount, third parameter is optional and defaults to “player” (e.g. decrease_stat(“defense”, 5, player))
  • Added ability to set a maximum value for the “max_mp” stat (i.e. maximum magic points) in the “Character Stats” section of the Stats Editor (in preparation for future functionality)
  • Added “Magic (MP)” setting to the Model Properties tab of the Voxel Editor for setting the initial MP stat for characters (determines their initial “mp” and “max_mp” stats)
  • Added ability to include custom currencies in loot drops in the Combat Editor (the “Add Currency” button will now display a popup menu of all available currencies)
  • Added “Give Currency” scripting function for giving currency to a character (e.g. give_currency(100, “gems”, player) - second and third parameters are optional and default to the base “currency” and “player”, respectively)
  • Added “Remove Currency” scripting function for removing currency from a character (e.g. remove_currency(100, “gems”, player) - second and third parameters are optional and default to the base “currency” and “player”, respectively)
  • Added “Pre-Battle Script” to the general section of the Combat Editor (ran before the first round of combat during battles - $battle_name string variable and $characters array variable are available)
  • Added “Post-Battle Script” to the general section of the Combat Editor (ran at the end of a battle before returning to normal gameplay and any victory/defeat scripts are executed - $battle_name string variable and $characters array variable available)
  • Added “Pre-Round Script” to the general section of the Combat Editor (ran at the start of each round of a battle - $battle_name string variable, $characters array variable, and $round number variable are available)
  • Added “Post-Round Script” to the general section of the Combat Editor (ran at the end of each round of a battle - $battle_name string variable, $characters array variable, and $round number variable are available)
  • Added “Pre-Turn Script” to the general section of the Combat Editor (ran at the start of each character's turn during a battle, with the “self” built-in variable referencing the current character and $battle_name, $characters, and $round variables available)
  • Added “Post-Turn Script” to the general section of the Combat Editor (ran at the end of each character's turn during a battle, with the “self” built-in variable referencing the current character and $battle_name, $characters, and $round variables available)
  • Added support for free attacking to the grid-based movement system so that the player can freely attack at any time instead of needing to directly interact, similar to free movement (Ctrl key by default, can be changed in the project's input bindings)
  • Added “Projectile” toggle option to the Item Editor for indicating that the item is a projectile (for use with the “Fire Projectile” function and turrets - with settings for damage, speed, range, on hit script, and sound effect)
  • Added “Sound Effect” setting for items configured as weapons in the Item Editor (automatically plays when a character attacks with the weapon equipped)
  • Added support to melee weapons for the “Ammo/Energy Required” setting so they will now support options beyond unlimited use (i.e. single use, items by ID, and items by tag)
  • Added “Character Stat” as an option for the “Ammo/Energy Required” setting in the Item Editor, requiring a weapon to consume a stat of the character that's using it
  • Added the ability to set an initial stack count for a character's default equipment in the Voxel Editor (for when a weapon item is stackable, e.g. throwing daggers)
  • Added ability to retrieve an array of items contained within an entity (if the entity is an object configured as an item container) using the “<entity>.inventory” Bauxite syntax
  • Added “erase” array function to Bauxite for erasing a specific value from an array (e.g. $my_array.erase(entity[“xyz”]) removes the first occurrence of entity[“xyz”])
  • Added “<character>.team” Bauxite syntax for retrieving or changing the team of a character, with supported values of “player”, “enemy”, and null (only affects characters with “Attackable in Real-Time” enabled, additional functionality around this coming in future updates)
  • Added “<entity>.animation” Bauxite syntax for retrieving the name of the animation currently playing for an entity (value will be null if no animation is playing)
  • Added “Show Options” scripting function for displaying the in-game options menu with control, video, and audio settings (e.g. show_options())
  • Added “party” Bauxite variable for referencing the player's party as a codex with a key for each member ID and the corresponding value a reference to the character (can use as a shorthand for party.member[“member_id”], e.g. party[“member_id”])
  • Added “<entity>.position” Bauxite syntax for retrieving the absolute position of an entity (as opposed to its tile coordinate, e.g. to use “Add Effect” to add an effect at the feet of a moving character or at a projectile's location)
  • Added “Set Entity Direction” scripting function for changing the direction of an entity to a specific cardinal direction (e.g. set_entity_direction(player, NORTH))
  • Added “Set Entity Offset” scripting function for changing the X/Y/Z offset of an object, with optional fifth parameter for changing it over a duration of time (e.g. set_entity_offset(entity[“tree_01”], 4, 4, 0))
  • Added “Set Entity Rotation” scripting function for changing the X/Y/Z rotation of an object or Z rotation of a character, with optional fifth parameter for changing it over a duration of time (e.g. set_entity_rotation(entity[“boulder_01”], 10, 10, 45))
  • Added “Interact With Entity” scripting function for triggering a character to remotely interact with an object or character, second parameter is optional and defaults to “player” (e.g. interact_with_entity(entity[“storage_chest”], player))
  • Added “<character>.vehicle” Bauxite syntax for retrieving the vehicle object that a character is currently in (value will be null if they aren't in a vehicle)
  • Added $item variable for scripts assigned to usable/consumable items, which contains the full item codex (e.g. to check a particular property of the item being used)
  • Added ability to override the default built-in widgets for the inventory, equipment, quick slot bar, and skill bar (set from the “star” button on the Widget Editor toolbar)
  • Added ability to edit widget element IDs using the pencil button located on the Element Properties tab when an element is selected in the Widget Editor
  • Added “Video” as an available element type in the Widget Editor (with settings for which video to play and an optional still image to show before being triggered to play)
  • Added “Target (Valid)” and “Target (Invalid)” predefined cursor types to “Cursors” section of the Game Configuration dialog (used by the “Request Entity” scripting function and the “Summon Character” skill effect)
  • Added “Enable Screen Effect” scripting functions for enabling the VHS/CRT monitor effect via script, with optional fade length (e.g. enable_screen_effect(2))
  • Added “Disable Screen Effect” scripting functions for disabling the VHS/CRT monitor effect via script, with optional fade length (e.g. disable_screen_effect(2))
  • Added “Set Screen Effect Property” scripting function for modifying a property of the VHS/CRT monitor effect via script (e.g. saturation, chromatic aberration, etc., with optional fade length - see documentation for a list of properties that can be changed)
  • Added support for the “Locked Axes” camera settings (i.e. locking the camera's X-axis, Y-axis, or Z-axis movement) to the grid-based movement system
  • Added “Camera Preset” functionality for storing and switching between multiple camera presets from the Game Configuration dialog (accessed from Game Configuration → Settings → Gameplay → Camera)
  • Added ability to override the camera setup on a per map basis using the “Camera Override” setting on the Map Properties tab in the Map Editor (will now list any custom camera presets defined in the Game Configuration dialog)
  • Added “Shake Screen” scripting function for shaking the screen over a duration of time, with customization and other options to come in the future (e.g. shake_screen(2) - not currently compatible with the VHS/CRT monitor effect)
  • Added “First-Person Magic Shooter” project template to the “Create a New Game” dialog (includes bare bones mechanics to help get started with creating an FPS, will be expanded in future releases)
  • Added “Recent Files” button to the Voxel Editor, Map Editor, Dialogue Editor, Script Editor, and Effect Editor toolbars as a way to access recently opened files
  • Added ability to clear recent files for an editor from the list shown when nothing is opened in the editor (or all recent files for the project if “Show All Types” is checked)
  • Added “Exclude Background from Captures” setting for the Map Editor to determine if the background should be removed (i.e. transparent) when capturing an image of the map
  • Added “zoom” debug console command that will display the camera's current zoom value (useful for determining the minimum and maximum zoom values for a standard/third-person game)
  • Added built-in “Skill Bar” widget to the list of widgets in the Widget Editor (allowing the default skill bar to be viewed or to be duplicated to create a custom widget)
  • Updated the default skill bar to now contain five skill slots instead of the previous three (if desired, the default skill bar can now be overridden with a custom widget)
  • Updated skill functionality for tactical-turn based combat so the skill bar will show for a party member during their turn if enabled, otherwise the “Use Skill” control will be displayed in the bottom right corner
  • Updated skill bar functionality so that a skill slot's cooldown is now properly set when a skill is manually triggered from a script via the “Use Skill” scripting function
  • Updated skills so they are now automatically added to first open slot on the character's skill bar when given via “Give Skill”, or removed from the skill bar when the skill is removed via “Remove Skill”
  • Updated some behind the scenes functionality for the skill bar and quick slot bar so that unique instances are now maintained per character (should generally be more reliable when switching between characters)
  • Updated projectile functionality in the grid-based movement system so they will no longer lock onto their target and can now be dodged
  • Updated “On Hit Script” functionality for ranged weapons to now also trigger when hitting tiles, objects, and non-attackable characters (in addition to attackable characters)
  • Updated free attacking functionality (default of left mouse button in free movement and Ctrl key in grid movement) so that the character will no longer play their attack animation if their weapon uses ammo and they have none
  • Updated collision logic in free movement to have a slight cooldown when colliding with impassable objects and characters in order to prevent rapid continual triggering of any assigned collision scripts (customization around this to come in a future release)
  • Updated jump vertical velocity setting to allow a higher precision for its value (can now be defined up to the hundredths place, set from Game Configuration → Settings → Gameplay → Physics → Jumping → Vertical Velocity)
  • Updated Map Editor's “Background Type” functionality so that each option's settings are maintained when switching between procedural sky and panorama sky
  • Updated “Fog” option in the Map Editor to remember the previously used settings when toggling it off then back on from the Map Properties tab (instead of reverting to the defaults)
  • Updated “Fog” option in the Map Editor to no longer automatically pop up the settings dialog when enabling it from the Map Properties tab
  • Updated “Saturation” setting for the VHS/CRT monitor effect in the Map Editor to allow a maximum value of 10 and a minimum value of -10 (negative values will cause colors to invert)
  • Updated the day/night system so that it's always enabled, allowing the “global.time” variable to be accessible from scripts even without any day/night lighting presets assigned (a full day/night cycle is 600 seconds by default)
  • Updated X/Y/Z offset properties for attach points in the Voxel Editor to allow more precision (values can now be defined up to the hundredths place)
  • Updated scale settings for entities and attach points to allow more precision (values can now be defined up to the hundredths place)
  • Updated attach point functionality so that objects being attached to other models no longer need any attach points defined (if none exist, it will default to position (0, 0, 0))
  • Increased maximum scale limit for models and attach points to 4 from the previous limit of 2
  • Updated collision functionality for empty objects and characters (i.e. no voxels) so that collision boxes will now be created in free movement if custom collision shapes are defined for the model
  • Updated some logic for empty models (i.e. no voxels) so that they no longer need to be removed and replaced on maps for certain model properties to be carried over
  • Updated choice functionality in the dialogue system to support shortcut keys 6 through 9 (in addition to the existing 1 through 5) to select the corresponding option when the player is presented with choices
  • Updated “Execute Script” scripting function to pass any local variables defined in the current script to the script being called even when not pausing (i.e. running in parallel)
  • Updated “Play Animation” scripting function to include an optional third parameter to indicate whether or not it should attempt to resume the animation, e.g. when previously stopped via the “Stop Animation” function (defaults to false)
  • Updated “Play Group Animation” scripting function to include an optional third parameter to indicate whether or not it should attempt to resume the animation, e.g. when previously stopped via the “Stop Animation” function (defaults to false)
  • Updated “Add Effect” scripting function to return the newly added effect so it can be referenced later without needing an entity ID (similar to “Add Character”, “Add Tile”, etc.)
  • Added ability to set the Z rotation of characters from a script using the “<character>.rotation_z” syntax and to retrieve the X/Y/Z rotation of a character using the “<character>.rotation” syntax
  • Updated “Set Entity Light Attenuation”, “Set Entity Light Diameter”, and “Set Entity Light Intensity” scripting functions to allow variables for the optional duration parameter instead of requiring a literal numeric value
  • Updated “Move Character” script node so that the optional “pause” parameter can be specified via checkbox when creating a script visually in the Script Editor
  • Increased maximum dimensions for particle size in the Effect Editor to 100x100x100 for the cube shape and 100×100 for the sphere and billboard shapes
  • Replaced the default damage sound effect with a similar, but less jarring, sound effect (played whenever a character takes damage during combat or from a script)
  • Updated inventory storage slot functionality so that items given to a character will now fill the available storage slots in order of element ID
  • Updated icon for the moving platform functionality in the Map Editor to be less ambiguous as to the mechanic it's meant to represent
  • Removed “Free Movement” disclaimer dialog that would display whenever enabling free movement for a map from the Map Properties tab in the Map Editor
  • Removed “Free Movement” icon from the “Attack” action on the “Available Actions” dialog shown when changing input bindings as it's no longer limited to free movement
  • Updated the dialog for renaming files so that it will now have the current name of the file in the “Name” field by default instead of being blank (currently only applicable to files renamed from the Game Explorer or asset tabs on the right)
  • Changed wording of the “Health” label on the Model Properties tab in the Voxel Editor to “Health (HP)” to help indicate which stat it corresponds to and to match the newly added “Magic (MP)” setting
  • Updated “Give Skill”, “Remove Skill”, and “Use Skill” scripting functions in the Script Editor to use the new spell-themed icons instead of the old “jump” icons
  • Increased the maximum number of recent items for the editor to 100 (i.e. files shown on the “Recent” tab next to “Favorites”, as well as in the “Recent” section that's shown when no files are opened in an editor)
  • Changed label text for the “Object Model (Character)” setting in the Item Editor to “Object Model (Standard)” to better represent what the model is used for
  • Added missing English translations for the following function descriptions in the Script Editor: EQUIP_ITEM_DESC, UNEQUIP_ITEM_DESC, and USE_ITEM_DESC
  • Updated in-game error messages that are displayed in the debug console to now include the name of the script in which they occurred (if applicable, i.e. a standalone script file)
  • Updated “Play Sound” scripting function to include the name of the sound in the debug console error message that's displayed when the sound doesn't exist
  • Updated “justin” and “base_justin” character models in the built-in Asset Library to include animations for “jump” and “sprint”
  • Fixed issue where the “Allowed Item Tags” setting for storage slots was not being respected when a character was given items via the “Give Item” scripting function
  • Fixed issue where calling the “Play Sound” scripting function with a non-string value for the sound name was not being properly caught and displayed as an error in the debug console
  • Fixed issue where tactical turn-based battles would not function properly when attempting to start one using a free movement map (the map will now be switched to grid-based movement)
  • Fixed issue where billboard sprites using the “Multi-Directional Sprite” setting were not properly updating in first-person free movement based on the player's position
  • Fixed issue where collision boxes weren't being set up properly for objects added to free movement maps via the “Add Object” scripting function
  • Fixed issue where the player character was incorrectly rotating in free movement instead of remaining upright when the “Two-Dimensional” setting was enabled
  • Fixed issue where objects and effects configured to be automatically attached to a model were not being kept if an attach point was renamed in the Voxel Editor
  • Fixed issue where the camera would remain stuck at the player's position when attempting to move it in first-person free movement using one of the “Move Camera” scripting functions
  • Fixed issue where the camera's position could become out of sync if the game was restarted while a scripted camera movement was in progress
  • Fixed issue where item icon popups resulting from loot drops would move towards the center of the map instead of the player character while in free movement
  • Fixed issue where a character's “name” property was not being kept when swapping to another model via the “Set Entity Model” function (as it's meant to be a visual change only)
  • Fixed issue where the “Set Player Movement Locked” scripting function was not properly locking the player's movement when used in free movement
  • Fixed issue where the player's collision box was not being properly updated in free movement when their scale was changed via script
  • Fixed issue where the player's “jump” animation could become stuck in free movement after landing then continuing to hold a movement key if the animation was a looping type
  • Fixed issue where item descriptions for shop item slots would be blank or would show an incorrect description and cost when using the default currency without a custom name
  • Fixed issue where widget element values were not being automatically updated after a character leveled up from defeating a real-time enemy (e.g. a text label showing the character's level)
  • Fixed issue where widget element values were not being automatically updated after the player character received a loot drop from an enemy or via the “Give Loot” scripting function
  • Fixed issue where the “Death Sound Effect” setting in the Combat Editor would sometimes be empty for newly created projects instead of showing the “Default” option
  • Fixed issue where the maximum value configured for a stat in the Stats Editor was not being respected when the stat was modified in-game
  • Fixed issue where an explicit minimum count for a “contains” expression would get dropped from its visual node when manually entered into a Bauxite script
  • Fixed issue where some weapon-related fields in the Item Editor were incorrectly showing after toggling off the “Equippable” setting for an item
  • Fixed issue where the HP bar was not displaying at the proper height if a character was using the “Billboard Sprite” mesh type along with a non-default scale
  • Fixed issue where changing the “rotation_z” property for an object via script was not updating its direction if the object was using the “Billboard Sprite” mesh type
  • Fixed issue where quick scripts would sometimes fail to run or the wrong quick script would be triggered after saving a game then reloading
  • Fixed issue where enemies defeated during a tactical turn-based battle would inadvertently still be present in the battle map upon returning to it later (if the “Remove Defeated Enemies” setting was disabled)
  • Fixed issue where a custom stat could incorrectly bet set to less than zero when using an assignment to change or decrease its value from a script
  • Fixed issue where any skills that had been assigned to skill slots on a widget were not being properly restored when loading a saved game
  • Fixed issue where the player character was not being properly restored when loading a saved game where they had been swapped with a party member or NPC via “Change Player” (only supported in grid-based movement at this time)
  • Fixed issue where values on the Widget Properties tab (on close script, font, and font size) were not updating when switching to a built-in widget in the Widget Editor
  • Fixed console error that could occur when renaming a loot drop in the Combat Editor and the “Enemies” list did not have any enemies defined
  • Fixed issue where the quick slot bar was not displaying on the management screen (if the quick slot bar was enabled from the Game Configuration's “User Interface” section)
  • Fixed issue where clicking the left mouse button to select an entity for the “Request Entity” scripting function could inadvertently cause the player to attack
  • Fixed issue where the cursor was not being properly updated after completing the selection of an entity requested by the “Request Entity” scripting function
  • Fixed issue where the cursor would sometimes display as valid (i.e. hand icon) when calling “Request Entity” with a validation function even if the entity under the cursor wasn't valid
  • Fixed issue where using the “Set Terrain Types” function would cause a script to become stuck afterwards and would not execute any further logic in the script
  • Fixed issue where the “Use Skill” scripting function would incorrectly trigger the use of a character's skill even if the skill was still on cooldown
  • Documentation: Updated “Show Widget” and “Hide Widget” built-in docs to include info about the optional parameter for fading the widget in/out
  • Documentation: Updated “Script Syntax” built-in docs to include info about the dice notation in Bauxite for simulating D&D-style dice rolls
  • Documentation: Added initial version of built-in docs for “Message Log” with a description of its usage, as well as information about configuring a timeout for messages to be cleared from the log
  • Documentation: Added initial version of built-in docs for “Terrain Mode”, which includes a description of its usage with the “Set Terrain Types” function and the possible values
  • Documentation: Updated “Terrain Types” built-in docs to include information about how they're used with pushable objects to limit which tiles they're allowed to be pushed across
  • Documentation: Added initial version of built-in docs for “Stretch Mode” with a description of its usages, as well as a list of possible stretch mode values and explanations for each mode
  • Documentation: Updated “Effect” built-in docs to include information about their usage, as well as a note about enabling “One-Shot” effects
  • Documentation: Updated “Voxel Editor” built-in docs to include information about using the “Alt + Left Mouse Button” control in selection mode to add all voxels of the picked color to the current selection
  • Documentation: Updated “Object” built-in docs to include information for the “offset”, “offset_x”, “offset_y”, “offset_z”, “rotation”, “rotation_x”, “rotation_y”, and “rotation_z” properties
  • Documentation: Updated “Progress Bar” built-in docs to include some script examples for changing a progress bar's current value and maximum value
  • Documentation: Added “global.gravity” built-in variable to the global variables section of the “Scripting Reference” page with a description of its purpose
  • Documentation: Added “party” built-in variable to the party variables section of the “Scripting Reference” page with a description of its purpose
  • Documentation: Added “camera.type” built-in variable to the camera variables section of the “Scripting Reference” page with a description of its purpose
  • Documentation: Updated “Font” built-in docs to include OpenType (.otf) as a supported font format that can be imported into your game project
  • Documentation: Updated “Combat Editor” built-in docs to bring the “General” section up to date, as well as to include the new battle scripts (Pre-Battle Script, Post-Battle Script, etc.)
  • Documentation: Added initial version of built-in docs for the “Add Effect”, “Enable Effect” and “Disable Effect” scripting functions
  • Documentation: Added initial version of built-in docs for the “Stop Animation”, “Stop Sound”, and “Stop Music” scripting functions
  • Documentation: Added initial version of built-in docs for the “Apply Status Effect”, “Remove Status Effect”, and “Clear Status Effects” scripting functions
  • Documentation: Added initial version of built-in docs for the “Attach Effect”, “Detach Effect”, “Attach Object”, and “Detach Object” scripting functions
  • Documentation: Added initial version of built-in docs for the “Equip Item”, “Unequip Item”, and “Use Item” scripting functions
  • Documentation: Added initial version of built-in docs for the “Use Skill”, “Give Skill”, and “Remove Skill” scripting functions
  • Documentation: Added initial version of built-in docs for the “Give Quest”, “Complete Quest”, and “Fail Quest” scripting functions
  • Documentation: Added initial version of built-in docs for the “Save Data”, “Load Data”, “Delete Data”, “Load Game”, “Save Game”, and “Delete Save” scripting functions
  • Documentation: Added initial version of built-in docs for the “Log Message” and “Clear Log” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Ambient Light Intensity” and “Set Directional Light Intensity” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Entity Light Attenuation”, “Set Entity Light Diameter”, and “Set Entity Light Intensity” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Entity Scale” and “Set Entity Texture” scripting functions
  • Documentation: Added initial version of built-in docs for the “Create Platform” and “Set Terrain Types” scripting functions
  • Documentation: Added initial version of built-in docs for the “Change Camera”, “Display Image”, and “Play Video” scripting functions
  • Documentation: Added initial version of built-in docs for the “Give Loot”, “Open Container”, “Remove Item From Container”, and “Add Item To Tile” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Entity Direction”, “Set Entity Offset”, and “Set Entity Rotation” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Stat”, “Increase Stat”, and “Decrease Stat” scripting functions
  • Documentation: Added initial version of built-in docs for the “Add Zone”, “Remove Zone”, “Enable Zone”, “Disable Zone”, and “Set Zone Script” scripting functions
  • Documentation: Added initial version of built-in docs for the “Perform Action”, “Override Action”, and “Reset Action” scripting functions
  • Documentation: Added initial version of built-in docs for the “Enable Conveyor”, “Disable Conveyor”, “Set Conveyor Speed”, and “Set Conveyor Reversed” scripting functions
  • Documentation: Added initial version of built-in docs for the “Fire Projectile”, “Enable Turret”, and “Disable Turret” scripting functions
  • Documentation: Added initial version of built-in docs for the “Enable Screen Effect”, “Disable Screen Effect”, and “Set Screen Effect Property” scripting functions
  • Documentation: Added initial version of built-in docs for the “Set Gameplay Property” scripting function
  • Documentation: Added initial version of built-in docs for the “Get Noise 2D” and “Get Noise 3D” scripting functions
  • Documentation: Updated “Management Screen” built-in docs to reflect that the feature is no longer experimental and the new setting locations for adding custom widgets or disabling it
  • Documentation: Updated “Array” built-in docs to include new “erase” function for removing the first occurrence of a specific value, as well as a Bauxite code example
  • Documentation: Updated “Item Storage Slot” built-in docs to include information about holding down the Control key to pick up only one of an item that's stacked

Release Notes for v1.0.8.6

September 29, 2023


  • Added initial implementation of ranged enemy projectiles in free movement (i.e. projectiles will no longer track the player when fired in free movement)
  • Added initial support for using skills during tactical turn-based battles (via the “Use Skill” action if the active character has any available skills)
  • Added initial support for using skills during menu-driven turn-based battles (via the “Use Skill” menu if the active character has any available skills)
  • Added “Cooldown (Turn-Based)” setting to the Skills section of the Stats Editor for specifying a skill's cooldown when used during turn-based battles
  • Added “Usable in combat” setting to the Skills section of the Stats Editor for indicating whether or not a skill is able to be used during battles
  • Added “Tick On Apply” setting for “Healing/Damage Over Time” status effects to indicate if the effect should tick when first applied to a character
  • Added “Duration (Turn-Based)” and “Duration (Roguelike)” settings for the temporary stat buff and debuff skill effects in the Stats Editor
  • Added “Party” as a target option for skills in the Stats Editor (when using a script as an effect, the $target variable will contain an array of members)
  • Added “VHS/CRT Monitor Effect” feature to the Map Editor for enabling the effect on a per map basis, with settings for customizing its appearance
  • Added ability to assign placeholder images to storage, equipment, and crafting slots (i.e. an image that will be displayed whenever the slot is empty)
  • Added ability to use custom currencies for an item's cost in the Item Editor (used by widget shop slots when the player buys an item from the slot)
  • Added new “Select Attach Point” mode for the attach point tool in the Voxel Editor for selecting and deleting attach points via the 3D viewport
  • Added ability to cut, copy, and paste single objects and characters in the Map Editor via the Ctrl + X, Ctrl + C, and Ctrl + V shortcut keys
  • Added support for removing enemies and party members via script during tactical turn-based battles, either via damage or the “Remove Entity” function
  • Updated Stats Editor to prevent a custom stat from being removed if it's tied to a custom currency (an informational dialog will display indicating this)
  • Updated free movement disclaimer dialog to indicate that bugs can now be submitted and that the use of free movement should be noted in the bug report
  • Updated About dialog to include credit to Peter Höglund of Godot Shaders for the VHS/CRT monitor effect used by the Map Editor and in-game functionality
  • Fixed issue where the “Interval (Turn-Based)” setting for status effects in the Stats Editor was not being properly saved when modified
  • Fixed issue where using the “Put Player” function in first-person free movement mode could cause the orientation of the player model to become out of sync
  • Fixed issue where any skills assigned to a character were lost when their model was changed using the “Set Entity Model” scripting function
  • Fixed issue where the “Effect Details” section was incorrectly displaying when the selected skill in the Stats Editor didn't have any effects assigned to it
  • Fixed issue where custom stats added in the Stats Editor would not show in the “Associated Stat” dropdown for currencies until the project was reopened
  • Fixed issue where the mouse cursor wasn't being hidden/shown when using the “Change Camera” function to switch between camera types in free movement
  • Fixed issue where the player was unable to seamlessly transition into strafing left/right in first-person grid-based mode when holding down a strafe key
  • Fixed issue where dragging an item outside of a widget could cause the item to disappear when using free movement with the management screen disabled
  • Fixed issue where defeated enemies could still move in roguelike mode if they had a “death” animation and the “Remove Defeated Enemies” setting was disabled
  • Fixed issue where a battle could fail to start if it was the first one created in the Combat Editor without changing maps and no “combat.json” file existed yet
  • Fixed issue where the built-in player health bar would display during tactical turn-based battles even with the “Show Player Health” setting disabled
  • Fixed issue where floating health bars were not being properly removed when using “Remove Entity” to remove a character or a tile occupied by characters
  • Fixed issue where any existing floating health bars for the current map were not being hidden when transitioning to a turn-based battle
  • Fixed issue where widgets were not being updated when a skill with a stat buff/debuff effect was used (e.g. text labels displaying the stat)
  • Fixed issue where the main player character would disappear after transitioning from a free movement map to another map for a menu-driven turn-based battle
  • Fixed issue where the camera could become incorrectly offset after transitioning between free movement maps (camera is now reset when loading a free movement map)
  • Fixed issue where the dialogue window would remain visible if the “Restart Game” scripting function was called while the window was being displayed
  • Fixed issue where the dialogue window would remain visible if the “Load Map” scripting function was called while the window was being displayed
  • Fixed issue where entity tooltips would remain visible if the “Restart Game” scripting function was called while the tooltip was being shown for an entity
  • Fixed issue where entity tooltips would remain visible if the “Load Map” scripting function was called while the tooltip was being shown for an entity
  • Fixed issue where the “death” sound effect would play after finishing a tactical turn-based battle then damaging an enemy in free movement
  • Fixed issue where enemy spawns containing a character stored within a subfolder could cause the spawn to break when killing an enemy or loading a save
  • Fixed issue where the “Character Collides” trigger event for objects was incorrectly triggering in free movement mode when the player entered the object's tile
  • Fixed issue where the “When Player Collides” NPC behavior was incorrectly triggering in free movement mode when the player entered the NPC's tile
  • Fixed issue where the “Interact” control icon/text was not being hidden whenever a dialogue or message was being shown in free movement mode
  • Fixed issue where dialogue couldn't be progressed by clicking the left mouse button (only using the space bar) if the screen was currently faded out
  • Fixed issue where entities could no longer be interacted with by the mouse cursor if a clamped or one-time animation was played followed by a looping animation
  • Fixed issue where a “Remove Entity” error would sometimes display in the debug console after the player character had been defeated by a projectile
  • Fixed issue where deleting an entity in the Map Editor then undoing the action would not properly add the entity's ID back to the map's entity ID lookup
  • Fixed issue where the eyedropper tool in the Map Editor would not always select the proper model if there were multiple with the same name within subfolders
  • Fixed issue where undo/redo actions were not being created when assigning an entity ID to an entity from the Map Properties tab in the Map Editor
  • Fixed issue where the Voxel Editor would be marked as having changes when switching to an attach point with scale values differing from the previously selected one
  • Fixed issue where cancelling out of the “New Attach Point” dialog then changing to the “Attach Voxels” tool could cause the cursor to inadvertently add voxels
  • Fixed issue where conditional expressions in the Dialogue Editor would show the default expression in compact mode after saving and reopening the dialogue
  • Fixed issue where duplicating a “Display Choices” node in the Script Editor would use the “Assign Value” node for the copy instead of “Display Choices”
  • Fixed issue where compound operators (+=, -=, *=, /=) were not working properly when used to modify the value of a custom numeric item property
  • Fixed issue where built-in entity properties were not being accepted when used with a local variable and the “==” operator in a conditional expression
  • Fixed issue where names for items assigned to a container in the Map Editor would display as blank if a translations file didn't exist for the default locale

Release Notes for v1.0.8.5

September 2, 2023


  • Added ability to swap out items in equipment slots without first needing to remove any existing item that's currently assigned to the equipment slot
  • Updated icon for skill slots in the Widget Editor to use the new “spell” icon in place of the “jump” icon (which is now used for free movement/physics)
  • Fixed issue where dragging an existing skill slot in the Widget Editor to move it to a different position would cause the skill slot to disappear
  • Fixed issue where the “!contains” conditional operator was returning the incorrect result when checking that a codex didn't contain the specified key
  • Fixed issue where the “Assign Value” visual script node wasn't properly accepting some expressions as valid when entered into the “Variable or Property” field
  • Fixed issue where the “Interact” control icon/text was incorrectly remaining visible in the bottom right corner after a turn-based battle was started
  • Fixed issue where the “Attack” control icon/text was not properly showing during tactical turn-based battles if the player turned to face an adjacent enemy
  • Fixed issue where the icon for the item held with the cursor would sometimes incorrectly display a count of 0 when grabbing an item from an equipment slot
  • Fixed issue where changing the action for an existing input binding in the Game Configuration dialog was not being properly applied to the binding

Release Notes for v1.0.8.4

August 28, 2023


  • Added “Disable Action” and “Enable Action” scripting functions for disabling/enabling input actions via script (e.g. “move_up”, “jump”, “zoom_camera_in”, etc.)
  • Added “Floating Health Bars” setting to “General” section of the Stats Editor for toggling the bars shown during battles or when a character has lost health
  • Added “Damage/Healing Popups” setting to “General” section of the Stats Editor for toggling the popups shown when a character is damaged or healed
  • Added “Level/XP Popups” setting to the “General” section of the Stats Editor for toggling the popups shown when a character receives XP or levels up
  • Added ability to assign custom equipment slot configurations (created in the Stats Editor) per character from the Model Properties tab in the Voxel Editor
  • Added ability to customize or disable the default “death” sound effect in the Combat Editor (played whenever a character has been defeated)
  • Added “Strafe Left” and “Strafe Right” as bindable actions to the Game Configuration dialog (default of Q/E keys, only applicable to first-person grid-based)
  • Added “End Turn” scripting function for ending the active character's turn during turn-based battles or ending/passing a turn for the roguelike action system
  • Added “Change Player” to the “Available Functions” list in the Script Editor (uses a “Source Code” node until a visual node is implemented in a future release)
  • Updated “End Turn” input action (“T” key by default) to also work while the roguelike action system is active (will end/pass a turn for the player)
  • Updated management screen to store separate layouts per character in order to maintain widget positioning/visibility when swapping between player characters
  • Updated real-time health bars in grid movement to only display once a character is hit by a projectile, rather than displaying as soon as the projectile was fired
  • Updated dialog for changing an input binding's action with icons indicating when an action is restricted to certain modes (first/third-person, grid/free movement)
  • Updated “noclip” debugging feature so its movement controls will now work with the new input binding system (free movement uses jump/crouch for up/down)
  • Updated “Change Player” scripting function to throw an error to the debug console when used in free movement mode until it can be properly implemented
  • Fixed issue where the player would continue moving in free movement after certain events like starting dialogue, opening item containers, dying, etc.
  • Fixed issue where the player was incorrectly starting at coordinate (0, 0, 0) when loading a game in free movement (camera would also be out of sync in third-person)
  • Fixed issue where the first-person camera's vertical mouse look limits could become out of sync after loading another map while the view was off-center
  • Fixed issue where pressing the movement keys in free movement during dialogue would cause the player character's walk animation to start playing
  • Fixed issue where the visual movement squares for tactical turn-based battles were shown on tiles even if they were a prohibited terrain type for that character
  • Fixed issue where the enemy counter text was not updating at the very start of an enemy's turn during tactical battles, only after they had started moving
  • Fixed issue where real-time health bars were not displaying for characters when damaged by projectiles in free movement, only by melee weapons
  • Fixed issue where the player's XP and Level Up popups in free movement were incorrectly displaying at the map's origin instead of the player's current position
  • Fixed issue where the “Request Entity” function was not working properly when used with first-person free movement (cursor for selecting an entity wouldn't appear)
  • Fixed issue where entity tooltips (“Tooltip” setting in the Map Editor) were not displaying in free movement when hovering over the entity with the mouse cursor
  • Fixed issue where the “death” sound effect was not playing when characters were killed by a status effect in real-time or via the “Damage Entity” function
  • Fixed issue where the equipment widget would no longer function properly after using “Set Entity Model” to change the model of the player character
  • Fixed issue where the “Attack Cooldown”, “Real-Time Fire Mode”, and “Min/Max Range” settings for weapons were not being applied when used as default equipment
  • Fixed issue where using the “Change Player” function was not properly updating the management screen's equipment widget to reflect the active character's equipment
  • Fixed issue where a duplicate of the original player character would be present after using “Change Player” to switch to an NPC then restarting the game
  • Fixed issue where the inventory widget would incorrectly display when first opening the management screen even with the inventory toolbar button disabled
  • Fixed issue where equipment widgets weren't properly updating when switching between player characters in real-time via the “Change Player” function
  • Fixed issue where widgets that had been displayed via script were not being hidden when quitting to the title screen or restarting the game
  • Fixed issue where the player could still zoom the camera in and out even when the binding actions for “Wheel Up” and “Wheel Down” were set to “None”
  • Fixed issue where the equipment slot configurations in the Stats Editor were not being properly cleared out when closing a project then opening another
  • Fixed issue where placeholder expressions in widget text elements would show the literal expression instead of the evaluated result after restarting a game

Release Notes for v1.0.8.3

August 15, 2023


  • Added initial support for enemies to use ranged weapons in tactical turn-based combat (weapon will be automatically used when given and equipped)
  • Added initial support for status effects to tactical and menu-driven turn-based combat (status effects will tick at the beginning of a character's turn)
  • Added “Interval (Turn-Based)” setting to the Stats Editor for configuring how often an applicable status effect will tick when applied during turn-based battles
  • Added “Default Equipment” section for characters to the Voxel Editor's Model Properties tab (items will be automatically given and equipped on startup)
  • Updated standard camera functionality for tactical turn-based combat to now track enemy characters during their turn instead of only party members
  • Updated limit for the camera zoom's maximum value in the Game Configuration dialog to 1000 voxel units instead of the previous limit of 300
  • Updated “Attach Effect” failure message from an error to a warning when attempting to attach an effect to an entity without the specified attach point
  • Updated signature hints used by the Script Editor and debug console's auto-complete to bring it up to date (37 event functions, 18 utility functions)
  • Fixed issue where “On Hit” scripts were not being properly triggered when enemies equipped with melee weapons would attack a player character
  • Fixed issue where real-time health bars were not displayed or updated for characters that were being damaged by a “Damage Over Time” status effect
  • Fixed issue where a status effect's image and description were inadvertently cleared out in the Stats Editor when the “Effect Type” setting was changed
  • Fixed issue where the “Interval (Roguelike)” setting in the Stats Editor was not being hidden for status effects of type “Stat Buff” or “Stat Debuff”
  • Fixed issue where enemies with the “Attackable in Real-Time” setting enabled were able to attack player characters in real-time during tactical turn-based battles
  • Fixed issue where enemies that had spawned via an enemy spawn could not be attacked with the left mouse button after saving then loading a game
  • Fixed issue where current counts for enemy spawns were not being stored when saving a game, causing the spawn limit to potentially be exceeded when loading
  • Fixed issue where a player character's idle animation wouldn't trigger after having attacked an enemy with a ranged weapon then stopping on a tile
  • Fixed issue where the “Two-Dimensional” setting in the Voxel Editor was not properly preventing characters from rotating towards their movement direction
  • Fixed issue where the “Character Stops on Tile” event (global and per tile) was not being triggered when an NPC was moved via “Put Entity” (only the player)
  • Fixed issue where widget element properties (<element>.text, <element>.script, etc.) were not properly being allowed as operands in conditional expressions
  • Fixed issue where shop item slots were being inadvertently cleared out if the game was restarted instead of being reset to their original state
  • Fixed issue where an input binding could not be added back again after being removed unless it was also removed from the other keyboard layout first

Release Notes for v1.0.8.2

August 5, 2023


  • Added support to free movement for the “Request Coordinate” and “Request Entity” scripting functions (previously would only work when used in grid movement mode)
  • Added support to free movement for interacting with items that have been dropped onto the ground (via the “Interact (Adjacent)” action, “E” key by default)
  • Added “Message Log Timeout” setting to the Game Configuration's UI section (duration to wait before clearing messages logged via the “Log Message” function, 0 = never clear)
  • Added “Insert Expression” button to the Element Properties tab for easily adding placeholder expressions to text labels and text fields via the Expression Builder dialog
  • Added “Player Stat”, “Party Member Stat”, “Entity Stat”, “Player Direction”, “Entity Direction”, and “Initiator” to the Expression Builder in the Script Editor
  • Updated new input bindings system so the “Interact (Cursor)” action will work with custom controls for interacting with items that are dropped onto the ground
  • Fixed issue where the “Character is Damaged” and “Character's Health Changes” global event scripts were not being triggered during menu-driven combat
  • Fixed issue where characters were not being properly defeated when reduced to zero health from a status effect that applied damage over time
  • Fixed issue where changing the action for a built-in binding on the Input Bindings tab wouldn't save properly the first time and would need to be assigned again
  • Fixed issue where text labels and images on widgets were no longer allowing mouse input to pass through the widget when the “Mouse Input Pass-Through” setting was enabled
  • Fixed issue where widget skill slots were not being properly cleared out when assigning null or an empty string to the slot's “skill” property
  • Fixed issue where the default scale was not being applied to auto-attached objects in the Voxel Editor (only the scale of the attach point itself was applied)
  • Fixed issue where items that had been dropped onto the ground could no longer be picked up in grid movement (player would walk to the tile instead)
  • Fixed issue where the “Request Entity” scripting function was no longer allowing the selection of an entity when triggered from grid movement mode
  • Fixed issue where an invalid coordinate could potentially be selected via the “Request Coordinate” function when quickly clicking the mouse multiple times in a row
  • Fixed issue where collision was not being properly set up for tiles that were added in-game in free movement mode using the “Add Tile” scripting function
  • Fixed issue where the player could inadvertently perform actions like move, jump, and crouch while the management screen was open in free movement mode
  • Fixed issue where the player would keep moving forward when attempting to interact with an object from a distance while in first-person grid movement
  • Fixed issue where the player could still move with the left mouse button in first-person grid movement even if mouse movement was disabled in the Game Configuration
  • Fixed issue where a quick script assigned as a default script for a tile or object was not being applied in-game when using the “Add Tile” or “Add Object” function
  • Fixed issue where the “Modify Navigation” and “Replace Navigation” scripting functions would not accept an explicit numeric value for the navigation type parameter
  • Fixed issue where the Pause Menu wouldn't open if the widget assigned as the player character's custom inventory widget was currently visible
  • Fixed issue where the “map.name” built-in variable (containing the current map's name) was not properly being allowed as an operand in conditional expressions
  • Fixed issue where the right operand was inadvertently being converted to an integer when modifying a character's “speed” stat with a compound operator

Release Notes for v1.0.8.1

July 29, 2023


  • Fixed issue where a crash could occur in-game when hovering over an image element on a widget (e.g. the currency icon on the default inventory widget)
  • Fixed issue where the camera view model would be rotated in the opposite direction when changing it from a script (via camera.view_model = “new_model”)
  • Fixed issue where the widgets within the management screen could no longer be opened after quitting to title from the options menu then starting a new game
  • Fixed issue where the player character was missing and unable to move in free movement when quitting to title from the options menu then starting a new game
  • Fixed issue where the message log (used by the “Log Message” scripting function) was not being cleared out when quitting to title from the options menu

Release Notes for v1.0.8

July 28, 2023


  • Free Movement: Added initial implementation of projectiles for ranged weapons in free movement (improvements to come in subsequent releases)
  • Free Movement: Added initial crouching mechanic implementation with settings on the Game Configuration's physics tab to enable/disable it and adjust its speed multiplier
  • Free Movement: Added “idle_crouch” and “walk_crouch” to the Predefined Animation Names dialog in the Voxel Editor (triggered in free movement when the character is crouched)
  • Free Movement: Added “Gravity” setting to the Game Configuration's physics tab, along with a “global.gravity” Bauxite property to change the value via script
  • Free Movement: Added Ctrl key as a default input binding for attacking in free movement (in addition to the existing Left Mouse Button binding)
  • Added “On Hit Script” option for weapon items ($weapon will contain the weapon item's codex, $target the hit entity, $damage the damage amount, and $projectile the projectile entity)
  • Added most of the built-in game bindings to the Game Configuration's Input Bindings tab with the ability to change what each control does (tab name changed from Key Bindings)
  • Added “Available Actions” popup dialog to the Input Bindings tab, containing 35 new built-in actions (Move Up, Move Down, etc.) and a “None” option to disable the binding
  • Added “Schemes” dropdown to the Input Bindings tab of the Game Configuration dialog (for now this consists of the built-in grid/free movement schemes)
  • Added Space, Print Screen, Insert, Delete, Home, End, Page Up, Page Down, Escape, Up/Down/Left/Right Arrows, Control, Alt, and Shift as available key bindings
  • Added “X” key binding for triggering the player to exit their vehicle (will use the configured exit/options priority, defaults to front, left, right, back, then current tile)
  • Added “Exit Options/Priority” setting to the Entity Properties tab in the Map Editor for specifying possible directions when exiting from a vehicle
  • Added “Enter Vehicle” scripting function for triggering a character to enter a vehicle (optional second parameter for character, e.g. enter_vehicle(entity[“ship”]))
  • Added “Exit Vehicle” scripting function for triggering a character to exit a vehicle (two optional parameters for target tile and character, e.g. exit_vehicle())
  • Added “Use Item” scripting function for triggering an item to be used via script, with optional second parameter for the character (e.g. use_item(“ITEM_0001”))
  • Added “Quit To Title” and “Quit Game” scripting functions for returning to the Main Menu and quitting the game via script (e.g. quit_to_title(), quit_game())
  • Added “Pause Game” and “Resume Game” scripting functions for pausing and resuming the game via script (e.g. pause_game(), resume_game())
  • Added “Insert Expression” button to the Script Editor and Quick Script Builder for inserting an expression into the code via the Expression Builder dialog
  • Added “Entity”, “Player”, “Party Member”, “Attachment”, “Map Name”, and “Map Groups” to the Expression Builder in the Script Editor
  • Added “Item”, “Item Tags”, “Item Property”, “Quest”, “Quest Name”, “Quest Description”, and “Quest Tags” to the Expression Builder in the Script Editor
  • Added “Widget”, “Widget Theme”, “Widget Element”, “Global Theme”, “Global Time”, and “System Time” to the Expression Builder in the Script Editor
  • Added “Data File”, “Camera Direction”, “Camera View Model”, and “Cursor Target” to the Expression Builder in the Script Editor
  • Added “Entity Type”, “Cardinal Direction”, “Navigation Type”, “Terrain Mode”, “Tile Script Trigger”, and “Stretch Mode” to the Expression Builder in the Script Editor
  • Added functions without visual nodes to the Script Editor functions list (Change Player, Clear Log, Request Coordinate, Request Entity, Set Entity Scale, and Set Terrain Types)
  • Added “Stop Player” scripting function to the Script Editor functions list (has a visual node but was missing from the list of available functions)
  • Added in-game keyboard bindings for controlling the pitch of the camera via Shift + Up Arrow and Shift + Down Arrow (Alt + Up/Down now controls zoom)
  • Added “Allowed Item Tags” setting to the Widget Editor for item storage slots and crafting input slots (will restrict slots to items with specified tags)
  • Added “cursor.target” built-in variable to Bauxite for referencing the entity, widget, or widget element currently under the mouse cursor via script
  • Added global event script for when the cursor's target changes (the new “cursor.target” built-in variable can be referenced in the script)
  • Added ability to change/retrieve UI themes on a per widget basis via script using the new “theme” property (e.g. widget[“xyz”].theme = “Custom Theme”)
  • Added audio section to the in-game options menu for adjusting sound-related settings (with initial settings for sound volume and music volume)
  • Added submenus to the in-game options menu for controls and video/graphics settings and moved the corresponding options into each one
  • Added “Quit to Title” button to the pause menu for returning to the Main Menu (only available when the Main Menu is enabled in the Game Configuration)
  • Added “BLK NX64” by BlackedIRL to the default set of color palettes available in the Voxel Editor and Image Editor (successor of “BLK NEO” palette)
  • Added setting to the Theme Editor for changing the shadow color of dialogue text (including transparency value, which can be used to disable the shadow)
  • Updated vehicle functionality so when the player character disembarks from a vehicle they will be rotated to face the direction in which they exited
  • Updated attach point offset limits in the Voxel Editor to allow values outside of the model's grid (up to a full grid length in each direction)
  • Updated first-person view model functionality to consider the rotation values of the “camera” attach point when attaching the model to the camera
  • Updated “Show Credits” function to fall back to the default ones if custom credits don't exist, added “Made with RPG in a Box” to the default credits
  • Updated “Apply Status Effect” visual scripting node to have a step of 0.1 instead of 1 in order to allow the use of more precise values (e.g. 2.5)
  • Updated dialogue color setting in the Theme Editor to support editing of its transparency value (“Font Color” setting on the UI properties tab)
  • Updated in-game screenshot capturing to no longer display text in the corner in order to prevent it from appearing in the images when multiple are taken in a row
  • Updated tutorials page for the built-in documentation to include episodes 7 and 8 of Stumpy's “How to Make a Game” series (“Layering Wall Tiles” and “Doors”)
  • Updated Steam rich presence logic to support the Effect Editor so its name is displayed as the current rich presence status while in the editor
  • Changed default scale of attach points in the Voxel Editor from 1.05 to 1.0 (be aware that this may now cause z-fighting when using the default of 1.0)
  • Changed in-game camera controls to use Alt + Up Arrow and Alt + Down Arrow for zooming the camera in and out (Shift + Up/Down now controls pitch)
  • Free Movement: Fixed issue with the “Put Player” and “Put Entity” scripting functions not working properly when used to move the player character
  • Free Movement: Fixed issue where the mouse scroll wheel could be used to zoom the camera in free movement even when the camera was locked
  • Fixed issue with pushable objects where the player could pull an object even when up against an obstacle (causing navigation paths to break)
  • Fixed issue where vehicles would not turn when attempting to move up against an obstacle (to match the behavior of the player character when doing the same)
  • Fixed issue where the space bar keyboard binding for interacting with adjacent entities would not work when attempting to enter a vehicle
  • Fixed issue where the player was not able to enter a vehicle if standing on the same tile as the vehicle (would only work from adjacent tiles)
  • Fixed issue where adding an existing party member to a map via “Add Character” then removing it with “Remove Entity” would break the party member functionality
  • Fixed issue where using a cardinal direction for the “Move Direction” behavior setting and “Reverse Direction” for “Reaction to Obstacle” would cause NPCs to get stuck
  • Fixed issue where the custom interaction cursor would not display for a scripted object with one assigned (only for tiles and characters)
  • Fixed issue where custom interaction cursors could fail to work properly when the name assigned to the cursor contained a space
  • Fixed issue where the Game Configuration's cursors section would expand off the edge of the dialog if the project contained an image with a long filename
  • Fixed issue where the default scale was not being applied to objects that were attached to other models (only the scale of the attach point itself was applied)
  • Fixed issue where the “automatically attach” setting in the Voxel Editor was not being properly saved when toggled off for an object or effect
  • Fixed issue where progress bars would sometimes not display the correct value when loading a game via the “Continue” button on the Main Menu
  • Fixed issue where tactical turn-based battles could become stuck when an enemy without a death animation was defeated and the damage shake/flash effect was enabled
  • Fixed issue where music would not play when starting a menu-driven battle using a map with background music assigned in the Map Properties
  • Fixed issue where the game would become stuck if the player character was defeated by an enemy using a ranged weapon in real-time
  • Fixed issue where the “Open in Voxel Editor” buttons in the Item Editor would not work when attempting to open an object model assigned to a weapon
  • Fixed issue where item icon popups were incorrectly showing for characters other than the main player character (e.g. giving an item to an enemy)
  • Fixed issue where NPCs were not properly walking around on Main Menu background maps when the “NPC Movement in Map” setting was enabled
  • Fixed issue where the game would incorrectly return to the Main Menu after credits were displayed even when disabled (quit/restart prompt will show instead)
  • Fixed issue where the “Play Sound” scripting function would fail to work when called after other functions and also storing the sound ID into a variable
  • Fixed issue where the tool item icon in the upper right corner was not being hidden when displaying credits via the “Show Credits” function
  • Fixed issue where a widget's “On Close” script was not being triggered if the widget was closed using a button with the “Close Widget” action
  • Fixed issue where the “count” property was not correctly updating the available amount for a shop item slot (e.g. widget[“shop”].element[“0001”].count = 10)
  • Fixed issue where using the built-in “item” property to change a shop slot's item via script (or clear it by setting it to null) was not working properly
  • Fixed issue where a value of zero (infinite) couldn't be used in the duration field of the “Apply Status Effect” visual scripting node
  • Fixed issue where the Entity Expression Builder would not open when clicking the wizard button on the “Add Waypoint” visual scripting node
  • Fixed issue where the eyedropper tooltip in the Map Editor (shown when holding Alt) would become stuck if moving the mouse outside of the viewport while holding Alt
  • Fixed issue where Ctrl + Left Arrow and Ctrl + Right Arrow were not properly rotating the camera in the Map Editor while using the default camera mode
  • Fixed issue where Shift + Arrow Keys couldn't be used together to zoom and rotate the camera simultaneously (could also cause the player to start moving)

Release Notes for v1.0.7.3

May 7, 2023


  • Free Movement: Added initial support for hitscan ranged weapons to free movement (instant/direct damage weapons, with projectile weapons coming later)
  • Free Movement: Added “sprint” as a predefined animation name that will automatically play whenever the player character is sprinting
  • Free Movement: Added “Fire Mode” option to the Combat Editor to set the default method by which the player's attacks can be triggered (single vs. automatic)
  • Free Movement: Added “Fire Mode” option to the Item Editor to set the method by which a weapon item can be triggered when used (single vs. automatic)
  • Free Movement: Added “Collision Override” option for characters in the Voxel Editor to allow use of the new collision shape functionality
  • Free Movement: Added “Collision Debugging” setting to the “Quick Play” section of the Editor Settings dialog for displaying collision shapes in-game
  • Free Movement: Added support for “player.direction” to allow setting of the player character's direction via script (e.g. player.direction = NORTH)
  • Free Movement: Added button to the Voxel Editor toolbar for toggling the display of collision shapes when the model is using a custom collision override
  • Free Movement: Updated camera smoothing in third-person free movement to be snappier when tracking the player character's movements
  • Free Movement: Fixed issue where the player character would walk in place if holding multiple movement keys at once that should cancel each other out
  • Free Movement: Fixed issue where the attack animation override for a weapon wasn't being applied unless the player was directly attacking an enemy
  • Free Movement: Fixed issue where collision wasn't being properly created for characters added via enemy spawns or the “Add Character” scripting function
  • Free Movement: Fixed issue where characters configured as passable were colliding with the player character instead of letting them pass through
  • Free Movement: Fixed issue where the mouse cursor was not being hidden after opening and then closing the pause menu while in first-person mode
  • Free Movement: Fixed issue with the “jump” debug console command no longer working and changed the expected velocity value to be in voxels/second to match the editor
  • Added “Attack Cooldown” setting to the Voxel Editor for customizing the cooldown per character (“Default” uses the global cooldown configured in the Combat Editor)
  • Added “Attack Cooldown” setting to the Item Editor for customizing the cooldown of a specific weapon item (can use global default, character default, or custom value)
  • Added “Object Model (View Model)” setting to the Item Editor for specifying the object to attach to the view model (if present) when the item is equipped
  • Added “Spawn Script” setting for enemy spawns in the Combat Editor that's triggered whenever an enemy is generated (“self” will contain a reference to the character)
  • Added “On Open Script” setting for item containers that will run before the container UI is displayed to the player (available on the Entity Properties tab)
  • Added “When Player Collides” behavior setting for NPCs that's triggered when the player collides with the NPC (with initial option to run a script)
  • Added ability to customize the font and font size for widget titlebars (available on the Widget Properties tab below the “Titlebar Text” setting)
  • Updated model animation functionality to automatically play the same animation for any objects attached to that model when one is triggered
  • Fixed issue where equipment objects were not being attached to the first-person view model when equipped via the “Equip Item” scripting function
  • Fixed issue where attached objects would sometimes display in the wrong position when an animation was played for the attachment or certain offsets were used
  • Fixed issue where the default scale for billboard sprite characters was not being applied when spawned via enemy spawns or the “Add Character” scripting function
  • Fixed issue where the default scale for billboard sprite objects was not being applied when added via the “Add Object” scripting function
  • Fixed issue where the built-in player health bar was not displaying the correct value after loading a saved game where their health had changed
  • Fixed issue where enemy health bars would sometimes reappear at incorrect locations after damaging the enemies then dying and restarting the game
  • Fixed issue where enemy health bars would not display when returning to a map with previously damaged enemies until one was damaged again
  • Fixed issue where hitboxes for billboard sprites were not being adjusted to the correct size when using a scale other than the default
  • Fixed issue where the details for a loot drop item would sometimes not display after deleting an item from the loot drop in the Combat Editor
  • Fixed issue where the currency amount wouldn't display on the default inventory widget when using a custom name for the base currency
  • Fixed issue where the base currency would be missing from the list after clearing out a previously assigned custom name for the base currency
  • Fixed issue where some settings were being inadvertently changed when switching between behavior presets in the Game Configuration dialog
  • Fixed issue where the “Collision Shapes” section would sometimes not display when using the “Custom” collision override option for objects in the Voxel Editor
  • Fixed issue where the settings area for collision shapes would incorrectly stay visible after changing the collision override option from “Custom” to another option
  • Fixed issue where the collision shape color box was not updating for the currently opened object after changing the default collision color (if using default)
  • Fixed issue where modifying editor settings when a model was open that used custom collision without any shapes defined could cause an error in the console window
  • Fixed issue where mouse input from certain widget elements could potentially interfere with other UI elements (e.g. inadvertently progressing dialogue)
  • Fixed issue where the player was unable to move up and down (i.e. only left or right) when the management screen was disabled and their inventory was open
  • Fixed issue where the player was inadvertently able to move left and right and interact with objects/characters via spacebar while the management screen was open
  • Fixed issue where signal errors would sometimes display in the console window if an enemy was damaged multiple times in a row in quick succession
  • Fixed issue where the “Wait” scripting function was inadvertently displaying twice in the list of available functions in the Script Editor
  • Fixed issue with missing localization text for the skill slot description that's displayed when selecting the skill slot element on the Widget Tools tab
  • Documentation: Added initial version of built-in docs for the “Add Waypoint” scripting function and fixed issue with its link incorrectly opening “Add To Group”
  • Documentation: Updated “Give Item” and “Remove Item” built-in docs to include info about the optional parameter for specifying the target character
  • Documentation: Updated “NPC Behavior” built-in docs to include the new “collide_with_player” setting that's triggered when the player collides with an NPC
  • Documentation: Fixed issue with missing localization text for the “Pushing” topic that's displayed in the main index list of the documentation viewer

Release Notes for v1.0.7.2

April 21, 2023


  • Free Movement: Added initial implementation of free melee attacking for the player character (left mouse button to attack at any time)
  • Free Movement: Added ability to create custom collision shapes in the Voxel Editor for tiles and objects (using cubes and prisms, more to come)
  • Free Movement: Added “Collision Override” option for objects in the Voxel Editor to allow use of the new collision shape functionality
  • Free Movement: Added “Physics” tab to the gameplay section of the Game Configuration dialog for adjusting physics-related settings
  • Free Movement: Added “Jumping” and “Vertical Velocity” settings to the “Physics” tab for toggling jumping and adjusting the vertical velocity for jumping
  • Free Movement: Added “Sprinting” and “Speed Multiplier” settings to the “Physics” tab for toggling sprinting and adjusting the speed multiplier for sprinting
  • Free Movement: Updated collision functionality so that NPCs can now trigger scripts assigned to an object's “Character Collides” event when touching the object
  • Free Movement: Updated collision shapes for characters to be per animation frame and to be box-shaped for better collision detection
  • Free Movement: Updated player movement functionality to trigger “Character Enters Tile” and “Character Exits Tile” scripts
  • Free Movement: Updated player movement functionality so that hostile NPCs will now attempt to attack the player from adjacent tiles
  • Free Movement: Updated player movement functionality to properly support the auto-hiding feature (i.e. hiding groups with the “-hide” suffix)
  • Free Movement: Updated debug console so “self” will reference the entity within interaction range that the player is looking at while in first-person mode
  • Free Movement: Fixed issue where “Character Interacts” scripts could not be triggered when assigned to objects configured as passable
  • Free Movement: Fixed issue where damage/healing numbers were displaying at the center of the map instead of over top of the player character
  • Free Movement: Fixed issue where the “player.direction” variable was not returning the proper cardinal direction when referenced in a script
  • Free Movement: Fixed issue where maps could fail to load when they contained any passable objects configured as billboard sprites
  • Free Movement: Fixed issue where “self” was not returning the player entity when used in the debug console with the cursor over the player character
  • Free Movement: Fixed issue where the collision box for a player character with a smaller/larger default scale was not being created at the correct size
  • Free Movement: Fixed issue where a player character with an empty model or consisting of only attachments would cause the game to not start
  • Added “Field of View” camera setting to the gameplay section of the Game Configuration dialog for adjusting the camera's field of view in degrees
  • Added ability to customize the default player attack cooldown and the default NPC attack cooldown from the Combat Editor's general section
  • Added ability to configure a custom “miss” sound effect in the Combat Editor (played whenever a character misses their attack)
  • Added “Line Mode” setting for text fields to indicate whether it should behave as a single-line field (e.g. for player name entry) or a multi-line field
  • Updated “Character Collides” event for object scripts so that NPCs can now trigger them upon entering the tile with that object (grid-based movement)
  • Updated first-person mode to hide any objects attached to the player character if a view model is defined in the Game Configuration
  • Updated first-person view model functionality to auto-attach an equipped item's object model to the view model if a matching attach point exists
  • Removed old “Free Movement” setting from the experimental section of the Game Configuration dialog as it's now been replaced by the new system
  • Fixed issue where items could not be crafted in-game unless the recipe's ingredients/materials were in numerical order by item ID
  • Fixed issue where the “Move Player” scripting function would no longer work properly and would instead display an error in the debug console
  • Fixed issue where using the “Set Dialogue” function to change a spawned NPC's dialogue could affect other NPCs when both were using “Standard” behavior
  • Fixed issue where modifying the “Triggerable by NPCs” script setting would affect other entities of the same type that had a default script when added to the map
  • Fixed issue where character stats and skills were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where widget text elements were incorrectly showing the placeholder expression after loading a saved game (needs a new save to work)
  • Fixed issue where text fields that had been edited by the player were not being properly restored when loading a saved game (needs a new save to work)
  • Fixed issue where certain widget elements could not be clicked on with the mouse after loading a saved game where the widget was visible when saved
  • Fixed issue where mouse input was being interfered with in the editor when a widget in the active project contained a text field with scrollbars
  • Fixed issue with the stairs in the house of the Default Example Game project template being positioned one voxel too high above the floor
  • Documentation: Updated “Import Resources” built-in docs to include info about dragging and dropping files onto the application window

Release Notes for v1.0.7.1

April 6, 2023


  • Added ability to modify the “hostility” setting of an NPC via script (e.g. self.behavior[“hostility”] = “always”, see docs for all values)
  • Added ability to set an NPC's behavior to null to clear out their behavior via script (as an alternative to assigning an empty string)
  • Added ability to call global functions from the in-game debug console (i.e. those defined in the Game Configuration dialog)
  • Added ability to retrieve or modify a specific position of a string by numeric index (e.g. $x = “Text”; $x[2] = “s”; print($x); will print “Test”)
  • Updated “Move Character” scripting function to add an optional third parameter (boolean) to indicate if it should pause until the movement is complete
  • Updated “Behaviors” section in the Game Configuration dialog to no longer redundantly store the name of the behavior preset within its settings
  • Removed “Experimental” from the Global Illumination setting label located on the Map Properties panel in the Map Editor
  • Fixed issue where colors were being applied to the default texture instead of the current one when painting in the Voxel Editor with “Voxel” or “Face” mode
  • Fixed issue where quick slots with items assigned were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where scripts assigned to entities via “Set Entity Script” were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where widgets that were visible when a game was saved were not being displayed after loading (needs a new save to work)
  • Fixed issue where the visibility of elements in a widget was not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where entities added to groups or removed from groups were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where entities could be added to the same group multiple times when using the “Add To Group” scripting function
  • Fixed issue where real-time enemies were not attacking the player if given a new behavior with “Attackable in Real-Time” enabled
  • Fixed issue where the “Experience Points” value wasn't being saved when editing behaviors from the Game Configuration dialog
  • Fixed issue where using the “Move Character” scripting function would cause a script to get stuck and not execute the rest of the script
  • Fixed issue where the default scale was not being applied to placed characters or objects in the Map Editor when configured as billboard sprites
  • Fixed issue where player choices would not be visible in dialogues if the “Typing Effect” game configuration setting was disabled
  • Fixed issue where the text of a widget's text field or text label was no longer being updated when modified via script
  • Fixed issue where interactions via space bar were not working for item containers without a script or objects with a character on the same tile
  • Fixed issue where the interaction controls would incorrectly display when the player was adjacent to an object with a collision script
  • Documentation: Updated “NPC Behavior” built-in docs to include info about the “hostility” setting and its possible values
  • Documentation: Updated “Move Character” and “Scripting Reference” built-in docs to include info about the optional “pause” parameter

Release Notes for v1.0.7

April 1, 2023


  • Added base implementation (v0.1) of the new free movement system, enabled per map from Map Properties (most gameplay will not work yet, use at your own risk!)
  • Added “Character Collides” trigger event for object scripts to the Entity Properties tab in the Map Editor (for both grid-based and free movement)
  • Added “Pitch Control” camera setting to the Game Configuration dialog for allowing the player to control the pitch, with min/max settings
  • Added “Focal Offset” camera setting to the Game Configuration dialog for vertically offsetting the camera's focal point in third-person views
  • Added “Locked Axes” camera settings to the Game Configuration dialog for locking the X, Y, and/or Z-axis (e.g. lock the Y-axis for a sidescroller effect)
  • Added “Top-Down Camera” as an option for the Map Editor's default camera (available from the Editor Settings dialog)
  • Added “jump” as an option to the list of predefined animation names when defining a character animation in the Voxel Editor
  • Added debug console command for adjusting the player's jump height in free movement maps (e.g. “jump X”, where X is from 0 to 10)
  • Added “Spotlight” as a light source option to the Voxel Editor, with initial settings for range (in voxels) and angle of the spotlight
  • Added “Hostility” behavior setting for NPCs to determine how they behave when attackable (always hostile, hostile if attacked, or never hostile)
  • Added ability to apply noise to existing voxels in the Voxel Editor (all or selection), with option to save presets and set the seed value
  • Added ability to select all voxels of a specific color in the Voxel Editor via Alt + Left Click while the selection tool is active
  • Added ability to use the “Capture Image to File” feature while in “Mesh Preview” mode in the Voxel Editor (useful with Marching Cubes, etc.)
  • Added ability to set a custom position for a character's HP bar by defining an attach point named “hp_bar” in the first frame (or others to override)
  • Added ability to retrieve the tool items currently held in a character's inventory (e.g. “player.tools”, returned as an array of codices)
  • Added ability to get and set a character's active tool (e.g. player.active_tool = “ITEM_0001”, when retrieving the active tool the item codex will be returned)
  • Added ability to retrieve and modify the current view model for the camera using “camera.view_model” (e.g. camera.view_model = “cam_mech”)
  • Added ability to retrieve the current camera type via script using “camera.type” (value will be either STANDARD, ISOMETRIC, or FIRST_PERSON)
  • Added ability to retrieve the configured gameplay settings as a codex via the “global.gameplay” syntax (values are read-only for now)
  • Added gameplay setting to the Game Configuration dialog to allow loading/continuing from the game menus when saving is disabled (e.g. for checkpoint systems)
  • Added “Typing Effect” setting to the Game Configuration dialog for disabling the dialogue typing effect (i.e. any spoken text will instantly display)
  • Added “Codex” as an option to the expression builder in the Script Editor, with a wizard for adding key/value pairs to the codex
  • Added icons for each option in the expression builder in the Script Editor to provide more visual distinction between each expression type
  • Added description box to the bottom area of the expression builder in the Script Editor for displaying helpful information about the selected type
  • Added support for directional animations when the attack animation override setting is used for a weapon item (e.g. “sword_swing_east”)
  • Added “Stop Sound” scripting function for stopping a sound using its ID returned from the “Play Sound” function, with optional fade out (e.g. stop_sound(0, 2))
  • Added “Stop Music” scripting function for stopping any music that's currently playing, with optional fade out (e.g. stop_music(2))
  • Added “Clear Log” scripting function for clearing all text from the message log (i.e. any text displayed via the “Log Message” function)
  • Added ability to retrieve and modify an object's XYZ offset via script (e.g. self.offset = array[1, 2, 5], self.offset_x = 3, etc.)
  • Added ability to retrieve and modify an object's XYZ rotation via script (e.g. self.rotation = array[10, 0, 45], self.rotation_z = 25, etc.)
  • Added ability to manually set the current value and maximum value of a progress bar via script using “value” and “max_value” syntax (e.g. $my_element.value = 10)
  • Added ability to retrieve or change an object's display name via script using the built-in “name” property (e.g. entity[“book01”].name = “New Name”)
  • Added four new effect presets to the Effect Editor: fountain, portal, rain, and snow (available when creating a new effect)
  • Added “Preprocessing Time” setting to the Effect Editor, which processes the particles in advance by the specified number of seconds
  • Added “Explosiveness” setting to the Effect Editor, which determines how many of the particles emit at once (at max, all emit simultaneously)
  • Added “Fixed FPS” setting to the Effect Editor, which can be used to limit the framerate of the effect's particles
  • Added “Randomness” setting to the Effect Editor for applying randomness to the scale of the generated particles
  • Added “Local Space” setting to the Effect Editor, which when enabled will lock particle movement to the parent object's local space
  • Added ability to press the ESC key to cancel out of the capture when capturing an image or character portrait in the Voxel Editor
  • Added options to the “Import Resources” dialog for selecting all, selecting none, and changing the model type for all selected models
  • Added several assets from Stumpy the Squirrel's “How to Make a Game” tutorial series to the built-in Asset Library
  • Updated in-game widget system to significantly improve performance when using placeholder expressions in text labels and text fields
  • Updated “Play Sound” scripting function to include support for looping the sound and setting a play interval (e.g. play_sound(“sound.wav”, true, 1))
  • Updated “Play Sound” scripting function to return a unique sound ID for later referencing the sound (e.g. to stop via “Stop Sound”)
  • Updated “Play Music” scripting function to include two new optional parameters, fade in (in seconds) and loop mode (true = loop, false = play once)
  • Updated “Missing Dependencies” dialog in the Map Editor to auto-select resources whenever there's a single match on the name (e.g. in a subfolder)
  • Updated Voxel Editor to only generate meshes for frames that have applicable changes instead of every frame when saving a model
  • Updated attach points dropdown in the Voxel Editor so it will attempt to keep the same one selected when switching between animation frames
  • Updated Effect Editor to properly support transparent colors for effects using cubes, spheres, or billboards without an image assigned
  • Updated limit for the camera zoom's minimum value in the Game Configuration dialog to 10 instead of the previous limit of 30
  • Updated “Offset” camera setting in the Game Configuration dialog so it's available for the perspective camera type even when rotation is disabled
  • Updated Map Editor to support copying and pasting of entity properties between two different maps instead of only within the same map
  • Updated light attenuation setting in the Voxel Editor to have a minimum value of 0.01 to prevent potential lighting issues in maps
  • Updated game cursor to automatically refresh whenever the “Set Entity Script” function is called (in case the cursor is hovering over that entity)
  • Updated Game Explorer to allow the creation of a new effect from the context menu when right-clicking the “Effects” folder
  • Updated Script Editor to display a confirmation dialog when attempting to close the script when there are pending changes to the Bauxite source code
  • Updated About dialog to include credit for the default game UI font (PixelMplus) on the “Resources” tab with a link to the creator's website
  • Updated expression builder in the Script Editor to automatically select the corresponding expression type and values when an expression is manually entered
  • Changed name of the variable expression builder in the Script Editor to “Expression Builder” to better represent what the dialog is used for
  • Changed name of the “Variable” option in the variable expression builder to “Local Variable” to help clarify its scope and usage
  • Removed “None” from the “Navigation Type” dropdown of the “Replace Navigation” visual scripting node since it's not applicable for that parameter
  • Fixed issue where “party.member[“player”]” syntax would return null instead of the main player character after saving and loading a game
  • Fixed issue where the player's quests would be missing after saving and loading a game (i.e. “player.quests” would return an empty array)
  • Fixed issue where the player was no longer able to right-click consumable items to use them after saving and loading a game
  • Fixed issue where objects and characters added and then removed prior to saving a game would still be present after loading (at center of map)
  • Fixed issue where “nonexistent signal: storage_slot_item_changed” error message would sometimes display when loading a saved game
  • Fixed issue with positioning of objects in the Map Editor when rotating one with an offset assigned or using Alt + Click to pick it in place mode
  • Fixed issue where null was being returned instead of the skill ID when attempting to access a skill slot via script
  • Fixed issue where mouse interaction on an entity would stop working after using the “frame” property to change its current frame
  • Fixed issue where using the group scripting syntax on the left side of a contains expression would not evaluate as true even if the entity was in the group
  • Fixed issue where the “substr” scripting function would not work properly if the third length parameter was omitted
  • Fixed issue where custom functions were not yielding when called unless storing a return value into a variable via assignment
  • Fixed issue where appending a value to an array using a binary “+” operation would incorrectly result in the original array's data being modified
  • Fixed issue where global properties were being reset to null after a game was restarted (e.g. via player defeat or the “Restart Game” function)
  • Fixed issue where calling the “Give Item” function from a widget button's script would fail if item icon popups were enabled
  • Fixed issue where a character's level, MP, Max MP, and custom stats were not being carried over when using “Set Entity Model” to change their appearance
  • Fixed issue where the “Character is Damaged” global event script wasn't being triggered when the player dealt melee damage to an enemy in real-time
  • Fixed issue where “initiator” always referred to the player character instead of the attacking character when an enemy used a ranged weapon in real-time
  • Fixed issue where calling “Give Item” or “Remove Item” function with the character specified and storing the return value was not being accepted as valid
  • Fixed issue where attempting to call “Reset Entity Rotation” without having first called “Rotate Entity Towards” wasn't being properly caught and logged
  • Fixed issue where the “Put Player” scripting function was not triggering a visibility update for any groups auto-hidden via the “-hide” suffix
  • Fixed issue where the “Configure Attached Objects/Effects” dialog was not remembering any attached objects residing in subfolders when returning to the dialog
  • Fixed issue where any effects that resided in subfolders were not being listed properly in dropdown boxes (e.g. “Attach Effect” visual script node, etc.)
  • Fixed issue where the “Permanent” setting for Fog of War would not display until the Game Configuration dialog was closed and opened again
  • Fixed issue where changing the Y and Z scale values for attach points in the Voxel Editor would sometimes fail to update the attached object's scale
  • Fixed issue where the Y and Z scale values for attach points would be switched when using the “Copy Settings” and “Paste Settings” buttons
  • Fixed issue where an undo action would trigger in the Voxel Editor when attempting to press the “Accept” button during an image/portrait capture
  • Fixed issue where the “F4” and “4” Voxel Editor shortcut keys were not switching to the fill tool while in texturing mode
  • Fixed issue on the Model Properties panel where enabling the “Light Source” setting would not properly scroll the light settings panel fully into view
  • Fixed issue where the Effect Editor was sometimes being incorrectly marked as having changes when first opening an effect
  • Fixed issue where a text label's alignment in the Widget Editor would reset to “Left” after changing the font size of the text
  • Fixed issue where widget buttons could be inadvertently activated via space bar after being pressed once (as a result of capturing keyboard focus)
  • Fixed issue where widgets would potentially not have updated values immediately after loading a map (e.g. a character's coordinate)
  • Fixed issue where enemy spawn timers would be started again every time the player returned to a map with spawns (resulting in the enemy limit being exceeded)
  • Fixed issue where a map could fail to load if an enemy spawn assigned to a group in that map had been removed from the Combat Editor
  • Fixed issue with the shake effect applied to characters not bumping the damaged character in the correct direction when hit
  • Fixed issue where setting an attack animation override for a weapon in the Item Editor would cause tactical turn-based battles to become stuck
  • Fixed issue where the built-in player HP bar would stop working properly when using the “Player Override” map setting to change the character model
  • Fixed issue where the player character model was not reverting back to the default player character when travelling to a map with no override assigned
  • Fixed issue where dragging a nested player node onto its parent player choice node could result in a dialogue with broken connections
  • Fixed several issues in the Dialogue Editor related to modifying and saving values for the “Go To” node while in compact mode
  • Fixed issue where dialogues added as favorites were not being displayed on the “Favorites” tab (only highlighted in the Game Explorer)
  • Fixed issue where the “Projectile Object Model” field in the Item Editor wouldn't initially display after switching a weapon's type to “Ranged”
  • Fixed issue with the attack animation of the “goblin” character from the built-in Asset Library not being configured properly
  • Fixed issue with the “sk_bush_02” object model failing to open in the Voxel Editor after being imported from the Asset Library
  • Fixed issue where the incorrect editor would sometimes be displayed when clicking on the main editor tabs along the top of the application
  • Fixed incorrect date for the v1.0.6.5 release in the “What's New in RPG in a Box!” dialog (year shown was 2022 instead of 2023)
  • Documentation: Added initial version of “2D Games” tutorial that walks through setting up a 2D project similar to the Kenney Tiny Dungeon template
  • Documentation: Added initial version of built-in docs for “Free Movement” with details about current functionality, issues, and planned features
  • Documentation: Updated “Vehicles” built-in docs to remove the known issue listed at the bottom now that the issue has been fixed
  • Documentation: Updated “Tile” built-in docs to include properties that return connected tiles (e.g. $my_tile.north_tile is tile to the north)
  • Documentation: Updated “Character” built-in docs to include info about the “skills” and “quests” properties for getting a character's skills and quests
  • Documentation: Updated “Map Properties” built-in docs to include info about the “Player Override” setting only changing the visual appearance
  • Documentation: Updated “Entity Properties” built-in docs to include info about $object variable that's available to the pushing-related tile scripts
  • Documentation: Updated “Data Files” built-in docs to include .json file extensions in Bauxite examples since an extension is now required
  • Documentation: Updated “Scripting Reference” built-in docs to include info about referencing main player character via “party.member[“player”]”
  • Documentation: Updated “Scripting Reference” built-in docs to include “Stop Music” function and updated signatures for “Play Music” and “Play Sound”
  • Documentation: Updated “Scripting Reference” built-in docs to include info about retrieving gameplay settings as a codex via “global.gameplay”
  • Documentation: Updated “Script Syntax” built-in docs to include info about the “Duplicate” function along with some Bauxite code examples
  • Documentation: Updated “Stop Player” built-in docs to include a more clear description of how the function affects the player's movement
  • Documentation: Updated “Groups” built-in docs to include a note that auto-hiding does not trigger if the Fog of War setting is enabled
  • Documentation: Updated “Import Resources” and “Sound” built-in docs to include info about video file support (WEBM and OGV) and OGG support for sound effects
  • Documentation: Updated “Widget Editor” built-in docs to indicate that custom widgets are now added to the management screen from the UI Editor's “Screens” tab

Release Notes for v1.0.6.5

January 5th, 2023


  • Added ability to offset objects within their tile by adjusting XYZ values from the Entity Properties panel in the Map Editor
  • Added ability to add multiple objects per tile in the Map Editor (Z offset will be automatically set when hovering over an existing object, e.g. a table)
  • Added ability to rotate objects around the X and Y axes (in addition to the Z axis) from the Entity Properties panel in the Map Editor
  • Added “View Model” camera setting to gameplay configuration for assigning a model to attach to the camera while in first-person (model needs attach point with ID of “camera”)
  • Added special global property “view_model” as a temporary way of referencing the view model attached to the camera (e.g. play_animation(global.property[“view_model”], “anim_name”))
  • Added “Background Image” option to NPC, Player, and Message nodes for displaying a background image during dialogue (located on node toolbar next to style override)
  • Added “speak” predefined animation for characters that will automatically play whenever they're the active speaker during dialogue
  • Added “Behaviors” section to the Game Configuration dialog for managing NPC behavior presets without needing to use the Map Editor
  • Added “Display Name” setting to the Voxel Editor and Map Editor for assigning an object's display name (used when interacting with multiple scripted objects via keyboard)
  • Added “Custom Properties” section to the Item Editor for defining custom item properties (string, number, or boolean types)
  • Added “Loading Image Override” setting to the Map Properties panel for overriding the default loading screen image per map
  • Added popup dialog when enabling free movement from the Game Configuration dialog with information about the feature being in an alpha state
  • Updated attach point tool in the Voxel Editor to allow attach points to be created by clicking directly on the grid without the need for an existing voxel
  • Updated “Duplicate Frame” functionality in the Voxel Editor to copy any existing textures to the newly created frame
  • Updated alpha slider in the Voxel Editor to allow values between 0 and 0.9 and changed the increment value from 0.05 to 0.01 for allow for finer tuning of transparency
  • Updated alpha slider in the Voxel Editor to include icons on each end of the slider to make it more apparent which end is which (min vs. max alpha)
  • Updated movement speed setting for tile platforms to allow speeds in increments of 0.1 instead of requiring an integer value
  • Updated “On Equip” and “On Unequip” item script functionality to store the equipment slot ID in a local variable named $slot for use in the script
  • Updated “Add Effect” scripting function to properly validate the effect name parameter to ensure the value is a string
  • Updated “Detach Object” failure message from an error to a warning when attempting to detach an object from an attach point with nothing attached
  • Updated dialogue functionality to not use typing effect when called from the “Display Choices” function without a speaker entity specified
  • Updated stretch mode for background image in the Main Menu Editor to default to “Keep Aspect Covered” for best compatibility
  • Fixed issue that would sometimes cause a crash if the player saved the game after having dealt damage to an enemy or having received damage
  • Fixed issue where directional attack animations for characters (“attack_north”, etc.) were not being properly triggered in certain scenarios
  • Fixed issue where disabling mouse movement controls in the gameplay configuration would prevent tool item scripts from working on tiles
  • Fixed issue where the player's mouse sensitivity setting was losing the correct sensitivity value after restarting the game
  • Fixed issue with “When Player Interacts” and “When Next to Player” resource dropdowns not being hidden when an NPC was set to be attackable from their behavior settings
  • Fixed issue with the obstacle reaction script dropdown on the NPC behavior settings panel not being populated with values until clicked on
  • Fixed issue with the obstacle reaction script dropdown not being hidden on the NPC behavior settings panel when switching to a move direction of “None” or “Random”
  • Fixed issue where undo/redo actions were not being created when an entity's scale was changed from the Entity Properties panel
  • Fixed issue that could occur in-game or in the Map Editor when editing or referencing a tile that previously had a character on it but the character had been removed
  • Fixed issue in the Map Editor where a tile sometimes couldn't be deleted from the map (“remove_entity_id_lookup” error was displayed in console)
  • Fixed issue where the Y and Z values of an entity's scale were switched on the Entity Properties panel when selecting an object or character in the Map Editor
  • Fixed issue where models with transparency could be seen through the marker icons that are shown above entities in the Map Editor
  • Fixed issue with “Add Object” scripting function where attempting to use an invalid tile coordinate was not being properly handled and displayed in the console
  • Fixed issue with “Hide Group” and “Show Group” scripting functions not working properly when used to hide/show effects
  • Fixed issue with “Display Image” scripting function not working properly unless both the duration and background color were explicitly specified
  • Fixed issue where the “Character enters tile” event wasn't being triggered after the player character was moved with “Put Player” then walked to another tile
  • Fixed issue where the “Character stops on tile” event wasn't being triggered after the player character was moved with “Put Player”
  • Fixed issue in Combat Editor where the battle map dropdown was not being updated when switching to a menu-driven turn-based battle
  • Fixed issue that could occur when attempting to attack with an unlimited use ranged weapon that didn't have an object model defined
  • Fixed issue where characters configured as “Two-Dimensional” were being rotated when firing a ranged weapon instead of only triggering their directional attack animation
  • Fixed issue in Dialogue Editor where a player node could be dragged back on itself, which would then result in a broken dialogue
  • Fixed issue in Dialogue Editor where player nodes would be dragged when attempting to drag and select the dialogue text while in compact mode
  • Fixed issue in Main Menu Editor where the background image's appearance was not being updated properly when switching images until the editor was resized
  • Fixed issue with the stretch mode for main menu background images and loading screen images not working properly when the image was larger than the screen size
  • Fixed issue where changing properties in the Effect Editor would affect another effect after using “Save As” to copy an effect then opening the original effect
  • Fixed issue with Y and Z scale values on the Model Properties panel being reversed for attach points in the Voxel Editor
  • Fixed issue with UI theme not being properly applied to equipment slots, shop item slots, and crafting input slots
  • Fixed issue where the editor was not properly checking for changes to the Quest Editor or clearing out the quest list when closing the project
  • Documentation: Added initial version of built-in docs for “Pushing”, which includes a basic walkthrough of how to set up a pushable object
  • Documentation: Added initial version of built-in docs for “Skill Slot”, which includes basic info about the skill slot element and a scripting example
  • Documentation: Updated “Scripting Reference” built-in docs to include list of global, map, camera, party, and system variables
  • Documentation: Updated “Entity Properties” built-in docs to include descriptions for each tile trigger event (including new events for pushable objects)
  • Documentation: Updated “Tile”, “Object”, and “Character” built-in docs to include info about the “textures” property, which returns an array of textures for the entity
  • Documentation: Updated “Tile”, “Object”, and “Character” built-in docs to include info about “attachment[“x”]” and “effect[“x”]” properties for referencing attachments and effects
  • Documentation: Updated “Character” built-in docs to include info about the “behavior” property for retrieving and modifying a character's behavior
  • Documentation: Updated “Map Editor” built-in docs to include info about using Shift and Shift + Alt to add/remove entities from the current selection
  • Documentation: Updated “Global Event Scripts” built-in docs to include info about several global event scripts that were missing
  • Documentation: Updated “Conditional Expression” built-in docs to include info about the “!contains” syntax (i.e. “doesn't contain”)
  • Documentation: Updated “Debug Console” built-in docs to include info about using “self” keyword to reference the entity at the mouse cursor's location
  • Documentation: Updated “Codex” built-in docs to include a code example of inserting a new key/value pair into a codex
  • Documentation: Updated “Array” built-in docs to include info about the “remove” function and a code example of using it with an array
  • Documentation: Updated “Give Item”, “Remove Item”, and “Add Item To Container” built-in docs to include info about return values (i.e. number of items added/removed)
  • Documentation: Updated “Add Tile”, “Add Object”, and “Add Character” built-in docs to include info about return values (i.e. reference to new entity)
  • Documentation: Updated “Assign Entity ID” built-in docs to include info about return value (i.e. true if the ID was successfully assigned, false otherwise)

Release Notes for v1.0.6.4

December 11th, 2022


  • Added initial background map implementation for menu-driven turn-based battles (assigned in Combat Editor, party members spawn starting at center of map going eastward)
  • Added “Object enters tile”, “Object stops on tile”, and “Object exits tile” trigger events for tiles for use with pushable objects ($object variable contains object)
  • Added “On Equip Script” and “On Unequip Script” settings to the Item Editor for equippable items, which get triggered when the item is equipped/unequipped (self is character, $item is item)
  • Added “Random Speaking Pitch” character setting to the Voxel Editor which will randomize the pitch of a character's voice as they speak
  • Added “Scroll Wheel Grid Controls” editor setting for the Map Editor to turn off Shift/Ctrl + Scroll Wheel grid level controls
  • Added confirmation dialog to the Script Editor when pressing ESC or clicking the cancel button and the Bauxite source code field has been edited
  • Updated “Duplicate Frame” functionality in the Voxel Editor to copy any voxel groups to the newly created frame
  • Updated menu-driven turn-based battles to play death animations for enemies when applicable instead of immediately removing them from the map
  • Updated “Replace Navigation” scripting function to force the player to release a pushable object if navigation was removed between them and the object
  • Updated “Set Entity Model” scripting function to only replace the model when different than the current model in use
  • Updated Bauxite syntax highlighting to include “map” as a built-name variable name (e.g. when used with “map.name” or “map.groups”)
  • Fixed roguelike issue where mouse movement was inadvertently being allowed even when disabled by interacting with something from a distance
  • Fixed issue in the Voxel Editor with the option to automatically attach an object in-game not working properly
  • Fixed issue where voxel groups were not being updated when using the arrow buttons or the move tool to move grouped voxels
  • Fixed issue in the Map Editor where the scale of the pending character/object couldn't be adjusted with Shift + Scroll Wheel if the grid level was locked
  • Fixed issue where the new tile's collision override was not being applied when replacing a tile's model with “Set Entity Model”
  • Fixed issue with navigation paths not being properly updated in some scenarios when the player would push an object to a new tile
  • Fixed issue with “Duplicate” functionality not working properly when attempting to duplicate an effect from the Game Explorer
  • Fixed issue with “Reset Entity Rotation” function not properly resetting the character's direction after being rotated with “Rotate Entity Towards”
  • Fixed issue with “mp” and “max_mp” stats not working properly in-game when attempting to access or modify their values
  • Fixed issue with “quests” and “skills” character properties not being accepted as valid syntax when used in a “for” expression (e.g. for $quest_id in player.quests)
  • Fixed issue with the Asset Library where the OK and Cancel buttons were outside of the dialog box when using the Russian localization
  • Fixed “nonexistent signal” error that would display in the console window when opening an item container
  • Documentation: Updated “Map Editor” built-in docs to include info about pressing Delete in Connect/Navigation mode to remove all navigation paths to a tile
  • Documentation: Updated “Map Editor” built-in docs to include info about Ctrl and Alt modifiers for picking a resource and/or grid level while in place mode
  • Documentation: Updated “Character” built-in docs to include info about “name” property and “portrait” property

Release Notes for v1.0.6.3

December 4th, 2022


  • Added a timed confirmation dialog that's displayed after changing the “UI Scale” editor setting which requires the change to be confirmed
  • Updated “Display Image” scripting function to show the default cursor for timed images and the interact cursor for images that require a click to proceed
  • Fixed issue with the “Rotate Entity Towards” scripting function where the direction property of the affected character(s) wasn't being properly updated
  • Fixed issue with the “Display Image” scripting function where the stretch modes weren't properly working for images that exceeded the window's width or height
  • Fixed issue with the “Display Image” scripting function where the player was able to click to proceed even if the image was given a timer duration
  • Fixed issue with the “Description” field for skills and status effects in the Skills Editor not updating properly when switching between items in the list
  • Fixed issue with minimum damage and maximum damage built-in item properties not being accepted as valid Bauxite syntax (e.g. $weapon.min_damage, $weapon.max_damage)
  • Fixed issue with the Italian localization that was affecting some of the dropdown fields (e.g. “Sound Effect” field on the “Add Animation” dialog)
  • Documentation: Updated “Map Editor” built-in docs to include info about pressing Delete in Connect/Navigation mode to remove all navigation paths to a tile
  • Documentation: Updated “Map Editor” built-in docs to include info about Ctrl and Alt modifiers for picking a resource and/or grid level while in place mode

Release Notes for v1.0.6.2

December 2nd, 2022


  • Fixed issue with extra forward slash being added to the game path when creating a new project causing resource names in dropdowns to be cut off

Release Notes for v1.0.6.1

December 1st, 2022


  • Added “Positional Sound” setting to the Voxel Editor for specifying that an animation's sound effect should be played positionally in 3D space
  • Added “Apply Status Effect” scripting function for applying a status effect to a character for a duration of time (e.g. apply_status_effect(“STATUS_0001”, player, 5))
  • Added “Remove Status Effect” scripting function for removing a status effect from a character (e.g. remove_status_effect(“STATUS_0001”, player))
  • Added “Clear Status Effects” scripting function for clearing all status effects from a character (e.g. clear_status_effects(player))
  • Fixed issue with particle effects configured to be automatically attached to models not displaying for entities that were already placed into a map (model resave needed)
  • Fixed issue with the Bauxite code missing commas between parameters for the “Display Image” function when placed into a visual script
  • Fixed issue with the color picker button not properly setting the alpha value when manually coding the “Display Image” function into a script
  • Fixed issue with not being able to assign a widget to the “Toggle Widget” action when setting up a key binding in the Game Configuration dialog
  • Fixed issue where the lock icon was showing for all widgets instead of only the built-in widgets when choosing one to assign to a key binding

Release Notes for v1.0.6

November 30th, 2022


  • Added initial implementation of the Effect Editor for creating particle effects (e.g. flames, fountains, weather, environmental effects, visual status indicators, etc.)
  • Added “Attach Effect” scripting function for attaching a particle effect to an entity's attach point (e.g. attach_effect(“flame”, entity[“xyz”], “attach_id”))
  • Added “Detach Effect” scripting function for detaching a particle effect from an entity (e.g. detach_effect(entity[“xyz”], “attach_id”))
  • Added “Add Effect” scripting function for adding a particle effect at a coordinate, with optional entity ID (e.g. add_effect(“rain”, coord[0, 0, 100], “rain_id”))
  • Added “Disable Effect” scripting function for disabling the emission of particles for an effect (e.g. disable_effect(entity[“rain”]))
  • Added “Enable Effect” scripting function for enabling the emission of particles for an effect (e.g. enable_effect(entity[“rain”]))
  • Added “Add Item To Tile” visual script node to the Script Editor for placing an item drop onto a tile that the player can pick up
  • Added “Delete Data” visual script node to the Script Editor for deleting a custom data file that was previously saved to disk via the “Save Data” function
  • Added “Delete Save” visual script node to the Script Editor for deleting a saved game (“savegame01” if no filename is specified)
  • Added “Give Loot” visual script node to the Script Editor for generating items for a loot drop then giving them to a specified character
  • Added “Give Skill” visual script node to the Script Editor for giving a skill to a character (defaults to the main player character)
  • Added “Remove Skill” visual script node to the Script Editor for removing a skill from a character (defaults to the main player character)
  • Added “Use Skill” visual script node to the Script Editor for triggering the usage of a skill for a character (defaults to the main player character)
  • Added “Cooldown (Roguelike)” to the Stats Editor for configuring the cooldown of a skill when used in roguelike mode (measured in actions)
  • Added two new status effect types to the Stats Editor, “Healing Over Time” and “Damage Over Time” for applying healing/damage at intervals
  • Added ability to specify both real-time and roguelike interval for status effects in the Stats Editor (measured on seconds and actions, respectively)
  • Added support for global functions that can be called from any script (configured from the “Global Functions” tab in the Game Configuration dialog)
  • Added “Footstep Sound” and “Footstep Rate” settings to the Voxel Editor for characters (sounds are played positionally, rate is in footsteps per second)
  • Added ability to freely rotate objects in the Map Editor from the Entity Properties panel (instead of being locked to 90-degree increments)
  • Added “Display Image” scripting function for displaying an image to the player (usage: display_image(<image_name>, <duration>, <background_color>, <stretch_mode>))
  • Added image stretch mode constants for scripting (STRETCH_X, where X is either SCALE, TILE, KEEP, KEEP_CENTERED, KEEP_ASPECT, KEEP_ASPECT_CENTERED, or KEEP_ASPECT_COVERED)
  • Added “Play Video” scripting function for playing video files (supported formats are WEBM and OGV, can be imported by dragging and dropping onto application)
  • Added “Open Container” scripting function for manually triggering the opening of an item container within the current map
  • Added “quests” syntax to the Bauxite language for getting an array of quest IDs for a character (e.g. player.quests)
  • Added “global.theme” scripting variable for changing the current UI theme (e.g. global.theme = “My Theme”)
  • Added “system.time” scripting variable for getting current time from the OS (returns a codex with “hour”, “minute”, and “second” values)
  • Added Bauxite scripting syntax for getting an effect attached to an attach point (e.g. entity[“xyz”].effect[“attach_id”])
  • Added “EFFECT” scripting constant for checking if an entity is an effect (similar to TILE, OBJECT, and CHARACTER, e.g. if entity[“xyz”] == EFFECT)
  • Added “substr” scripting function for getting part of a string (usage: substr(<string>, <start_position>, <length>) - length parameter is optional)
  • Added “len” scripting function for getting the length of a string, size of an array, or number of keys in a codex (e.g. len($my_array))
  • Added “quest[$quest_id]” syntax for getting quest properties based on ID (specifically name, description, or tags, e.g. quest[“QUEST_0001”].name)
  • Added “portrait” property for characters to Bauxite scripting syntax (e.g. player.portrait to get or change the portrait, null will clear the portrait)
  • Added “Two-Dimensional” setting for objects in the Voxel Editor in order to prevent the rotation of vehicle objects when needed
  • Added entity script setting to disable the automatic playing of the initiating character's “interact” animation
  • Added “default” and “move” directional animation names for use by vehicles with the “Two-Dimensional” setting enabled (e.g. “default_west” or “move_north”)
  • Added Effect Editor as a “Default Tab” option on the Editor Settings dialog to have it active by default on application startup
  • Added two new project templates to the Game Manager, “Mini Caves of ZZT” and “Kenney Tiny Dungeon (2D)”, and added their associated assets to the Asset Library
  • Added assets previously exclusive to the Patreon to the built-in Asset Library (147 tiles, 55 objects, and 8 characters)
  • Added several music tracks by Aleix Ramon to the Asset Library, including “The Adventure Begins” (official RPG in a Box theme song)
  • Added “shore_corners” (water with shore at two opposite corners) to the Asset Library for use in the default example game
  • Added Italian translations for the editor interface and in-game text (selected from the “General” section of the Editor Settings dialog)
  • Updated roguelike mode to also consider interacting with objects and characters as an action (e.g. opening a door, pulling a lever, etc.)
  • Updated “Controls” section in the Game Configuration dialog to split out the movement and interaction options
  • Updated description field in the Quest Editor to be a multi-line text field instead of being limited to one line
  • Updated color data type to support optional alpha value (e.g. color[0, 255, 0, 128] is green with 50% transparency level)
  • Updated error message for the “Equip Item” scripting function to be more descriptive (e.g. character needs item in inventory, slot doesn't exist, etc.)
  • Update “Enable Container” and “Disable Container” functions to allow direct entity references instead of only an entity ID
  • Updated coordinate values in visual scripts nodes (e.g. the “Move Camera” function) to allow decimals for more precise positioning
  • Updated “str” scripting function to return “null” when the value is null instead of throwing an error to the debug console
  • Updated “Request Coordinate” and “Request Entity” functionality to disable mouse input for widgets while requesting a value
  • Updated Bauxite scripting syntax to support Korean characters when used inside of text strings
  • Updated “Default Example Game” project template to include an auto-tile configuration for the grass and water tiles
  • Updated filtering functionality in the Asset Library to no longer be case-sensitive when searching for tags
  • Updated Patreon credits in the About dialog to only reflect the patrons who are currently active for each tier
  • Fixed issue with transparent surfaces of models showing through billboard sprite characters and objects
  • Fixed issue with death animations not properly triggering for billboard sprite characters when defeated
  • Fixed issue with camera positioning that could occur when loading a map and the camera had been previously locked
  • Fixed issue with setting a image element's image on a widget to null not properly clearing the image
  • Fixed issue that could occur when adding quest-related visual script nodes to a script without having any quests defined
  • Fixed issue with $item_id in item's script being null when using a consumable item from a quick slot via number hotkey
  • Fixed issue with the “Pass Mouse Input” widget setting not properly passing mouse input through the widget in some cases
  • Fixed issue with the positioning of objects when attached to other objects that were themselves also attached to an entity
  • Fixed issue where “interact” animations would keep playing even if a character started walking after interaction
  • Fixed issue with character's level not being saved when saving a game (only XP value was saved, not level itself)
  • Fixed issue with the player's party members not being properly restored when saving then loading a game
  • Fixed issue with scale not being applied to an object in the Map Editor if selecting another entity without focusing on another field first
  • Fixed issue where cursor was not being automatically updated if over an item container while a script enabled or disabled it
  • Fixed issue with duplicate play buttons showing next to music items in the Game Explorer after importing songs from the Asset Library
  • Fixed issue where attach point cubes were displaying after capturing a thumbnail for a model even if they weren't previously enabled
  • Fixed issue where the skill bar widget was incorrectly showing in the viewport of the Screen Editor
  • Fixed issue with Themes tab in the UI Editor incorrectly showing as “Theme” instead of “Themes” in some scenarios
  • Fixed issue with Item Editor and Quest Editor incorrectly showing the item/quest details area before a project was opened when set as the default tab
  • Fixed issue with “Recent Files” box not displaying dialogues when “All Types” was checked
  • Fixed issue where semi-transparent colors in PNGs were being ignored when importing them into the Voxel Editor
  • Fixed error that could occur when using “Capture Portrait” tool in the Voxel Editor multiple times in a row
  • Fixed issue with control variable in the “For Loop” visual script node not being validated correctly
  • Fixed console errors when giving a quest to the player then subsequently moving the player character
  • Fixed crash that can occur when using “return” without a return value in the Script Editor and Quick Script Builder
  • Fixed issue with some of the default example tiles in the Asset Library causing clipping when walked over by a billboard sprite character
  • Fixed some errors that that would display in the external console window when opening the Asset Library dialog
  • Fixed issue with “Enter name to filter by” placeholder text on the asset tabs not being properly translated to the current language
  • Fixed issue with missing localization for “LOOT_DROP_ALREADY_EXISTS” text when attempting to create a loot drop with a name that already existed
  • Documentation: Updated “Tutorials” built-in-docs to include YouTube links for Stumpy's “How to Make a Game” series and Sarah's tutorial series
  • Documentation: Updated “Character” built-in docs to include convenience variables which get tiles relative to a character (“front_tile”, “north_tile”, etc.)
  • Documentation: Updated “Codex” built-in docs to include an example of how to modify an existing value within a codex
  • Documentation: Updated “Climbing” built-in docs to fix an issue with the “Known Issue” text being cut off

Release Notes for v1.0.5.1

October 20th, 2022


  • Fixed issue with not being able to use the built-in “direction” property to rotate a tile or object from a script

Release Notes for v1.0.5

October 20th, 2022


  • Added top-down orthogonal camera mode to the Map Editor for easier 2D/overhead map creation (located next to the isometric camera button)
  • Added “Panorama Sky” background option to the Map Properties panel of the Map Editor (image needs to be an equirectangular sky map)
  • Added new option to the “Reaction to Obstacle” NPC behavior setting for running a custom script upon encountering an obstacle
  • Added ability to control pushable objects using the mouse by clicking on a valid tile in front of the object or behind the player character
  • Added ability to release a pushable object currently held by the player character by clicking on it (in addition to the G key)
  • Added “Object is Grabbed” and “Object is Released” global event scripts (“self” contains object, “initiator” contains character)
  • Added “Object is Pushed” global event script (“self” contains object, “initiator” contains character, tiles are stored in $previous_tile and $target_tile variables)
  • Added ability to scale objects and characters being placed into a map (Shift + Scroll Wheel scales by 0.05, Ctrl + Scroll Wheel scales by 0.1)
  • Added “Copy Settings” and “Paste Settings” buttons to the Model Properties panel for copying the offset/scale/rotation values between attach points
  • Added ability to separately scale the X, Y, and Z values of attach points in the Voxel Editor from the Model Properties panel
  • Added setting to the Widget Properties panel which, when enabled, will pass mouse input through areas of the widget not occupied by elements
  • Added “on close” script setting to the Widget Properties panel that gets triggered when the widget's “X” close button is pressed (“self” contains widget)
  • Added “UI Scale” option to the Editor Settings dialog so that the interface can be scaled for high DPI displays
  • Added “Free Movement” experimental setting to the Game Configuration dialog (only basic movement/interaction supported, full gameplay not yet possible)
  • Increased maximum in-game zoom distance to 300 (adjustable from the Gameplay section of the Game Configuration dialog)
  • Updated eyedropper tool in the Map Editor (Alt + Left-Click) to also get the scale of the selected object or character
  • Updated “Predefined Animation Names” dialog in the Voxel Editor to include directional animation names (“idle_north”, “walk_north”, etc.)
  • Updated character animation functionality to auto-trigger corresponding walk/idle/attack animations on any attached objects when played
  • Updated About dialog to include credit to andysphinx for the “Box of Colors” default Voxel Editor palette
  • Fixed several in-game issues with the pushable object functionality when used with the first-person camera
  • Fixed issue with the player being able to release a pushable object in the middle of two tiles while pushing it
  • Fixed issue with default scale not being properly applied when the player character was configured as a billboard sprite
  • Fixed issue with characters configured as “Two-Dimensional” being incorrectly rotated upon reacting to an obstacle (via behavior setting)
  • Fixed issue with holding Ctrl + Middle Mouse Button and dragging up/down to zoom not working properly in the Map Editor when isometric camera was enabled
  • Fixed issue with Voxel Editor being marked as having changes when pressing ESC to deselect all selected voxels
  • Fixed issue where “Request Coordinate” and “Request Entity” scripting functions could be triggered even when one was already being requested
  • Fixed issue where the “type” built-in property was not being accepted as valid syntax when used with a variable (e.g. $my_entity.type)
  • Fixed issue with using compound operators (+=, -=, etc.) to modify stat values via scripts not working correctly (literal value would be assigned to the stat)
  • Fixed error that could occur when using “Capture to Image” in the Voxel Editor then later switching to the “Mesh Preview” mode
  • Documentation: Updated “Map Editor” built-in docs to include info about additional camera controls (holding C and moving mouse to edge of view)

Release Notes for v1.0.4

September 29th, 2022


  • Added “Box of Colors” palette to the Voxel Editor (the new default/official palette of RPG in a Box, created by community member andysphinx)
  • Added cooldown setting for specifying a skill's real-time cooldown in seconds (zero if none), updated skill slot to darken and show timer when cooldown is active
  • Added mouse sensitivity setting to the in-game options menu for adjusting the mouse sensitivity when looking around in first-person mode
  • Added ability to directly reference a character's behavior via script (e.g. entity[“some_npc”].behavior returns a codex of their behavior properties)
  • Added ability to modify individual behavior settings for a character via script (e.g. entity[“some_npc”].behavior[“move_direction”] = NORTH)
  • Added ability to modify or remove a storage/quick slot's item via script (e.g. widget[“my_widget”].element[“0001”].item = “ITEM_0001”)
  • Added ability to modify the stack size of a storage slot's item via script (e.g. widget[“my_widget”].element[“0001”].count += 1)
  • Added ability to modify the scale of billboard sprites in the Map Editor (X/Y/Z values will be locked together)
  • Added ability to stop the currently playing animation in the Voxel Editor by pressing the ESC key
  • Added “UI Scaling” option to the Editor Settings dialog to allow the interface to be scaled up on high resolution displays
  • Increased maximum widget size in the Widget Editor to 64 columns by 36 rows (will allow a widget to cover the entire screen at 1920×1080)
  • Updated Bauxite syntax to allow direct references to a character's inventory, which returns an array of codexes or null if a slot is empty (e.g. player.inventory)
  • Fixed issue in the default example game where console errors would display after taking the coins then returning to the chest to open/close it again
  • Fixed issue with “Go To” dialogue node not jumping to the correct node in some cases when using the “Go To Node” option
  • Fixed issue where null was being returned when getting the entity ID of an entity when stored in a variable (e.g. $my_entity.id)
  • Fixed issue with accessing properties of “front_tile” and other related references not being accepted as valid syntax (e.g. player.front_tile.id)
  • Fixed issue with the height of the default inventory widget being one row too large when displayed in the Widget Editor

Release Notes for v1.0.3

September 5th, 2022


  • Added initial skill system implementation with a few built-in effect presets (healing and temporary stat buff/debuff - many more to come!)
  • Added “Skills” section to the Stats Editor for defining skills for your game (skills can have one or more effects, including custom scripts)
  • Added “Skill Slot” widget element type to the Widget Editor, which acts as a quick slot allowing the player to use a skill (more uses to come)
  • Added built-in “Skill Bar” widget to the Widget Editor (can be enabled in UI section of Game Configuration or displayed via script using “skill_bar” widget ID)
  • Added “Skill Bar” setting to the UI section of the Game Configuration dialog to specify if the built-in skill bar widget should display by default
  • Added “skill” widget element property for assigning a skill to a skill slot (e.g. widget[“skill_bar”].element[“0001”] = “SKILL_0001”)
  • Added “Give Skill” scripting function for giving a skill to a character (e.g. give_skill(“SKILL_0001”) or give_skill(“SKILL_0001”, party.member[“Sarah”]))
  • Added “Remove Skill” scripting function for removing a skill from a characer (e.g. remove_skill(“SKILL_0001”) or remove_skill(“SKILL_0001”, party.member[“Sarah”]))
  • Added “Use Skill” scripting function for activating a character's skill (e.g. use_skill(“SKILL_0001”) or use_skill(“SKILL_0001”, party.member[“Sarah”]))
  • Added ability to override damage logic by having a script named “damage_logic” in your project (must return a numeric value - $attacker, $weapon, and $defender can be referenced)
  • Added “min_damage” and “max_damage” built-in item properties for getting the minimum/maximum damage values of a weapon item (e.g. $weapon.min_damage)
  • Added “Give Loot” scripting function for generating and giving a loot drop, with optional count/character parameters (e.g. give_loot(“Dungeon Loot”, 1, player))
  • Added “Add Item To Tile” scripting function for placing an item pickup onto a tile, with optional count parameter (e.g. add_item_to_tile($target_tile, “ITEM_0001”, 5))
  • Added “Delete Save” scripting function for deleting a save file, with optional filename parameter (e.g. delete_save(“my_save”), default of “savegame01”)
  • Added “Delete Data” scripting function for deleting a data file (e.g. delete_data(“my_data_file”))
  • Added “Clamp” scripting function for clamping a value to a set range (e.g. clamp($value, $min, $max), result is no less than $min and no more than $max)
  • Added “Quest Given”, “Quest Completed”, and “Quest Failed” global event scripts that are triggered for each event, with the quest ID stored in the $quest_id variable
  • Added dice roll syntax to the Bauxite scripting language for easily generating random numbers (e.g. “2d8” will roll two 8-sided dice and return the results)
  • Added “north_tile”, “south_tile”, “west_tile”, and “east_tile” built-in entity properties to get the tile in a particular direction (e.g. player.north_tile)
  • Added “front_tile”, “back_tile”, “left_tile”, “right_tile” built-in character properties to get the tile relative to their facing direction (e.g. player.front_tile)
  • Added “party” built-in variable for referencing all members of the player's party (for future scripting use)
  • Added “skills” built-in character property for getting a codex of the character's skills (can be used with “contains” to check for a skill ID)
  • Added support for negation of the “contains” operator to the Bauxite scripting language (e.g. if player.inventory !contains “ITEM_0001” then)
  • Added Script Editor setting to the Editor Settings dialog for expanding the source code area by default whenever a script is opened
  • Added ability to rename custom character stats in the Stats Editor (via “pencil” button next to the list of character stats)
  • Added Indiegogo backers section to the About dialog window with list of those who supported the “Beyond 1.0” Indiegogo campaign
  • Added “About” button to the Game Manager dialog to allow credits and other information to be viewed without needing to open a project
  • Added fallback font to the “Player”, “NPC”, and “Message” nodes in the Dialogue Editor in case the current font is missing any characters
  • Updated behavior of real-time enemies so they'll use ranged weapons against the player if they've been given one and equipped with it
  • Updated “contains” conditional operator to support checking if a key exists within a codex (e.g. if $my_codex contains “my_key” then)
  • Updated assignment statements in Bauxite to support using item references for the right operand (e.g. $my_item = item[“ITEM_0001”])
  • Updated “Give Item”, “Remove Item”, “Equip Item”, and “Unequip Item” functions to allow passing of just the ID string for the entity
  • Updated “About” dialog window to reset vertical scroll positions of the credit text boxes whenever the dialog window is closed and reopened
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Removed equipment slot debug messages that would display in the external console window when attempting to equip an item to an equipment slot
  • Fixed issue where the vehicle object would disappear when the player travelled to another map while controlling a vehicle
  • Fixed issue with player character's default scale (as set in the Voxel Editor) not being automatically applied in-game
  • Fixed issue with player character's sprite not being properly updated when using a multi-directional billboard sprite with tank controls (may need to resave model)
  • Fixed issue with multi-directional billboard sprites for character not being properly updated when the player would speak to an NPC (may need to resave model)
  • Fixed issue with decimal values not being properly converted to integers when restoring health to a character (e.g. via “Heal Entity”)
  • Fixed issue with not being able to directly print out an item reference from a script (e.g. print(item[“ITEM_0001”])
  • Fixed issue with “cost” and “count” built-in properties not parsing properly when used with a local variable (e.g. $my_item.cost)
  • Fixed issue with “id” built-in property not correctly returning the widget's ID when used in a button script with the $widget variable (e.g. $widget.id)
  • Fixed issue with some built-in properties for “self” not being accepted as valid syntax in a script (“text”, “image”, “script”, and “item”)
  • Fixed issue with “\n” not properly displaying as a line break when used within the text of a text field via scripting
  • Fixed issue with equipping an item to a character without a corresponding equipment widget (e.g. an enemy NPC)
  • Fixed issue where default attached objects weren't automatically being attached to models in-game until removing and readding them to the map
  • Fixed issue with attaching objects via the “Attach Object” function when the current frame didn't have the specified attach point (even if others did)
  • Fixed issue in the Stats Editor where attempting to delete a custom stat from the list would not properly remove the stat
  • Fixed issue where the list of status effects was not being cleared when exiting out of a project to the Game Manager
  • Fixed issue where the inventory could no longer be opened after loading a saved game (equipment window would open instead)
  • Fixed “speed_multiplier” error that would occur after using the “Reset Map” scripting function to reset the current map
  • Fixed issue with “Add Animation” dialog where the text fields were extending outside the dialog box for some localizations
  • Fixed issue with missing English localization text for the “Delete Status Effect” button in the Stats Editor
  • Fixed some errors that weren't being properly caught when passing invalid parameters into the “Save Data” and “Load Data” scripting functions
  • Fixed “move_child” error that would display in the external console window after a newly created script was opened in the Script Editor

Release Notes for v1.0.2

June 20th, 2022


  • Added initial implementation of subfolder support for resources (all types except maps, folders must be created outside of the editor until a future update)
  • Added new functionality to the “Loot Drops” section of the Combat Editor allowing multiple items per loot drop (with a chance for each and a fixed or random amount)
  • Added ability to generate loot for the selected loot drop in the Combat Editor to easily test out the randomly generated results
  • Added ability to assign multiple loot drops to an enemy in the Combat Editor with a percentage chance for each loot drop
  • Added initial version of “Character Stats” section to the Stats Editor, which includes a list of the built-in stats and Bauxite examples
  • Added ability to define custom stats for characters in the Stats Editor (player.stat[“my_stat”] will access the stat with ID “my_stat”)
  • Added ability to define maximum values for both custom stats and any applicable built-in stats in the Stats Editor
  • Added ability to increase custom stats when characters level up by specifying increase values in the “Leveling” section of the Stats Editor
  • Added “next_level” and “next_xp” stats for getting a character's next level and XP required for that level (e.g. player.stat[“next_level”] and player.stat[“next_xp”])
  • Added ability to define custom equipment slot configurations in the Stats Editor (to use a custom one, set the desired slot configuration as default)
  • Added “Status Effects” section to the Stats Editor with initial options for “Stat Buff” and “Stat Debuff” (for future functionality, more options coming soon)
  • Added “Currency” section to the Stats Editor with initial options for changing the base currency name/image and adding custom currencies for future functionality
  • Added currency option to the Item Editor for specifying the associated currency for the item's cost (for future shop item slot functionality)
  • Added “Tool Item Changes” global event script that's triggered when the player's active tool changes ($item_id variable will have the tool item's ID, or null if none)
  • Added ability to set a projectile model override for ranged weapons in the Item Editor to use instead of the weapon/ammo's model (e.g. for unlimited use guns)
  • Added ability to pack an image into a widget so it can be used in other projects without needing the source image file (via button next to image dropdown)
  • Added ability to change the colors of progress bars in the Widget Editor (filled color, background color, and border colors)
  • Added Fog of War setting in the Game Configuration's gameplay section for making the fog permanent (i.e. revealed areas won't stay revealed)
  • Updated lighting preset functionality to store the map's background color so it will change along with the lighting (e.g. to have a darker color at night)
  • Updated “New Resource” dialog to properly check for invalid characters in the resource name, specifically the following characters: \ / : * ? “ < > |
  • Updated “Predefined Animation Names” dialog in the Map Editor to include “spawn” for tiles and objects and “revive” for characters
  • Updated slot ID dropdown on “Element Properties” panel for equipment slots to allow selection of slots from custom equipment slot configurations
  • Updated default inventory widget to include an icon and text label that displays the player's currency amount (i.e. player.stat[“currency”])
  • Updated “Set Entity Script” scripting function to support tool item triggers by using the item's ID as the trigger (e.g. set_entity_script(self, “my_script”, “ITEM_0001”))
  • Updated “Set Character Name” scripting function to allow entity references (i.e. player) in addition to entity IDs
  • Updated maximum timer value of enemy spawns in the Combat Editor to allow up to 3,600 seconds (i.e. how often an enemy can potentially spawn)
  • Updated Combat Editor to have “Loot Drops”, “Random Encounters”, and “Enemy Spawns” sections expanded by default
  • Updated Combat Editor and Stats Editor to create backups of the “combat.json” and “stats.json” files when saving
  • Updated line of sight logic for ranged weapons to catch some cases that were being missed, allowing the player to shoot through wall tiles in certain scenarios
  • Updated tactical turn-based combat to refresh the current player character's movement area if their “move_range” stat is updated during their turn
  • Updated Steam rich presence logic to support the Quest Editor so its name is displayed as the current rich presence status while in the editor
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Removed placeholder encounter message that was displayed before the battle whenever the player triggered a random encounter
  • Removed unnecessary “under construction” message from the Stats Editor (RPG in a Box will always be expanding and improving throughout!)
  • Fixed issue where an NPC/enemy's “On Death” script was not being triggered when killed via the “Damage Entity” scripting function
  • Fixed issue where enemies that had respawned from a real-time enemy spawn or via “Revive Character” would no longer be attackable in some cases
  • Fixed issue with ranged weapons not working properly when an object model wasn't assigned to the weapon or ammo item
  • Fixed issue where the “speed” stat bonus for weapons was not being properly removed when the weapon was unequipped
  • Fixed issue with objects using the multi-directional billboard sprite option not working properly in-game (i.e. not displaying as multi-directional)
  • Fixed issue where the “Remove surfaces along grid boundaries” setting in the Voxel Editor was being applied to all voxels instead of only the transparent ones
  • Fixed issue with “Continue” and “Load Game” options not properly showing on the Main Menu and Pause Menu when a save file existed
  • Fixed issue with fog of war where tiles underneath the player would be incorrectly hidden in some cases (e.g. starting on a bridge with a river tile underneath)
  • Fixed issue where using the “clear” array function would not work properly to remove all entities from a group (e.g. group[“my_group”].clear())
  • Fixed issue where the $item_id local variable was null instead of containing the item's ID when using an item from a quick slot
  • Fixed issue where “initiator” built-in variable was null when calling a script from a dialogue (also affected item icon popups when giving an item during dialogue)
  • Fixed issue where item tooltips were not being hidden when using ESC to close the inventory (when the management screen was disabled)
  • Fixed issue where clicking the “X” button to close a widget could cause the player to start moving if the mouse button was over a walkable tile
  • Fixed issue with custom interaction cursor not displaying when set for an attackable enemy and the player had a weapon equipped
  • Fixed issue where the cursor image was not being updated when the “Request Entity” scripting function was called
  • Fixed issue where the cursor image was not being updated after an entity was selected via the “Request Entity” scripting function
  • Fixed issue where sound/music files failed to import if the project folder was missing the “sounds”/“music” subfolders
  • Fixed issue where the event details were incorrectly displaying for random encounters and enemy spawns after closing and reopening a project
  • Fixed issue with random encounters in the Combat Editor allowing more than a total of 100% for the possible battles defined for an encounter
  • Fixed issue with some UI components not being updated properly when selecting random encounters and enemy spawns in the Combat Editor
  • Fixed issue with some UI components in the Quest Editor and Combat Editor not using the Godot editor theme when selected
  • Fixed issue with some options for the “Default Editor Tab” setting not working properly (Quest Editor, Combat Editor, Stats Editor, and Documentation)
  • Fixed “invalid operands” error that would display in the external console window if the first map loaded in a game had “Use Day/Night Cycle” disabled
  • Documentation: Added initial version of built-in docs for “Stats Editor” (including a list of all character stats currently available)
  • Documentation: Added initial version of built-in docs for “Codex” data type (including some scripting examples)
  • Documentation: Updated “Predefined Animation Names” built-in docs to include new “revive” animation (triggered when “Revive Character” function is used)
  • Documentation: Updated “Predefined Animation Names” built-in docs to include info about the “push” and “pull” animations for characters
  • Documentation: Updated “Shop Item Slot” built-in docs to include info about changing the cost of an item in a shop item slot
  • Documentation: Updated “Item Editor” built-in docs to include info about $item_id variable with the item's ID being available from a usable item's script

Release Notes for v1.0.1

May 11th, 2022


  • Fixed an issue with the default example game where the “Tool Item UI” setting (in the Game Configuration's User Interface section) was not enabled by default (preventing the hammer from being selected)

Release Notes for v1.0

May 10th, 2022


  • Added initial implementation of day/night system (enabled on “Day/Night” gameplay tab in Game Configuration dialog, with settings for cycle duration and lighting presets)
  • Added “Use Day/Night Cycle” setting on the Map Properties panel of the Map Editor to indicate whether or not the map should use day/night lighting or its own
  • Added “global.time” property to the Bauxite scripting language to get the current time (value will be between 0 and the configured day/night duration in seconds)
  • Fixed issue where some settings in the Game Configuration dialog's Gameplay section were not being disabled when using the default built-in preset
  • Documentation: Updated “Combat Editor”, “Combat Systems”, and “Dialogue Editor” built-in docs to bring everything up to date with the latest functionality
  • Documentation: Updated “Attach Points” built-in docs to include a scripting example of how to reference an object attached to an entity

Release Notes for v0.9.9

May 8th, 2022


  • Added ability to rename lighting presets in the Map Editor and moved button toolbar to allow more room for the preset dropdown
  • Added warning message to Map Editor that displays when the pending tile would overwrite an existing tile at the current coordinate
  • Added setting to the Map Editor section of the Editor Settings dialog for disabling the tile overwrite warning
  • Added global event script for when a character gets damaged ($damage variable contains damage amount, self is character that was damaged, initiator is entity that dealt the damage)
  • Added titlebar button to player choice nodes in the Dialogue Editor as an alternate method of splitting a node out into a multiple choice branch
  • Added weapon minimum/maximum damage settings to the Item Editor (random value between these numbers is added onto a successful hit)
  • Added ability to cycle left and right through the player's available tool items using the left/right square bracket keys
  • Added information about the “noclip” free camera mode command to the in-game debug console's usage text
  • Added models by community members andysphinx, Fonk, skumleren, and Joseph DiPerla to the built-in Asset Library (6 tiles, 33 objects, and 19 characters)
  • Updated tile bounding box in the Map Editor to turn yellow when the pending tile would overwrite an existing tile at the current coordinate
  • Updated “Apply Lighting Preset” scripting function to fall back to the global presets if the specified one doesn't exist for the current map
  • Updated icon of management screen button for the default RPG in a Box theme to match the style of the other management screen icons
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Moved “Tool Item UI” game configuration setting from the Experimental section to the User Interface section (may need to enable again if being used)
  • Moved “Item Icon Popups” game configuration setting from the Experimental section to the Gameplay section's “Other” tab (now enabled by default)
  • Fixed issue with models failing to open in the Voxel Editor when an object set to be auto-attached no longer existed
  • Fixed issue with models not displaying properly as billboards in some cases when configured as a billboard sprite
  • Fixed issue with “Open in Script Editor” buttons not being enabled in some cases for the completion/failure scripts in the Quest Editor
  • Removed “alpha” suffix from the RPG in a Box version number displayed on the About dialog box
  • Documentation: Updated “Set Entity Script” built-in docs to include info about fourth parameter (triggerable by NPCs)

Release Notes for v0.9.0

May 4th, 2022


  • Added initial implementation of Quest Editor with ability to define quests (with settings for name, description, completion script, failure script, and tags)
  • Added built-in Quest Log widget to display the player's current quests (accessed in-game via management screen, can be disabled in Screen Editor)
  • Added initial implementation of first-person menu-driven combat to allow simple turn-based dungeon crawler style combat
  • Added “Give Quest” scripting function for giving a quest to the player using its unique ID (e.g. give_quest(“QUEST_0001”))
  • Added “Complete Quest” scripting function for completing a quest that was previously given to the player (will trigger quests's “Completion Script”)
  • Added “Fail Quest” scripting function for failing a quest that was previously given to the player (will trigger quests's “Failure Script”)
  • Added “Quest Editor” as an option for the “Default Editor Tab” setting in the General section of the Editor Settings dialog
  • Added support for OBJ exporting to the Voxel Editor (via “Export to External Format” toolbar button, with toggle setting for “One file per frame”)
  • Added ”.objects“ scripting syntax for getting objects that currently exist on a tile (returned as an array, or null if no objects exist)
  • Added “comma-separated tags” placeholder text to the Tags field in the Item Editor to help clarify how the item's tags should be entered
  • Updated Bauxite source code generation in the Script Editor to always include semicolons after statements, even for those that are the last in a set
  • Removed “under construction” messages from the top of the Combat Editor and bottom of the Widget Editor and Screen Editor
  • Removed debug messages that would display in the console when creating a new voxel group in the Voxel Editor
  • Fixed some issues that could occur when attempting to duplicate an existing battle in the Combat Editor

Release Notes for v0.8.0

April 20th, 2022


  • Added project template section to the Game Manager with options for blank project, bare bones project, default example game, and a new example game based on Kenney's 1-Bit assets
  • Added new models to the Asset Library that are based on Kenney's 1-Bit assets and are used by the new example game (21 tiles, 19 objects, and 3 characters)
  • Added “Fixed Vertical Axis” setting for billboard sprites to the Model Tools panel that keeps the sprite vertically upright regardless of camera angle (best suited for first-person)
  • Added “Controls” tab to the Gameplay section of the Game Configuration dialog for specifying which control types (mouse/keyboard/controller) are enabled for movement and interaction
  • Added ability to override the editor locale by creating a “locale.txt” file in the root installation folder containing a locale code (e.g. ja for Japanese)
  • Updated angle of directional light in the built-in example game's “overworld” map to match that of the default map settings
  • Updated Asset Library to not have the “fighter_01” model selected by default to prevent it from being inadvertently imported
  • Updated default example game to include an explanation of vehicle controls, moved welcome message to the startup script, and changed message of the house sign
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Fixed issue with multi-directional sprite functionality not working properly for the player character when the camera was rotated by the player
  • Fixed issue where the player character was being forced to continue climbing a climbable tile even when forced climbing was disabled
  • Fixed issue with grouping in the Voxel Editor where groups were being created for all frames of a model instead of only the current frame in some cases
  • Fixed “invalid get index” error that would display in the console when using the “Set Entity Model” function to change an object's model

Release Notes for v0.7.4.0

March 28th, 2022


  • Added billboard sprite support to character models (8 directional sprites are generated from the 3D model, with support for manual sprite drawing coming later)
  • Added “Multi-Directional Sprite” checkbox to the Model Tools panel for indicating whether a model should show 8 directional sprites or only its front
  • Added button to the the palette area for enlarging the size of the color boxes (i.e. the old size prior to the 256-color palette)
  • Added ability to set the horizontal alignment of text labels in the Widget Editor from the Element Properties panel
  • Fixed issue where auto-hiding was not taking effect immediately after a map was loaded (only once the player character had moved)
  • Fixed issue with projectiles no longer dealing damage when the player used a ranged weapon to attack an enemy
  • Fixed issue with more than one of a character being added to the same tile in the Map Editor when the character was set as passable

Release Notes for v0.7.3.1

March 17th, 2022


  • Added support to the Voxel Editor for transparent colors when using the “Billboard Sprite” mesh option
  • Updated “Billboard Sprite” option in the Voxel Editor to work properly with the texturing functionality (i.e. multiple textures per model frame)
  • Increased maximum limit of camera zooming when using the isometric camera mode in the Map Editor
  • Fixed issue where using transparent or emissive colors in a model could cause the Voxel Editor to freeze when saving
  • Fixed issue with “Replace Color” tool not working when adding new voxels to a model then using the tool on the new voxels of a non-default texture
  • Fixed issue with importing a palette from a PNG file having more than 64 colors (only the first 64 colors were included in the imported palette)
  • Fixed issue where the eyedropper cursor would display in the Voxel Editor when holding Shift + Alt to deselect voxels with the selection tool
  • Fixed issue with “Textures” dropdown on the Model Tools panel incorrectly reverting to “Default” in some cases when switching between models
  • Fixed issue with “Texturing Mode” box not displaying and grid dimensions/move panels not being hidden when first adding a new model texture in the Voxel Editor
  • Fixed issue with “Texturing Mode” box not being hidden when undoing the creation of a new model texture in the Voxel Editor
  • Fixed issue with documentation button on the Translations tab of the Game Configuration dialog no longer working
  • Fixed issue where the documentation button on the Key Bindings tab of the Game Configuration dialog was opening the localization documentation
  • Fixed missing localization text for RENAME_TEXTURE, CONFIRM_TEXTURE_DELETION, and PRESS_KEY_TO_BIND strings

Release Notes for v0.7.3.0

March 15th, 2022


  • Added support for custom functions to the Bauxite scripting language (see “Script Syntax” docs for syntax and example function)
  • Added support for multiple textures per model frame in the Voxel Editor (add/switch textures from the Model Tools panel)
  • Added “Set Entity Texture” scripting function for changing an entity's texture (e.g. set_entity_texture(player, “Pajamas”))
  • Added ability to set the initial texture of an entity's model after placed into a map (via the Entity Properties panel)
  • Added built-in “textures” entity property for getting an array of all texture names (as strings) defined for an entity (e.g. entity[“xyz”].textures)
  • Added “Request Entity” scripting function that prompts the player for an entity (e.g. $selected = request_entity(“validate_entity”) - visual node coming soon)
  • Added “Request Coordinate” scripting function that prompts the player for a tile coordinate (e.g. $selected = request_coordinate(0, -64, 64, 16, “validate_coord”) - visual node coming soon)
  • Added “Set Entity Scale” scripting function for setting the X/Y/Z scale of an object or character (with optional duration, e.g. set_entity_scale(player, 1.5, 1.5, 1.5, 2) - visual node coming soon)
  • Added “scale” entity property to get or set the scale of an object or character from a script (via number or array, e.g. player.scale = 1.5 or player.scale = array[1, 1, 1.5])
  • Added “scale_x”, “scale_y”, and “scale_z” entity properties to get or set the scale of an object or character from a script (e.g. player.scale_z = 0.5)
  • Added ability to define terrain types for pushable objects in the Map Editor (similar to vehicle terrain types)
  • Added “Set Terrain Types” scripting function to change the terrain types of characters/vehicles/pushable objects (e.g. set_terrain_types(entity[“xyz”], PROHIBIT_FROM, array[“water”]) - visual node coming soon)
  • Added ALL, PROHIBIT_FROM, RESTRICT_TO constants to the Bauxite scripting language for use with the “Set Terrain Types” function
  • Added in-game free camera mode for debugging and other purposes (toggled via “noclip” command from the debug console)
  • Added absolute value, floor, and ceiling math functions to the Bauxite language (e.g. abs($num), floor($num), ceil($num))
  • Added ability to get and set the cost of an item in a widget's shop item slot using the ”.cost“ syntax (e.g. widget[“my_shop”].element[“0001”].cost)
  • Added ability to get the cost of an item (as defined in the Item Editor) from a script using the ”.cost“ syntax (e.g. item[“ITEM_0001”].cost)
  • Added ability to hide/show widget elements using a new “visible” property (e.g. widget[“my_widget”].element[“0001”].visible = false)
  • Added “Missing Dependencies” check to the Map Editor when saving maps in order to prevent them from becoming corrupted in cases where models they used were renamed or deleted
  • Added buttons to the About dialog for Reddit and YouTube that link to the official subreddit and YouTube channel for RPG in a Box
  • Added button to the About Dialog for viewing the license text of SFXR (on which the Sound FX Generator is based) in a popup box
  • Added “Connect with RPG in a Box” section at bottom of Game Manager with links for social media and other related sites
  • Updated pushing functionality to also allowing pulling by directing the player character away from the object being pushed
  • Updated color palette in the Voxel Editor and Image Editor to support up to 256 colors instead of only 64
  • Updated “Predefined Animation Names” dialog in the Voxel Editor to include “push” and “pull” for character models (triggered when pushing/pulling objects)
  • Updated “Set Entity Tooltip” scripting function to support a third optional Boolean parameter to indicate whether or not the tooltip should always show
  • Updated editor to prevent deletion of models that are currently open in the Voxel Editor or that are used in any maps currently open
  • Updated Patreon credits in the About dialog to reflect the up-to-date levels for each patron based on the number of months pledged at each tier
  • Updated About dialog to include Oryx Design Lab credit for the Tiny Dungeon tileset (on which the Dungeon in my Pocket assets are based)
  • Fixed issue where the player would move in unexpected directions when using the standard camera with “relative to camera” movement and the camera was at a 45-degree increment
  • Fixed issue where the movement control type setting for projects would incorrectly default to “Tank” instead of “Relative to Camera” in certain scenarios
  • Fixed issue with Global Illumination in the Map Editor not recalculating map boundaries until toggled off then back on again (now only a “Bake” is required)
  • Fixed issue with data being null when using the “Load Data” function to load a JSON file that was previously stored without a password using the “Save Data” function
  • Fixed issue with “Set Entity Tooltip” not immediately updating the tooltip text when the entity's tooltip was currently being displayed
  • Fixed issue with visual scripts where nodes would display above the darkened overlay after moving them and then editing the source code
  • Fixed error that would occur in the Script Editor when the “Put Player” function was used without explicitly including the “Player Direction” argument (after applying the source code)
  • Documentation: Updated “Script Syntax” built-in docs to include info about custom functions along with some example code
  • Documentation: Updated “Script Syntax” built-in docs to include info about math functions (“round”, “mod”, “pow”, “sqrt”, “abs”, “floor”, and “ceil”)
  • Documentation: Updated “Scripting Reference” built-in docs to include function signatures for “Request Coordinate”, “Request Entity”, “Set Entity Scale”, “Set Entity Texture”, and “Set Terrain Types”

Release Notes for v0.7.2.1

December 20th, 2021


  • Added “Cast Shadows” setting to the Entity Properties panel in the Map Editor to indicate whether or not an entity should cast shadows
  • Added “Cast Shadows” setting to the Model Properties panel in the Voxel Editor (applied by default when placed into a map in the editor or via script)
  • Fixed issue where using orthogonal camera projection and free rotation would cause “relative to camera” player movement to behave unpredictably
  • Fixed issue with quick slot bar showing on the management screen even when it's disabled in the game configuration
  • Fixed issue with “Delete Spawn” button not working properly when attempting to remove an enemy spawn in the Combat Editor
  • Fixed issue where pressing the Delete key to remove an enemy from a enemy spawn would sometimes remove an enemy from the incorrect spawn
  • Fixed issue with “Duplicate Spawn” button not working properly when attempting to duplicate an enemy spawn in the Combat Editor
  • Fixed issue with “Duplicate Encounter” button not working properly when attempting to duplicate a random encounter in the Combat Editor
  • Fixed issue where “Heal Entity” and “Damage Entity” scripting functions were incorrectly applying values that were less than zero
  • Fixed issue where “Put Entity” scripting function was not considering the passability of characters on the target tile
  • Fixed issue where vehicle attack animations were no longer triggering properly when the player was in a vehicle

Release Notes for v0.7.2.0

December 16th, 2021


  • Added initial (experimental) implementation of enemy spawns (configured in the Combat Editor then assigned to a group from the Map Properties panel in the Map Editor)
  • Added initial (experimental) implementation of pushable functionality (enabled for objects via the “Pushable” toggle button in the Map Editor, with a setting for push speed)
  • Added “Climb (One-Way)” navigation option to the right-click context menu when connecting climbable tiles in the Map Editor (to restrict characters to one direction)
  • Added “Forced/Automatic Climbing” setting for climbable tiles, which will force characters to continue climbing in their current direction when reaching that tile
  • Added animation override setting for climbable tiles to the Entity Properties panel in the Map Editor (will override the character's default “climb” animation)
  • Added ability to adjust the scale of objects and characters in the Map Editor from the Entity Properties panel
  • Added ability to raise and lower the placement grid level in the Map Editor in half tile width increments using Alt + Scroll Wheel
  • Added ability to create/edit 16×16 and 32×32 item images in the Item Editor (via the “plus” and “pencil” buttons next to the “Image” dropdown in the “Item Overview” area)
  • Added “Key Bindings” section to the Game Configuration dialog for defining custom key bindings that will perform in-game actions (either run a script or toggle the display of a widget)
  • Added ability to import from PNG image files into the Voxel Editor via the “Import from External Format” toolbar button (with a setting for X/Y pixel offset)
  • Added Voxel Editor settings for default state of the grid lines, voxel outlines, surface edges, ambient occlusion, and ground when opening models in the editor
  • Added ability to the Voxel Editor to select all voxels in the model's current frame by pressing the key combination Ctrl + A
  • Added ability to the Voxel Editor to cut the voxels currently selected to the clipboard by pressing the key combination Ctrl + X
  • Added “Default Scale” setting to the Model Properties panel in the Voxel Editor which will be automatically applied when an object or character is added to a map
  • Added built-in “spawn” animation type for entities that are added to the scene via “Add Tile”, “Add Object”, “Add Character”, or enemy spawn
  • Added ability to define custom death animations based on which weapon item killed a character(e.g. look for animation named “death_ITEM_0001” if killed with the item having ID “ITEM_0001”)
  • Added “Allow Mouse Look” gameplay setting to the Game Configuration dialog to allow disabling of mouse look when using the first-person camera type
  • Added “Limit Mouse Look” gameplay setting to the Game Configuration dialog to restrict the range of mouse looking (with settings for the maximum horizontal and vertical offset)
  • Added “Always Show Tooltip” setting to the Entity Properties panel in the Map Editor to indicate that the entity's tooltip should always display instead of only on mouse hover
  • Added “Quick Play” section to the Editor Settings dialog with an option for toggling availability of visual navigation debug paths (now disabled by default for performance)
  • Added “Save Data” scripting function for saving custom data with optional password parameter for encryption (e.g. save_data($my_var, “my_file”, “password”))
  • Added “Load Data” scripting function for loading custom data with optional password parameter when loading encrypted files (e.g. $my_var = load_data(“my_file”, “password”))
  • Added “Save Game” and “Load Game” scripting functions for calling the built-in save/load functionality (via the syntax “save_game()” and “load_game()”)
  • Added “Change Player” scripting function for swapping out the player character for another character (see documentation for usage details)
  • Added “codex” data type to the Bauxite language for storing a set of key/value pairs, where the key is a unique string and its value is any valid data type (e.g. $x = codex[“id”: “ITEM_0001”, “count”: 5])
  • Added support to the Bauxite language for referencing an objects attached to entities' attach points (e.g. player.attachment[“right_hand”] will be the object on the player's “right_hand” attach point)
  • Added random noise support to the Bauxite language (functions “get_noise_2d(x, y)” and “get_noise_3d(x, y, z)” will return a value between -1 and 1 for given position)
  • Added ability to seeds for random number generation and noise generation by assigning integer values to “global.random_seed” and “global.noise_seed”
  • Added debug console warning when attempting to use a non-numeric value for the index of an array in an assignment statement (e.g. $my_array[“x”] = “value”)
  • Added informational message to the debug console when using the “exec” command to indicate that the script has been successfully triggered
  • Added “Apply and Save” button when editing Bauxite code in the Script Editor that will apply changes and save the editor in one step
  • Added ability to press the ESC key while editing a script's source code in the Script Editor to cancel out of editing mode
  • Added 16×16 base feminine and masculine characters to the Asset Library (originally created as part of the monthly Patreon assets)
  • Updated “Add Tile”, “Add Object”, and “Add Character” scripting functions to return the newly added entity (e.g. to store in a variable: $new_tile = add_tile(“grass”, coord[0, 0, 0]))
  • Updated “Put Player” and “Put Entity” scripting functions to also support a coordinate or tile entity reference for the destination tile
  • Updated ranged weapon functionality in first-person mode to rotate the camera towards the target enemy if attacking from an angle
  • Updated weapon functionality to trigger attack animations for attached weapon objects if they have one that matches that of the animation name triggered for the character
  • Updated scripting to not throw an error when referencing a data file that doesn't exist (instead, null is returned and the script will proceed)
  • Updated filename validation when creating new assets to prevent creation of files with the same name but having different case
  • Updated data file functionality to now require ”.json“ extension when referencing custom data files from a script (i.e. data[“myfile.json”])
  • Updated “Justin” character in the Asset Library to include several new animations (“push”, “throw”, “shoot”, and “slide”)
  • Updated “Sarah” character in the Asset Library to include hand attach points and several new animations (“climb”, “interact”, “attack”, and “death”)
  • Updated speed of walk animations for space ranger characters in the Asset Library to match the speed of the new 16×16 base characters
  • Updated purple slime and red slime characters in the Asset Library to include spawn animations and made the purple slime's color more vibrant
  • Updated speed of walk animations for the purple slime and red slime characters in the Asset Library to achieve two bounces per tile instead of one
  • Updated Patreon credits in the About dialog to include levels for each patron based on the number of months pledged at each tier
  • Changed “Copy” and “Paste” buttons on the Model Tools panel to be icons only, added new button for “Cut” as well as tooltip text with shortcut key for each function
  • Changed ambient occlusion in the Voxel Editor to be disabled by default when opening models (default state can now be adjusted in the Editor Settings)
  • Changed wording of source code headers in the Script Editor, Map Editor, and Quick Script Builder from “Source Code” to “Bauxite Code”
  • Removed debugging text from the message that displays when the player has triggered a random encounter upon entering a tile
  • Fixed issue with the “Set Entity Script” function not working properly if no trigger type was explicitly specified when assigning a script to a tile
  • Fixed issue where using the “Unlimited Use” consumption type for weapons was preventing ranged weapons from working properly
  • Fixed issue with ranged weapons sometimes not working in first-person mode when the character's attack animation included a “projectile” attach point
  • Fixed issue with custom attack animations not working properly when configured for melee weapons (i.e. anything other than the default of “attack”)
  • Fixed issue that occurred when using the “Wait” function in a character's “On Death” script where the rest of the script would fail to execute
  • Fixed issue with starting the player character on a climbable tile when using the “Load Map” function (character would behave as if on a normal tile)
  • Fixed issue where some tile scripts were not triggering properly when climbing, mounting, or dismounting climbable tiles
  • Fixed issue where the climb up/down controls were not showing/hiding in certain cases when using the mouse to move the player character
  • Fixed issue with positioning of characters on climbable tiles not working properly in some cases when using “climb” attach points
  • Fixed issue with “Move Character” function not working for NPCs when required to climb up/down a climbable tile adjacent to their current tile
  • Fixed issue with quick slot bar interfering with mouse input when it's disabled in Game Configuration (e.g. when attempting to rotate the camera with the mouse)
  • Fixed issue that would occur when choosing the “Use Global Script” option for a tool item then saving the Item Editor without selecting a script
  • Fixed issue where the “Use ID string only” checkbox was sometimes not displaying in the Entity Expression Builder when initializing the dialog from an ID string
  • Fixed issue with string values not being enclosed in quotes when contained within an array and the containing array is printed or displayed
  • Fixed issue with not being able to use references to values by index in arithmetic operations (e.g. $x = $my_array[0] + 1)
  • Fixed issue where using an assignment statement to set a value by key within data loaded from a JSON file was not properly changing the value (e.g. $my_data[“key”] = “value”)
  • Fixed issue where the subsequent frame of a model would incorrectly display when a “Ping Pong” or “Ping Pong Once” animation had the same start frame and end frame
  • Fixed issue where “Load Game” and “Continue” would incorrectly display on the Option/Pause menus if the game had been previously saved and then “Saving” was disabled
  • Fixed issue with “Add Item To Container” function not properly returning the number of items that were successfully added to the container
  • Fixed issue with “Add Item To Container” function not working properly for containers that were initially empty (unless they had been opened once by the player)
  • Fixed issue that would occur when following a scripting function with an assignment expression that stored a value returned from a function into a variable
  • Fixed issue where item icon popups weren't displaying when enabled and calling “Give Item” as part of an assignment statement (e.g. $count = give_item(“ITEM_0001”, 5))
  • Fixed issue where capturing an image in the Map Editor would result in an image format error in the console and the target image file would be empty
  • Fixed issue where the positions of marker icons were not being updated when changing the initial frame of an entity in the Map Editor
  • Fixed issue with invalid sound effect assigned to the “dungeon_gate” sample model's animations causing a debug console error to display when the animation was triggered
  • Documentation: Added initial version of built-in docs for the “Apply Lighting Preset” and “Change Player” scripting functions
  • Documentation: Updated “Global Event Scripts” built-in docs to include info for “Character's Health Changes”, “Character Enters a Tile”, “Character Stops on a Tile”, and “Character Exits a Tile”
  • Documentation: Updated “Climbing” built-in docs to include info for one-way climbing, forced/automatic climbing, and climb animation override
  • Documentation: Updated “Put Player” and “Put Entity” built-in docs to reflect that the target tile can now be an entity reference or coordinate
  • Documentation: Updated “Map Editor” built-in docs to include info about using Alt + Scroll Wheel to raise and lower the placement grid level in half tile width increments
  • Documentation: Updated “Map Editor” built-in docs to include info about holding ~/` to hide all visual indicators or Shift + ~/` to toggle all of them off
  • Documentation: Updated “Tile” built-in docs to include info about most recent properties (type, model, frame, animations, terrain type, attach points, and waypoints)
  • Documentation: Updated “Object” and “Character” built-in docs to include a list of all properties that can be accessed from scripts
  • Documentation: Updated “Game Controls” built-in docs to include info about pressing F12 to take an in-game screenshot and where they are stored
  • Documentation: Updated “Predefined Animation Names” built-in docs to include info about latest types (“climb” for characters, “move” and “attack” for vehicles, and “spawn” for all entities)
  • Documentation: Updated “Scripting Reference” built-in docs to include signatures for latest scripting functions

Release Notes for v0.7.1.1

October 19th, 2021


  • Fixed “Node::get_child: Index p_index=0 out of size” console errors that would sometimes occur on startup or when opening an asset within an editor
  • Fixed issue where the debug console was incorrectly auto-displaying scripting errors when the debug console was disabled
  • Fixed issue where the default zoom value was incorrectly clamped to 120 if set higher (after restarting the application and opening the Game Configuration)
  • Documentation: Added initial version of built-in docs for weapons (including a guide for setting up ranged weapons)

Release Notes for v0.7.1.0

October 15th, 2021


  • Added new tool item setting in the Item Editor allowing a global script to be assigned to the tool (instead of the default behavior that uses the target entity's script)
  • Added ability to drag and drop existing nodes (without children) in the Dialogue Editor to move them to a different position within the dialogue
  • Added new “compact mode” for nodes in the Dialogue Editor that can be toggled on and off via a button on the node's titlebar
  • Added support for new “Offset” portrait position to the Theme Editor and related dialogue functionality (image is displayed outside of the dialogue box along the side)
  • Added ability to specify which side a character's portrait should be displayed on (i.e. left vs. right) to the “Player” and “NPC” node types in the Dialogue Editor
  • Added ability to specify that a character's portrait should be flipped horizontally to the “Player” and “NPC” node types in the Dialogue Editor
  • Added option to the Dialogue Editor section of the Editor Settings dialog for customizing the color of connection lines
  • Added option to the Dialogue Editor section of the Editor Settings dialog for customizing the color of the pending placement indicator/highlight
  • Added option to the Dialogue Editor section of the Editor Settings dialog for enabling the “compact mode” setting on the Dialogue Tools panel by default
  • Added option to the General section of the Editor Settings dialog specifying the default model filter (i.e. filter by name vs. filter by tag)
  • Added ability to set the sun's latitude and longitude (i.e. height and direction) from the Procedural Sky Settings dialog in the Map Editor
  • Added ability to rotate the preview camera on the Procedural Sky Settings dialog (with direction indicator and buttons to reset the camera and invert the mouse y-axis)
  • Added ability to set the default initial frame for a model in the Voxel Editor which will determine the frame that is shown by default when added to a map
  • Added option to the “Preview Attached Objects” dialog in the Voxel Editor to allow selection from any available attach points on the object being attached
  • Added button to the Voxel Editor toolbar for hiding/showing the indicators (i.e. boxes with link icons) shown at the model's attach point locations
  • Added ability to save camera positions in the Voxel Editor via the camera view panel in the lower right hand corner of the viewport
  • Added Global Event Script option for “Character Enters a Tile” (in the script, “self” will reference the tile and “initiator” will reference the character)
  • Added Global Event Script option for “Character Stops on a Tile” (in the script, “self” will reference the tile and “initiator” will reference the character)
  • Added Global Event Script option for “Character Exits a Tile” (in the script, “self” will reference the tile and “initiator” will reference the character)
  • Added Global Event Script option for “Character's Health Changes” (in the script, “self” will reference the character and the variable “$amount” will reference the amount their health changed by)
  • Added option to the Map Editor for saving lighting settings into presets which can then be applied within the editor or in-game via the new “Apply Lighting Preset” function
  • Added new scripting function “Change Camera” for switching the camera between Standard and First-Person
  • Added new scripting function “Apply Lighting Preset” to apply a lighting preset to a map over a duration of time or instantly
  • Added new scripting function “Set Ambient Light Intensity” to change the intensity of the map's ambient light (instantly or over time)
  • Added new scripting function “Set Directional Light Intensity” to change the intensity of the map's directional light (instantly or over time)
  • Added visual script nodes to the Script Editor for the “Apply Lighting Preset”, “Set Ambient Light Intensity”, and “Set Directional Light Intensity” functions
  • Added constants for entity types (TILE, OBJECT, CHARACTER) to the Bauxite language (equivalent to the strings “tile”, “object”, and “character”)
  • Added new built-in entity properties for getting various string type values: ”.model“ (name of model, e.g. “grass”), ”.type“ (constant value: TILE, OBJECT, or CHARACTER) and ”.terrain_type“
  • Added new built-in entity properties for getting various array type values: ”.animations“, ”.attach_points“, and ”.waypoints“
  • Added new built-in entity property ”.frame“ for getting or setting an entity's current animation frame (e.g. self.frame = 2)
  • Added initial support for emissive colors to the Voxel Editor (for use along with the “Global Illumination” and “Glow” map lighting options)
  • Added initial support for glow lighting effect to the Map Editor (for use along with the “Global Illumination” option and emissive colors)
  • Added ability to disable all visual indicators in the Map Editor by pressing Shift + ~/` (previously the only option was to hide them temporarily by holding the ~/` key)
  • Added “Hide Invalid Tiles” option to the Editor Settings dialog for hiding tiles on the resource panel that don't match the currently active map's tile width
  • Added initial support for random encounters to the Combat Editor (with option to define a list of possible battles and the chance that each can occur)
  • Added ability to take screenshots by pressing F12 in-game (images are saved into the user's pictures folder within a subfolder for the game)
  • Added icon for the enemy count setting shown when an enemy is selected in the Combat Editor's “Battles” section
  • Updated Script Editor to disable the visual graph when editing the source code of a script to prevent changes to the visual nodes
  • Updated script, item container, platform, and vehicle sections of the Entity Properties panel in the Map Editor to scroll as much into view as possible when expanded
  • Updated Voxel Editor and related model functionality to support odd voxel grid dimensions for models (previously limited to only even dimensions)
  • Updated calculations for vertical positioning of characters to consider height of voxels on both sides of the center line (for tiles with even dimensions)
  • Changed default angle of the directional light in newly created maps to be pointing straight down (i.e. high noon)
  • Changed filter box along top of the tile/object/character panels to filter by name as the default option (instead of by tag)
  • Changed some of the sections in the Combat Editor to be collapsed initially (those other than the General, Battles, and Enemies sections)
  • Updated icon for the “Battles” header in the Combat Editor to a new crossed swords icon in place of the original single sword icon
  • Updated hover highlighting for placeholder dialogue nodes in the Dialogue Editor to match the pending placement color (customizable from the Editor Settings dialog)
  • Changed label wording on the Map Properties panel to use “Intensity” instead of “Energy” to match the scripting functions for lighting
  • Removed OBJ option from the Voxel Editor's “Export to External Format” dialog until the functionality has been fixed for a future update
  • Fixed issue where using a duration of zero for the “Set Ambient/Directional Light Color” and “Set Entity/Group Light Color” functions would cause them to fail
  • Fixed issue where using a duration of zero for the “Set Entity Light Intensity/Diameter/Attenuation” functions would cause them to fail
  • Fixed issue with “Add Character” scripting function not considering the passability of characters on the target tile
  • Fixed issue where double-clicking a function in the script function list added it to the visual graph instead of the source code when editing the script's source code
  • Fixed issue with sound dropdown on the “Play Sound” visual script node not clipping sound names that were longer than the width of the dropdown
  • Fixed issue with player character's “direction” property not being correct in some cases when climbing a climbable tile and accessing the property via script
  • Fixed issue where using “player.direction” to set the player character's direction in first-person mode wasn't updating the camera's direction
  • Fixed issue where a vehicle's model wasn't rotating when the player turned while operating the vehicle in first-person mode
  • Fixed issue with climbing functionality not working in first-person mode (pressing “C” to climb will now properly cause the player to start climbing)
  • Fixed issue with attaching an object to a model in the Voxel Editor when the current frame didn't have an attach point with the ID being assigned
  • Fixed issue with the “Remove surfaces along grid boundaries” transparency setting in the Voxel Editor no longer working properly
  • Fixed issue where platform-related properties weren't being carried over to the new tile when replacing an existing tile in the Map Editor
  • Fixed errors that could occur when using box mode to place tiles in the Map Editor and adjusting the dimensions of the pending area
  • Fixed issue where the Map Editor crosshair was not being hidden when holding down the ~/` key to hide extras
  • Fixed issue where part of the Map Editor crosshair graphic would sometimes incorrectly display after releasing the ~/` key to hide/show extras
  • Fixed issue where newly created maps that hadn't been edited/saved would be marked as having changes the first time being opened in the Map Editor each session
  • Fixed issue with initial angle of a newly created map's directional light not being consistent with the horizontal/vertical values displayed on the Map Properties panel
  • Fixed issue where models created using the “Save As” feature weren't displayed in the recent file list until the application was restarted
  • Fixed errors that would occur when disabling the “Light Source” setting for a model and then opening a map using that model in the Map Editor
  • Fixed issue where the camera could sometimes not be zoomed in or out during menu-driven combat
  • Fixed issue with the portrait preview image sometimes displaying incorrectly after changing its position in the Theme Editor
  • Fixed issue where dragging a function onto a blank line in the source code area of the Script Editor created an extra semicolon on its own line
  • Fixed issue with incorrect vertical scrollbar colors in the Dialogue Editor when using the Obsidian theme
  • Fixed typo in description of the “Reset Map” function in the list of scripting functions in the Script Editor

Release Notes for v0.7.0.0

July 30th, 2021


  • Added initial implementation of ranged weapons (with settings for range, projectile speed, and consumption types for unlimited use, single use, and requiring ammo items by ID or tag)
  • Added “Weapon” setting to the Item Editor for indicating that an equippable item should behave as a weapon (with options for “Melee” and “Ranged” and an attack animation override)
  • Added ability to preview objects on attach points in the Voxel Editor (via buttons on main toolbar and next to attach point list on the Model Properties panel)
  • Added button to the Voxel Editor toolbar for toggling the visibility of objects currently attached to the model's attach points
  • Added ability to specify that an object attached to a model's attach point in the Voxel Editor should also be automatically attached in-game
  • Added ability to define mesh type overrides for voxel groups in the Voxel Editor (e.g. to force a group to use the classic mesh type when the base type is set to Marching Cubes)
  • Added button to the Model Tools panel for adding selected voxels to a group as an alternative to using the “G” shortcut key
  • Added “Display Choices” scripting function that presents a set of choices to the player in a dialogue box and returns the resulting choice for storing/evaluating
  • Added optional second parameter to the “Display Message” scripting function for specifying a speaker entity (e.g. display_message(“Hello, I'm the player!”, player))
  • Added shortcut key (“Y”) for toggling the “Random Rotation” option on and off when using the Map Editor's placement tool
  • Added shortcut key (“U”) for toggling the “Auto-Connect Navigation” option on and off when using the Map Editor's placement tool
  • Added “Run Script” option to the “Interaction by Player” and “Next to Player” NPC behavior settings on the Entity Properties panel in the Map Editor
  • Added “On Death” option to the NPC behavior settings in the Map Editor for triggering a script after the NPC is killed
  • Added initial implementation of menu-driven combat (available as a new battle type named “Menu-Driven Turn-Based” in the Combat Editor)
  • Added battle settings to the Combat Editor for defining scripts to trigger based on the battle's outcome (i.e. victory or defeat)
  • Added ability to adjust the Bauxite code's font size in the Script Editor and Quick Script Builder using Ctrl + Scroll Wheel
  • Added ability to resize the Quick Script Builder by clicking and dragging the sides or corners of the dialog box
  • Added “Array” as an option for the Variable Expression Builder dialog for easily setting up an array from a list of values
  • Added “Variable” as left and right operand options for the Conditional Expression Builder dialog and as an option for the Variable Expression Builder dialog
  • Added “Recent” tab for quickly accessing recently opened files (alongside the “Game Explorer” and “Favorites” tabs)
  • Added button to the Game Explorer and Favorites toolbar for quickly accessing the Game Configuration dialog (as an alternative to double-clicking the Game Explorer list item)
  • Added option to the Editor Settings dialog for choosing which file tab to show by default upon startup of the application (Game Explorer, Favorites, or Recent)
  • Added ability to change the data type of existing custom properties on the Model Properties and Entity Properties panels (by clicking icon that displays the current type)
  • Added ability to change the data type of existing properties on the Global Properties tab of the Game Configuration dialog (by clicking icon or text that displays the current type)
  • Added ability to set custom images (normal and hover) for the management screen's close button from the properties panel of the Screen Editor
  • Added ability to specify a custom widget to use for a character's equipment on the Model Properties tab (to override the built-in “equipment” widget)
  • Added buttons to the properties panel of the Screen Editor for hiding/showing the inventory and equipment toolbar buttons on the management screen
  • Added informational area to source code section's header in the Script Editor to display item info or function's signature and help button based on the cursor's current location or selection
  • Added ability to auto-fill parameter hints for scripting functions in the in-game debug console by entering a function name then pressing the Tab key
  • Added informational popup that displays when attempting to rename a platform waypoint to a name that already exists
  • Added background panel to tool buttons (zoom in/out, etc.) in the Script Editor viewport to match the style of other editor panels
  • Added shortcut key (F8 or 8) to the Voxel Editor for switching to the “Create Attach Point” tool (for adding attach point locations to a model)
  • Updated type dropdown of “Custom Properties” section on the Model Properties and Entity Properties panels to include icons for each data type (i.e. String, Number, and Boolean)
  • Updated script syntax to support coordinate x/y/z values on the left side of assignments when the coordinate is stored in a local variable (e.g. $my_coord.x += 1)
  • Updated “contains” scripting syntax to support references to character inventories other than the primary player character (e.g. if party.member[“Sarah”].inventory contains “ITEM_0001” then)
  • Updated “contains” scripting syntax to support strings (for example, to check if a string contains one or more occurrences of another string)
  • Updated “Display Message” visual script node to include a field for specifying an optional speaker entity to speak the message
  • Updated vehicle functionality to trigger the vehicle's “attack” animation and face towards the target when attacking from a vehicle
  • Updated “Predefined Animation Names” dialog in the Voxel Editor to include “attack” for object models (triggered when fighting from an object used as a vehicle)
  • Updated platform waypoint list on the Entity Properties panel to allow renaming or removal of the platform's “Default” waypoint
  • Updated Variable Expression Builder dialog to ensure that the currently selected type in the list is visible when first opening the dialog
  • Updated consumable item functionality to store the consumed item's ID into a local variable ($item_id) for its assigned script to reference
  • Updated maximum value for item cost in the Item Editor to 1 billion instead of the previous limit of 1 million
  • Updated “Recent Items” section (shown in the center of applicable editors when no files are opened) to include an hourglass icon next to the header text
  • Updated “Remove Item” scripting function to also consider items in the character's equipment slots instead of only storage slots
  • Updated “Give Item” and “Remove Item” scripting functions to support an optional third parameter to specify the target character (defaults to current player character)
  • Changed “Give Item” and “Remove Item” scripting functions to affect the active party member during turn-based battles instead of always the primary player character
  • Updated “Equip Item” scripting function to now require the target character to first have the item before equipping it
  • Updated “Equip Item” and “Unequip Item” scripting functions to also equip/unequip the item into/from equipment slots in applicable widgets
  • Changed “self” keyword in widget button scripts to reference the button element itself instead of the parent widget ($widget variable can be used to get the parent widget)
  • Changed wording of default mesh type on the Model Tools panel in the Voxel Editor from “Default” to “Classic”
  • Changed ordering of “Add to Favorites” button on the Game Explorer toolbar to be positioned before the “Delete Resource” button
  • Moved “Management Screen Widgets” setting from the Game Configuration dialog to the management screen's properties panel in the Screen Editor
  • Fixed issue with “Override Animation” scripting function not working properly in some cases when triggered for the same animation multiple times in a row
  • Fixed issue where references to properties of widget elements (i.e. text, image, script, item) was not being accepted as valid syntax when the element was stored in a variable
  • Fixed issue where the “Passable” character property was not being considered when using keyboard controls to move (preventing the player from moving through NPCs set as passable)
  • Fixed issue where the “Custom Properties” list in the Voxel Editor was not being refreshed when opening an object or character
  • Fixed issue where properties for entities in the “Custom Properties” list could lose their values after being renamed more than once
  • Fixed issue where using Ctrl+D to duplicate a frame in the Voxel Editor was sometimes handled by the most recently opened model tab instead of the currently visible one
  • Fixed issue where the player character's attachments were not being updated in “3D Model” widget elements when objects were attached/detached via a script
  • Fixed issue where the camera type would revert to “Standard” after choosing “First-Person” and then returning to the Game Configuration dialog
  • Fixed issue where changing a character's health in the Voxel Editor was not being propagated to characters already placed into a map
  • Fixed issue where a waypoint could be added to a platform tile at a coordinate with a waypoint already defined
  • Fixed issue where a widget wouldn't be hidden when returning to the game if it was hidden via the “Hide Widget” function while the management screen was open
  • Fixed issue where the pause menu wouldn't open (or the inventory/item container widget wouldn't close) when ESC was pressed with the management screen disabled
  • Fixed issue where cursor image wasn't displaying the item count when picking up an item stack from an equipment slot
  • Fixed issue where the Item Editor would sometimes display translation IDs instead of the translated item names when localization was enabled
  • Fixed issue with “For Loop” and “Assign Value” visual script nodes where a variable name was being accepted as valid in some cases where it shouldn't be
  • Fixed issue with “Add Tile” scripting function incorrectly allowing tiles of the wrong dimensions to be added to a map
  • Fixed issue where the player would start strafing in first-person mode when holding the turn left/right key and then letting go of the forward key or running into an obstacle
  • Fixed issue where player's movement direction wasn't changing in first-person mode when holding down the forward key and then using mouselook to change the view direction while walking
  • Fixed several inventory/equipment widget issues when using the management screen for a party member during turn-based combat
  • Fixed several debug console error messages for the “Equip Item” and “Unequip Item” functions to properly show the required data type when an incorrect type was used
  • Fixed some in-game crashes that could occur when modifying a widget's text label or when a widget was refreshed after a property's value had changed
  • Fixed console error that could occur when toggling the “Stackable” property for a newly created item in the Item Editor
  • Fixed item related errors that would sometimes display in the console when exiting to the Game Manager
  • Documentation: Added initial version of built-in docs for the new “Display Choices” scripting function
  • Documentation: Updated built-in docs for “Script Syntax” to include additional “For Loop” example showing how to iterate over an entire array
  • Documentation: Updated built-in docs for “Scripting Reference” to add some missing optional parameters and a note about optional parameters being marked with an asterisk
  • Documentation: Updated built-in docs for “Entity” to include note about the “player” keyword returning the active or most recently active party member during turn-based battles
  • Documentation: Updated built-in docs for “Entity” to include note about using “player” as a party member ID to get the primary player character (i.e. party.member[“player”])
  • Documentation: Updated built-in docs for “Button” to include note about “self” keyword referencing the button element and the $widget variable referencing the parent widget
  • Documentation: Updated built-in docs for “Display Message” to include info about the optional “speaker” parameter and to fix a formatting issue with the “Visual Demo” header
  • Documentation: Updated built-in docs for “Equipment Slot” to correct some info about tag requirements for items equipped to equipment slots

Release Notes for v0.6.4.0

April 30th, 2021


  • 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
  • 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.<property>” 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”
  • Documentation: 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
  • Documentation: Updated built-in docs for “Tile” to include a list of properties that can be accessed from scripts
  • Documentation: Updated built-in docs for “Script Syntax” to include info about the “str” and “num” functions for converting between strings and numbers
  • Documentation: Updated built-in docs for “Script Syntax” to include a note about the “Array” documentation now containing info regarding array manipulation functions
  • Documentation: Updated built-in docs for “Placeholder Expression” to include an informational note about using them sparingly in scripts
  • Documentation: 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
  • Documentation: Updated built-in docs for “Data Files” to include the dollar sign prefix for variable names in the Bauxite examples

Release Notes for v0.6.3.2

February 25th, 2021


  • Added support for multiple scripts per tile (scripts can now be assigned for each trigger event instead of being limited to just one)
  • Updated script section of properties panel for objects to include “Trigger Event” dropdown (with only the existing “Character interacts” option for now)
  • Updated “Add Object” and “Add Character” scripting functions to support a direct tile reference for the target instead of requiring its ID or coordinate
  • Updated error handling for the “Add Object” scripting function to properly catch invalid types passed as parameters
  • Updated error handling for the “Set Entity Script” scripting function to properly catch invalid trigger type values for tile scripts
  • Updated style of the Ambient Light and Directional Light sections of the Map Properties panel to match other settings sections
  • Fixed issue where attach points couldn't be moved after being renamed in the Voxel Editor (until the model was reopened)
  • Fixed issue where dialogue marker icons were not being removed when placing a character with a default dialogue in the Map Editor then undoing the action
  • Fixed issue where the states of widget elements (items in slots, text within fields, toggle button states, etc.) were not being stored when saving a game
  • Fixed issue where equipped items were not being stored when saving a game (causing “Unequip Item” attempts to fail after loading the saved game)
  • Fixed issue where a character's currency amount was not being stored when saving a game and therefore not being restored after loading the saved game
  • Fixed issue with “Add Object” scripting function where objects could be placed onto tiles already occupied by an object or NPC
  • Fixed issue with “Add Tile”, “Add Object”, and “Add Character” scripting functions not properly validating the entity ID when provided
  • Fixed issue where platforms would not resume their movement upon returning to a map when the player left the map while the platform was still moving
  • Fixed issue with global properties not being reset after a game was restarted (after the player is defeated or via the “Restart Game” function)
  • Fixed issue with references to party members (i.e. party.member[“member_id”]) stored in variables or properties not working correctly when later referenced
  • Fixed issue with widgets not being visible after a game was restarted (after the player is defeated or via the “Restart Game” function)
  • Fixed issue with widget text fields sometimes reverting to their original text value (e.g. when modifying the text of another element)
  • Fixed issue where the states of widget elements were not being properly reset when a game was restarted
  • Fixed issue with the widget toolbar not displaying on the management screen when an item container was opened without having first opened the management screen
  • Fixed issue with item tooltips not being hidden when the widget containing the corresponding item slot was hidden with the “Hide Widget” function
  • Fixed issue with entity tooltips not being hidden after the corresponding entity was removed from the scene

Release Notes for v0.6.3.1

February 13th, 2021


  • Added initial functionality for dropping items (left click anywhere in the game world to drop the item currently being held with the cursor)
  • Added “Can Be Dropped” setting to the Item Editor for specifying whether or not an item can be dropped (enabled by default)
  • Added “Tool Item” setting to the Item Editor for indicating that an item is a tool (in preparation for future functionality)
  • Added options to the Game Configuration's Sound Effects section for “Item Grab” and “Item Drop” (played when grabbing/dropping items within widgets or from/onto the ground)
  • Added console command to enable a new debug mode (“debug on” and “debug off” to enable/disable), with initial functionality of displaying IDs in item tooltips
  • Updated usage text for the debug console to include the new debug mode command and to combine the “nav on”/“nav off” usage info into one line
  • Updated wording of the labels for the toolbar icon fields on the Widget Properties panel to be more descriptive (i.e. “Toolbar Icon” instead of “Image”)
  • Fixed issue where using Shift + Left Click to transfer items between the player's inventory and containers wasn't checking to ensure an open slot existed
  • Fixed issue where the item container screen would be empty when opening a container after having previously displayed a message via “Display Message”
  • Fixed issue where defeated real-time enemies were not being removed from the map when damage shake/flash was disabled
  • Fixed issue where the player could exit a vehicle via Ctrl + Left Click while the vehicle was still moving
  • Fixed issue with the fill tool in the Map Editor causing a crash when used with the contiguous option on certain map layouts
  • Fixed issue with the inventory widget not reappearing after a dialogue/message if it had been opened prior to the start of the dialogue/message
  • Fixed issue with mouse input that would sometimes occur when closing an inventory widget then reopening the management screen and the widget
  • Fixed release date year for the v0.6.3.0 change log from 2020 to 2021

Release Notes for v0.6.3.0

February 5th, 2020


  • Added the ability to copy and paste voxels in the Voxel Editor (via Ctrl+C and Ctrl+V or the “Copy” and “Paste” buttons on the Model Tools panel)
  • Added ability to combine items into a stack and to split item stacks by holding Ctrl key to grab one at a time
  • Added gameplay mechanic setting to the Game Configuration dialog for adjusting the fog of war distance
  • Added setting to widgets for displaying an “X” close button in the titlebar (configurable from the Widget Properties panel when the titlebar is enabled)
  • Added tooltip and hover graphics functionality for widget item slots (storage slots, equipment slots, and crafting input slots)
  • Added preliminary built-in widget for Equipment with a player model element and slots for the default slot IDs of “head”, “left_hand”, and “right_hand”
  • Added “Capture Image to File” functionality to the Map Editor for capturing a region of the viewport to a PNG file (similar to Voxel Editor)
  • Added “Embark Script” option for objects configured as vehicles in the Map Editor (triggers when the player character enters the vehicle)
  • Added lock icons next to the built-in widgets in the Widget Editor toolbar dropdown to indicate that they can't be edited
  • Added option to the Main Main Editor for specifying whether or not NPCs are allowed to move around when the Main Menu uses a background map
  • Added Steam rich presence value for “Game Configuration” that will display while in the game config dialog
  • Added “General” section to the Combat Editor with initial options for changing the default damage sound effect and toggling the damage shake/flash effect
  • Added editor setting for selection color to the Voxel Editor section and changed the default color to #DFFF00
  • Added placeholder “Screens” tab to the UI Editor in preparation for future functionality (currently this tab only displays a preview of the management screen)
  • Converted the built-in inventory and item container windows over to the new widget system to allow for easier customization in the future
  • Improved keyboard and gamepad movement to be more fluid when controlling the player character (should require less releasing/pressing to continue moving)
  • Changed item quick slot controls to use left-clicking for item usage and right-clicking for clearing the quick slot
  • Updated Widget Editor to allow built-in widgets (inventory, item container, and quick slot bar) to be duplicated into a custom widget
  • Updated item quick slots to display hover graphics and hand interaction cursor when appropriate
  • Updated shop item slots to show an item tooltip upon hovering (including the cost of the item set in the Item Editor)
  • Updated in-game cursor to display how many of an item is currently being held when transferring stacked items
  • Updated “Show Toolbar” and “Hide Toolbar” scripting functions to only work when the Management Screen is enabled
  • Updated turn-based battles to display a health bar over the main player character instead of only over the other party members
  • Updated health bar in the lower left corner to display the active party member's health during turn-based battles (and to be hidden during an enemy's turn)
  • Updated turn-based battle interface to hide the “End Turn” text while the Management Screen is open
  • Updated vehicle interaction to require the “Walk and Interact” path type between the player character's tile and the vehicle's tile
  • Updated Management Screen in-game to remember any custom widgets that were opened when closing then re-opening the Management Screen
  • Moved “Management Screen” options to the “User Interface” section of the Game Configuration dialog (which is now enabled by default)
  • Moved script settings for “Trigger When” and “Triggerable by NPCs” below the source code area on the Entity Properties panel of the Map Editor
  • Enabled caret blinking functionality for various text fields throughout the editor interface
  • Changed default cursor color to #A040FF and default surface edge color to #FF0080 in the Voxel Editor
  • Fixed issue where “Craft Item by ID” widget buttons were not working properly when a recipe required more than one of a particular item
  • Fixed widget element errors that would fill the console when changing the player character's model using the “Set Entity Model” function
  • Fixed issue with 3D model widget elements not being updated when the player character's model was changed
  • Fixed issue with the player's minimap position not being updated in widgets after the player's character model was changed
  • Fixed issue with the indicator for the player's position displaying in the incorrect location in minimap widget elements
  • Fixed issue where items equipped to the player via scripts would not be reflected in 3D model widget elements (when configured with attach points)
  • Fixed issue with item tooltips not being hidden when using the “I” key to close the inventory
  • Fixed issue with entity tooltips not being hidden when using the “I” key to open the inventory
  • Fixed issue with item slot hover graphic not being cleared when using the “I” key to close the inventory
  • Fixed issue where the game cursor and entity tooltip were not being properly cleared when the mouse cursor moved into a widget
  • Fixed issue with positioning of fixed (i.e. non-draggable) widgets when the game was fullscreen or using a window size greater than 1280×720
  • Fixed issue with dialogues failing to start when they were triggered from a button's script within a widget
  • Fixed issue with the frame image not showing properly for newly created widgets (showed as solid blue background instead of the default graphics with rounded borders)
  • Fixed issue with moving an element onto an invalid position in the Widget Editor (element will now revert to its original position instead of being removed)
  • Fixed issue where a element's type icon would inadvertently reappear after moving the element when type icons were disabled on the Widget Editor toolbar
  • Fixed issue where a newly duplicated widget sometimes couldn't be selected from the dropdown in the Widget Editor until re-opening the project
  • Fixed issue with entity references in scripts not being properly converted to strings before being concatenated with another value and displayed
  • Fixed some cases where a script or dialogue could fail when the built-in “self” variable referenced an entity that was previously removed from the scene
  • Fixed issue where items couldn't be equipped to equipment slots if the project did not yet have a “stats.json” file
  • Fixed issue where the matrix dropdown was not being hidden when first importing a QB model into the Voxel Editor and then selecting a VOX file to import
  • Fixed issue where the maximum value for “Initial Frame” was not being properly set in the Map Editor based on the selected entity
  • Fixed issue where “Initial Frame” was not being applied to the model in the Map Editor until focusing another field or selecting another entity
  • Fixed error that occurred in the Map Editor when selecting an item container containing an item that no longer exists
  • Fixed issue where item containers would display with an empty slot in-game when an item in the container had been removed from the item database
  • Fixed surface edge issues that could occur when importing a VOX model with multiple frames into the Voxel Editor
  • Fixed issue where pressing the Enter key in direct entry fields of visual script nodes would insert a line break
  • Fixed issue where the properties tab would incorrectly display Widget Properties when a project was first opened
  • Fixed issue with changes to item costs not working properly in the Item Editor and costs inadvertently defaulting to 15 in-game
  • Fixed wording on “Terrain Types” dialog when setting the terrain types for a vehicle in the Map Editor (changed “character” to “vehicle”)
  • Documentation: Added initial version of built-in docs for “Vehicles” and “Terrain Types”

Release Notes for v0.6.2.0

December 12th, 2020


  • Added “Item Storage Slot” as an available element type in the Widget Editor (slot that allows the player to store items into)
  • Added “Equipment Slot” as an available element type in the Widget Editor (allows the player to equip an item to a particular slot ID)
  • Added “Crafting Input Slot” as an available element type in the Widget Editor (slot that is used along with a button having the “Craft Items” action type)
  • Added “Shop Item Slot” as an available element type in the Widget Editor (with initial settings for item and item count)
  • Added “Button” as an available element type in the Widget Editor (with settings for text and image and action options of “Run Script”, “Close Widget”, “Craft Items”, and “Craft Item by ID”)
  • Added “Text Field” as an available element type in the Widget Editor (with initial settings for font, font size, and read-only state)
  • Added “Text Label” as an available element type in the Widget Editor (with initial settings for font and font size)
  • Added “Progress Bar” as an available element type in the Widget Editor (with ability to set expressions for current value and maximum value)
  • Added “3D Model” as an available element type in the Widget Editor (initially limited to displaying the player character's model)
  • Added “Minimap” as an available element type in the Widget Editor (initially limited to the existing minimap functionality displayed within the element's area)
  • Added visual script nodes to the Script Editor for “Show Widget” and “Hide Widget” functions
  • Added “Help” button to the Widget Editor toolbar that will jump to the editor's built-in documentation
  • Added description text box and “View Full Documentation” button at the bottom of the Widget Tools panel
  • Added toolbar button to Voxel Editor for capturing an image to a file (from a region of the viewport, similar to character portrait capturing)
  • Added initial management screen functionality in-game (off by default for now, can enabled in settings via Game Configuration → Experimental)
  • Added initial auto-tiling functionality to the Map Editor (“Single” placement mode only for now - use the new “Create Auto-Tiles” button on the Map Editor toolbar to set up a tileset)
  • Added initial functionality for multi-tile (2×2) characters (to use, set the character's “Size in Tiles” property in the Voxel Editor before placing them into a map)
  • Added options to the “Default Tab” editor setting for each specific UI Editor sub-tab (Theme, Widgets, Main Menu, and Credits)
  • Updated item references in scripting to include support for getting ID and count (for item slot widget elements: $widget.element[“0001”].id)
  • Changed tag and name filtering for models in the right-hand side preview list to be case-insensitive
  • Fixed issue with attach point scale values not being properly applied when the values differed throughout a model's animation
  • Fixed issue where attach point markers were not being hidden when capturing a portrait/thumbnail or holding back quote to hide extras in the Voxel Editor
  • Fixed issue with the default zoom level in gameplay settings being incorrectly limited to the current min/max zoom values when “Allow Zooming” was disabled
  • Fixed issue with custom speaking sounds for characters not working properly during dialogues (default would always be used instead)
  • Fixed issue with maximum margin values not being updated based on image size when an image element was selected in the Widget Editor
  • Fixed issue with the game's theme not properly reverting to default settings after ending a dialogue where the last node had a theme override
  • Fixed issue where tiles would sometimes fail to be deleted in the Map Editor and errors would be displayed in the console window when attempting to remove them
  • Fixed issue with the Widget Editor inadvertently catching “Delete” key presses while in the Map Editor, preventing the key from properly deleting tiles and objects
  • Fixed issue with turn-based battles getting stuck when an enemy character had a movement range of zero
  • Fixed issue where using the “Navigation/Interaction” context menu in the Map Editor was not creating an undo action or marking the editor as having changes
  • Fixed issue where using “Load External Image” from the Image Editor dialog would sometimes result in the loaded image becoming distorted
  • Fixed issue with selection markers not being removed in the Widget Editor after selecting an element within a widget then switching to another widget
  • Fixed issue in the Item Editor where changes to an item's details would be lost if filtering the item list without first saving the changes
  • Fixed issue where saving the Item Editor when the item list is filtered would only save the items that were currently visible in the list
  • Fixed issue where dialogues could get stuck when the NPC's model was changed or when the NPC entity was removed during the conversation
  • Fixed issue where the control variable would have an extra dollar sign prefix when duplicating “For Loop” nodes in the Script Editor
  • Documentation: Added initial version of built-in docs for “Widget Editor”, “Widget”, and “Management Screen”
  • Documentation: Added initial version of built-in docs for widget elements “Item Storage Slot”, “Item Quick Slot”, “Equipment Slot”, “Shop Item Slot”, and “Crafting Input Slot”
  • Documentation: Added initial version of built-in docs for widget elements “Text Label”, “Text Field”, “Button”, “Image”, “Progress Bar”, “3D Model”, and “Minimap”
  • Documentation: Added initial version of built-in docs for “Attach Points” functionality (example images to come in a future update)
  • Documentation: Added built-in docs for the “Show Widget” and “Hide Widget” scripting functions
  • Documentation: Updated built-in docs for “Item” to include information about accessing an item's various properties via scripting
  • Documentation: Updated built-in docs for “Voxel Editor” to include info about “Create Attach Points” mode and “Display Ambient Occlusion” toolbar button
  • Documentation: Updated old “Decimal” data type text and link to the “Number” data type in the “Print” function documentation

Release Notes for v0.6.1.0

September 19th, 2020


  • Added initial Quick Slot Bar functionality to the game engine (drop an item on a slot to assign it, right-click to use, grab and drop outside of the widget to unassign it)
  • Added setting to the Game Configuration's “User Interface” section for enabling/disabling the quick slot bar (currently disabled by default)
  • Added “Item Quick Slot” as an available element type in the Widget Editor (for use in widgets like the Quick Slot Bar)
  • Added “Image” as an available element type in the Widget Editor (with initial settings for image stretch mode and left, right, top, and bottom margins)
  • Added ability to select and delete elements from a widget in the Widget Editor (left click to select then Delete key to remove)
  • Added ability to move previously placed elements within a widget in the Widget Editor (hold left mouse button and drag to move)
  • Added ability to resize elements within a widget in the Widget Editor (select element then left-click and drag one of the handle squares)
  • Added ability to toggle display of the frame image and titlebar for widgets in the Widget Editor
  • Added ability to set the titlebar text of widgets from the properties panel when the titlebar is enabled
  • Added ability to set the display name of widgets from the properties panel (text displayed in the “Widgets” toolbar dropdown)
  • Added “Element Properties” tab that will display when an element within a widget is selected in the Widget Editor (double-click element to force display of its properties tab)
  • Added save button to the Widget Editor toolbar for saving changes made to custom widgets
  • Added toolbar buttons to the Widget Editor for adding new widgets, duplicating widgets, and deleting widgets
  • Added toolbar button to the Widget Editor for toggling display of element type icons (e.g. potion icon for item quick slots)
  • Added toolbar button to the Widget Editor for opening the project's “widgets” folder in the operating system's file browser
  • Added placeholder list to the Widget Tools panel for elements that will be available in the future but are not yet implemented
  • Added “Create Door” option to the right-click context menu in the Map Editor for quickly generating door scripts (door object and related tiles must first be selected)
  • Added toggle button to the Map Tools panel for disabling auto-connection of navigation paths while in Place mode
  • Added new scripting function “Show Widget” for showing a widget with the specified ID (e.g. show_widget(“quick_slot_bar”), visual node to be added in future update)
  • Added new scripting function “Hide Widget” for hiding a widget with the specified ID (e.g. hide_widget(“quick_slot_bar”), visual node to be added in future update)
  • Added array function for inserting a value into an array at a specific index/position (e.g. $my_array.insert(1, “A”) inserts “A” into the array's second position)
  • Added array function for removing a value from an array at specific index/position (e.g. $my_array.remove(1) removes the value at the second position)
  • Added array functions for clearing an array and for getting the number of elements in the array (e.g. $my_array.clear() and $size = $my_array.size())
  • Added array functions for pushing values onto the beginning or end of an array (e.g. $my_array.push_front(“A”) and $my_array.push_back(“Z”))
  • Added array functions for popping values off the beginning or end of an array (e.g. $first = $my_array.pop_front() and $last = $my_array.pop_back())
  • Added optional fourth parameter to the “Set Entity Script” function for setting tile scripts as triggerable by NPCs (e.g. set_entity_script(“my_tile”, “spikes”, ENTER_TILE, true))
  • Added ability to filter tiles, objects, and characters by name (button next to filter box now lets you switch between “Tag List”, “Filter by Tag”, and “Filter by Name”)
  • Added setting to the in-game options menu for window size (when using “Windowed” display mode), disabled manual window resizing to ensure proper aspect ratio is maintained
  • Added various helpful error messages to the in-game debug console related to invalid array and index references in scripts
  • Moved dropdown for selecting the active widget from the Widget Properties panel to the Widget Editor toolbar
  • Adjusted size of font for the in-game debug console to fix some issues with the vertical alignment of brackets
  • Updated “Duplicate Frame” functionality in the Voxel Editor to carry the frame length multiplier value over to the new frame
  • Updated “Import from External Format” dialog in the Voxel Editor to sort the matrix list alphabetically when importing from a Qubicle file
  • Changed “Random Rotation” setting on the Map Tools panel to an icon toggle button instead of a checkbox
  • Fixed some issues related to changing the initial frame for an entity in the Map Editor when its model contained empty frames
  • Fixed some issues related to the evaluation of conditional expressions when using a relative operator with incompatible operands
  • Fixed some issues related to parsing and order of evaluation when using parentheses in arithmetic and boolean expressions
  • Fixed issue where “Wait” functions in child scripts (via “Execute Script”) could inadvertently affect timing of functions in the parent script when running in parallel
  • Fixed issue with entity properties not being accepted in scripting functions where a reference to an entity was expected
  • Fixed issue with variable/group references to moving platform tiles breaking after the tile had been moved to another waypoint
  • Fixed issue with moving platform tiles not properly resuming their movement after loading a saved game
  • Fixed issue with Widget Properties not being hidden when switching to another editor with no properties to display
  • Fixed issue with custom themes not being populated in the Theme Properties panel when the UI Editor was set as the default tab
  • Fixed issue with the script parser breaking when there was an unmatched “end” in a script or the script was empty
  • Fixed issue where party members other than the main player character would sometimes not be able to move during turn-based battles
  • Fixed issue where the player could interact with tiles or objects when an item was currently being transferred with the cursor
  • Fixed issue where the “Replace Navigation” scripting function was no longer working properly with entity groups
  • Fixed issue where objects positioned on platform tiles would remain in place instead of moving along with the tile to its waypoint
  • Fixed issue where using Alt + Left Click in the Map Editor while in single placement mode will inadvertently place a tile
  • Fixed issue with loading a game when the player character was standing on a tile that had its model swapped prior to the game being saved
  • Fixed issue with disabling localization for a dialogue when the game didn't have any translations defined
  • Fixed issue with the credits getting stuck on a black screen, game will now return to the main menu after they have finished
  • Fixed issue where the dialogue window was not being hidden when the last node of the dialogue was a script (until the script had completed)
  • Fixed issue with “\n” not being properly converted to a line break when used with the “Log Message” scripting function
  • Fixed issue where entities within nested arrays would not be displayed properly when logged via the “Log Message” scripting function
  • Fixed issue where the script parser would fail to return a result when a While Loop condition contained a variable name without the dollar sign prefix
  • Fixed “signal is already connected” console errors that would sometimes display when starting a turn-based battle
  • Fixed “set_bg_music” console error when clearing the background music (i.e. setting to “None”) in the Credits Editor

Release Notes for v0.6.0.5

August 15th, 2020


  • Added test widget to the Widget Editor with the ability to adjust the number of columns and rows (this widget is only for testing purposes currently)
  • Added toolbar button to the Widget Editor for toggling display of the grid lines (only applicable to the test widget for now)
  • Added Widget Tools panel to the Widget Editor for dragging and dropping elements onto the test widget
  • Added usage information and a list of available commands to the in-game debug console (displayed in the console at startup)
  • Added “help” command to the in-game debug console for displaying the usage information and command list at any time
  • Added “Scale Factor” to the attach point settings in the Voxel Editor for defining how much to scale the attached object by
  • Changed “Detach Object” scripting function to not stop the script if an object couldn't be detached and instead log an error message
  • Updated Voxel Editor to automatically select newly added attach points in the Model Properties panel
  • Updated font used by the default UI theme (PixelMplus) to include Polish diacritic characters (ĄĆĘŁŃÓŚŹŻąćęłńóśźż)
  • Fixed issue where local variables within scripts were not being properly restored when loading a saved game
  • Fixed issue with “for” loops and “while” loops within scripts not resuming properly when loading a saved game
  • Fixed issue with the way entities were being stored in variables and properties, which could cause problems when using “Set Entity Model” or loading a saved game
  • Fixed issue with script parser not allowing the global property syntax where entities are expected (e.g. remove_entity(global.property[“x”])
  • Fixed issue with script parser not allowing $my_variable.coord syntax to get an entity's coordinate when the entity is stored in a local variable
  • Fixed issue where deleting the first node in a visual script then undoing the deletion will not update the source code
  • Fixed issue where attach points in a model would sometimes move after opening another model of the same type
  • Fixed issue with script trigger type being lost after changing a tile's model via the “Set Entity Model” function
  • Fixed issue where printing or displaying an array containing entities would inadvertently replace the entity references with their display string
  • Fixed issue with entities not being converted properly for display as a string when inside nested arrays
  • Fixed issue with mouse input in certain editors when the “Item Container” widget was currently selected in the Widget Editor
  • Fixed issue where the Dialogue Editor was not being marked as having changes when dropping new nodes onto placeholders or adding multiple player choices
  • Fixed issue where the “Move Up” arrow button would not work properly for the last node in a series of player choices when its branch was at the bottom of the dialogue
  • Fixed issue with the “Move Up” and “Move Down” arrow buttons not appearing for new player choice nodes until the dialogue was re-opened
  • Fixed issue with the “Move Up” and “Move Down” arrow buttons getting stuck with a “pressed” appearance after being used to move a player choice within a dialogue
  • Fixed caret position error when using the up/down arrows keys to navigate through the command history of the in-game debug console

Release Notes for v0.6.0.4

July 31st, 2020


  • Added placeholder for the upcoming quickslot bar to the dropdown on the UI Properties panel of the Widgets Editor
  • Added “Code Highlighting” section to the Editor Settings for changing the syntax colors of code displayed in the Script Editor, Quick Script Builder, and other editor text fields
  • Added debug console message that will display when the game attempts to execute a script that doesn't exist (e.g. a tile/object script that has been deleted)
  • Added startup tip about double-clicking within the source code area of the Script Editor to unlock it for editing
  • Added startup tip about changing navigation between two tiles using the “Navigation/Interaction” submenu on the right-click context menu while in “Edit” mode
  • Added syntax highlighting to the command line of the in-game debug console (for coloring of script code manually entered into the text field)
  • Added “BLK NEO” 46-color palette (created by BlackedIRL) to the Voxel Editor's built-in set of palettes
  • Changed default syntax highlighting colors for code displayed in the Script Editor, Quick Script Builder, and other editor text fields
  • Changed font for Script Editor and Quick Script Builder to use a better monospaced version of Noto Sans
  • Fixed issue with collision detection on attached objects not working properly (will now detect mouse input and pass it to the parent entity)
  • Fixed issue where model changes (and potentially other properties) were being lost after using “Set Entity Model”, then saving a game, loading, and saving again
  • Fixed issue where specifying the target entity by just its ID as a standalone string was not working properly for the “Attach Object” or “Detach Object” scripting functions
  • Fixed several display issues that would occur in the Map Editor when deleting a script that was currently assigned to an entity in the map
  • Fixed issue with undoing deletion of frames in the Voxel Editor where the old current frame was not being hidden and could cause frames to appear overlapped
  • Fixed issue with vehicle settings incorrectly displaying for tiles and characters in the Map Editor (instead of only for objects)
  • Fixed issue with terrain type of “All” not working properly when selected for a vehicle in the Map Editor
  • Fixed issue with parsing of conditional expressions when combining a “contains” expression with another Boolean expression via “and”/“or”
  • Fixed issue with the “Assign Value” template code not including the “$” prefix on “my_variable” when added to a script
  • Fixed issue with the minimum value of the “Z Offset” slider being too low for attach points in the Voxel Editor
  • Fixed issue with some Polish characters not displaying when typed into text fields in the editor
  • Fixed issue with Russian localization for in-game text missing the translations for “Yes” and “No”
  • Fixed issue with incorrect Obsidian theme colors for the Behavior Settings header of the Entity Properties panel in the Map Editor
  • Fixed issue in the Widget Editor where the inventory/item container window textures would not be pixel perfect at certain application window sizes
  • Documentation: Updated “Script Syntax” built-in docs to use the new “$” prefix syntax for variable names
  • Documentation: Updated images and linked various text for “Override Animation”, “Play Sound”, “Play Animation”, “Play Group Animation”, “Put Entity”, and “Put Player” built-in docs
  • Localization: Added Russian translations for “Add To Group”, “Ambient Light”, “Animation”, and “Animation Types” documentation
  • Localization: Added French translations for “Add To Group” documentation

Release Notes for v0.6.0.3

July 23rd, 2020


  • Added ability to rename attach points in the Voxel Editor (either for all frames of the model or for the current frame only)
  • Fixed issue where the terrain type property was not carrying over to tiles already placed within existing maps (tiles will need to be saved again in the Voxel Editor)
  • Fixed issue with evaluation of coordinates in scripts not properly catching null/invalid X, Y, and Z values, error is now logged to the in-game debug console
  • Fixed issue with evaluation of colors in scripts not properly catching null/invalid hex codes, error is now logged to the in-game debug console
  • Fixed issue with “Add Object” scripting function not properly catching null value for tile ID/coordinate, error is now logged to the in-game debug console

Release Notes for v0.6.0.2

July 20th, 2020


  • Changed syntax for local variables to require a dollar sign ($) prefix in front of the variable name (e.g. $my_var = 10), updated parser to display appropriate error message
  • Added “duplicate” function for duplicating an array or JSON data (e.g. $array_copy = duplicate($my_array) or $data_copy = duplicate(data[“my_file”]))
  • Added “break” keyword to the scripting language for breaking out of either a “for” loop or a “while” loop
  • Added startup tip about holding the right mouse button down to look around freely while in first-person games
  • Added ability to drag and drop script functions into the source code area of the Script Editor (similar to Quick Script Builder)
  • Added error popup that displays when attempting to save a visual script containing variables without the “$” prefix (editor will also revalidate all visual node fields)
  • Updated drag and drop of script functions to insert the source code after the line over which the function is dropped (instead of always at the end of the script)
  • Updated expression builder dialogs in the Script Editor to display error message about the “$” variable name prefix for the exclamation icon's tooltip
  • Updated direct entry fields on visual script nodes to display error message about the “$” variable name prefix for the exclamation icon's tooltip
  • Updated “Attach Object” scripting function to support an additional parameter so the target entity's attach point ID can be different than that of the object's (e.g. attach_object(“sword”, player, “handle”, “right_hand”))
  • Fixed issue with attach points where attaching an object to an attach point was not first removing the existing object on that same attach point
  • Fixed issue with the Dialogue Editor where dialogue text would sometimes be missing when using the default built-in RPG in a Box theme
  • Fixed issue where built-in translations for the game UI would not display when specifying a default locale other than “en”
  • Fixed issue with the game configuration setting for fallback locale not working properly in-game
  • Fixed camera clipping issue that could occur when using orthogonal projection for the default type then loading a map after the previous one used a “Standard” override
  • Fixed issue where using “Reset Camera” functions after the camera was locked and another map had been loaded could result in unexpected behavior (may need to add a “Lock Camera” to some existing scripts)
  • Fixed issue with the “null” keyword not being included in the syntax highlighting logic for scripts
  • Fixed issue with variable name validation on “For Loop” and “Assign Value” visual script nodes where the name would remain invalid when erasing and then re-entering the same text
  • Fixed issue with dialogue/battle marker icons not displaying in the Map Editor when an NPC had the “When Next to Player” behavior setting assigned
  • Fixed error that displays in the console window when capturing a thumbnail for a model in the Voxel Editor
  • Fixed issue where the movement interval values for NPC behavior settings were not being applied properly and would not trigger a change
  • Fixed issue with the “Add Waypoint” function not applying properly in the visual script when manually entered into a script's source code
  • Fixed issue with scripts not parsing correctly when using a local variable for the left operand of a “contains” conditional expression
  • Fixed issue with incorrect line being marked by the script parser when there were syntax errors with “elseif” conditions
  • Fixed error that would occur when manually entering an “elseif” block without any statements into the Script Editor
  • Fixed issue with incorrect Obsidian theme colors for the wizard info box on builder dialogs in the Script Editor (Conditional Expression Builder, etc.)
  • Fixed “is_vehicle” error that would occur when the player clicked on a non-adjacent character to interact (error was displayed upon interaction)
  • Fixed “move_interval” error that would occur in certain scenarios while an NPC's movement behavior was being processed
  • Fixed “marching_cubes” function error that would sometimes display in the console window when saving a model in the Voxel Editor

Release Notes for v0.6.0.1

July 13th, 2020


  • Updated “Duplicate Frame” functionality in the Voxel Editor to include attach points when copying the frame
  • Fixed issue with Linux and MacOS binaries where an A* error would cause games to get stuck after loading a map
  • Fixed issue with choosing a language in the game options menu if the language currently stored in the user's settings file was no longer an available option
  • Fixed issue where custom font settings were not being applied to the Options Menu or Pause Menu if the Main Menu was disabled in the game's configuration
  • Fixed issue where the “Attach Point” tool button would stay highlighted after switching to another voxel tool
  • Fixed issue in the Game Configuration dialog where the “Preset” dropdown was not being disabled when “Custom” was selected for the gameplay type
  • Fixed issue in the Game Configuration dialog where the camera projection dropdown was not being disabled when a built-in gameplay preset was selected
  • Fixed issue where using the “Reset Map” function to reset the current map could result in the script getting stuck or the game crashing
  • Fixed issue where attach points could sometimes not be added at certain heights (validation logic was incorrectly switching grid depth and grid height values)
  • Fixed issue where using the “Detach Object” function and then immediately using “Attach Object” for the same attach point ID would result in the new object disappearing
  • Localization: Added Russian translations for the startup tips shown on the Game Manager dialog

Release Notes for v0.6

July 11th, 2020


  • Added Marching Cubes as a mesh option to the Voxel Editor (group areas of voxels to mesh them separately from others, uncheck “Apply at grid boundaries” to not apply smoothing at grid boundaries)
  • Added ability to define terrain types for tiles (e.g. “water”, set from the Model Properties panel in the Voxel Editor)
  • Added ability to define terrain types for characters (options of “All”, “Prohibited From”, and “Restricted To”, set from the Model Properties panel in the Voxel Editor)
  • Added initial functionality for vehicles (select an object in the Map Editor and toggle the “Vehicle” button from its properties - includes options for speed, terrain types, and disembark script)
  • Added game controls for disembarking from a vehicle (Ctrl + Left Click on an adjacent tile, or Ctrl + Arrow Key in the direction of the tile)
  • Added initial functionality for attach points (to add an attach point for a frame, use the new tool with the “link” icon and click a voxel - position/rotation can be adjusted from the Model Properties panel)
  • Added new default editor theme (Obsidian) and ability to change themes from the editor settings (with original Godot theme as an option)
  • Added support for groups to the Voxel Editor, select voxels and press “G” to add to a group (currently only used with Marching Cubes option to allow for separate meshing of voxel groups)
  • Added camera projection option to the Gameplay settings for choosing between perspective and orthogonal when using the standard camera
  • Added new scripting function “Attach Object” for attaching an object to an entity's attach point (e.g. attach_object(“axe”, player, “right_hand”) or attach_object(“torch”, entity[“wall_01”], “decoration”))
  • Added new scripting function “Detach Object” for detaching an object from an entity's attach point (e.g. detach_object(player, “right_hand”) or detach_object(entity[“wall_01”], “decoration”))
  • Added new scripting function “Reset Map” for resetting a map to its original state
  • Added new scripting function “Create Platform” for configuring a tile as a moving platform and assigning its speed (e.g. create_platform(tile_entity, 20))
  • Added new scripting function “Add Waypoint” for adding a waypoint to a platform tile (e.g. add_waypoint(tile_entity, “waypoint_01”, coord[1, 2, 3]))
  • Added function to scripting language for converting a value to a string, for example to append a numeric value to some text (e.g. “123” + str(2 * 2) will return the string “1234”)
  • Added function to scripting language for converting a value to a number (e.g. num(“17”) will return 17 as a numeric value)
  • Added “round” math function to the scripting language for rounding numeric values (e.g. round(16.8) will return 17)
  • Added “mod” math function to the scripting language for performing modulo operations (e.g. mod(8, 3) will return 2)
  • Added “pow” math function to the scripting language for performing “power of” operations (e.g. pow(2, 5) will return 32)
  • Added “sqrt” math function to the scripting language for calculating square roots (e.g. sqrt(16) will return 4)
  • Added ability to change an entity's interaction cursor via scripts using the syntax <entity>.interact_cursor (e.g. entity[“dungeon_entrance”].interact_cursor = “stairs”)
  • Added ability to set a value within an array by index using assignment statements (e.g. my_array[0] = 10 will set the first value in the array to 10)
  • Added grouping functionality to the Voxel Editor for defining groups of voxels for each frame (select voxels and press “G”, defined groups are displayed on the Model Tools panel)
  • Added button at bottom of the Tiles/Objects/Characters model tabs for quickly adding a new resource of that type
  • Added button to grid height control panel in the Map Editor for locking the tile placement grid at its current height
  • Added language dropdown to the built-in documentation viewer to select from the available translations for the current tab
  • Added toolbar button to the Voxel Editor for toggling display of ambient occlusion in the 3D viewport
  • Added size info to the Image Editor when editing UI images (displays the actual pixel dimensions of the file generated when saved)
  • Added startup tip about configuring model animations to play in reverse frame order
  • Added startup tip about importing custom palettes from Lospec.com (PNG Image or Hex File)
  • Added startup tip about the “Apply Palette” tool in the Voxel Editor for fitting a model's colors to a specific palette
  • Added startup tip about the “Preview Game Mesh” button on the Voxel Editor toolbar
  • Added support for the isometric camera to the “Camera Orientation” map setting to indicate its initial direction
  • Added “Widgets” tab to the UI Editor in preparation for future functionality (only for display purposes at this time, specifically to view the built-in inventory and item container windows)
  • Added dropdown to the Item Properties section of the Item Editor for assigning an object model to an item (used for equipment attach points and other future functionality)
  • Updated pathfinding logic to consider terrain types of tiles and the character's allowed terrain types
  • Updated Dialogue Editor to use font and font size from the theme that's currently set as default for text in the NPC, Player, and Message nodes
  • Updated “data” scripting syntax to allow reading of external JSON files within the game folder (via a relative path, e.g. “files/my_file.json”)
  • Updated Voxel Editor to allow a maximum of 999 frames per voxel model instead of 99
  • Changed lower limit of the standard camera's pitch to zero in the Game Configuration's gameplay settings
  • Changed icon for button that opens the online wiki version of a documentation page
  • Updated documentation for scripting functions to not use syntax highlighting in the “Signature” code block
  • Tweaked color of “Voxel Outlines” and “Surface Edges” buttons on the Voxel Editor toolbar to stand out more from some of the other icons
  • Title of currently opened game project is now displayed in the application window's titlebar
  • Fixed pathfinding issue where the Z value of tile coordinates was being used in the cost calculations, which would cause some tiles to be improperly avoided in certain scenarios
  • Fixed some issues that could occur in the Voxel Editor when selecting voxels in a frame with others in another frame still selected
  • Fixed issue where the collision override setting for tiles was not overriding the collision area for mouse detection (only the terrain height values)
  • Fixed issue where tile size warning icons were not being refreshed after replacing a map's missing dependencies
  • Fixed issue where using “Save As” to save a 32×32 object as a tile would improperly offset and crop the model
  • Fixed issue that could occur in-game when loading a map having a player override of the same model as the current character
  • Fixed issue with the “Camera Orientation” map setting not working when camera rotation was disabled in the gameplay settings
  • Fixed issue where code blocks within documentation pages could be typed into if focused via the Tab key
  • Fixed error that would occur when an NPC was set to seek out the player and was standing on the same tile as the player
  • Fixed navigation issue that could occur when clicking to interact with an item container while standing on the same tile as the container
  • Fixed issue where the isometric camera override option was not using the proper angle when the game's default camera was set to standard with rotation disabled
  • Fixed camera clipping that would sometimes occur on high/distant objects when using the isometric camera
  • Fixed “remove_from_group” errors that could occur in certain scenarios when loading a map
  • Fixed issue where scripts could become stuck when using the “Hide Group” function to hide a group that was already hidden
  • Fixed issue with the Theme Editor not remembering the currently selected theme when returning to the tab
  • Fixed issue where theme changes were sometimes being lost after switching to another tab and then back to the Theme Editor or after saving and restarting
  • Fixed issue where the “When Next To” settings weren't being checked if an NPC's behavior was changed while next to the player
  • Fixed issue where double quotes in an item's name or description were not being escaped and would prevent the item database from loading
  • Fixed character interaction errors that would sometimes display after calling the “Show Credits” function
  • Documentation: Updated images and linked various text for “Quick Script”, “Quick Script Builder”, “Replace Navigation”, “Remove Entity”, “Recent Files”, and “Random Number” built-in docs
  • Documentation: Added built-in docs for the new “Reset Map” scripting function
  • Localization: Added Japanese translations for “Add Character” and “Map” documentation
  • Localization: Added French translations for “Add Character”, “Add Item To Container”, “Add Object”, “Add Party Member”, and “Add Tile” documentation
  • Localization: Added Russian translations for “Add Character”, “Add Item To Container”, “Add Object”, “Add Party Member”, and “Add Tile” documentation

Release Notes for v0.5.9.4

May 22, 2020


  • Added “Clear” button to the Model Tools panel for erasing all voxels from the current frame in the Voxel Editor
  • Added “Range of Numbers” and “Array (List of Values)” as options to the Iterable Expression Builder (for range(…) and array[…] syntaxes)
  • Added ability to double-click the title bar of dialogue tree nodes with children as an alternate method for collapsing/expanding them
  • Added startup tip about clicking the frame number on the Voxel Editor animation toolbar to bring up a draggable slider
  • Added startup tip about assigning colors to a custom palette in the Voxel Editor by clicking the middle mouse button on a color slot
  • Updated Dialogue Editor's color scheme and style to match that of the new visual script graph
  • Updated “Execute Script” function so local variables will now get passed from the current script into the triggered script
  • Updated “Language” dropdown in the Editor Settings dialog to display native language names followed by the current language's translation
  • Replaced message about map's tile size on the “New Resource” dialog with an info icon tooltip
  • Fixed issue with nested “For” loops where the control variable value was not being passed to the inner loop
  • Fixed issue where the game title was not updated in the Main Menu preview when changed from the Game Configuration dialog
  • Fixed issue with built-in translations for the in-game interface not working properly
  • Fixed issue where search field in the Item Editor was incorrectly populated with the placeholder text
  • Fixed issue where editor would be incorrectly undimmed after closing the “Available Tags” popup in the Asset Library, added tooltip for its button
  • Fixed wizard button tooltip on “For Loop” visual script node to have the proper text (“Iterable Expression Builder” instead of “Conditional Expression Builder”)
  • Localization: Added Japanese localization (selectable from the general editor settings) and credit in About dialog for michyo (田上 みちよ)
  • Localization: Fixed some cases where text in the editor was displaying in English instead of the current language
  • Documentation: Updated images and linked various text for “Startup Script”, “Map”, “Reset Camera”, “Reset Camera At Speed”, “Reset Camera Over Time”, and “Reset Entity Rotation” built-in docs

Release Notes for v0.5.9.3

May 14, 2020


  • Added ability to customize font, font size, color, and spacing for the Main Menu title and text from the Main Menu editor (settings also apply to the options menu and pause menu)
  • Added new scripting function “Log Message” for appending text to a message log (for now, this is displayed in the top left corner, customization to come later)
  • Added ability to use “self” keyword when running scripts from the debug console (“self” will reference the entity that the cursor is over)
  • Added “item” syntax to the scripting language for getting an item's name, description, image, or tag list (e.g. item[“ITEM_0001”].name, item[“ITEM_0002”].description, etc.)
  • Added syntax to the scripting language for getting the tile(s) that a character or object is occupying (e.g. entity[“bench”].tiles returns an array of tiles the “bench” entity is on)
  • Added syntax to the scripting language for getting the character(s) that are occupying a tile (e.g. tile[3, 2, 0].characters returns an array of characters occupying that tile, or null if there are none)
  • Added “Source Code” visual script node as a fallback for brand new functions that don't have their corresponding visual nodes implemented yet
  • Added editor settings to remember the last used import and export paths for the Voxel Editor across sessions
  • Added credits in the About dialog to DrPetter for SFXR and to Pixeltier for the example game's item icons, with a link to his RPG icon packs
  • Added button to the Main Menu properties panel for restoring all settings to their default values
  • Added “data” keyword to script syntax highlighting so it gets marked with the appropriate color in script source code
  • Added “Sounds” section to the Game Configuration dialog for overriding certain default sound effects (menu hover, menu select, and speaking for now, with more to come)
  • Added “Import” button to the main toolbar for importing external resource files (images, fonts, models, sounds, etc.)
  • Updated script parser to support the “Box Drawing”, “Block Elements”, and “Geometric Shapes” Unicode value blocks (U+2500-U+25FF) within strings
  • Updated Voxel Editor to allow animations to be played while in “mesh preview” mode
  • Updated startup tip about the debug console to include alternate shortcut key (backslash)
  • Updated default in-game sound effects for the menu hover and menu select sounds
  • Changed default in-game menu font to PixelMplus (to match the default dialogue font and to allow Japanese kanji and kana characters by default)
  • Changed Debug Console and Main Menu to be enabled by default in the Game Configuration settings
  • Increased speed of “slide down” animation when opening and closing the in-game debug console
  • Adjusted comment node borders in the Script Editor to match the new visual node style
  • Adjusted overall volume of sound effects in the editor and in-game to be slightly lower
  • Fixed issue where speed/time-based camera scripting functions would sometimes fail to trigger when one was used right after another
  • Fixed issue where the Theme Editor's “unsaved changes” state was not being properly updated after deleting a theme that had unsaved changes
  • Fixed issue where scripts would get stuck when calling “Show Group” for a group that had not been previously hidden
  • Fixed issue with setting a theme as default in the Theme Editor when it has unsaved changes (default name would incorrectly include the (*) indicator text)
  • Fixed issue with exporting models to PNG where the frame number was not being appended to the filename (so only the last frame would be saved)
  • Fixed issue where the Enter key was not working when pressed in the source/destination field to submit the dialog for importing and exporting models in the Voxel Editor
  • Fixed issue where the cursor color was not being restored when using the “Revert Changes” toolbar button in the Main Menu Editor
  • Fixed issue with the “map.name” syntax not parsing properly in scripts
  • Fixed issue where the game title text was not being reset to “Game Title” when exiting to the Game Manager
  • Fixed issue where the toolbar buttons in the Main Menu editor were not being disabled when exiting to the Game Manager
  • Fixed issue where visual scripts were not being generated and saved properly when opening a script file without a corresponding .scn file
  • Fixed issue where backslash would close the debug console instead of typing the character, allowed ESC to close the debug console
  • Fixed issue where backslash would not work to open the debug console while on the pause menu
  • Fixed first-person control issue when moving backward then strafing left or right
  • Documentation: Added built-in docs for the “Data Files” functionality (under “Scripting” heading)
  • Documentation: Updated images and linked various text for “Set Global Property” and “Set Entity Property” built-in docs and included info about setting values with assignment statements
  • Documentation: Updated images and linked various text for “Set Entity Script” built-in docs and included info about optional “trigger when” argument for tiles
  • Documentation: Updated images and linked various text for “Set Entity Tooltip” built-in docs and included info about using placeholder expressions within tooltip text
  • Documentation: Updated images and linked various text for “Rotate Camera”, “Rotate Camera Over Time”, “Rotate Entity Towards”, “Rotate Player To Direction”, “Set Character Name”, “Set Dialogue”, “Set Ambient Light Enabled”, “Set Animation Speed”, “Set Entity Model”, “Set Entity Light Enabled”, “Set Entity Light Color”, “Set Entity Blocks Sight”, “Set Directional Light Enabled”, “Set Directional Light Color”, “Set Group Light Enabled”, “Set Group Light Color”, “Start Battle”, “Set Language”, and “Sound FX Generator” built-in docs
  • Documentation: Brought built-in docs for “NPC Behavior”, “Animation Types”, “Cardinal Direction”, “Character”, “NPC”, “Enemy”, and “Font” up to date

Release Notes for v0.5.9.2

April 25, 2020


  • Added a default style for entity tooltips and the ability to change their background color and border color from the Theme Editor (in tooltip styles section)
  • Added ability to increase a character's level using the “stat” syntax (e.g. player.stat[“level”] += 1 will give the player enough XP to reach the next level)
  • Added a “Did You Know?” section to the bottom of the Game Manager for displaying random helpful tips (includes 20 tips initially, with more to come!)
  • Added ability to assign a tooltip to the player character using the “Set Entity Tooltip” scripting function
  • Added ability to change the preview background color in the Theme Editor
  • Added description text to the Script Editor for the “Restart Game” scripting function
  • Added a button to the Item Editor for copying the current item's ID to the clipboard
  • Updated “Assign Value” visual script node with hover tooltip text for the “Value/Expression” field
  • Updated “Set Dialogue” scripting function to support entity references instead of just ID string
  • Updated “Modify Navigation” visual script node to support entity references in parameter fields instead of just ID strings
  • Updated “Assign Entity ID” scripting function to not stop the script when an entity with the specified ID already exists
  • Fixed issue where calling “Lock Camera” with the camera already locked would cause the script to stop
  • Fixed issue where NPCs added via “Add Character” function wouldn't trigger tile scripts (if configured to do so)
  • Fixed issue where line numbers for syntax errors were sometimes incorrect when the script contained comments
  • Fixed issue where certain NPC behaviors were not working properly after using the “Set Entity Model” function to replace a tile's model
  • Fixed issue with deleting the default theme in the Theme Editor (will now properly fall back to the built-in RPG in a Box theme)
  • Fixed script parser issue with accessing entity stats on the right side of assignment statements when the entity was stored in a local variable
  • Fixed crash that could occur when adding XP to an NPC using an assignment statement
  • Documentation: Added built-in docs for “Add To Group”, “Remove From Group”, “Assign Entity ID”, and “Restart Game” scripting functions
  • Documentation: Updated built-in docs for “Modify Navigation” scripting function to indicate support for entity references instead of just IDs
  • Documentation: Updated built-in docs for “Entity” with note about being able to supply just the ID string for Entity argument types
  • Documentation: Brought built-in docs for “Animation” up to date and included example images
  • Documentation: Updated images and linked various text for “Hide Toolbar”, “Show Toolbar”, “Show Inventory”, “Show Credits”, “Set Vision Height”, “Lock/Unlock Player Interaction”, “Lock/Unlock Player Movement”, and “Set Movement Speed” built-in docs

Release Notes for v0.5.9.1

April 16, 2020


  • Added “Ignore Fog of War” checkbox to the Entity Properties panel in the Map Editor to indicate that the entity should always be visible when Fog of War is enabled
  • Added support for arrays to the “inverse” scripting function (reverses the order of the values within the array) (e.g. my_array = [1, 2, 3]; reverse_array = inverse(my_array))
  • Added support to the scripting language for appending values to arrays using ”+“ or ”+=“ operator (e.g. my_array = array[“A”, “B”]; my_array += “C”)
  • Increase maximum value for character movement speed from 100 to 1000000 voxels per second
  • Updated scripting language to properly allow direct access of arrays stored in global or entity properties (e.g. print(global.property[“my_array”][2]))
  • Fixed issue with custom entity properties being lost when a tile was replaced in the Map Editor
  • Fixed issue where search functionality for the scripting function list was not translating function names before filtering
  • Fixed issue where calling the “Reset Camera” function without the camera being previously locked was causing some scripts to fail
  • Fixed issue with “Add To Group” and “Remove From Group” functions not working properly when passing entity ID string for entity parameter
  • Fixed issue with scripts stopping after calls to the “Add To Group” or “Remove From Group” functions
  • Fixed issue with script parser where missing “end” syntax error was not being properly reported in some cases (only a generic error)
  • Fixed issue with “speed” stat assignment statements not being applied properly (e.g. entity[“slime01”].stat[“speed”] = 100)
  • Fixed issue with “hp” stat assignment statements causing the game to crash (e.g. entity[“slime01”].stat[“hp”] = 5)

Release Notes for v0.5.9

April 11, 2020


  • Added new scripting functions “Add To Group” and “Remove From Group” for adding an entity to a group or removing it from a group
  • Added new scripting function “Restart Game” for manually restarting the game
  • Added new scripting function “Equip Item” for equipping an item to character's equipment slot (e.g equip_item(player, “right_hand”, “ITEM_0001”))
  • Added new scripting function “Unequip Item” for unequipping an item from a character's equipment slot (e.g. unequip_item(player, “right_hand”))
  • Added “Equipment” section to the Stats Editor (currently only displays some basic information about the default equipment slots)
  • Added initial settings to the Item Editor for defining an item as equippable and its associated effect when equipped (only basic stat boost for now)
  • Added button to the Game Configuration dialog's Translations tab for importing data from a CSV file
  • Added support for using the ”.direction“ syntax in assignment statements to change an entity's direction (e.g. entity[“id”].direction = WEST)
  • Added support to scripting language for getting the current map's name (as string) and groups (as array) (using syntax: map.name and map.groups)
  • Added debug console error messages that are displayed for “tile by coordinate” expressions when values for X, Y, and Z are invalid
  • Added option to the Main Menu editor for changing the arrow cursor's color
  • Updated style and color scheme of visual script nodes in the Script Editor
  • Updated top right panel in Map Editor to include buttons for adjusting the tile grid up/down in steps (as an alternative to Ctrl + Scroll Wheel) and to display current grid height
  • Updated Noise Generator dialog to include a help button that opens its built-in documentation
  • Updated Surface Level panel in the Voxel Editor to open its corresponding built-in documentation when dragging-and-dropping the guide icon
  • Updated “Modify Navigation” function to support entity references (self, entity[“id”], tile[0, 0, 0], etc.) instead of only IDs
  • Updated “Set Entity Script” function to support optional parameter for specifying when to trigger tile scripts (using a value of ENTER_TILE, STOP_ON_TILE, or EXIT_TILE)
  • Updated “Execute Script” function to support additional optional parameter to indicate whether the current script should pause until the triggered script has completed
  • Changed “Export to CSV File” on Translations tab to use system's desktop location as the default export path instead of installation folder
  • Fixed issue with Shift + Arrow Keys not snapping to 90-degree increments when game camera is in isometric mode
  • Fixed issue where pressing F2 in the Voxel Editor would switch the properties panel to Map Properties in certain cases
  • Fixed issue with “Assign Entity ID” function call no longer working in conditional expressions or as a Boolean value
  • Fixed issue where local variables were not able to be used as conditional expressions (e.g. if my_var then … end)
  • Fixed issue with Boolean expressions using the “and” or “or” operator were not evaluating properly in some cases
  • Fixed issue with “When Next to Player” behavior setting for NPCs not triggering if the player approached the NPC first
  • Fixed issue where party members weren't getting placed back into the turn order if revived during a turn-based battle
  • Fixed issue where triggering a “Display Message” function from an NPC's “When Next to Player” dialogue would not work properly
  • Fixed issue with using the “Set Entity Model” function to change a character's model during turn-based battles
  • Fixed issue where an array's values were not being deserialized properly when loaded in-game
  • Fixed issue with item dropdowns when item names were localized and an item didn't have an image
  • Fixed issue with “Set Dialogue” scripting function not working properly
  • Fixed issue with Entity Expression Builder where party member ID was not being updated in the expression field, removed “Use ID string only” checkbox for party member option
  • Fixed first-person control issue when moving backward then turning left/right
  • Fixed some timing issues that could occur with functions called from inside “while” loops and “for” loops
  • Localization: Added localization for Spanish (selectable from the general editor settings) and credit in About dialog for Pablo
  • Localization: Added localization for Dutch (selectable from the general editor settings) and credit in About dialog for Ernst
  • Documentation: Added built-in docs for the “Noise Generator” functionality (under “Application Interface” heading)
  • Documentation: Added built-in docs for the “Surface Level” functionality (under “Terminology & Concepts” heading)
  • Documentation: Added built-in docs for the “Execute Script” scripting function to include info about optional “pause” argument
  • Documentation: Updated example image and linked some additional keywords in the “Voxel” built-in docs
  • Documentation: Updated visual node example images for “Start Dialogue” and “Stop Player” scripting functions
  • Documentation: Updated examples for “Boolean” data type's built-in docs

Release Notes for v0.5.8.4

February 24, 2020


  • Added “range” function to scripting language that generates an array of integers (e.g. to iterate through in a “for” loop, see “Script Syntax” and “Array” documentation for details)
  • Added “null” keyword to scripting language (e.g. to check if a variable hasn't been assigned a value or if an entity with an ID doesn't exist)
  • Added NPC behavior setting for triggering events when next to the player (for example, to start a battle or dialogue)
  • Added “speed” as a stat increase option to the Stats Editor (affects the character's movement speed and relative “walk” animation speed)
  • Added new scripting function “Play Music” which plays a specified music file
  • Added “currency” as a stat increase option to the Stats Editor (currency earned by party members will all be given to the main player character)
  • Updated color value syntax in the scripting language to support hex code strings (e.g. color[“0000ff”] for blue)
  • Updated “Move Player” and “Move Character” scripting functions to also support tile coordinate or tile entity reference instead of only entity ID
  • Updated Map Editor to catch error and display an info popup dialog when attempting to open an invalid/corrupted map file
  • Updated Map Properties panel to automatically open the Procedural Sky Settings dialog when first selecting it for background type
  • Updated display of arrays in scripting (via Print, Display Message, etc.) to output descriptive text for any entities in the array
  • Updated resource dropdowns in the editor to display icons for items (e.g. in the “Give Item” visual script node, etc.)
  • Updated entity marker icons to automatically update their positions when an entity is rotated in the Map Editor
  • Updated “Replace Navigation” scripting function to support “group” syntax for the entity parameter (e.g. replace_navigation(group[“area01”], PENDING, WALK_AND_INTERACT))
  • Added buttons to the Procedural Sky Settings dialog for resetting to default values and opening the built-in documentation
  • Added appropriate button icons to all popup window dialogs for “OK” buttons, “Cancel” buttons, etc.
  • Added descriptions for “Assign Value” and “For Loop” logic nodes when selected in the Script Tools panel
  • Added “nav remove” debug console command for removing visual navigation lines (to help test performance improvements when modifying many navigations paths at once)
  • Added toolbar button to the Voxel Editor color palette for exporting palettes to PNG or HEX files
  • Changed default movement control type in the gameplay settings to “Relative to Camera” instead of “Tank”
  • Changed icon and tooltip text of button for editing a map's procedural sky settings, added separator lines to corresponding settings dialog
  • Fixed issue in Voxel Editor where animations would break when adding new frames to a model and then enabling animation its light source
  • Fixed issue with localization button on toolbar not being initially disabled in the Dialogue Editor before any tabs have been opened
  • Fixed issue with “Select a Resource” dialog's “OK” button not being initially disabled if no resources are selected
  • Fixed issue where surface level for tiles was not being considered when moving in the Map Editor's first-person mode
  • Fixed issue where first-person controls within turn-based battles stopped working if scripted camera movements had been done at any point before the battle
  • Fixed issue where help buttons on logic nodes in the Script Editor were not properly opening any documentation
  • Fixed issue with entity tooltip text not being translated or evaluating placeholder expressions in-game
  • Fixed some text formatting issues in the in-game debug console when commands entered contained certain sequences of characters
  • Fixed script parser crash that could occur when certain functions had fewer arguments included than required
  • Fixed “handle_entity_input_event” errors that were sometimes displayed when transitioning to a new map
  • Fixed issue where a tile's collision override setting was not being applied when using the “Add Tile” scripting function
  • Fixed script parser so “Give Item”, “Remove Item”, “Add Item To Container”, and “Remove Item From Container” functions will properly return numeric count of items added/removed
  • Fixed some calculation issues related to the positioning of entity marker icons in the Map Editor
  • Documentation: Added built-in docs for “Procedural Sky” and “Fog” functionality and “Remove Item” and “Play Music” scripting functions
  • Documentation: Updated built-in docs for “Conditional Expression” to include info about “and”, “or”, and “contains[x]” syntax, and additional examples
  • Documentation: Updated built-in docs for “Map Properties” to include a row for the new “Fog” setting
  • Documentation: Updated built-in docs for “Move Character” and “Move Player” to include additional argument types supported for the destination tile
  • Documentation: Updated built-in docs for “Script Syntax” to include info about “null” keyword and “range” function
  • Documentation: Updated built-in docs for “Array” to include examples of the “range” function and user-defined arrays
  • Documentation: Brought the built-in docs for “Ambient Light” up to date
  • Documentation: Brought the built-in docs for “Give Item” scripting function up to date

Release Notes for v0.5.8.3

February 7, 2020


  • Added support to scripting language for optional “elseif” conditions in “If” statements (e.g. if x > 10 then … elseif x > 5 then … else … end)
  • Added initial support to scripting language for defining and accessing array variables (e.g. my_list = array[“A”, “B”, “C”]; print(my_list[random(0, 2)]))
  • Added Global Event Script option for “Player is Defeated” (script will override default behavior of restarting the game when the player dies)
  • Added new scripting function “Revive Character” which revives a defeated character, bringing them back to life with the specified health (e.g. revive_character(player, player.stat[“max_hp”]))
  • Added “inverse” function to scripting language (e.g. inverse(value), where value is a direction, number, boolean, coordinate, color, or navigation type)
  • Added option to the Map Properties panel for setting the initial camera orientation to use when the map is loaded
  • Added ability to get X, Y, or Z value of coordinates stored in variables (e.g. my_var = player.coord; print(my_var.x))
  • Added support to scripting language for using concatenated strings in property names, IDs, etc. (e.g. global.property[“prop” + string_var])
  • Updated “entity bounds” indicator in the Map Editor to also show the direction in which the selected entity is rotated (shown as an arrow)
  • Updated “Heal Entity” scripting function to only work on characters who are currently alive
  • Updated help button on the Game Configuration dialog to open the Global Properties and Translations documentation when on those tabs
  • Updated Map Properties UI components to open corresponding built-in documentation when dragging-and-dropping guide icon
  • Changed syntax highlighting for “random” function to match blue color of other scripting functions
  • Changed selection border color of visual script nodes to be more apparent and added shadow outline to nodes
  • Fixed issue where game cursor was still showing interaction icons after the player had been defeated
  • Fixed issue where title text of popup dialogs would display in the system's language instead of the configured one
  • Fixed issue with global event script dropdowns showing as blank instead of “None” for projects that hadn't assigned any scripts yet
  • Fixed issue with incorrect camera angle after using “Put Player” to move the player character to a tile at a different height
  • Fixed issue where group auto-hiding and fog-of-war logic was not being triggered when the player was moved via “Put Player”
  • Fixed issue in the Script Editor where previously saved comment node text would not be populated into the “Edit Text” popup until edited again
  • Fixed issue with scrollbar improperly showing in variable expression fields in visual script nodes
  • Fixed issue where Map Properties tab would be incorrectly displayed in certain cases when clicking on a model button while in an editor other than the Map Editor
  • Fixed Linux crash that could occur when a script was parsed in the Quick Script Builder dialog
  • Documentation: Added built-in documentation for the “Revive Character” scripting function
  • Documentation: Added built-in documentation for the “Execute Script” scripting function
  • Documentation: Added built-in documentation for the “End Battle” scripting function
  • Documentation: Added built-in documentation for “Global Event Scripts” functionality
  • Documentation: Updated built-in docs for “Script Syntax” to include info about the “random” and “inverse” functions, “elseif” functionality, and arrays
  • Documentation: Brought the built-in “Heal Entity” scripting function documentation up to date

Release Notes for v0.5.8.2

January 25, 2020


  • Added buttons to the Map Editor viewport for raising and lowering the tile placement grid
  • Added ability to trigger a script when the camera's cardinal direction has changed (via “Global Event Scripts” tab in Game Configuration)
  • Added ability to trigger a script when a player character levels up, character entity is passed as “self” (via “Global Event Scripts” tab in Game Configuration)
  • Added ability to reference a character's level (e.g. player.stat[“level”])
  • Updated “Assign Value” visual script node to support assignment to entity properties and stats in variable field
  • Update textual display of entities in-game to use entity type instead of just “Entity” (e.g. ”[Tile:grass@(3, 2, 0)]“)
  • Fixed issue where correct operator for “Assign Value” visual script node was not being selected when generated from source
  • Fixed issue where “Reset Camera At Speed” function would fail if camera had only been rotated and not moved
  • Fixed issue where entity behavior/ID/stat assignments were no longer being parsed properly in scripts
  • Fixed issue where the control variable's value in “For” loops was not being properly passed down into nested “If” statements
  • Fixed issue with opening characters directly from the Favorites list
  • Fixed issue with Script Editor crashing when the last statement in a statement list was followed by a semicolon
  • Fixed issue with “Set Entity Model” function not keeping model override for the player character across maps
  • Fixed some issues related to camera scripting while in the first-person camera view
  • Documentation: Added built-in documentation for the “Add Item To Container” scripting function
  • Documentation: Updated built-in docs for “Script Syntax” to include info about currently available data types
  • Documentation: Updated built-in docs for “Entity” to include additional reference types (Tile by Coordinate, Initiator, and Party Member)
  • Documentation: Updated built-in docs for “Tile” to include info about tiles being restricted to one per XYZ coordinate

Release Notes for v0.5.8.1

January 20, 2020


  • Added buttons to the built-in documentation pages for opening the online wiki version
  • Updated “Print To Console” visual script node to use syntax highlighting in the data field
  • Updated coord[x, y, z], color[r, g, b], and tile[x, y, z] expressions to support arithmetic expressions for their parameter values
  • Fixed issue with script parser crashing when processing scripts in a thread while running on Linux
  • Fixed issue with search functionality not working properly for built-in documentation
  • Fixed issue with “secret_wall” script in the example content not working properly
  • Fixed issue with not being able to compare two “contains” conditions in scripts (e.g. self contains “ITEM_0001” == self contains “ITEM_0002”)
  • Fixed issue with arithmetic expressions not working properly when using coordinates
  • Fixed issue with in-game debug console not properly parsing script commands
  • Documentation: Added initial page to built-in docs for “Array” data type
  • Documentation: Updated built-in docs for “String” data type to include details on string concatenation
  • Documentation: Updated built-in docs for “Script Syntax” to include explanations and examples for assignment statements, “while” loops, and “for” loops
  • Documentation: Brought the “Editor Settings” built-in docs up to date

Release Notes for v0.5.8

January 15, 2020


  • Reworked script parser to improve performance, validating scripts should now be significantly faster
  • Added support to the scripting language for string concatenation (example: display_message(“Hello ” + global.property[“player_name”] + ”!“) )
  • Added support to the scripting language for getting an entity's groups as an array (example: if entity[“xyz”].groups contains “room01” then … end, to check if an entity is in a group)
  • Added support to the scripting language for single line comments (place two forward slashes (\/\/) in front of text)
  • Added “For Loop” visual script node (and “Iterable Expression Builder” dialog for choosing what to iterate through) to the Script Editor
  • Added button for quickly expanding the “Script Source” section to fill the entire Script Editor area
  • Added setting for Script Editor to turn off the drag-and-drop tip shown along the top of the visual script area
  • Added warning popup when attempting to export your game or use Quick Play with unsaved resources
  • Updated scripting language to support conditional expressions as variable values (example: x = random(1, 20) > 5)
  • Updated scripting language to support comparison of entities with ”==“ and ”!=“ (example: if initiator == entity[“xyz”] then … end)
  • Updated scripting language to support conditional expressions for a few functions that previously expected explicit “true” or “false” values
  • Updated “Assign Value” visual script node to support compound operators (+=, -=, *=, /=)
  • Updated “Put Entity” scripting function to allow entity references (self, entity[“xyz”], etc.) instead of just an entity ID
  • Updated “Put Entity” scripting function to allow player entity (will just call “Put Player” function behind the scenes)
  • Updated script syntax highlighting logic to include “for” and “in” keywords
  • Updated “While Loop” visual script node to use syntax highlighting in conditional expression field
  • Update variable name field of “Assign Value” visual script node to change its info icon to an error icon if the variable name does not meet the required criteria
  • Removed “Source code contains syntax errors” popup in the Script Editor now that errors are displayed below the source code field
  • Fixed issue where character names were not being translated in dialogues
  • Fixed issue where a project's translations weren't being refreshed after importing a CSV file until the application was restarted
  • Fixed issue with the Entity Expression Builder dialog where the expression is not re-validated when selecting an item from the provided list
  • Fixed issue with scripting error not being caught when attempting to add a non-numeric value to a number in an arithmetic expression
  • Fixed issue with unexpected movement behavior when using the “Put Player” scripting function while the player character was walking
  • Fixed issue with unexpected movement behavior when using the “Load Map” scripting function while the player character was walking

Release Notes for v0.5.7.3

January 7, 2020


  • Added “group” keyword to syntax highlighting logic for script code
  • Added Sarah's space ranger characters (with idle and walk animations) to the Asset Library
  • Updated variable expression fields of visual script nodes (for example, “value” field of Set Global Property function) to use script syntax highlighting
  • Fixed issue where “Put Player” and “Put Entity” functions were not waiting until the player/entity placement was complete before progressing the script
  • Fixed issue where nested localized text within a localized dialogue was not being properly translated
  • Fixed issue with player character's XP not being kept when changing models using the “Set Entity Model” function
  • Fixed issue with characters not properly leveling up if receiving enough XP to level up multiple levels at once
  • Fixed issue where the light source cube was not being hidden in the Voxel Editor when capturing a preview thumbnail or character portrait
  • Fixed a timing issue related to the scripting functions for adding/removing items and modifying navigation paths

Release Notes for v0.5.7.2

January 3, 2020


  • Fixed issue with placeholder text for the Item Editor filter not being translated to the current language
  • Fixed issue with duplicating comment nodes in the Script Editor not working properly
  • Fixed issue with dialogue player choices not displaying when using “only visible if condition is met”
  • Fixed issue with local script variables not being evaluated in dialogue player choice conditions

Release Notes for v0.5.7.1

January 2, 2020


  • Changed “voxel units” label for the min/max zoom settings in the gameplay configuration to an info icon with a tooltip
  • Fixed issue with exit confirmation not always appearing (or appearing partially transparent) when quitting a game from the main menu
  • Fixed issue with placeholder expressions within translated game text not being properly evaluated
  • Fixed issue with placeholder expressions not working properly when used with “Print” and “Display Message” functions
  • Fixed issue with NPC/Player/Message nodes in dialogues not properly generating an ID when added as the first node of a branch and localization is enabled
  • Fixed issue with the Game Configuration window becoming too wide after opening the gameplay section when using certain localizations
  • Fixed issue where conditions were no longer working properly in dialogues

Release Notes for v0.5.7

January 1, 2020


  • Added ability to define default scripts for tiles and objects in the Voxel Editor (which will be assigned for those newly added to a map)
  • Added ability to iterate over an entity's model tags in “For” loops (e.g. for tag in entity[“xyz”].tags do … end)
  • Added ability to check for values in tag arrays using the “contains” conditional operator (e.g. if self.tags contains “human” then … end)
  • Added ability to check if a group contains a specific entity using the “contains” conditional operator (e.g. if group[“xyz”] contains entity[“abc”] then … end)
  • Added ability to reference or modify a character's experience points in scripts (e.g. if player.xp > 1000 then … end)
  • Added ability to use compound assignment operators (+=, -=, *=, /=) in scripts (e.g. global.property[“counter”] += 1, which adds 1 to the counter property)
  • Added ability to reference and modify character stats via scripting (e.g. player.stat[“attack”], supported stats in this release include “hp”, “max_hp”, “xp”, “attack”, “defense”, and “move_range”)
  • Added ability to reference tile entities in scripts by their coordinates (e.g. tile[0, 0, 0])
  • Added new scripting function “Remove Item From Container” which removes one or more of an item from a container object and returns a numeric value indicating how many were successfully removed (e.g. remove_item_from_container(entity[“chest”], “ITEM_0001”, 2))
  • Added new scripting function “Assign Entity ID” which assigns an ID to an entity, or clears it if an empty string (”“) is used, and returns true/false indicating whether ID assignment was successful (e.g. assign_entity_id(entity[“xyz”], “New ID”))
  • Added a counter variable to the scripting language for getting the number of tiles a character has walked (e.g. player.counter[“tiles_walked”] to get how many tiles the player has traversed)
  • Added a button to the Item Editor for opening a usable/consumable item's script in the Script Editor
  • Added a confirmation dialog when deleting platform waypoints from the Entity Properties panel in the Map Editor
  • Added “and” and “or” keywords to syntax highlighting logic for scripts (e.g. in source code text boxes)
  • Added “X” button to clear the “Available Functions” filter in the Script Editor when text is entered into the field
  • Added “X” button to clear the item list in the Item Editor when text is entered into the field
  • Added confirmation popup when removing a project from the “Recent Games” list on the Game Manager dialog
  • Added script syntax highlighting to appropriate visual script node fields (conditions, variable expressions, direct entry, etc.)
  • Updated display of entities in scripting (via Print, Display Message, etc.) to output descriptive text (e.g. [Entity:goblin@(0, 0, 0)] instead of scene node name
  • Updated object placement logic in Map Editor to automatically change “Walk and Interact” navigation paths to “Interact Only” when placing impassable objects with a default script
  • Updated “Entity by ID” option of the Entity Expression Builder dialog with a checkbox for using just the ID string instead of the full entity[”…“] syntax
  • Updated “Add Item To Container” scripting function to also support entity references (e.g. self) instead of just an entity ID string
  • Updated UI elements for “Moving Platform” setting to open the built-in documentation when dragging and dropping Justin guide
  • Updated Conditional/Entity/Variable Expression Builder dialogs to use script syntax highlighting in expression field
  • Updated “Add Item To Container” scripting function to return a numeric value indicating how many of the item were successfully added to the container (allowing usage in conditions, arithmetic expressions, etc.)
  • Updated “Give Item” and “Remove Item” scripting functions to return a numeric value indicating how many of the item were successfully added/removed
  • Updated “Copy Properties” feature in the Map Editor to allow pasting properties to multiple entities at once
  • Fixed issue where platform waypoints where not able to be deleted from the Entity Properties panel in the Map Editor
  • Fixed issue where changed maps other than the one from which a game was saved were not being properly restored upon loading and returning to the other maps
  • Fixed issue where a custom interaction cursor assigned to a tile would incorrectly show when hovering over it if the player was already standing on that tile
  • Fixed issue with NPCs not properly being destroyed/removed from the game when killed by a damaging tile script
  • Fixed issue where existing quick scripts could fail after adding others to a map and then loading a previously saved game
  • Fixed issue where “initiator” reference was not being connected to the player for “on close” scripts of item containers
  • Fixed issue with pause menu not completely displaying sometimes when a game was running at lower frame rates
  • Fixed issue where Script Editor logic nodes were appearing in the “Available Functions” list after the filter was used
  • Fixed “signal already connected” errors when re-opening a container in-game that was already open
  • Fixed issue with the <entity>.coord script syntax not working properly for tiles
  • Fixed issue with Asset Library not being properly reset upon closing
  • Fixed issue with certain fields of visual script nodes not being visible after generating graph from source code
  • Fixed vertical placement of certain visual script nodes following If/While nodes when generating graph from source code
  • Fixed issue where “Start” node of visual scripts would be too wide sometimes
  • Documentation: Added built-in documentation for the “Platforms” functionality
  • Documentation: Added built-in documentation for the “Move Platform” scripting function

Release Notes for v0.5.6.4

December 15, 2019


  • Updated Asset Library to display visual grid of models instead of a text list
  • Updated Asset Library to support filtering on multiple tags (comma-separated)
  • Updated Asset Library to display grid dimensions for models within the preview box
  • Added popup dialog to Asset Library for selecting from a list of available tags
  • Added several tiles, objects, and characters from the Dungeon in my Pocket assets to the Asset Library (more to come)

Release Notes for v0.5.6.3

December 7, 2019


  • Fixed issue with “Execute Script” function not working properly

Release Notes for v0.5.6.2

December 6, 2019


  • Added option for “Initiator Property” to the Conditional Expression Builder dialog
  • Added options for ID of “self” and “initiator” references to the Conditional Expression Builder dialog
  • Added operator option for “contains at least” to the Conditional Expression Builder dialog
  • Fixed issue where custom properties were incorrectly being shared between entities of the same type in the Map Editor
  • Fixed issue with the “Start Dialogue” scripting function not triggering properly in some cases

Release Notes for v0.5.6.1

December 4, 2019


  • Added check for unsaved changes to the Stats Editor when exiting to the Game Manager or closing the application
  • Added “Stats” item to the Game Explorer for quick access to the Stats Editor
  • Added “initiator” as an option to the Entity Expression Builder dialog
  • Added ability to assign/remove an entity's ID using assignment statements (e.g. self.id = “new_id” to assign or self.id = ”“ to remove)
  • Updated Stats Editor tab to be marked as having changes when appropriate
  • Updated sound effect for enemy death in the bundled demo game
  • Fixed issue with map pre-load scripts no longer working properly (causing the game to hang during the map load)
  • Fixed issue where Stats Editor was not being properly cleared out when exiting to the Game Manager
  • Fixed issue where reference to an entity's ID (e.g. self.id) was not able to be used in conditional expressions or right-hand side of assignment statements

Release Notes for v0.5.6

December 3, 2019


  • Added basic leveling functionality to Stats Editor (ability to define required XP and associated stat increases per level - for this initial release, leveling messages are logged to the debug console)
  • Added setting for “Experience Points” to the Enemies section of the Combat Editor and visual indicator in-game to display amount received
  • Added ability to assign experience points to real-time enemies in the Map Editor (via behavior settings when marked as “attackable”)
  • Added ability to assign loot drops to real-time enemies in the Map Editor (via behavior settings when marked as “attackable”) with popup icons to indicate item received
  • Added support to the scripting language for getting an entity's rotation (example: if entity[“xyz”].direction == NORTH then …)
  • Added “initiator” keyword to the scripting language for referencing the entity that triggered a script (e.g. the character that stepped on a tile with a script)
  • Added support to the scripting language for getting an entity's ID (e.g. self.id)
  • Updated game saving logic to store maximum health, current health, attack, defense, and experience values for characters
  • Updated Steam rich presence functionality to display proper value for the new Stats Editor tab
  • Fixed issue with the Combat Editor's “Reload All From Disk” button not properly clearing the enemy list and loot drop list when used
  • Fixed issue with loot drop field not properly resetting to “none” when adding a new enemy
  • Fixed “Signal 'animation_stopped' is already connected” errors when returning to a previously visited map
  • Fixed issue with camera raising/lowering too much during turn-based combat when the player walked across tiles with varying height
  • Fixed “invalid operand” error that would occur in-game when loading an old migrated map that had a camera override value set
  • Fixed issue where Steam rich presence would show the current editor tab instead of “Game Manager” when first opening the application
  • Fixed crash that would occur when setting an entity's ID in the Map Editor then tabbing out of the field
  • Fixed issue with fullscreen editor mode no longer working properly as a result of last update
  • Fixed issue with theme dropdown not working properly when editor was using certain non-English languages
  • Fixed issue with the “contains” scripting operator not working properly for stacked items
  • Fixed issue where existing scripts using the “contains” operator without a count specified would potentially fail
  • Fixed issue where NPCs were incorrectly sharing behavior data in-game when assigned the same preset (potentially causing movement issues, etc.)
  • Fixed issue where a new health bar was being added every time a real-time enemy was attacked
  • Fixed issue where real-time enemies could continue to be attacked while their death animation was playing

Release Notes for v0.5.5.4

November 11, 2019


  • Updated top set of editor tabs (Map Editor, Voxel Editor, etc.) to wrap onto multiple rows instead of needing to scroll through them on lower resolutions
  • Darkened background of center editor area to help differentiate it from the top-level editor tabs
  • Improved palette importing to handle PNG images with colors across multiple rows (instead of requiring all colors to be on a single row)
  • Added base editor UI for the Stats Editor (no functionality yet)
  • Added placeholder sections for Encounter Areas and Spawn Areas to the Combat Editor (no functionality yet)
  • Fixed issue with the duplication of custom properties when copying and pasting properties between entities in the Map Editor
  • Fixed issue with the camera improperly moving in free mode and first-person mode when using Shift + A or Shift + Ctrl + A to adjust the grid in the Map Editor
  • Fixed issue where Properties tab would not be cleared when going from the UI Editor to the Dialogue Editor (with no dialogues opened)
  • Fixed issue where Properties tab would not be cleared when switching from an editor with properties displayed to the Documentation tab

Release Notes for v0.5.5.3

October 31, 2019


  • Added ability to copy and paste properties between entities in the Map Editor (via right-click context menu in Edit mode)
  • Added initial “for” loop support to scripting language for iterating over entities within a group (example: for e in group[“xyz”] do play_animation(e, “open”) end)
  • Added syntax to scripting language for getting all entities within a group (e.g. group[“xyz”], for usage with “for” loops)
  • Updated “contains” operator in scripting language to support minimum item count (e.g. player.inventory contains[3] “ITEM_0001” to check that the player has at least 3 of ITEM_0001, any scripts using “contains” may need to be edited and re-saved)
  • Updated Variable Expression Builder dialog to include entity coordinate references as options to select from
  • Changed A/Z shortcut keys in Map Editor (raise/lower tile placement grid) to require modifier keys and allow jumping in increments similar to scroll wheel (Shift + A/Z to adjust by one voxel, Shift + Ctrl + A/Z to adjust by increment)
  • Fixed issue where certain functions referencing a newly added entity could potentially fail when used directly after “Add Tile”, “Add Object”, or “Add Character”
  • Fixed issue with post-load scripts for maps not triggering properly in-game
  • Fixed issue with mesh generation where texture image file could potentially run out of space for larger, more complex models
  • Fixed issue where using WASD/arrow controls would interrupt the player's current animation when player movement is locked
  • Localization: Added localization for Simplified Chinese (selectable from the general editor settings)
  • Documentation: Added built-in documentation for the “Add Object” scripting function
  • Documentation: Added built-in documentation for the “Hide Group” scripting function
  • Documentation: Added built-in documentation for the “Show Group” scripting function
  • Documentation: Added built-in documentation for the “Hide Inventory” scripting function
  • Documentation: Added built-in documentation for the “Print To Console” scripting function
  • Documentation: Added built-in documentation for the “Execute Script” scripting function
  • Documentation: Brought the “Wait” built-in documentation up to date for any changes from v0.4 to v0.5

Release Notes for v0.5.5.2

September 9, 2019


  • Added “Default Camera” setting for the Map Editor to allow selection of a default camera type (Standard, Free, or Isometric) accessible from the Editor Settings dialog
  • Added antialiasing setting (MSAA 2x, 4x, 8x, 16x) to the Editor Settings dialog for the Map Editor and Voxel Editor and to the in-game options menu
  • Added ability to set the initial frame of an entity's model after placed into a map (via the Entity Properties panel or -/= shortcut keys while selected in Edit mode)
  • Added support to scripting language for setting global and entity properties via direct assignment (e.g. global.property[“xyz”] = 10)
  • Added support to scripting language for using “and”/“or” to connect multiple expressions within a condition (e.g. if player.inventory contains “ITEM_0001” and random(1, 20) > 15 then…)
  • Added support to scripting language for Cyrillic characters within strings (e.g. for the “Display Message” function)
  • Added support to scripting language for assigning behavior presets to characters (e.g. entity[“slime01”].behavior = “Hostile Slime”)
  • Added logic to update model collision used for mouse detection when an animation has stopped on a new frame (e.g. a clamped animation for an opening door)
  • Added support for using OGG files for sound effects (Game Explorer will now show .wav and .ogg extensions for sound resources)
  • Added ability to zoom in and out in the Map Editor using Ctrl + Middle Mouse Button + Drag Up/Down
  • Added line numbers to script source code fields in the Script Editor and Quick Script Builder dialog
  • Added ability to enter source code editing mode in the Script Editor by double-clicking within the source code's text area box
  • Added ability to rotate the camera in Map Editor free cam mode by holding Space in addition to the middle mouse button
  • Added backslash (\) as an alternate key for opening the in-game debug console
  • Improved performance of parser for scripting language (parsing time of scripts should now be significantly faster)
  • Updated “Play Sound” function to support inclusion of file extension (if none specified, the game will first look for a *.wav and then a *.ogg for backwards compatibility)
  • Updated “Import Dropped Files” dialog to allow selection of either “Music” or “Sound” for the resource type when importing an OGG file
  • Updated auto-connect functionality in Script Editor to only take effect if closest unused output is within a certain distance (to minimize unwanted connections)
  • Updated icon for “Speed Multiplier” tile property on the Model Properties panel to match that of the “Speed” property for characters
  • Documentation: Brought the “Model Properties” built-in documentation up to date for any changes from v0.4 to v0.5
  • Documentation: Brought the “Add Character” built-in documentation up to date for any changes from v0.4 to v0.5
  • Documentation: Brought the “Add Tile” built-in documentation up to date for any changes from v0.4 to v0.5
  • Fixed issue where the editor would freeze up when attempting to export a model to a previously existing file that was locked by another application (e.g. after importing the file into Goxel)
  • Fixed issue where inventory would have unexpected behavior after loading a map where the player character was overridden

Release Notes for v0.5.5.1

September 3, 2019


  • Added initial implementation of animating a model's light source by allowing the parameters to be set per frame by enabling the “Animated” setting
  • Added ability to use coordinates for the “Add Character” scripting function to place a character by tile coordinate in addition to entity ID
  • Added eyedropper tool for picking colors as a separate tool mode to the Voxel Editor (can still hold Alt in other modes to pick as well)
  • Added “Remove surfaces along grid boundaries” to Voxel Editor to allow for better tiling of models with transparency, e.g. water tiles that border each other
  • Added search functionality to the built-in documentation
  • Added undo/redo actions for toggling of the “Light Source” setting in the Voxel Editor
  • Added “Party Member” as an option to the Entity Expression Builder dialog in the Script Editor
  • Added initial implementation of a noise generator for creating flat tiles from a randomly generated noise texture (accessed via Voxel Editor toolbar)
  • Added Table of Contents section to the documentation viewer for quickly jumping to major sections within a page
  • Added warning dialog that's displayed when attempting to open a model in the Voxel Editor or place it in a map when it's not located in the correct project folder based on its type (tile/object/character)
  • Implemented “camera override” functionality to use specified camera type when maps are loaded (or game's default camera if none specified), added “First-Person” as option to dropdown
  • Implemented “player override” functionality to use specified character model when maps are loaded (or game's default character if none specified)
  • Documentation: Updated Documentation tab to initially show the Tutorials page by default
  • Documentation: Brought the built-in “Voxel Editor” documentation up to date for any changes from v0.4 to v0.5
  • Fixed issue where combat would get stuck when attempting to launch a battle from within a dialogue
  • Fixed issue where the primary player's health would not be restored to half if they died during combat but the remaining party members won the battle
  • Fixed issue with the undo action for frame insertion/duplication in the Voxel Editor not working properly when the model initially had only one frame
  • Fixed issue where characters placed with the “Add Character” scripting function were not being assigned their default behavior, if defined
  • Fixed issue where battles could fail to start if defined in the Combat Editor and then launched in-game without first using the dropdown to select a battle map
  • Fixed issue where documentation pages with videos in them were failing to open properly
  • Fixed issue where the default item ID (“ITEM_0001”) was not enclosed in double quotes when dragging the “Give Item” function into a script in the Quick Script Builder
  • Fixed issue with Combat Editor not resetting completely (asterisk on tab and toolbar buttons) when exiting to the Game Manager with unsaved changes
  • Fixed issue where battles would fail to load when “Set Entity Model” was previously used to replace the main player's model
  • Fixed issue where tactical combat would sometimes get stuck when enemies were using directional attack animations (“attack_north”, “attack_east”, etc.)
  • Fixed incorrect tooltip text for “First Frame” button on the Voxel Editor's animation toolbar

Release Notes for v0.5.5

August 25, 2019


  • Added basic party system functionality (See related scripting functions below - for initial testing purposes these are only available from quick scripts. Visual script nodes coming soon!)
  • Added new scripting function “Add Party Member” which adds a character to the player's party: add_party_member(“character_model”, “member_id”)
  • Added new scripting function “Remove Party Member” which removes a character from the player's party: remove_party_member(“member_id”)
  • Added new scripting function “Restore Party Member” which returns a previously removed character back to the party: restore_party_member(“member_id”)
  • Added new scripting function “Hide Inventory” to close the player's inventory if it's visible: hide_inventory()
  • Added “party.member” identifier to scripting language's supported entity references for accessing a party member by ID, e.g. heal_entity(party.member[“id_of_member”], 5)
  • Added new scripting function “Execute Script” which launches another script in parallel with the currently running one
  • Added ability to access the X/Y/Z values of coordinates within scripts, e.g. player.coord.x, self.coord.y, entity[“some_id”].coord.z, etc.
  • Added ability to use coordinates within arithmetic expressions, for example to subtract or add two coordinates together, multiply a coordinate by a number, etc.
  • Added ability to use coordinates for the “Add Object” scripting function to place an object by tile coordinate in addition to entity ID
  • Changed icon for “Show Inventory” function in the Script Editor to be more unique
  • Updated buttons in the Voxel Editor viewport (upper right) for rotating the model to become disabled when the model's grid width and depth aren't equal
  • Added informational dialog with terminal command to run (similar to that of Quick Play's) that is displayed after exporting your game on Linux or MacOS (if the game executable is updated)
  • Increased camera zoom max value from 120 to 200 in the Game Configuration dialog's gameplay section
  • Added Ultima themed assets (from Iolo's Hut map created for Demo Game Hub) to the Asset Library (tagged with “ultima”)
  • Fixed issue where moving selected voxels in the Voxel Editor then undoing the action would not properly restore any overwritten voxels
  • Fixed issue where rotating selected voxels in the Voxel Editor then undoing the action would not properly restore any overwritten voxels
  • Fixed issue where the ESC key would inadvertently pause the loading screen until pressed again while loading a map
  • Fixed issue with localization credits not showing properly in the About dialog
  • Fixed issue where Alt+Tabbing out of the Voxel Editor while editing with the left mouse button pressed could result in unexpected behavior when returning to the editor
  • Fixed issue where the Sound FX Generator could potentially fail to play or save sound effects in rare cases
  • Fixed a few issues related to the IDs of newly added dialogue nodes when localization is enabled in the Dialogue Editor
  • Fixed some in-game errors that would display in the console when moving the mouse over tiles while the player was on a moving platform
  • Fixed issue with variable names within scripts not being properly parsed
  • Fixed issue where strings starting with “property” could not be used in some places within scripts
  • Fixed issue where the “Create a New Game” folder browser dialog wouldn't automatically navigate to the currently entered game path if it had been manually typed in
  • Localization: Added German translations for in-game UI text (menus, inventory interface, etc.)
  • Localization: Added Russian translations for both editor and in-game UI text and option to select it in the Editor Settings dialog
  • Localization: Fixed issue with special credits text in the About dialog being cut off in the German translation

Release Notes for v0.5.4.6

August 17, 2019


  • Updated Map Editor's free camera and first-person camera controls to prevent “D” from deleting navigation nodes
  • Update Voxel Editor's “Rotate Model Clockwise” button on the Model Tools panel to rotate around the current camera view's vertical axis
  • Added buttons to the Voxel Editor viewport (in panel with “Move” buttons) for rotating selected voxels clockwise or counterclockwise (or entire model if none are selected)
  • Updated logic for caching and loading model previews (should result in noticeably shorter load times when re-opening a game project after the cache has been created the first time)
  • Fixed issue where scripts were not properly resuming after a dialogue within that script had finished
  • Fixed issue where some invalid navigation data was potentially causing maps to not load in-game
  • Fixed console error that would occur upon game startup when the configured Main Menu background map didn't exist
  • Fixed issue where surface edges were not being recalculated properly when decreasing grid dimensions in the Voxel Editor then undoing the change
  • Fixed issue where voxels outside of the grid in frames other than the current one were not being properly removed when resizing the grid, then undoing and redoing the change
  • Fixed issue where a large number of error messages would sometimes display when opening a game project
  • Fixed “signal is already connected” console errors that would occur when right-clicking folders in the Game Explorer
  • Localization: Fixed issue with tile/object/character filter boxes not showing translated placeholder text properly
  • Localization: Updated translations to officially include support for Brazilian Portuguese

Release Notes for v0.5.4.5

August 13, 2019


  • Added ability to import palettes from an external file (PNG images (1x) or .HEX files from lospec.com)
  • Added ability to define tags for items in the Item Editor (in preparation for future uses)
  • Updated “New Palette”, “Duplicate Palette”, and “Rename Palette” dialogs to display appropriate titlebar icon instead of default question mark icon
  • Decreased height of description box below list of scripting functions
  • Slightly increased default brightness of ambient light in newly created maps
  • Updated slime characters in the Asset Library to fix “invalid sound effect” error displayed in the debug console
  • Updated stats of slime characters in the Asset Library to be different from each other and more balanced relative to Justin's stats
  • Fixed issue with adding new palettes not working properly when at least one custom palette already existed
  • Fixed issue with decreasing then increasing an object's grid width in the Voxel Editor causing undeleted voxels' positioning to be incorrect
  • Added buttons to the About dialog for RPG in a Box's Itch.io page and Steam Community hub
  • Updated About dialog with German localization credits
  • Updated real-time enemies so they will attempt to attack if the player character is adjacent (still experimental so may be buggy)
  • Localization: Fixed issue with the window width of the “Sound FX Generator” popup dialog
  • Localization: Fixed issue with the window width of the “Create a New Game” popup dialog
  • Localization: Fixed issue with the window width of the “Edit Tags” popup dialog

Release Notes for v0.5.4.4

August 3, 2019


  • Fixed issue where changing the “Minimum Line Count” setting in the Theme Editor was not being saved properly
  • Fixed issue with dialogue text not filling the entire window when portrait position was set to “Top”
  • Fixed issue in Theme Editor where the Tooltip box was not being properly resized after the font was changed
  • Fixed issue with some models in the Asset Library missing textures until edited and re-saved

Release Notes for v0.5.4.3

July 30, 2019


  • Updated drag-and-drop logic in Script Editor to automatically connect newly added nodes to the nearest unused output
  • Added an editor setting to disable the new auto-connect functionality for the Script Editor
  • Added ability to replace colors in the Image Editor using Shift + Left Mouse Button
  • Removed obsolete connection color settings from the Dialogue Editor section of the Editor Settings dialog
  • Fixed issue where changing the visual script connection colors from the Editor Settings would not properly update any currently opened scripts
  • Fixed a few issues with the “Go To” node's Section option not working properly in the Dialogue Editor
  • Fixed issue with imported Qubicle models being offset incorrectly in certain cases

Release Notes for v0.5.4.2

July 27, 2019


  • Fixed issue with importing Qubicle models into the Voxel Editor not working properly

Release Notes for v0.5.4.1

July 26, 2019


  • Updated minimap logic to display NPCs as red dots if their “When Player Interacts” behavior is set to “Start Battle”
  • Updated “Enemy Turn” text to include current/total enemies during tactical turn-based battles
  • Updated resource renaming logic for maps, models, scripts, and dialogues to ensure that the resource is closed before attempting to rename it
  • Fixed issue where an error relating to dialogue font would display on game startup in some cases
  • Fixed issue with “Show Group” scripting function not working properly if the group was pre-hidden in the Map Editor (group will need to be shown and then hidden again in the Map Editor)
  • Fixed issue with manually inserted line breaks within dialogue not being properly displayed in-game
  • Fixed issue where double quotes and manually inserted line breaks in the “Display Message” visual script node were not being properly escaped
  • Fixed issue where saving an entity's quick script as a script resource in the Map Editor would not properly update the entity's script marker icon or the Entity Overview panel
  • Fixed issue with some of the built-in game UI translations not working properly

Release Notes for v0.5.4

July 23, 2019


  • Added “Custom Properties” section to Entity Properties panel in the Map Editor for defining initial property values
  • Added “64-Bit” checkbox to the Export Game dialog for selecting 64-bit vs. 32-bit
  • Added 32-bit game export binaries for Windows and Linux platforms

Release Notes for v0.5.3.7

July 21, 2019


  • Fixed issue where stackable item counts in the player's inventory would display localization text in cases where the count matched a translation ID

Release Notes for v0.5.3.6

July 20, 2019


  • Added “Random (Forced)” movement direction to NPC behavior settings (random direction to move will only be selected from open paths)
  • Added logic to fix objects and characters with duplicate internal node names when maps are opened in the Map Editor (was causing interaction/selection issues in some cases)
  • Fixed issue where an NPCs movement would lose its randomness in certain cases when using a movement direction of “Random”

Release Notes for v0.5.3.5

July 20, 2019


  • Fixed issue where scripts would get stuck after using the “Set Global Property” function

Release Notes for v0.5.3.4

July 20, 2019


  • Fixed issue where sound effects were not playing when assigned to a model's animation
  • Fixed issue where referencing properties set by “Set Entity Property” or “Set Global Property” immediately after would sometimes not have the correct value
  • Updated Linux binaries to hopefully be more compatible with older distributions

Release Notes for v0.5.3.3

July 18, 2019


  • Fixed issue where tile size warning icons were not being cleared after closing all opened maps
  • Fixed issue with “random” expression not evaluating properly when used in scripts

Release Notes for v0.5.3.2

July 17, 2019


  • Added warning icon that is displayed for any tiles that cannot be placed into the currently opened map due to a difference in size
  • Fixed issue with player choice text within dialogues not being properly translated when using localization

Release Notes for v0.5.3.1

July 16, 2019


  • Fixed issue with exporting translations to a CSV file when string values contained commas or line breaks

Release Notes for v0.5.3

July 16, 2019


  • Fixed issue where using the “Set Entity Model” function to change the player character's model would fill the console with errors
  • Fixed a few issues related to some unfinished logic for characters spanning multiple tiles (will revisit/finish up this functionality later on)
  • Fixed issue where an error relating to “bg_color” would display in the console in certain cases when showing the Main Menu in-game
  • Fixed issue where tactical combat would get stuck in some cases after an enemy would attack the player
  • Fixed issue where the player movement area indicators would not show for certain tiles during tactical combat
  • Fixed issue with the player movement area not calculating properly for character movement ranges greater than 2
  • Added experimental “two-dimensional” setting for characters in the Voxel Editor (to use for models that are meant to behave as 2D sprites, for now this just prevents characters from auto-rotating when interacting with another entity)
  • Various French localization updates for editor interface (thanks CdriX!)

Release Notes for v0.5.2

July 13, 2019


  • Fixed issue with translation IDs not evaluating properly within the “Display Message” scripting function (e.g. display_message(”%ID1%“))
  • Fixed issue where editor settings for “recent games list” and “last changelog viewed” would initially result in console errors on first-time installations
  • Fixed issue with enemy details components not being properly updated after deleting an enemy from a battle in the Combat Editor
  • Fixed issue where deleting enemies from a battle in the Combat Editor would not actually remove them from the underlying combat data
  • Fixed issue where health bars were improperly showing for enemies outside the camera's field of view while in first-person combat

Release Notes for v0.5.1.1

July 11, 2019


  • Fixed issue with game executable failing to launch due to missing minimap dependencies

Release Notes for v0.5.1

July 10, 2019


  • Added initial minimap functionality with a game configuration setting to enable/disable (press “M” to show in-game, NPCs are shown as cyan dots and real-time enemies are red dots)
  • Added “Show Player Health” game configuration setting for showing the player's health bar outside of combat
  • Added logic to handle player's death when outside of combat (for now, a message is displayed then the game is either restarted from the beginning or the Main Menu is displayed if enabled)
  • Added “restart” command to debug console for restarting a game from the beginning
  • Added damage sound effects for when the player is damaged via the “Damage Entity” scripting function
  • Added support for directional override animations for “attack” (“attack_north”, “attack_west”, etc.) that will be used if defined
  • Added check to prevent tiles, objects, and characters from being renamed while any maps using that resource are currently opened
  • Added Steam rich presence logic for Main Menu Editor and Credits Editor
  • Fixed issue with not being able to change initial value of Boolean properties in the Game Configuration dialog (left-clicking will now toggle between true and false)

Release Notes for v0.5.0.1

July 2, 2019


  • Fixed an issue related to creating new projects from the “Create a New Game” dialog

Release Notes for v0.5.0

July 1, 2019


  • Implemented first iteration of tactical turn-based combat (similar functionality to that of v0.4 with some minor improvements)
  • Implemented loot drop functionality in the Combat Editor (only a single item per drop for now)
  • Implemented damage logic and health bars for real-time enemies attacked by the player
  • Added player health UI that is displayed in the bottom left corner during battles
  • Added damage/healing numbers that are displayed when the “Damage Entity” and “Heal Entity” functions are triggered
  • Added check to prevent a battle from being triggered when one is already active
  • Battles triggered by enemy interaction will now remove the initiating enemy if the battle ends in victory
  • Updated player movement logic to only use “bumping to interact” mechanic when the Action System setting is set to roguelike
  • Remove logic pertaining to v0.5 build numbers as this is the final build of v0.5
  • Fixed issue where the Combat Editor would initially show above other components if the Default Tab editor setting was using the default value
  • Fixed issue where tile scripts with trigger option of “Character stops on tile” wouldn't trigger if the character stopped due to being blocked by another character
  • Fixed issue where the cursor was not being reset to default when opening the Pause Menu
  • Fixed issue where the cursor was not being properly updated after a dialogue finished, tile navigation was modified, or player's movement/interaction was unlocked
  • Fixed issue where the using the gamepad buttons (e.g. Xbox A button) to skip through actively displaying dialogue text was not working properly
  • Fixed issue where model animations in-game would sometimes play too fast under certain circumstances
  • Fixed issue with duplicating of enemies in the Combat Editor not working properly
  • Fixed issue where deleting an enemy in the Combat Editor would not properly update the details section afterwards
  • Fixed issue where deleting a battle in the Combat Editor would not properly update the details section afterwards
  • Fixed issue where battle details section would not be properly updated after adding a new battle
  • Fixed issue where objects (e.g. a rock) would incorrectly prevent tiles from being valid spawn tiles when spawning enemies into a battle
  • Fixed issue with item “use count” behaving incorrectly in-game when using the “Give Item” scripting function to give multiple of an item at once
  • Fixed issue where changing an NPC's movement area behavior setting would not trigger a change in some cases

Release Notes for v0.5 Build 78

June 19, 2019


  • Added ability to define enemies in the Combat Editor and add them to battles, with settings for either fixed count or random count (combat is not implemented yet, but enemies will spawn on random tiles in the battle map)
  • Save button is now hidden when opening the Pause Menu during a battle
  • Fixed issue in the Map Editor where opening the right-click context menu in Edit mode while still holding the left mouse button could cause selecting to continue without the button pressed
  • Fixed issue with camera's vertical positioning that would sometimes occur when moving a tile platform to another waypoint
  • Fixed some issues with the “Add Character” scripting function not working properly

Release Notes for v0.5 Build 77

June 17, 2019


  • Added “End Battle” scripting function and visual node for manually ending a battle (with a victory/defeat outcome parameter for future use)
  • Updated moving platform logic in Map Editor to automatically define navigation connections for starting waypoint when first enabling the platform setting
  • Updated text of “Trigger When” tile script options to use “Character” instead of “Player” since NPCs can now trigger scripts
  • Added “Player Spawn” battle setting to the Combat Editor for choosing between “Random Tile” or “Random Tile in Group”
  • Added “Reload All From Disk” button to the Combat Editor toolbar for reloading combat data from disk
  • Added note about 10×10 map size limit that is displayed in the demo version at the bottom of the Map Editor
  • Added scripting function description for “Move Platform” to Script Editor function list
  • Changed “Under Construction” message at top of Combat Editor to have autowrapped text
  • Removed battle placeholder message when starting a battle (for testing purposes, you can use the new “End Battle” function to manually end the battle until combat has been implemented)
  • Fixed issue with “Move Platform” visual script node where the waypoint name would not be properly updated in the script source when changed
  • Fixed issue with “Move Platform” scripting function where characters would not remain on a platform after more than 2 waypoint transitions in a row
  • Fixed issue where the player character could sometimes move to the previous tile while on a moving platform
  • Fixed error that would occur when attemping to duplicate a “Load Map” visual script node with the player direction set to “No Change”

Release Notes for v0.5 Build 76

June 14, 2019


  • Added first iteration of “moving platform” functionality (can be enabled from an entity's properties in the Map Editor, can also define waypoints to use with scripting)
  • Added “Move Platform” scripting function and visual script node for moving a tile platform to a waypoint (e.g. move_platform(self, “Waypoint 1”))
  • Added “Triggerable by NPCs” setting to tiles in the Map Editor to allow scripts to be triggered by NPCs
  • Added “Can Trigger Scripts” behavior setting for NPCs to specify whether or not the entity can trigger scripts that are “Triggerable by NPCs”
  • Added ability to use arrow keys for moving the Map Editor camera in free mode
  • Added “Start Battle” option to “When Player Interacts” NPC behavior setting to launch a battle
  • Added initial implementation of Combat Editor with ability to define battles and associated map to load for the battle
  • Updated “Start Battle” scripting function to load the battle map with a placeholder message, then return to the previous map
  • Updated Game Explorer context menu to properly disable the “Delete” menu item when right-clicking “Items” or “UI Components”
  • Fixed some issues with the “Seek Player” and “Avoid Player” behavior setting for NPCs not working properly

Release Notes for v0.5 Build 75

May 31, 2019


  • Added help button to the Editor Settings dialog for opening its documentation
  • Added help button to the New Resource dialog for opening its documentation
  • Updated “Justin guide” to open the New Resource Dialog documentation when dropped onto the “New Resource” button of the applicable editor toolbars
  • Updated “Justin guide” to open the Map Properties documentation when dropped onto the header of the Map Properties panel
  • Updated “Justin guide” to open the Models Properties documentation when dropped onto the header of the Model Properties panel
  • Updated “Justin guide” to open the Palette documentation when dropped onto the palette components of the Model Tools panel
  • Recent Games list on Game Manager will now automatically highlight the first item in the list if any exist
  • If “Action System” gameplay setting is set to roguelike, NPCs/enemies will now not move until the player moves or attacks (still experimental)
  • Added introductory popup for “Justin guide” that is displayed when opening a game project (includes a button to prevent it from being shown again)
  • Added ability to interact with objects and characters by “bumping” into them when “Action System” setting is set to roguelike

Release Notes for v0.5 Build 74

May 28, 2019


  • Fixed a few issues related to “Save As” not working properly when saving as a different type in the Voxel Editor
  • Fixed issue with sound files being improperly trimmed at the end
  • Fixed issue where NPCs weren't obeying their movement area (if set) when configured to seek out or avoid the player
  • Fixed issue where current map wasn't being properly cleared when showing credits if background map for credits was set to none
  • Fixed issue where credits background map wasn't being properly cleared after credits completed
  • Added fade out/in before credits are shown via “Show Credits” function

Release Notes for v0.5 Build 73

May 27, 2019


  • Added help buttons to the Game Configuration dialog for opening its general documentation and those for Startup Script, Player Character, Terrain Following, and Debug Console
  • Added help button to the Quick Script Builder dialog for opening its documentation
  • Added help buttons to the Conditional Expression builder dialog for open its documentation and that of conditional expressions
  • Added “Action System” gameplay setting for choosing between real-time and roguelike style of movement/interaction (for future use, this setting does nothing yet)
  • Updated “Justin guide” to open the Item Container documentation when dropped onto the item container components of the Entity Properties panel
  • Updated “Justin guide” to open the Navigation & Interaction documentation when dropped onto the Navigation Types panel of the Map Editor
  • Updated “Justin guide” to open the NPC Behavior documentation when dropped onto the behavior components of the Entity Properties panel
  • Updated “Justin guide” to open the Positional Light documentation when dropped onto the light source components of the Model Properties panel
  • Updated “Justin guide” to open the Script Syntax documentation when dropped onto the source code components of the Script Editor
  • Changed “Justin guide” to open the Animation documentation when dropped onto the animation toolbar instead of the general Voxel Editor documentation
  • Changed “Syntax Help” button on the Quick Script Builder dialog to open the built-in documentation in the popup viewer instead of the web browser
  • Fixed issue with header icon not showing for the Positional Light documentation

Release Notes for v0.5 Build 72

May 26, 2019


  • Changed scripting coordinate references for characters (player.coord, entity[“cat”].coord, etc.) to evaluate to the tile coordinate on which the character is standing
  • Fixed issue where version number at the top would not update when selecting an item in the Change Log History list
  • Fixed issue where changing a character's movement speed in the Voxel Editor would not be reflected for characters already placed into a map
  • Added release dates to all of the change log history items to display at the top of the Change Log dialog
  • Updated script parser to add support for Latin supplement/extended characters and Japanese hiragana/katakana/punctuation to strings
  • Updated “Justin guide” to open the Voxel Editor documentation when dropped onto the animation toolbar
  • Updated “Justin guide” to open the Animation documentation when dropped onto the Animation section of the Model Properties panel
  • Updated “Justin guide” to open the Animation Types documentation when dropped onto the animation type components of the Model Properties panel
  • Updated “Justin guide” to open the Camera Positions documentation when dropped onto the camera position components of the Map Properties panel and Map Editor toolbar button
  • Updated “Justin guide” to open the Tile/Object/Character documentation when dropped onto the resource preview grid (according to which resource type's tab is visible)
  • Updated “Justin guide” to open the Collision Override documentation when dropped onto the collision override components of the Model Properties panel
  • Updated “Justin guide” to open the Directional Light documentation when dropped onto the Directional Light section of the Map Properties panel
  • Updated “Justin guide” to open the Entity Tooltips documentation when dropped onto the camera position components of the Map Properties panel and Map Editor toolbar button
  • Updated “Justin guide” to open the Font documentation when dropped onto the font components of the Theme Properties and Credits Properties panels
  • Updated “Justin guide” to open the Groups documentation when dropped onto the group components of the Map Properties panel
  • Updated colors of icon for current tile coordinate (displayed while in first-person mode in the Map Editor) to match base coordinate icon

Release Notes for v0.5 Build 71

May 24, 2019


  • Added “attackable in real-time” behavior setting for defining whether or not the character can be attacked in real-time and corresponding “sword” marker icon displayed in Map Editor when enabled (for now, this is experimental, and enemies with this setting enabled will just be instantly removed from the map when attacked)
  • Fixed issue with pathfinding data not being properly updated when an impassable character was removed via the “Remove Entity” function
  • Fixed issue where player could incorrectly turn and interact if clicking on an adjacent entity instead of waiting until stopped (if moving at the time)
  • Fixed issue where saving a character's behavior settings as a preset was not properly marking the Map Editor as having changes
  • Enabled Godot's “fallback to GLES2 driver” renderer setting for editor and in-game
  • Updated “Justin guide” to open the Voxel Editor documentation when dropped onto the Voxel Editor viewport
  • Updated “Justin guide” to open the Map Editor documentation when dropped onto the Map Editor viewport
  • Updated “Justin guide” to open the Dialogue Editor documentation when dropped onto components within the Dialogue Editor
  • Updated “Justin guide” to open the Item Editor documentation when dropped onto components within the Item Editor
  • Updated “Justin guide” to open the Theme Editor documentation when dropped onto the Theme Editor viewport
  • Updated “Justin guide” to open the Main Menu Editor documentation when dropped onto the Main Menu Editor viewport
  • Updated “Justin guide” to open the Credits Editor documentation when dropped onto the Credits Editor viewport
  • Updated “Justin guide” to open the Ambient Light documentation when dropped onto the Ambient Light section of the Map Properties panel

Release Notes for v0.5 Build 70

May 22, 2019


  • Added ability to set a default behavior preset for characters in the Voxel Editor that will be used when initially placing the character into a map
  • Updated example content to use NPC behavior presets for goblins and slimes
  • Added portrait images for Rogue and Lux characters to the example game content
  • Updated icon for “Boolean” documentation to a checkbox icon
  • Changed icon for the “Set Movement Speed” visual script node's speed parameter and character's speed property in the Voxel Editor
  • Changed wording of default option in character's speaking sound property to be more accurate (“Default” instead of “None”)

Release Notes for v0.5 Build 69

May 21, 2019


  • Moved character's “Dialogue” setting into the NPC behavior settings (existing dialogues assigned to characters will need to be set again using the new “Interaction by Player” behavior setting)
  • Added a new behavior setting “Interaction by Player” to determine how the NPC reacts when interacted with by the player
  • Added the ability to store NPC behavior settings into presets that can be used across multiple characters
  • Added “What's New in RPG in a Box” dialog for displaying change logs on application startup
  • Added “Change Logs” link to the About dialog for opening the new change log dialog

Release Notes for v0.5 Build 68

May 18, 2019


  • Fixed issue with “Set Movement Speed” causing scripts to not work correctly when used in the visual Script Editor
  • Fixed issue where XYZ coordinate values in the visual Script Editor were incorrectly being capped at 100/-100

Release Notes for v0.5 Build 67

May 18, 2019


  • Fixed error that would sometimes occur after adding items to a container object in the Map Editor and then running the game

Release Notes for v0.5 Build 66

May 18, 2019


  • Replaced incorrect default dialogue speaking sound with proper one

Release Notes for v0.5 Build 65

May 17, 2019


  • Moved “Seek Out Player” behavior setting into a new “Player Interest” setting for having the NPC seek out or avoid the player (to allow normal movement behavior when outside the configured range of interest)
  • Added “None” as a move direction option to the NPC behavior settings for cases where you want an NPC to remain stationary when not seeking/avoiding the player
  • Updated Sound FX Generator to automatically update and play sound effect when the wave type buttons (Square/Sawtooth/Sine/Noise) are pressed
  • Added item pickup sound effect when using Shift + Left Click to transfer items between a container and the player's inventory
  • Added default sound effect for characters speaking during dialogue, implemented logic to override if character has a custom speaking sound

Release Notes for v0.5 Build 64

May 15, 2019


  • Added “Seek Out Player” as movement direction option to NPC Behavior settings (with configurable range measured in tiles)
  • Updated game save functionality to include visibility changes when Fog of War is enabled
  • Updated game cursor logic so walk/interact cursors are not displayed as appropriate when player movement/interaction is locked

Release Notes for v0.5 Build 63

May 14, 2019


  • Updated game save functionality to properly resume camera movement when “Rotate Camera Over Time” function is still active
  • Updated game save functionality to properly resume rotation when “Reset Entity Rotation” function is still active
  • Updated game save functionality to include changes to a character's vision height via “Set Vision Height”
  • Fixed issue where camera settings were not being properly initialized when loading a game and could cause problems with non-standard camera modes

Release Notes for v0.5 Build 62

May 14, 2019


  • Updated game save functionality to properly resume camera movement when “Reset Camera At Speed” function is still active
  • Updated game save functionality to properly resume camera movement when “Reset Camera Over Time” function is still active
  • Updated game save functionality to include changes to character movement speed via “Set Movement Speed”
  • Updated game save functionality to include changes to entity scripts via “Set Entity Script”
  • Updated game save functionality to include changes to entity tooltips via “Set Entity Tooltip”
  • Updated game save functionality to include changes to character names via “Set Character Name”
  • Updated game save functionality to include changes to sight blocking via “Set Entity Blocks Sight”
  • Updated game save functionality to include changes to an entity's model via “Set Entity Model”
  • Fixed issue with “Set Entity Light Attenuation/Diameter/Intensity” scripting functions not working properly
  • Fixed issue where “Set Animation Speed” would change the speed for all entities of the same model instead of only the specified entity
  • Fixed issue where “Rotate Entity Towards” would not properly resume after saving the game more than once
  • Fixed issue where objects added via “Add Object” and then assigned a script couldn't be interacted with by mouse input
  • Fixed issue where characters added via “Add Character” and then assigned a dialogue couldn't be interacted with by mouse input
  • Fixed issue where entities could no longer be interacted with by mouse input after their model was changed via “Set Entity Model”

Release Notes for v0.5 Build 61

May 13, 2019


  • Updated game save functionality to include tiles added via the “Add Tile” scripting function
  • Updated game save functionality to include characters added via the “Add Object” scripting function
  • Updated game save functionality to include characters added via the “Add Character” scripting function
  • Updated game save functionality to properly restore the screen fade state when “Fade In” or “Fade Out” are still active
  • Updated game save functionality to include toolbar visibility
  • Updated game save functionality to include camera's locked/unlocked state
  • Updated game save functionality to include locked/unlocked state for player movement and interaction
  • Updated game save functionality to properly resume camera movement when “Look At Target Over Time” function is still active
  • Updated game save functionality to properly resume camera movement when “Move Camera At Speed” function is still active
  • Updated game save functionality to properly resume camera movement when “Move Camera Over Time” function is still active
  • Added visual notification that the game has been saved after clicking the Save Game button
  • Fixed issue where “Add Tile” scripting function was not taking the tile's surface level into consideration when setting its position
  • Fixed issue with mouse input not working properly for tiles added via the “Add Tile” scripting function after navigation paths were defined

Release Notes for v0.5 Build 60

May 12, 2019


  • Changed “Help” button on main toolbar to switch to the built-in Documentation tab instead of opening the wiki
  • Implemented rich presence functionality to display status info (“Map Editor”, “Voxel Editor”, etc.) to be used in Steam build
  • Added sound effects for grabbing and dropping items in the inventory or item container windows
  • Added “stairs” sound effect to the example project that is played when moving between the overworld and dungeon maps
  • Updated game save functionality to include any modifications made to navigation paths (e.g. via “Modify Navigation” function, etc.)
  • Updated game save functionality to include map entity groups that have been hidden
  • Fixed issue where items being transferred with the cursor were not being properly reset if a dialogue/message was triggered
  • Fixed issue where items would sometimes disappear after being placed into an item container
  • Fixed issue with the background map not being properly cleared when continuing a saved game from the Main Menu
  • Fixed issue with the “Continue” button on the Main Menu not working when using keyboard or gamepad input

Release Notes for v0.5 Build 59

May 1, 2019


  • Fixed issue where Documentation components would show over top of other components for new installations of RPG in a Box until the “Default Tab” editor setting was modified
  • Fixed issue where the “Override Animation” scripting function would not work properly for animations with only one frame
  • Fixed console error that would occur in-game when the player character's first frame was blank
  • Fixed issue with Main Menu background color fill disappearing when opening the Options Menu

Release Notes for v0.5 Build 58

April 30, 2019


  • Enabled “Import sample content” functionality when creating a new game project, added initial version of example project to import when selected
  • When selecting entities in a group from the Map Properties panel, the editor will switch into Select/Edit mode (if not already)
  • Added “table_book” object (wooden table with a book on it) to the Asset Library
  • Added “boulder” object with breaking animation to the Asset Library
  • Fixed issue where console errors would display when using a map with NPCs for the Main Menu's background map
  • Fixed issue related to a script's activating entity where the script could fail in some cases by using “Set Entity Model” or “Remove Entity” on itself prior to other functions
  • Fixed issue where the Entity Properties panel would be incorrectly displayed when selecting a group with multiple entities from the Map Properties panel
  • Fixed issue where missing portrait images would result in the dialogue failing and would show a blank dialogue box or incorrect portrait image
  • Fixed issue with the “Set Dialogue” scripting function not working properly when using an empty string (”“) to remove the NPC's dialogue
  • Fixed issue where the Conditional Expression Builder would fail to open if the expression used the “contains” operator with an item ID
  • Fixed issue where a character's “idle” animation (if defined) would be incorrectly played if no “walk” animation existed instead of defaulting to frame 1
  • Fixed a few issues related to the “Override Animation” scripting function not working properly

Release Notes for v0.5 Build 57

April 28, 2019


  • Added all existing pages from online wiki to the built-in documentation, updated “table of contents” list on Documentation tab
  • Added ability to expand/collapse parent folders (Maps, Tiles, etc.) in the Game Explorer by double-clicking on them
  • Update game navigation logic to allow player to change target tile/object while walking by clicking on another tile/object
  • Changed default shadow darkness in newly created maps to 50%
  • Changed Main Menu properties to automatically set background color alpha to 50% if a background map is chosen and the current color is fully opaque
  • Finished “interaction cursor” functionality so custom interaction cursors can now be properly set for entities
  • Improved dialog that is displayed when exporting/playing without a startup script or player character specified to now allow these values to be chosen directly from the dialog
  • Update comment nodes in the visual script editor to support text wrapping
  • Added outlines to Main Menu text (game title and menu buttons) to match other menus
  • Updated “door” model in the Asset Library to include two additional frames for the opening/closing animations
  • Fixed issue where Voxel Editor would sometimes be incorrectly marked as having changes when a model configured as a light source was opened
  • Fixed issue where using “Save As” in the Voxel Editor would not properly change the model's back-end type when appropriate (e.g. saving a tile as an object)
  • Fixed issue with background music for maps and main menu stopping after one playthrough instead of looping
  • Fixed issue where changing the background map in the Main Menu Editor would not properly reset the camera to its default position
  • Fixed issue where using the “Remove Entity” function could result in errors when the entity was in a group and subsequently leaving or re-entering the containing map

Release Notes for v0.5 Build 56

April 19, 2019


  • Fixed rounding issue in the Map Editor that would sometimes prevent tiles from being placed in certain grid rows/columns

Release Notes for v0.5 Build 55

April 19, 2019


  • Fixed issue where game toolbar would sometimes become visible again after being hidden via a script instead of remaining hidden
  • Fixed issue with certain buttons on the in-game menus causing the hover sound effect to play repeatedly

Release Notes for v0.5 Build 54

April 17, 2019


  • Added functionality for auto-hiding entities in ”<group_name>-hide“ map groups based on the player's current tile in-game
  • Updated auto-navigation logic when placing tiles to consider and replace any existing navigation connections one voxel level below
  • Updated Quick Script Builder to use manual validation until parser is better optimized
  • Fixed issue related to saving Map Editor tabs after using the “Link with Map” feature to link two maps
  • Fixed issue related to undoing then redoing the placement of tiles that had navigation paths automatically created
  • Fixed issue with opened Map Editor tabs sometimes not being properly removed when exiting to the Game Manager

Release Notes for v0.5 Build 53

April 14, 2019


  • Remove some temporary workaround logic related to a texture saving bug in Godot, updated all Asset Library models (NOTE: Models that haven't been saved since build 50 will need to be edited and saved again in the Voxel Editor for textures to display properly)
  • Fixed issue where placeholder expressions containing escaped double quotes (e.g. ${global.property[\”xyz\“]} were not being evaluated properly
  • Fixed issue where the game would sometimes crash when using custom min/max zoom limits
  • Fixed issue with character vertical positioning not being calculated correctly when a tile's surface level was a non-default height

Release Notes for v0.5 Build 52

April 13, 2019


  • Updated “door” model in the Asset Library to include an additional frame for the opening and closing animations
  • Fixed issue with “Display Message” function not working properly when displaying standalone values other than strings
  • Fixed issue where entities were sharing properties in-game, causing unexpected results when getting property values

Release Notes for v0.5 Build 51

April 12, 2019


  • Added a “Scripting” submenu to the Map Editor's right-click popup menu for quickly managing a tile or object's script (specifically, add a quick script, assign an existing script, or remove its script)
  • Added the ability to use just an entity ID string for most scripting function parameters that expect an entity (instead of full reference, e.g. “some_id” vs. entity[“some_id”])
  • Added button to Entity Properties panel for saving a tile or object's quick script into a script resource file
  • Replaced default Godot application icon for exported games with RPG in a Box icon (to be customizable later on)
  • Player character's “interact” animation (if defined) will now be played when interacting with a scripted object
  • Fixed issue in the Voxel Editor where the cursor would sometimes not be visible when the camera was at certain angles
  • Fixed issue with extra horizontal separator line being shown on color picker popup dialogs
  • Fixed issue related to saving a model with multiple frames in the Voxel Editor while on a frame other than the first one

Release Notes for v0.5 Build 50

April 10, 2019


  • Added version/build number to bottom right corner of the Game Manager dialog
  • Added scripting function “Add Object” for adding an object to the map: add_object(“model_name”, “target_tile_id”, “entity_id_to_assign”)
  • Added script trigger type “Player exits tile” for triggering a tile script when the player leaves a tile
  • Implemented “Rename” context menu item for resource preview panel when right-clicking a tile/object/character
  • Updated editor and game binaries to Godot 3.1 (stable)
  • Fixed issue where credits text would not be updated in the preview when changed in the Credits Editor
  • Fixed issue with the duplication of tiles/objects/characters not working properly
  • Fixed “failed to get modified time for…” errors displayed on application startup
  • Fixed issue where renaming a tile/object/character from the Game Explorer would not update its name in the resource preview panel

Release Notes for v0.5 Build 49

April 6, 2019


  • Added checkbox option to the “New Game” dialog for automatically creating a subfolder for the game's project files
  • Added button to tile/object/character panels for showing tag list in place of the free-form filter box for filtering resources
  • Added “display mode” setting to the in-game options menu for switching between fullscreen and windowed mode
  • Added “path_turn_end”, “bookcase_small”, and “bed” models to Asset Library, updated “stone_wall_window” tile to include transparent window glass
  • Added shortcut key (ESC) for deselecting all entities while in the Map Editor's edit/select mode
  • Fixed “Can't add child frame” errors that would occur when saving or importing a voxel model
  • Fixed issue where the Properties tab title text would sometimes not be updated to “Model Properties” after opening a model
  • Fixed issue with mouse input not working in-game when a custom loading screen image was configured
  • Fixed issue with importing a MagicaVoxel model file with multiple frames into the Voxel Editor

Release Notes for v0.5 Build 48

March 31, 2019


  • Added ability to specify a custom loading screen image (with a configurable image stretch mode)
  • Added shortcut key “N” for cycling through navigation path types while in the Map Editor's “Connect” mode
  • Added link buttons to the About dialog for the official website, Discord server, Twitter, and Trello board
  • Implemented logic for the “Rename Dialogue Style” button on the Theme Properties panel
  • Fixed issue where setting the collision override for a tile would not work for tiles already added to a map
  • Fixed issue where preview thumbnails would be blank in some cases after duplicating a tile, object, or character
  • Fixed some issues with the “Set as Default” and “Delete” buttons for dialogue styles in the Theme Editor

Release Notes for v0.5 Build 47

March 30, 2019


  • Added description/usage text that is displayed for nodes when selected on the Dialogue Tools panel
  • Added option to the Map Properties panel for toggling ambient occlusion
  • Fixed issue in the Voxel Editor where duplicating/inserting a frame then undoing it would result in the wrong frame being returned to
  • Fixed camera clipping issue when using isometric camera mode in the Map Editor and in-game
  • Fixed issue where resource thumbnails would be blank in some cases after importing models from the Asset Library into a game project
  • Fixed issue where buttons for creating your first tile/object/character would not be displayed if empty cache files existed

Release Notes for v0.5 Build 46

March 27, 2019


  • Added “Quick Play” feature to easily update and launch game with one click (located on main toolbar next to “Export Game” button)
  • Added ability to localize dialogues directly within the Dialogue Editor (enabled for a particular dialogue via toolbar button, similar to Item Editor)
  • Fixed logic for duplicating a dialogue file to include its corresponding ”.data“ file if it exists
  • Fixed issue where Translations tab of Game Configuration dialog was not being properly reset when cancelling then reopening the dialog
  • Fixed some issues with transferring items between inventory and item containers
  • Fixed console error that would display when saving a game's configuration that previously had no custom cursors defined
  • Fixed issue where translations data was not being properly saved when using the popup dialog to edit text
  • Fixed issue where the Dialogue Properties would be blank when switching back to a previous dialogue tab after opening another dialogue
  • Fixed issue where deleting a dialogue from the project would not delete the corresponding .data file from the folder (just the .scn file)
  • Fixed issue where the in-game language was not being properly initialized from the user's settings, if applicable

Release Notes for v0.5 Build 45

March 22, 2019


  • Added buttons with help text to the resource panel on the right to quickly create a first tile/object/character when none of that type exist yet in the project
  • Current tile coordinate is now displayed in the Positional Info panel while in the Map Editor's first-person camera mode
  • Updated “Go To” node in Dialogue Editor to use a dropdown for selecting a section name instead of requiring manual entry
  • Added shortcut keys for Voxel Editor's animation toolbar (Ctrl + Up/Down/Left/Right to show first/last/previous/next frame, Ctrl + D to duplicate frame, Ctrl + N to insert new frame, Shift + Left/Right to move frame left/right in ordering)
  • Fixed a tile-related error that could occur when using the Move Player or Move Character scripting functions
  • Fixed some issues related to dialogue text and player choices from the previous dialogue being displayed when starting another dialogue or showing a message subsequently
  • Fixed issue with “contains” conditional expression not being evaluated properly when used within a dialogue condition node
  • Fixed issue where up/down arrows keys would move the player while in first-person instead of navigating item slots while inventory window was open
  • Fixed issue with dialogue window displaying too early if the dialogue starts with a script node that is set to pause until completion
  • Fixed issue with “self” reference not working properly within a dialogue script when the dialogue was triggered from an object

Release Notes for v0.5 Build 44

March 21, 2019


  • Added ability to clear selection in the Voxel Editor by pressing ESC key
  • Added ability to create new tiles, objects, etc. by right-clicking on their corresponding folder in the Game Explorer
  • Implemented back-end logic to properly handle “contains” conditional expressions in scripts (e.g player.inventory contains “ITEM_0001”)
  • Fixed issue where displaying a standalone numeric value with “Display Message” would not work properly
  • Fixed issue with animation start/end frame fields on Model Properties panel not being updated to the proper values when first opening a model
  • Fixed issue with Voxel Editor where grid dimension values larger than allowed could be entered into the width/depth/height fields
  • Fixed error that would sometimes occur when transferring an item from the player's inventory into an item container

Release Notes for v0.5 Build 43

March 20, 2019


  • Added ability to press ESC to return to editing while previewing game mesh in the Voxel Editor
  • Added help text to top of Script Editor with information about dragging and dropping items onto the script to add them
  • Added button for toggling visibility of the script function description text at bottom of the Script Tools panel
  • Fixed texture issue that would occur when saving a model with only transparent voxels
  • Fixed issue with “Set Vision Height” function not properly updating the camera in first-person mode
  • Fixed issue where the text in dialogue message nodes would sometimes be cut off
  • Fixed issue where player could move by clicking a scripted object even when movement was locked

Release Notes for v0.5 Build 42

March 18, 2019


  • Added preliminary support for transparency to the Voxel Editor. To use, select the desired color and add it to the list of transparent colors on the Model Tools panel above the color palette. Slider below dropdown adjusts opacity level. Transparency can be previewed by clicking the new “Preview Game Mesh” button on the Voxel Editor toolbar.
  • Added toolbar button to the Voxel Editor for displaying the generated mesh as it will appear in-game (e.g. to preview transparency)
  • Added eyedropper cursor and tooltip when using Alt and Control to pick a resource in the Map Editor to display hovered resource's name and/or grid height if applicable
  • Translation ID references in credits text will now be properly translated when credits are displayed in-game
  • Window height of confirmation and info dialogs is now adjusted dynamically based displayed text's line count
  • Replaced ”>“ command prompt symbol on the in-game debug console with an icon
  • When browsing for a destination folder from the Voxel Editor's “Export to External Format” dialog, file dialog now defaults to previously selected folder
  • Fixed issue where palette's selected color button was displaying as white when focused
  • Fixed issue where using “S” key to move would switch into Single mode in the Map Editor while using free camera or first-person camera

Release Notes for v0.5 Build 41

March 11, 2019


  • Added ability to override UI style of individual dialogue nodes (NPC, Player, and Message) from the Dialogue Editor (node titlebar button next to “Edit ID” pencil button)
  • Added gamepad support for inventory/item container windows (D-pad or left analog stick to navigate slots, button 1 (e.g. Xbox A) to use, button 4 (e.g. Xbox Y) to transfer, Select button to open inventory or switch focused container, button 2 (e.g. Xbox B) to close focused window, right analog stick to move window position)
  • Fixed issue where the script source would be not updated after editing a script node's quick script in the Dialogue Editor
  • Fixed issue where player could turn left/right with gamepad analog stick while moving (with tank controls)
  • Fixed issue where game would sometimes crash when triggering a script within dialogue that had the “pause” option checked

Release Notes for v0.5 Build 40

March 6, 2019


  • Added ability to rename maps, scripts, dialogues, sounds, and music files from the Game Explorer context menu
  • Added “edit” button to translation rows in Game Configuration for editing translated text in a separate popup window
  • Allow space key to interact with entities when the inventory window is opened and no items are currently selected
  • Updated tile passability prompt when creating new tiles to include helpful examples of each type (passable vs. impassable)
  • Updated tab key handling to select first item slot of inventory/item container window if only one is open
  • Inventory and item container windows will now be closed when “Display Message” is triggered
  • Coordinate of the hovered entity (and icon to indicate entity's type) are now displayed while in Edit and Connect mode
  • Coordinate panel's width now updates dynamically according to width of coordinate text
  • Unique cursor icons are now displayed according to which entity type is currently being placed in the Map Editor
  • When placing impassable tiles directly (one voxel unit) above an existing tile, any existing navigation paths for the tile below will now be removed automatically
  • Enabled “Import a Game (Pre-v0.5)” button on the Game Manager to allow importing of project files exported from v0.4
  • Fixed issue with item container windows not being reset properly after using keyboard controls (tooltip hidden and selected slot style reset)
  • Fixed issue where background music for credits would only play once in the editor preview instead of looping
  • Fixed issue where cursor image was improperly changing while the message window was active
  • Fixed issue with not being able to select empty model placeholder cubes in the Map Editor
  • Fixed issue with coordinate panel not displaying when placing objects or characters in the Map Editor (tile coordinate is now displayed)
  • Fixed issue where placing tiles in “single” mode could result in extra tiles being created at the same coordinate
  • Fixed issue where erroneous navigation lines would sometimes appear in the map after deleting tiles
  • Fixed issue where Map Editor was being marked as having changes when first opening maps with non-default light energy values
  • Fixed issue where navigation path slopes were not being properly updated when a tile was rotated in the Map Editor
  • Fixed issue with the Theme Properties panel where dialogue styles were not being duplicated properly

Release Notes for v0.5 Build 39

March 2, 2019


  • Added “entity bounds” functionality to Map Editor to display indicators for selected entities' dimension boundaries (i.e. grid dimensions as defined in the Voxel Editor)
  • Added “entity bounds” setting to Map Editor section of Editor Settings dialog for choosing when bounds are shown
  • Added ability to rename images from Game Explorer context menu (usage for item images and Main Menu/Credits background images will be automatically updated)
  • Fixed issue where item images in the Item Editor's list of items were not being resized properly when initially added
  • Fixed issue where background maps in the Main Menu and Credits editors were sometimes being loaded twice after returning to the editor tab
  • Fixed issue where a unique ID was not being generated when duplicating an item in the Item Editor
  • Fixed issue with generated name and description placeholder values (e.g. “ITEM_0001_NAME”) when duplicating an item in the Item Editor with localization enabled

Release Notes for v0.5 Build 38

February 27, 2019


  • Added keyboard support for inventory/item container windows (arrow keys to navigate slots, enter to use, space to transfer, tab to switch focused container, ESC to close focused window, Shift + arrow keys to move window position)
  • Added coordinate info to Voxel Editor (displays XYZ coordinate of voxel to be added in Attach mode, hovered voxel's coordinate in other modes)
  • Added dimensions info that is displayed in the Voxel Editor beneath the cursor when drawing/erasing/selecting with Box mode
  • Added arrow keys as controls for moving in Map Editor's first-person mode (Up/Down/Left/Right to move/turn, Shift + Left/Right to strafe)
  • Added drop shadow to dimensions text when resizing portrait capture box in Voxel Editor
  • Fixed various aspects related to UI focus of inventory window and item container window
  • Fixed issue related to turning left/right in Map Editor's first-person mode after having used the mouse to look around
  • Fixed issue with cursor reverting to default image when transferring an item between container windows
  • Fixed issue where Documentation tab was incorrectly showing on startup if Voxel Editor was configured as the default editor tab

Release Notes for v0.5 Build 37

February 25, 2019


  • Added first-person camera mode to the Map Editor (WASD to move/turn and Q/E to strafe, hold middle mouse button to look around)
  • Added support for importing from Qubicle Binary format (via files dropped onto the application and within Voxel Editor)
  • Added ability to import external models (Qubicle Binary and MagicaVoxel) from within the Voxel Editor (toolbar button)
  • Added checkbox column to “Import Dropped Files” dialog for selecting only specific resources to include
  • Added informational text to “Import Dropped Files” dialog to explain usage
  • Added icons to “Export Model” dialog for destination folder and format fields
  • Added usage info text to Documentation tab that is displayed when no documentation tabs are currently open
  • Fixed issue where resources created using “Save As” were not being added to the recent items list
  • Fixed issue where zoom distance value was not being properly updated when using Map Editor's isometric camera mode
  • Fixed issue where “voxel outlines” and “surface edges” settings in the Voxel Editor were not being remembered per resource tab
  • Fixed issue where camera movement keys could get stuck after moving the cursor out of the Map Editor viewport in free camera mode
  • Fixed issue where calling “Hide Group” or “Show Group” in a while loop could cause a flood of errors and not work properly

Release Notes for v0.5 Build 36

February 20, 2019


  • Added isometric camera mode to the Map Editor (accessed from toolbar)
  • Updated Map Editor toolbar to include set of buttons for switching between standard/free/isometric camera
  • Player can now click anywhere on the screen to progress dialogue instead of just within the box
  • Inventory window and UI toolbar will now be hidden during dialogue
  • Added index panel to Documentation viewer for searching through available documentation
  • Appropriate tab icons are now displayed on documentation tabs opened for scripting functions
  • Player choice selection is now properly updated/cleared when moving the mouse after using keyboard to select
  • Fixed an issue where cursor was improperly being changed during dialogue

Release Notes for v0.5 Build 35

February 18, 2019


  • Initial implementation of Portrait Creator dialog (accessed using toolbar button in Voxel Editor)

Release Notes for v0.5 Build 34

February 16, 2019


  • Added a button to the Image Editor dialog for loading an external image into the canvas
  • Player choices will now be highlighted in the Theme Editor preview window when moving the mouse over them
  • Added option to Theme Editor for setting highlight color used when mousing over player choices
  • Fixed some errors being thrown when moving mouse over player choices in the Theme Editor
  • Fixed issue where changing “minimum line count” value in the dialogue style settings would not trigger a change
  • Fixed issue where “minimum line count” dialogue style setting wasn't working properly in-game

Release Notes for v0.5 Build 33

February 12, 2019


  • Fixed issue where toggling the light source setting for models would not trigger the proper change and could cause scripting errors
  • Fixed error that could potentially occur when starting a dialogue using characters that haven't been re-saved since last release
  • Fixed issue where player choices could be selected with keyboard or gamepad before being made visible

Release Notes for v0.5 Build 32

February 10, 2019


  • Added support for using arrows keys and space/enter to select player choices in dialogue
  • Added support for using controller D-pad/left analog stick and button 1 (e.g. Xbox A) to select player choices in dialogue
  • Replaced modal progress dialog with a progress bar displayed at the bottom of the Voxel Editor when loading models
  • Added new shortcut for adjusting Map Editor camera (hold “C” and move mouse to edges of viewport to move camera, “Shift + C to” rotate/zoom)
  • Fixed editor slowdown that would occur when game project contained a large number of models
  • Fixed issue where the Map Editor's Navigation Types, Positional Info, and Entity Overview panels were interfering with mouse input
  • Fixed issue where player choices would only become visible when using the spacebar to force dialogue typing effect to end
  • Fixed issue where a character name change in the Voxel Editor would not be reflected for those previously placed into maps
  • Fixed issue where player choices could be clicked on and selected before being made visible
  • Fixed issue where the controller's right analog stick would move the camera in modes other than first-person

Release Notes for v0.5 Build 31

February 8, 2019


  • Added ability to rename fonts from the Game Explorer context menu (credits and themes will be automatically updated if using the font)
  • Entity Properties tab is now made visible (if not already) after using the “Link with Map” feature in the Map Editor
  • Fixed issue where some UI components were not being re-enabled/shown after playing a Clamp or Ping Ping Once animation in the Voxel Editor
  • Fixed issue with generating visual script node for “Load Map” function when no player direction parameter was provided
  • Fixed issue where a character's idle animation would not trigger after certain animation types had completed
  • Fixed issue where quick scripts generated using “Link with Map” functionality would not work unless first edited and re-saved
  • Fixed some signal errors from occurring when loading a map for the second time (when map contained tiles with scripts)

Release Notes for v0.5 Build 30

February 7, 2019


  • Added “camera.direction”, navigation types (WALK_AND_INTERACT, etc.), and cardinal directions (NORTH, SOUTH, etc.) as acceptable relational operands in conditional expressions
  • Fixed issue with placeholder expressions (i.e. ${expression}) not properly being evaluated when used in strings (e.g. Display Message and Print scripting functions)

Release Notes for v0.5 Build 29

February 7, 2019


  • Added “Missing Dependencies” dialog to fix maps that have missing resources by allowing replacement resources to be specified
  • Added button to the Voxel Editor toolbar for capturing a custom thumbnail image of the model
  • Added “camera.direction” scripting variable for getting camera's current closest cardinal direction (north/south/west/east)
  • Removed Godot Engine logo splash from exported games
  • Fixed issue where shortcut keys for map/voxel tool buttons would only register when mouse was inside the 3D viewport
  • Fixed issue where deleting a model currently selected for placement in the Map Editor would cause errors to display
  • Fixed issue with necessary fonts not being copied into game project when duplicating a built-in UI theme

Release Notes for v0.5 Build 28

February 2, 2019


  • Added options to the Asset Library for filtering models by tag and type
  • Added info button to open the Itch.io Creator FAQ when “All-in-One” option is selected for export target platform
  • Fixed an issue causing the “Replace Navigation” scripting function to fail in some cases
  • Fixed an issue where A* data was not being properly initialized for tiles added with the “Add Tile” function

Release Notes for v0.5 Build 27

February 2, 2019


  • Implemented base functionality for “fog of war” mechanic (currently works the same as the experimental option in v0.4)
  • Added “All-in-One (Itch.io Friendly)” option to Target Platform dropdown when exporting your game

Release Notes for v0.5 Build 26

February 1, 2019


  • Added settings to the Procedural Sky dialog for sky colors and ground colors
  • Added darkened header styles for “Ambient Light” and “Directional Light” sections of Map Properties panel
  • Added keyboard camera controls to the Map Editor (Shift + Arrows to move, Ctrl + Arrows to rotate/zoom)
  • Added “Fog of War” setting to Mechanics section of gameplay configuration (not implemented in-game yet)
  • Fixed an issue where the pending resource would never display when moving into the Map Editor viewport in an area outside of the grid plane

Release Notes for v0.5 Build 25

January 31, 2019


  • Added initial settings dialog for the procedural sky background type in the Map Editor (only sun color in this release)
  • Added logic to remove any invalid entities from a map's group data and print debug messages when saving the map
  • Fixed some issues related to the player not turning properly when interacting with an entity in first-person mode
  • Fixed some issues related to group data of deleted/undeleted entities in a map not being updated properly
  • Fixed issue with pressing spacebar to interact while free looking with mouse

Release Notes for v0.5 Build 24

January 30, 2019


  • Added “procedural sky” as an option for map background type (customizable settings coming in later release)
  • Added ability to free look in first-person mode using the right analog stick of gamepads
  • Updated game logic to handle scenario where an empty map (i.e. no tiles) is loaded

Release Notes for v0.5 Build 23

January 29, 2019


  • Added ability to free mouse look in first-person mode by holding down the right mouse button
  • Added “Language” setting to the Option Menu for selecting from game's available translations
  • Fixed some issues with localization functionality not working properly in-game
  • Fixed issue with certain toolbar buttons on the Game Config “Translations” tab not being disabled when no translations exist
  • Fixed issue where an extra blank line would show at the bottom of item tooltips in certain cases

Release Notes for v0.5 Build 22

January 28, 2019


  • Added ability to set background color for map from the Map Properties panel
  • Added button to Editor Settings dialog for opening system location of “editor_settings.cfg” file
  • Added filter box for filtering tiles, objects, and characters by their defined tags
  • Added initial in-game “Options” menu with settings for “Keyboard Layout” and “Invert Mouse”
  • Added ability to walk to and interact with tiles/objects in first-person mode by clicking on them
  • Added shortcut key “F” for toggling free camera mode in the Map Editor and shortcut key info to its button tooltip

Release Notes for v0.5 Build 21

January 25, 2019


  • Added ability to move forward in first-person mode by holding down the left mouse button
  • Added shortcut keys for switching between Map Editor tool modes (“B” for Box, “S” for Single)
  • Added shortcut key info to tooltip text of tool buttons and voxel mode options on the Model/Map Tools panels
  • Fixed some cases where the cursor should be hidden when using keyboard and gamepad controls
  • Fixed issue where incorrect cursor image would sometimes be displayed when transferring an inventory/container item
  • Fixed issue where proper camera rotation type was not being selected when opening the gameplay configuration
  • Fixed several scenarios to properly ignore shortcut keys while the left mouse button is down (e.g. while drawing in Voxel Editor)
  • Fixed issue with frame number text overlapping the slider bar on the animation toolbar popup for changing frames

Release Notes for v0.5 Build 20

January 25, 2019


  • Added rotation effect when turning left and right in first-person mode
  • Added ability to interact with characters and objects in first-person mode (via spacebar press)
  • Added gamepad controls to first-person mode (D-pad or left analog stick to move/turn, button 1 (e.g. Xbox A) to interact)
  • Added ability to strafe in first-person mode (Q/E, Shift + Left/Right Arrows, or gamepad trigger/shoulder buttons)
  • Fixed issue where the player couldn't interact with entities on the same tile as themselves w/ keyboard controls (i.e. spacebar)

Release Notes for v0.5 Build 19

January 24, 2019


  • Added shortcut keys for switching between Voxel Editor tool modes (“B” for Box, “V” for Voxel, and “F” for Face)
  • Added number keys as shortcuts to change active tool in Voxel Editor and Map Editor (in addition to existing Function Key shortcuts)
  • Added initial first-person camera functionality (basic keyboard movement only w/ instant turning and no interaction in this release)
  • Fixed some issues related to various controls not being properly disabled while an animation is playing in the Voxel Editor
  • Fixed issue where player was incorrectly reversing direction when backing into an obstacle with tank controls enabled

Release Notes for v0.5 Build 18

January 23, 2019


  • When using relative player controls, the player character will now turn towards a direction even if they can't move
  • Updated Conditional Expression Builder to include game's items in the list of options for the “contains” operator
  • Improved duplication time when duplicating “Evaluate Condition” nodes in the Script Editor
  • Fixed issue in Map Editor where the camera's vertical position was being improperly limited in free movement mode
  • Fixed issue with duplicating “While Loop” nodes in the Script Editor
  • Fixed wizard button tooltips on “Evaluate Condition” and “While Loop” visual script nodes to show proper text

Release Notes for v0.5 Build 17

January 21, 2019


  • Optimized model loading in the Voxel Editor to significantly reduce loading time
  • Added editor setting for customizing the Voxel Editor's cursor color
  • Added editor setting for customizing the Voxel Editor's surface edge color
  • Fixed issue where the “star” icon was not being hidden for a model after being removed from the Favorites list
  • Fixed surface edge data for several models in the Asset Library, added “walk_sheared” animation to sheep model

Release Notes for v0.5 Build 16

January 20, 2019


  • Added backup functionality to save two previous backup versions of maps, models, scripts, dialogues, and items
  • Added logic to save parsed script to disk after generating a visual script from a standalone .script file

Release Notes for v0.5 Build 15

January 20, 2019


  • Maps will now be automatically updated to reflect any model changes without the need to close and reopen them in the Map Editor
  • Fixed issue where Alt+Tabbing out then clicking back into the application could cause tools to inadvertently draw in the Voxel Editor
  • Fixed issue where “left/back quote” key was not properly hiding extras (navigation lines, markers, etc.) in the Map Editor when pressed
  • Fixed issue with palette color buttons not being highlighted correctly when pressed

Release Notes for v0.5 Build 14

January 20, 2019


  • Updated toggle button styles on toolbars and tool panels to make their on/off states more apparent
  • Cursor will now change to an eyedropper image when holding Alt to pick colors in the Voxel Editor
  • Fixed “Replace” button on Model Tools panel to be a toggle button instead of a normal one
  • Fixed issue where properties for the Main Menu/Credits Editor were not being hidden after switching to another editor with no properties
  • Fixed issue where an animation's start/end frame values could be inadvertently changed in some cases after opening multiple models
  • Fixed issue where tiles that were replaced with the Fill tool could no longer be selected in the Map Editor
  • Fixed issue where the Fill tool would sometimes fail to properly replace any tiles
  • Fixed issue where pressing Enter would not properly work to submit the New Game dialog
  • Fixed some issues related to creating a new resource or using the “Save As” feature with a resource name that was previously deleted but had its tab left open
  • Fixed issue where selecting voxels would sometimes cause extra undo/redo actions to be generated
  • Fixed some issues related to neighboring voxel data when undoing erase actions in the Voxel Editor
  • Fixed issue where selected voxels deleted with the Delete key would not be reselected when the action was undone

Release Notes for v0.5 Build 13

January 19, 2019


  • Added a button to the Model Tools panel for rotating the model clockwise
  • Added a button to the Model Tools panel for flipping the model horizontally
  • Added more models to the Asset Library
  • Increased brightness of light for Asset Library's model preview
  • Fixed issue where clicking on the dialogue window in the Theme Editor would cause it to disappear
  • Fixed issue with some models imported from Asset Library not working properly
  • Fixed issue with MagicaVoxel .vox files failing to import correctly
  • Fixed issue where using Shift + Middle Mouse Button to drag the camera wouldn't work while in free camera mode
  • Fixed issue in the Voxel Editor that could cause surface edge data to not calculate correctly or throw errors in some cases
changelogs.txt · Last modified: 2024/11/03 19:25 by justin