1. RPG in a Box
  2. News

RPG in a Box News

Screenshot Showcase

Hey everyone! I'd like to create an updated screenshot showcase (like below) to help demonstrate the variety of styles and types of games/experiences that can be made with RPG in a Box. I'd love to include as many of your projects as possible, whether they're currently in development or past projects. And if you're working on more than one, feel free to submit an image for each one. Ideally these should be a PNG or high-quality JPEG with a 16:9 aspect ratio. You can send them via Twitter, Discord, or e-mail: justin (at) rpginabox.com. Please also let me know the name you'd like to be credited as, and the game's title if applicable. I'm hoping to have them all ready to put together by August 26th.

Thank you so much, I look forward to seeing what the community is creating! :)

Release Notes for v0.7.0.0

New Features/Changes:
  • 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
Bug Fixes:
  • 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
  • Updated built-in docs for "Script Syntax" to include additional "For Loop" example showing how to iterate over an entire array
  • Updated built-in docs for "Scripting Reference" to add some missing optional parameters and a note about optional parameters being marked with an asterisk
  • 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
  • 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"])
  • Updated built-in docs for "Button" to include note about "self" keyword referencing the button element and the $widget variable referencing the parent widget
  • 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
  • Updated built-in docs for "Equipment Slot" to correct some info about tag requirements for items equipped to equipment slots

A Beginner's Guide to RPG in a Box

Check out a Beginner's Guide to RPG in a Box, the first video in an official tutorial series being created by my wife, Sarah! Thanks so much from the both of us for your support! :)

[previewyoutube][/previewyoutube]

Mixing Mesh Types

In the next update, you'll be able to mix Marching Cubes and the classic mesh option together in one model by setting overrides per voxel group! This should allow for even more detail and uniqueness in your models.

As an example, the bench in the image below is set to use the classic mesh type, but the cushion and back are each grouped and configured to use Marching Cubes as an override for their mesh type.



For the bed shown below, it's set to use Marching Cubes (with the pillow, blanket, headboard, and footboard each in their own group), but the posts and bottom are configured to use the classic type as an override.

Ranged Combat (Early WIP)

A very early, work-in-progress look at ranged combat. There's still a lot left to implement, but it's a step in the right direction!