RPG in a Box cover
RPG in a Box screenshot
Genre: -

RPG in a Box

?????

100% in-game footage recorded in one take - no cuts, edits, or special effects added in post. Let's go! 😎

Stay tuned for more details! 😊

Release Notes for v1.0.7.2

Free Movement Updates:

  • Added initial implementation of free melee attacking for the player character (left mouse button to attack at any time)
  • Added ability to create custom collision shapes in the Voxel Editor for tiles and objects (using cubes and prisms, more to come)
  • Added "Collision Override" option for objects in the Voxel Editor to allow use of the new collision shape functionality
  • Added "Physics" tab to the gameplay section of the Game Configuration dialog for adjusting physics-related settings
  • Added "Jumping" and "Vertical Velocity" settings to the "Physics" tab for toggling jumping and adjusting the vertical velocity for jumping
  • Added "Sprinting" and "Speed Multiplier" settings to the "Physics" tab for toggling sprinting and adjusting the speed multiplier for sprinting
  • Updated collision functionality so that NPCs can now trigger scripts assigned to an object's "Character Collides" event when touching the object
  • Updated collision shapes for characters to be per animation frame and to be box-shaped for better collision detection
  • Updated player movement functionality to trigger "Character Enters Tile" and "Character Exits Tile" scripts
  • Updated player movement functionality so that hostile NPCs will now attempt to attack the player from adjacent tiles
  • Updated player movement functionality to properly support the auto-hiding feature (i.e. hiding groups with the "-hide" suffix)
  • Updated debug console so "self" will reference the entity within interaction range that the player is looking at while in first-person mode
  • Fixed issue where "Character Interacts" scripts could not be triggered when assigned to objects configured as passable
  • Fixed issue where damage/healing numbers were displaying at the center of the map instead of over top of the player character
  • Fixed issue where the "player.direction" variable was not returning the proper cardinal direction when referenced in a script
  • Fixed issue where maps could fail to load when they contained any passable objects configured as billboard sprites
  • Fixed issue where "self" was not returning the player entity when used in the debug console with the cursor over the player character
  • Fixed issue where the collision box for a player character with a smaller/larger default scale was not being created at the correct size
  • Fixed issue where a player character with an empty model or consisting of only attachments would cause the game to not start

New Features/Changes:

  • Added "Field of View" camera setting to the gameplay section of the Game Configuration dialog for adjusting the camera's field of view in degrees
  • Added ability to customize the default player attack cooldown and the default NPC attack cooldown from the Combat Editor's general section
  • Added ability to configure a custom "miss" sound effect in the Combat Editor (played whenever a character misses their attack)
  • Added "Line Mode" setting for text fields to indicate whether it should behave as a single-line field (e.g. for player name entry) or a multi-line field
  • Updated "Character Collides" event for object scripts so that NPCs can now trigger them upon entering the tile with that object (grid-based movement)
  • Updated first-person mode to hide any objects attached to the player character if a view model is defined in the Game Configuration
  • Updated first-person view model functionality to auto-attach an equipped item's object model to the view model if a matching attach point exists
  • Removed old "Free Movement" setting from the experimental section of the Game Configuration dialog as it's now been replaced by the new system

Bug Fixes:

  • Fixed issue where items could not be crafted in-game unless the recipe's ingredients/materials were in numerical order by item ID
  • Fixed issue where the "Move Player" scripting function would no longer work properly and would instead display an error in the debug console
  • Fixed issue where using the "Set Dialogue" function to change a spawned NPC's dialogue could affect other NPCs when both were using "Standard" behavior
  • Fixed issue where modifying the "Triggerable by NPCs" script setting would affect other entities of the same type that had a default script when added to the map
  • Fixed issue where character stats and skills were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where widget text elements were incorrectly showing the placeholder expression after loading a saved game (needs a new save to work)
  • Fixed issue where text fields that had been edited by the player were not being properly restored when loading a saved game (needs a new save to work)
  • Fixed issue where certain widget elements could not be clicked on with the mouse after loading a saved game where the widget was visible when saved
  • Fixed issue where mouse input was being interfered with in the editor when a widget in the active project contained a text field with scrollbars
  • Fixed issue with the stairs in the house of the Default Example Game project template being positioned one voxel too high above the floor

