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

Get RPG in a Box

Buy Now$29.99 USD or more

Comments

Log in with itch.io to leave a comment.

(1 edit)

Hello! I want to love the engine, but when I add some new objects, the game won't load. It has black screen and nothing happens. (I'm on demo version 0.7.4)

Hello! I'm glad to hear you're interested in the engine. Regarding the issue, I'll need some more details in order to troubleshoot it. What sort of objects were added, and were any scripts added or modified? Also, when the game starts, are there any errors in the external console window or in-game debug console (which can be opened with the ~\` key).  If you're using the Itch.io desktop app, you'll need to launch RPG in a Box outside of the app in order to see the external console window.

(3 edits)

Thank you so much for quick reply! I've added new object with new script which I made earlier. What I noticed is that on the opening, where you see main menu and camera looking at bench, it's black. It's normal again if I delete my object. NEW GAME won't load game at all (loading screen forever). Console says nothing (no errors).


Script is like this: give item -> detach object (self), it's named "pick_up_item".

Later I made object and just selected this script file in properties. That's all. I have no idea what's wrong...

Would you mind zipping up your project files and posting it somewhere? I think I am going to need the project in order to troubleshoot the issue further. Apologies for the inconvenience!

Sure, I would be glad for solving the issue and help. There you go: https://drive.google.com/file/d/1Dfbd4Z08q8vAVgHG-x-ywPnp76xU4Zb3/view?usp=shari...

Thanks for posting the project! It seems to work okay when I launch it and start a new game without changing anything, so I'm not sure what is going on. I'll play around with it some more to see if I can recreate the new game issue.