1. RPG in a Box
  2. News

RPG in a Box News

Release Notes for v0.5.8

  • 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

  • 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 (e.g. "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

  • 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


Due to the large amount of new functionality added to the scripting language in the previous update, you may notice longer delays when parsing or saving scripts. I'm currently focusing on reworking and optimizing the parser to improve performance and get it back down to reasonable times. I appreciate everyone's patience and support!

Release Notes for v0.5.7.1

  • 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

[h3]Happy New Year, everyone! ːwinter2019happyyulː[/h3]
  • 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 .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