1. RPG in a Box
  2. News

RPG in a Box News

Release Notes for v1.0.2

New Features/Changes:
  • 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!)
Bug Fixes:
  • 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)
  • Added initial version of built-in docs for "Codex" data type (including some scripting examples)
  • Updated "Predefined Animation Names" built-in docs to include new "revive" animation (triggered when "Revive Character" function is used)
  • Updated "Predefined Animation Names" built-in docs to include info about the "push" and "pull" animations for characters
  • Updated "Shop Item Slot" built-in docs to include info about changing the cost of an item in a shop item slot
  • 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

Thank You!

Hello! I just wanted to take a moment and thank everyone for their kind, encouraging reviews of RPG in a Box! It's awesome seeing so many people vibing with my vision for the tool and knowing that in some cases it has enabled them to create games when they otherwise might not have been able to. I've included a handful of reviews from the past couple of months below for anyone who'd like to get a better idea of what RPG in a Box is about. Thank you so much again for your support! I'm really excited for the future of RPG in a Box and the many fun things I still have in store for it! 😊

RPG in a Box v1.0 Release

I'm very excited to announce that RPG in a Box has now reached v1.0 and has left Early Access! Thank you so, so much to everyone who has supported RPG in a Box in any way throughout the last 7 years of development. Your kind words, encouragement, and positive feedback have meant so much. šŸ’–

This is just the beginning for RPG in a Box! I have a lot of fun things still in store for it. You can watch the 1.0 release trailer below, which also includes a community showcase at the end containing some really cool games being made by the community! Thanks so much to my wonderful wife, Sarah, for editing everything together for the trailer. And thank you again to the RPG in a Box community and those who have helped spread the word about it. I love getting to see people having fun using it and making games with it, and I'm really excited for the future!

ā¤ļø Justin

[previewyoutube][/previewyoutube]

Release Notes for v1.0:
  • 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

  • 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

  • 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