Product Updates

Developer Update: Moddio Game Engine 2.0.11 Release

Moddio Engine 2.0.11

Hey Moddio community!

We’ve been hard at work putting together some big fixes for Moddio before the holidays and we’re happy to announce Moddio Engine 2.0.11 is now available! These are some big changes to the engine that should really help with optimization and several bug fixes.

What’s New in 2.0.11:

  • [(Breaking Change) Editor]: ‘substring of’ function now starts from 0, previously it started counting from 1 and there were some inconsistencies. For example:
    • Substring of harryfrom index 0 to 0
      • Previously this would output h
      • Now it will output an empty string (“)
    • Substring of harryfrom index 1 to 2
      • Previously this would output: ha
      • Now it will output a
  • [Editor] Added a ‘Reset All’ button to Entity properties: Resets all existing Entities of selected Type to initial values (attributes, variables, inventory)
  • [Editor] Engine Tick Rate added in Settings.
  • [Editor] Added action .addClass(): Add class:string to UI element ID:string for <player>
  • [Editor] Added action .removeClass(): Remove class:string from UI element ID:string for <player>
  • [Engine] Client-side prediction is now 100% server authoritative. Reconciliation logic is now done in the physics engine step.
  • [Mobile] Made several improvements to mobile render resolution.
  • [Mobile] Added Mobile orientation settings. Games can now prefer portrait orientation on mobile.
  • [Moderation] Made updates to global mod permissions.
  • [Scripting] New position function entity position on screen: Returns position of entity relative to user’s screen. Local-only variable.
  • [UI] UI section available for all users now, regardless of tier. Update your basic tier games to the latest engine version to access the UI workspace!
  • [UI] Added Chat Settings to modify the default chat state. Creators can now set chat as hidden/collapsed by default in game UI settings.
  • [UI] Added real-time CSS: 2 new actions + 1 new variable
    • Action append realtime CSS [value] for [player]: Adds style to the contents of realtime <style> container. Newer style overrides any previously applied style.
    • Action update realtime CSS [value] for [player] : Changed contents of realtime <style> container.
    • String realtime CSS of player : Returns contents of realtime <style> container.
  • [UI] Players that join lobbies late now see a ‘Quick Play’ button that immediately launches players into the game.
  • [UI] Local-run triggers received a “local-only” badge. API editor now shows whether triggers can run on server and/or client.
  • [UI] Editor now remembers selected entity list view (classic/folder) and also open/closed state of folders when reloading page or republishing.
  • [UI] Shop now has a CSS class field. Class names added here will be applied to the base div of the shop modal. To see this in action, check out this Demo Game
  • [UI] Code preview now shows at full height.
  • [UI] Added default game UI components to customization.
  • [UI] The Lobby UI has been improved. This applies to all engine versions.
  • [Bug Fix] Rejoining from title screen was causing an error.
  • [Bug Fix] Region overwrite was not working as expected.
  • [Bug Fix] Save & Apply on Entity Scripts was applying Entity properties.
  • [Bug Fix] Entity Property Save & Apply no longer overwrites inventories.
  • [Bug Fix] Box2dwasm had jittery physics and bodies were able to pass through walls in most of time.
  • [Bug Fix] Fixed some memory leak issues in Box2dwasm.
  • [Bug Fix] Fixed incorrect width and height for projectiles created by “createEntityAtPositionWithDimensions” script action.
  • [Bug Fix] Reduced layout shift for entity sprite presets.
  • [Bug Fix] Fixed skin modal typo ‘equipped’.
  • [Bug Fix] Removed ESC to close UI window interaction.
  • [Bug Fix] Client-side memory leak caused by taro.client.entityUpdateQueue not destroyed empty objects.
  • [Bug Fix] ‘when this entity touches item’ didn’t set ‘last touched item’.
  • [Bug Fix] When CSP was enabled, the unit’s sensor wasn’t moving w/ the unit.
  • [Bug Fix] Made two fixes to object to string function:
    • No longer returns undefined when object value is 0.
    • Strings are now properly escaped (ex hello instead of "hello").
  • [Script Library] There are 4 new UI editing examples available in the Script Library! Remember that you can always add your own or request Scripts in the Forums:
    • Heart Containers: Alternate way of displaying player health with hearts.
    • Purchase Button: Renders a button that triggers a custom UI purchase modal. Modal contains two buttons, both close the modal and trigger script actions.
    • Stat Display Modal: Display player stats for different skills in a modal.
    • Boss Health Bars: Displays a big health bar on screen while inside boss area.
Community Contributions:
  • [Scripting] Added action stop moving [unit]: Stops moving a unit immediately. (@bruh9000)
  • [Scripting] Added number function ceiling of [number]: Returns ceiling of provided number value (round up). (@bruh9000)
  • [Scripting] Added string function convert [string] to upper case: Returns the provided string, but with all lowercase characters converted to UPPER CASE characters. (@bruh9000)
  • [Scripting] Added number function get [player] high score: Returns current high score of provided player. (@bruh9000)
  • [Scripting] Added boolean function is [unit] moving: Returns whether provided unit is currently moving. (@bruh9000)
  • [Scripting] Added variable get play time of player: Returns how long the player has been playing the game for. (@bruh9000)
  • [Scripting] Added variable get player username: Returns the provided player’s Moddio username. (@bruh9000)
  • [Scripting] Added action for in loop: Iterates over each element in a collection, such as an array or object. When iterating through a string, key needs to be a number. When iterating through an object, key needs to be a string. (@toho)

Getting Started with 2.0.11:

If you haven’t already, try the new version in your own games! Go to www.modd.io and select the game you’d like to change engine versions. Click on Editor > Game Settings >Engine tab. You will see a field labeled “Engine Version” and you can change this to “2.0.11” to try out the newest features.

Your Feedback Matters:

We appreciate all the feedback that everyone has shared. Your experience helps us to improve the engine and continue making things better. Please try out the new engine version and share your thoughts on our Forums. Please report any bugs and include the engine version you’re using.

Thanks and happy holidays from the Moddio team!