Documentation:

  • Updated "Import Resources" built-in docs to include info about dragging and dropping files onto the application window

Release Notes for v1.0.7.1

New Features/Changes:

  • Added ability to modify the "hostility" setting of an NPC via script (e.g. self.behavior["hostility"] = "always", see docs for all values)
  • Added ability to set an NPC's behavior to null to clear out their behavior via script (as an alternative to assigning an empty string)
  • Added ability to call global functions from the in-game debug console (i.e. those defined in the Game Configuration dialog)
  • Added ability to retrieve or modify a specific position of a string by numeric index (e.g. $x = "Text"; $x[2] = "s"; print($x); will print "Test")
  • Updated "Move Character" scripting function to add an optional third parameter (boolean) to indicate if it should pause until the movement is complete
  • Updated "Behaviors" section in the Game Configuration dialog to no longer redundantly store the name of the behavior preset within its settings
  • Removed "Experimental" from the Global Illumination setting label located on the Map Properties panel in the Map Editor

Bug Fixes:

  • Fixed issue where colors were being applied to the default texture instead of the current one when painting in the Voxel Editor with "Voxel" or "Face" mode
  • Fixed issue where quick slots with items assigned were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where scripts assigned to entities via "Set Entity Script" were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where widgets that were visible when a game was saved were not being displayed after loading (needs a new save to work)
  • Fixed issue where the visibility of elements in a widget was not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where entities added to groups or removed from groups were not being properly restored after loading a saved game (needs a new save to work)
  • Fixed issue where entities could be added to the same group multiple times when using the "Add To Group" scripting function
  • Fixed issue where real-time enemies were not attacking the player if given a new behavior with "Attackable in Real-Time" enabled
  • Fixed issue where the "Experience Points" value wasn't being saved when editing behaviors from the Game Configuration dialog
  • Fixed issue where using the "Move Character" scripting function would cause a script to get stuck and not execute the rest of the script
  • Fixed issue where the default scale was not being applied to placed characters or objects in the Map Editor when configured as billboard sprites
  • Fixed issue where player choices would not be visible in dialogues if the "Typing Effect" game configuration setting was disabled
  • Fixed issue where the text of a widget's text field or text label was no longer being updated when modified via script
  • Fixed issue where interactions via space bar were not working for item containers without a script or objects with a character on the same tile
  • Fixed issue where the interaction controls would incorrectly display when the player was adjacent to an object with a collision script

Documentation:

  • Updated "NPC Behavior" built-in docs to include info about the "hostility" setting and its possible values
  • Updated "Move Character" and "Scripting Reference" built-in docs to include info about the optional "pause" parameter

Release Notes for v1.0.7

