Hey everyone, I'm excited to announce that I have an Indiegogo campaign coming soon! Help me take RPG in a Box beyond 1.0 so everyone can bring their stories and ideas to life! Even though RPG in a Box reached v1.0 and left Early Access on May 10th, I still have many more ideas in store for it. However, I'm now at a point where additional funding and visibility is needed in order to continue full-time development of RPG in a Box. The funding raised from this campaign will allow me to continue developing RPG in a Box beyond 1.0, specifically to expand and improve upon existing features and to pursue the long-term goals that I have for the tool.
I have a pre-launch page on Indiegogo if you'd like to sign up for notifications or just check it out! I'm also happy to reveal that some of the perks will offer custom assets created by wife, Sarah! More details on this will become available once the campaign launches. If everyone could tell their friends, family, and colleagues and share about it on social media, I'd really appreciate the support! Thank you so much for your help in spreading the word, it means a lot! 😊💖
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
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! 😊
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
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
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)
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
Hey everyone, I hope you're having an awesome week! 🙂
I'm excited to announce that RPG in a Box v1.0 is coming May 10th! After receiving a lot of helpful feedback from the community, I feel that it's now ready for a full release. Please keep in mind that even though it's a 1.0 release, I still have much more in store for RPG in a Box!
I also wanted to take this opportunity to bring everyone up to date on all of the new features that have been added to RPG in a Box throughout the course of Steam Early Access. I attached a PDF to the Trello card linked below that provides an overview of the major features and changes that have been implemented as of v0.8. Many of the features also include a visual example to help demonstrate that feature and give you a better idea of what it entails.
You can also get an idea of what's in store for the future by checking out the To Do, Ideas/Planned, and RPG in a Box 2.0 (Long-Term) lists on my Trello board: https://trello.com/b/DOouCUhR
Price Increase Please note that the price will be increasing slightly (to $29.99 USD) at the time of the 1.0 release as a result of the many new features added since its Early Access release.
Thank you so much for all of your kind words, positive feedback, reviews, making/sharing projects, retweets, and every other bit of support shown. It's so encouraging to see how much everyone enjoys creating things with RPG in a Box! 😊❤️
Check out the latest tutorial in the Voxel Editor Basics series! In this video, Sarah explains how to turn your characters and objects into flat billboard sprites! 😄👍
Hey everyone, check out Sarah's new Voxel Editor tutorial covering the Textures feature! It even includes a bonus mini scripting tutorial! If you're new to scripting, this is a great place to start. 🖌️😁👍📜