New Features/Changes:

  • Added base implementation (v0.1) of the new free movement system, enabled per map from Map Properties (most gameplay will not work yet, use at your own risk!)
  • Added "Character Collides" trigger event for object scripts to the Entity Properties tab in the Map Editor (for both grid-based and free movement)
  • Added "Pitch Control" camera setting to the Game Configuration dialog for allowing the player to control the pitch, with min/max settings
  • Added "Focal Offset" camera setting to the Game Configuration dialog for vertically offsetting the camera's focal point in third-person views
  • Added "Locked Axes" camera settings to the Game Configuration dialog for locking the X, Y, and/or Z-axis (e.g. lock the Y-axis for a sidescroller effect)
  • Added "Top-Down Camera" as an option for the Map Editor's default camera (available from the Editor Settings dialog)
  • Added "jump" as an option to the list of predefined animation names when defining a character animation in the Voxel Editor
  • Added debug console command for adjusting the player's jump height in free movement maps (e.g. "jump X", where X is from 0 to 10)
  • Added "Spotlight" as a light source option to the Voxel Editor, with initial settings for range (in voxels) and angle of the spotlight
  • Added "Hostility" behavior setting for NPCs to determine how they behave when attackable (always hostile, hostile if attacked, or never hostile)
  • Added ability to apply noise to existing voxels in the Voxel Editor (all or selection), with option to save presets and set the seed value
  • Added ability to select all voxels of a specific color in the Voxel Editor via Alt + Left Click while the selection tool is active
  • Added ability to use the "Capture Image to File" feature while in "Mesh Preview" mode in the Voxel Editor (useful with Marching Cubes, etc.)
  • Added ability to set a custom position for a character's HP bar by defining an attach point named "hp_bar" in the first frame (or others to override)
  • Added ability to retrieve the tool items currently held in a character's inventory (e.g. "player.tools", returned as an array of codices)
  • Added ability to get and set a character's active tool (e.g. player.active_tool = "ITEM_0001", when retrieving the active tool the item codex will be returned)
  • Added ability to retrieve and modify the current view model for the camera using "camera.view_model" (e.g. camera.view_model = "cam_mech")
  • Added ability to retrieve the current camera type via script using "camera.type" (value will be either STANDARD, ISOMETRIC, or FIRST_PERSON)
  • Added ability to retrieve the configured gameplay settings as a codex via the "global.gameplay" syntax (values are read-only for now)
  • Added gameplay setting to the Game Configuration dialog to allow loading/continuing from the game menus when saving is disabled (e.g. for checkpoint systems)
  • Added "Typing Effect" setting to the Game Configuration dialog for disabling the dialogue typing effect (i.e. any spoken text will instantly display)
  • Added "Codex" as an option to the expression builder in the Script Editor, with a wizard for adding key/value pairs to the codex
  • Added icons for each option in the expression builder in the Script Editor to provide more visual distinction between each expression type
  • Added description box to the bottom area of the expression builder in the Script Editor for displaying helpful information about the selected type
  • Added support for directional animations when the attack animation override setting is used for a weapon item (e.g. "sword_swing_east")
  • Added "Stop Sound" scripting function for stopping a sound using its ID returned from the "Play Sound" function, with optional fade out (e.g. stop_sound(0, 2))
  • Added "Stop Music" scripting function for stopping any music that's currently playing, with optional fade out (e.g. stop_music(2))
  • Added "Clear Log" scripting function for clearing all text from the message log (i.e. any text displayed via the "Log Message" function)
  • Added ability to retrieve and modify an object's XYZ offset via script (e.g. self.offset = array[1, 2, 5], self.offset_x = 3, etc.)
  • Added ability to retrieve and modify an object's XYZ rotation via script (e.g. self.rotation = array[10, 0, 45], self.rotation_z = 25, etc.)
  • Added ability to manually set the current value and maximum value of a progress bar via script using "value" and "max_value" syntax (e.g. $my_element.value = 10)
  • Added ability to retrieve or change an object's display name via script using the built-in "name" property (e.g. entity["book01"].name = "New Name")
  • Added four new effect presets to the Effect Editor: fountain, portal, rain, and snow (available when creating a new effect)
  • Added "Preprocessing Time" setting to the Effect Editor, which processes the particles in advance by the specified number of seconds
  • Added "Explosiveness" setting to the Effect Editor, which determines how many of the particles emit at once (at max, all emit simultaneously)
  • Added "Fixed FPS" setting to the Effect Editor, which can be used to limit the framerate of the effect's particles
  • Added "Randomness" setting to the Effect Editor for applying randomness to the scale of the generated particles
  • Added "Local Space" setting to the Effect Editor, which when enabled will lock particle movement to the parent object's local space
  • Added ability to press the ESC key to cancel out of the capture when capturing an image or character portrait in the Voxel Editor
  • Added options to the "Import Resources" dialog for selecting all, selecting none, and changing the model type for all selected models
  • Added several assets from Stumpy the Squirrel's "How to Make a Game" tutorial series to the built-in Asset Library
  • Updated in-game widget system to significantly improve performance when using placeholder expressions in text labels and text fields
  • Updated "Play Sound" scripting function to include support for looping the sound and setting a play interval (e.g. play_sound("sound.wav", true, 1))
  • Updated "Play Sound" scripting function to return a unique sound ID for later referencing the sound (e.g. to stop via "Stop Sound")
  • Updated "Play Music" scripting function to include two new optional parameters, fade in (in seconds) and loop mode (true = loop, false = play once)
  • Updated "Missing Dependencies" dialog in the Map Editor to auto-select resources whenever there's a single match on the name (e.g. in a subfolder)
  • Updated Voxel Editor to only generate meshes for frames that have applicable changes instead of every frame when saving a model
  • Updated attach points dropdown in the Voxel Editor so it will attempt to keep the same one selected when switching between animation frames
  • Updated Effect Editor to properly support transparent colors for effects using cubes, spheres, or billboards without an image assigned
  • Updated limit for the camera zoom's minimum value in the Game Configuration dialog to 10 instead of the previous limit of 30
  • Updated "Offset" camera setting in the Game Configuration dialog so it's available for the perspective camera type even when rotation is disabled
  • Updated Map Editor to support copying and pasting of entity properties between two different maps instead of only within the same map
  • Updated light attenuation setting in the Voxel Editor to have a minimum value of 0.01 to prevent potential lighting issues in maps
  • Updated game cursor to automatically refresh whenever the "Set Entity Script" function is called (in case the cursor is hovering over that entity)
  • Updated Game Explorer to allow the creation of a new effect from the context menu when right-clicking the "Effects" folder
  • Updated Script Editor to display a confirmation dialog when attempting to close the script when there are pending changes to the Bauxite source code
  • Updated About dialog to include credit for the default game UI font (PixelMplus) on the "Resources" tab with a link to the creator's website
  • Updated expression builder in the Script Editor to automatically select the corresponding expression type and values when an expression is manually entered
  • Changed name of the variable expression builder in the Script Editor to "Expression Builder" to better represent what the dialog is used for
  • Changed name of the "Variable" option in the variable expression builder to "Local Variable" to help clarify its scope and usage
  • Removed "None" from the "Navigation Type" dropdown of the "Replace Navigation" visual scripting node since it's not applicable for that parameter

Bug Fixes:

  • Fixed issue where "party.member["player"]" syntax would return null instead of the main player character after saving and loading a game
  • Fixed issue where the player's quests would be missing after saving and loading a game (i.e. "player.quests" would return an empty array)
  • Fixed issue where the player was no longer able to right-click consumable items to use them after saving and loading a game
  • Fixed issue where objects and characters added and then removed prior to saving a game would still be present after loading (at center of map)
  • Fixed issue where "nonexistent signal: storage_slot_item_changed" error message would sometimes display when loading a saved game
  • Fixed issue with positioning of objects in the Map Editor when rotating one with an offset assigned or using Alt + Click to pick it in place mode
  • Fixed issue where null was being returned instead of the skill ID when attempting to access a skill slot via script
  • Fixed issue where mouse interaction on an entity would stop working after using the "frame" property to change its current frame
  • Fixed issue where using the group scripting syntax on the left side of a contains expression would not evaluate as true even if the entity was in the group
  • Fixed issue where the "substr" scripting function would not work properly if the third length parameter was omitted
  • Fixed issue where custom functions were not yielding when called unless storing a return value into a variable via assignment
  • Fixed issue where appending a value to an array using a binary "+" operation would incorrectly result in the original array's data being modified
  • Fixed issue where global properties were being reset to null after a game was restarted (e.g. via player defeat or the "Restart Game" function)
  • Fixed issue where calling the "Give Item" function from a widget button's script would fail if item icon popups were enabled
  • Fixed issue where a character's level, MP, Max MP, and custom stats were not being carried over when using "Set Entity Model" to change their appearance
  • Fixed issue where the "Character is Damaged" global event script wasn't being triggered when the player dealt melee damage to an enemy in real-time
  • Fixed issue where "initiator" always referred to the player character instead of the attacking character when an enemy used a ranged weapon in real-time
  • Fixed issue where calling "Give Item" or "Remove Item" function with the character specified and storing the return value was not being accepted as valid
  • Fixed issue where attempting to call "Reset Entity Rotation" without having first called "Rotate Entity Towards" wasn't being properly caught and logged
  • Fixed issue where the "Put Player" scripting function was not triggering a visibility update for any groups auto-hidden via the "-hide" suffix
  • Fixed issue where the "Configure Attached Objects/Effects" dialog was not remembering any attached objects residing in subfolders when returning to the dialog
  • Fixed issue where any effects that resided in subfolders were not being listed properly in dropdown boxes (e.g. "Attach Effect" visual script node, etc.)
  • Fixed issue where the "Permanent" setting for Fog of War would not display until the Game Configuration dialog was closed and opened again
  • Fixed issue where changing the Y and Z scale values for attach points in the Voxel Editor would sometimes fail to update the attached object's scale
  • Fixed issue where the Y and Z scale values for attach points would be switched when using the "Copy Settings" and "Paste Settings" buttons
  • Fixed issue where an undo action would trigger in the Voxel Editor when attempting to press the "Accept" button during an image/portrait capture
  • Fixed issue where the "F4" and "4" Voxel Editor shortcut keys were not switching to the fill tool while in texturing mode
  • Fixed issue on the Model Properties panel where enabling the "Light Source" setting would not properly scroll the light settings panel fully into view
  • Fixed issue where the Effect Editor was sometimes being incorrectly marked as having changes when first opening an effect
  • Fixed issue where a text label's alignment in the Widget Editor would reset to "Left" after changing the font size of the text
  • Fixed issue where widget buttons could be inadvertently activated via space bar after being pressed once (as a result of capturing keyboard focus)
  • Fixed issue where widgets would potentially not have updated values immediately after loading a map (e.g. a character's coordinate)
  • Fixed issue where enemy spawn timers would be started again every time the player returned to a map with spawns (resulting in the enemy limit being exceeded)
  • Fixed issue where a map could fail to load if an enemy spawn assigned to a group in that map had been removed from the Combat Editor
  • Fixed issue with the shake effect applied to characters not bumping the damaged character in the correct direction when hit
  • Fixed issue where setting an attack animation override for a weapon in the Item Editor would cause tactical turn-based battles to become stuck
  • Fixed issue where the built-in player HP bar would stop working properly when using the "Player Override" map setting to change the character model
  • Fixed issue where the player character model was not reverting back to the default player character when travelling to a map with no override assigned
  • Fixed issue where dragging a nested player node onto its parent player choice node could result in a dialogue with broken connections
  • Fixed several issues in the Dialogue Editor related to modifying and saving values for the "Go To" node while in compact mode
  • Fixed issue where dialogues added as favorites were not being displayed on the "Favorites" tab (only highlighted in the Game Explorer)
  • Fixed issue where the "Projectile Object Model" field in the Item Editor wouldn't initially display after switching a weapon's type to "Ranged"
  • Fixed issue with the attack animation of the "goblin" character from the built-in Asset Library not being configured properly
  • Fixed issue with the "sk_bush_02" object model failing to open in the Voxel Editor after being imported from the Asset Library
  • Fixed issue where the incorrect editor would sometimes be displayed when clicking on the main editor tabs along the top of the application
  • Fixed incorrect date for the v1.0.6.5 release in the "What's New in RPG in a Box!" dialog (year shown was 2022 instead of 2023)

Documentation:

  • Added initial version of "2D Games" tutorial that walks through setting up a 2D project similar to the Kenney Tiny Dungeon template
  • Added initial version of built-in docs for "Free Movement" with details about current functionality, issues, and planned features
  • Updated "Vehicles" built-in docs to remove the known issue listed at the bottom now that the issue has been fixed
  • Updated "Tile" built-in docs to include properties that return connected tiles (e.g. $my_tile.north_tile is tile to the north)
  • Updated "Character" built-in docs to include info about the "skills" and "quests" properties for getting a character's skills and quests
  • Updated "Map Properties" built-in docs to include info about the "Player Override" setting only changing the visual appearance
  • Updated "Entity Properties" built-in docs to include info about $object variable that's available to the pushing-related tile scripts
  • Updated "Data Files" built-in docs to include .json file extensions in Bauxite examples since an extension is now required
  • Updated "Scripting Reference" built-in docs to include info about referencing main player character via "party.member["player"]"
  • Updated "Scripting Reference" built-in docs to include "Stop Music" function and updated signatures for "Play Music" and "Play Sound"
  • Updated "Scripting Reference" built-in docs to include info about retrieving gameplay settings as a codex via "global.gameplay"
  • Updated "Script Syntax" built-in docs to include info about the "Duplicate" function along with some Bauxite code examples
  • Updated "Stop Player" built-in docs to include a more clear description of how the function affects the player's movement
  • Updated "Groups" built-in docs to include a note that auto-hiding does not trigger if the Fog of War setting is enabled
  • Updated "Import Resources" and "Sound" built-in docs to include info about video file support (WEBM and OGV) and OGG support for sound effects
  • Updated "Widget Editor" built-in docs to indicate that custom widgets are now added to the management screen from the UI Editor's "Screens" tab

FPS in a Box

Hey everyone, I have some exciting news to share! After extensive consideration, I've decided to rename RPG in a Box to FPS in a Box! As part of this transition, I'll be gradually phasing out any RPG-related mechanics and will begin centering the engine around shooters (with a focus on first-person). Keep an eye out for more information coming soon! 😄

How to Make a Game (Episode 7: Layering Wall Tiles)

Hello! I'm Stumpy the Squirrel. Let's make a game with RPG in a Box! In this tutorial, we'll create and layer some wall tiles in our map. It's a fun way to learn about the tile coordinate system and how to put things on top of other things!

free_v2.mp4

oh_dear.mp4

Release Notes for v1.0.6.5

New Features/Changes:

  • Added ability to offset objects within their tile by adjusting XYZ values from the Entity Properties panel in the Map Editor
  • Added ability to add multiple objects per tile in the Map Editor (Z offset will be automatically set when hovering over an existing object, e.g. a table)
  • Added ability to rotate objects around the X and Y axes (in addition to the Z axis) from the Entity Properties panel in the Map Editor
  • Added "View Model" camera setting to gameplay configuration for assigning a model to attach to the camera while in first-person (model needs attach point with ID of "camera")
  • Added special global property "view_model" as a temporary way of referencing the view model attached to the camera (e.g. play_animation(global.property["view_model"], "anim_name"))
  • Added "Background Image" option to NPC, Player, and Message nodes for displaying a background image during dialogue (located on node toolbar next to style override)
  • Added "speak" pre-defined animation for characters that will automatically play whenever they're the active speaker during dialogue
  • Added "Behaviors" section to the Game Configuration dialog for managing NPC behavior presets without needing to use the Map Editor
  • Added "Display Name" setting to the Voxel Editor and Map Editor for assigning an object's display name (used when interacting with multiple scripted objects via keyboard)
  • Added "Custom Properties" section to the Item Editor for defining custom item properties (string, number, or boolean types)
  • Added "Loading Image Override" setting to the Map Properties panel for overriding the default loading screen image per map
  • Added popup dialog when enabling free movement from the Game Configuration dialog with information about the feature being in an alpha state
  • Updated attach point tool in the Voxel Editor to allow attach points to be created by clicking directly on the grid without the need for an existing voxel
  • Updated "Duplicate Frame" functionality in the Voxel Editor to copy any existing textures to the newly created frame
  • Updated alpha slider in the Voxel Editor to allow values between 0 and 0.9 and changed the increment value from 0.05 to 0.01 for allow for finer tuning of transparency
  • Updated alpha slider in the Voxel Editor to include icons on each end of the slider to make it more apparent which end is which (min vs. max alpha)
  • Updated movement speed setting for tile platforms to allow speeds in increments of 0.1 instead of requiring an integer value
  • Updated "On Equip" and "On Unequip" item script functionality to store the equipment slot ID in a local variable named $slot for use in the script
  • Updated "Add Effect" scripting function to properly validate the effect name parameter to ensure the value is a string
  • Updated "Detach Object" failure message from an error to a warning when attempting to detach an object from an attach point with nothing attached
  • Updated dialogue functionality to not use typing effect when called from the "Display Choices" function without a speaker entity specified
  • Updated stretch mode for background image in the Main Menu Editor to default to "Keep Aspect Covered" for best compatibility

Bug Fixes:

  • Fixed issue that would sometimes cause a crash if the player saved the game after having dealt damage to an enemy or having received damage
  • Fixed issue where directional attack animations for characters ("attack_north", etc.) were not being properly triggered in certain scenarios
  • Fixed issue where disabling mouse movement controls in the gameplay configuration would prevent tool item scripts from working on tiles
  • Fixed issue where the player's mouse sensitivity setting was losing the correct sensitivity value after restarting the game
  • Fixed issue with "When Player Interacts" and "When Next to Player" resource dropdowns not being hidden when an NPC was set to be attackable from their behavior settings
  • Fixed issue with the obstacle reaction script dropdown on the NPC behavior settings panel not being populated with values until clicked on
  • Fixed issue with the obstacle reaction script dropdown not being hidden on the NPC behavior settings panel when switching to a move direction of "None" or "Random"
  • Fixed issue where undo/redo actions were not being created when an entity's scale was changed from the Entity Properties panel
  • Fixed issue that could occur in-game or in the Map Editor when editing or referencing a tile that previously had a character on it but the character had been removed
  • Fixed issue in the Map Editor where a tile sometimes couldn't be deleted from the map ("remove_entity_id_lookup" error was displayed in console)
  • Fixed issue where the Y and Z values of an entity's scale were switched on the Entity Properties panel when selecting an object or character in the Map Editor
  • Fixed issue where models with transparency could be seen through the marker icons that are shown above entities in the Map Editor
  • Fixed issue with "Add Object" scripting function where attempting to use an invalid tile coordinate was not being properly handled and displayed in the console
  • Fixed issue with "Hide Group" and "Show Group" scripting functions not working properly when used to hide/show effects
  • Fixed issue with "Display Image" scripting function not working properly unless both the duration and background color were explicitly specified
  • Fixed issue where the "Character enters tile" event wasn't being triggered after the player character was moved with "Put Player" then walked to another tile
  • Fixed issue where the "Character stops on tile" event wasn't being triggered after the player character was moved with "Put Player"
  • Fixed issue in Combat Editor where the battle map dropdown was not being updated when switching to a menu-driven turn-based battle
  • Fixed issue that could occur when attempting to attack with an unlimited use ranged weapon that didn't have an object model defined
  • Fixed issue where characters configured as "Two-Dimensional" were being rotated when firing a ranged weapon instead of only triggering their directional attack animation
  • Fixed issue in Dialogue Editor where a player node could be dragged back on itself, which would then result in a broken dialogue
  • Fixed issue in Dialogue Editor where player nodes would be dragged when attempting to drag and select the dialogue text while in compact mode
  • Fixed issue in Main Menu Editor where the background image's appearance was not being updated properly when switching images until the editor was resized
  • Fixed issue with the stretch mode for main menu background images and loading screen images not working properly when the image was larger than the screen size
  • Fixed issue where changing properties in the Effect Editor would affect another effect after using "Save As" to copy an effect then opening the original effect
  • Fixed issue with Y and Z scale values on the Model Properties panel being reversed for attach points in the Voxel Editor
  • Fixed issue with UI theme not being properly applied to equipment slots, shop item slots, and crafting input slots
  • Fixed issue where the editor was not properly checking for changes to the Quest Editor or clearing out the quest list when closing the project

Documentation:

  • Added initial version of built-in docs for "Pushing", which includes a basic walkthrough of how to set up a pushable object
  • Added initial version of built-in docs for "Skill Slot", which includes basic info about the skill slot element and a scripting example
  • Updated "Scripting Reference" built-in docs to include list of global, map, camera, party, and system variables
  • Updated "Entity Properties" built-in docs to include descriptions for each tile trigger event (including new events for pushable objects)
  • Updated "Tile", "Object", and "Character" built-in docs to include info about the "textures" property, which returns an array of textures for the entity
  • Updated "Tile", "Object", and "Character" built-in docs to include info about "attachment["x"]" and "effect["x"]" properties for referencing attachments and effects
  • Updated "Character" built-in docs to include info about the "behavior" property for retrieving and modifying a character's behavior
  • Updated "Map Editor" built-in docs to include info about using Shift and Shift + Alt to add/remove entities from the current selection
  • Updated "Global Event Scripts" built-in docs to include info about several global event scripts that were missing
  • Updated "Conditional Expression" built-in docs to include info about the "!contains" syntax (i.e. "doesn't contain")
  • Updated "Debug Console" built-in docs to include info about using "self" keyword to reference the entity at the mouse cursor's location
  • Updated "Codex" built-in docs to include a code example of inserting a new key/value pair into a codex
  • Updated "Array" built-in docs to include info about the "remove" function and a code example of using it with an array
  • Updated "Give Item", "Remove Item", and "Add Item To Container" built-in docs to include info about return values (i.e. number of items added/removed)
  • Updated "Add Tile", "Add Object", and "Add Character" built-in docs to include info about return values (i.e. reference to new entity)
  • Updated "Assign Entity ID" built-in docs to include info about return value (i.e. true if the ID was successfully assigned, false otherwise)

Release Notes for v1.0.6.4

New Features/Changes:

  • Added initial background map implementation for menu-driven turn-based battles (assigned in Combat Editor, party members spawn starting at center of map going eastward)
  • Added "Object enters tile", "Object stops on tile", and "Object exits tile" trigger events for tiles for use with pushable objects ($object variable contains object)
  • Added "On Equip Script" and "On Unequip Script" settings to the Item Editor for equippable items, which get triggered when the item is equipped/unequipped (self is character, $item is item)
  • Added "Random Speaking Pitch" character setting to the Voxel Editor which will randomize the pitch of a character's voice as they speak
  • Added "Scroll Wheel Grid Controls" editor setting for the Map Editor to turn off Shift/Ctrl + Scroll Wheel grid level controls
  • Added confirmation dialog to the Script Editor when pressing ESC or clicking the cancel button and the Bauxite source code field has been edited
  • Updated "Duplicate Frame" functionality in the Voxel Editor to copy any voxel groups to the newly created frame
  • Updated menu-driven turn-based battles to play death animations for enemies when applicable instead of immediately removing them from the map
  • Updated "Replace Navigation" scripting function to force the player to release a pushable object if navigation was removed between them and the object
  • Updated "Set Entity Model" scripting function to only replace the model when different than the current model in use
  • Updated Bauxite syntax highlighting to include "map" as a built-name variable name (e.g. when used with "map.name" or "map.groups")

Bug Fixes:

  • Fixed roguelike issue where mouse movement was inadvertently being allowed even when disabled by interacting with something from a distance
  • Fixed issue in the Voxel Editor with the option to automatically attach an object in-game not working properly
  • Fixed issue where voxel groups were not being updated when using the arrow buttons or the move tool to move grouped voxels
  • Fixed issue in the Map Editor where the scale of the pending character/object couldn't be adjusted with Shift + Scroll Wheel if the grid level was locked
  • Fixed issue where the new tile's collision override was not being applied when replacing a tile's model with "Set Entity Model"
  • Fixed issue with navigation paths not being properly updated in some scenarios when the player would push an object to a new tile
  • Fixed issue with "Duplicate" functionality not working properly when attempting to duplicate an effect from the Game Explorer
  • Fixed issue with "Reset Entity Rotation" function not properly resetting the character's direction after being rotated with "Rotate Entity Towards"
  • Fixed issue with "mp" and "max_mp" stats not working properly in-game when attempting to access or modify their values
  • Fixed issue with "quests" and "skills" character properties not being accepted as valid syntax when used in a "for" expression (e.g. for $quest_id in player.quests)
  • Fixed issue with the Asset Library where the OK and Cancel buttons were outside of the dialog box when using the Russian localization
  • Fixed "nonexistent signal" error that would display in the console window when opening an item container

Documentation:

  • Updated "Map Editor" built-in docs to include info about pressing Delete in Connect/Navigation mode to remove all navigation paths to a tile
  • Updated "Map Editor" built-in docs to include info about Ctrl and Alt modifiers for picking a resource and/or grid level while in place mode
  • Updated "Character" built-in docs to include info about "name" property and "portrait" property