file HIDE-MB: An alternative to in-game Level Editor

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 279
  • Thank you received: 87
08 Dec 2024 16:52 - 09 Dec 2024 17:11 #1
HIDE-MB
I had this lying around completed since a year ago but it wasn't really released or anything ever since due to lack of interest shown during testing. But now it's time to release it anyway in whatever form I have presently since most of it is still functional.

What is this?
This is an alternative to the in-game level editor that is present in Torque. It provides a convenient workflow to place items and objects in a level as well as modify their properties along with many other neat editor features. This is NOT an alternative to Torque Constructor/Blender/etc as it is NOT used to build interiors; it is a tool that works with .mis files.
It is based on an editor built by Shiro Games for their internal use for developing their games, which they had open sourced. I just simply added all the Marble Blast specific support to it.
This editor will not be developed further unless enough interest is shown.

Links:
Source URL: github.com/RandomityGuy/hide-marbleblast
Download (Windows and Mac ARM): github.com/RandomityGuy/hide-marbleblast/releases

Documentation:
Please consult the documentation for all your queries. Minimum information is provided and it is up to you to put two and two together regarding what can be done using it.

1. Introduction:
Preparing your Marble Blast:
The datablocks folder contains the necessary json configuration files that you must put in your copy of Marble Blast to enable the editor's support for it.
For Marble Blast Gold: Copy datablocks-mbg.json folder to MBG/marble folder and rename it to datablocks.json
For PlatinumQuest: Copy datablocks-pq.json folder to PlatinumQuest/platinum folder and rename it to datablocks.json
For Marble Blast Ultra: The mbu folder contains the compatible folder structure that you must open in the editor instead. MBU support is strictly limited to that folder due to file format differences in the OpenMBU distribution.

Starting:
Open HIDE by running hide.cmd or HIDE-MB.app and you will be greeted by the following window.

Click on Open Folder and navigate to your Marble Blast's marble/platinum folder in its root directory containing the datablocks.json file. The file tree on the left will automatically be populated with the directory contents.

Mac: If for some reason the folder fails to open. Please modify props.json in Show Package Contents > Contents/Resources/app.nw/props.json and add the directory entry to "recentProjects" list and then try opening the folder through the Recents section.
Code:
"recentProjects": [ "path/to/your/marbleblast/marble-or-platinum/folder" ]


Navigate to a mission and double click on any of the mis/mcs file to open them.


2. Layout and Keyboard Shortcuts:

Toolbar
  1. Perspective Camera
  2. Camera Settings

    You can change the camera FOV, flight speed, minimum and maximum rendering distance from this menu.
    It also allows you to change the camera behaviour:
    • FPS: Normal camera movement behaviour, first person. WASD to move, Right click to rotate camera, middle click to pan.
    • Fly/6DOF: similar to normal camera movement but the direction of 'up' is no longer fixed, six degrees of freedom. WQSD to move, AE to roll the camera, right click to rotate camera.
    • Orthographic: Shows scene in orthographic projection. Right click to pan. Middle Click/Alt + Right Click to orbit camera around the pivot. Scroll wheel to zoom in and out.
    • Classic: Camera orbits around a fixed point. WASD to move, Right click to pan, Middle click/Alt + Right Click to orbit camera around the pivot. Scroll wheel to zoom in and out. Pressing "Preview Camera Path" shows the animation of the camera path which will be shown in PlatinumQuest's level select. Press any key to cancel the preview animation.
  3. Top Camera: Show top view.
  4. Snap to Ground: Drop created objects to ground plane.
  5. Translation Gizmo
  6. Rotation Gizmo
  7. Scale Gizmo
  8. Snapping: Allows setting snapping grid in the options.
    Force on Grid: Whether to force the object to grid coordinates when moving or not.
  9. Local Transforms: Orient the axes of the Gizmo to the selected object's orientation.
  10. Toggle Grid: Toggles the visibility of a grid.
  11. Toggle Model Axis: Show selected model's axis or not.
  12. Toggle Icon Visible: toggles 3D icons in the editor, not of much use.
  13. Toggle Scene Information: Shows technical information about the scene on the corner.
  14. Auto Synchronize: Automatically save the mis file when changes are made.
  15. Shortcuts Help: Shows the keyboard shortcuts.
  16. Edit MissionInfo: Edit the level's MissionInfo fields, varies with games.

    The checkboxes on the left determine whether they are to be saved to MissionInfo object or not.
  17. Animate: Play/Stop the Moving Platform / PathNode animation. Also allows seeking to a particular point in time.
  18. Scene Filters: Filter visibilities of various categories of objects.
Orange: Creator Pane
You can use the creator pane to add Items and Static Shapes to the scene. Drag and drop to place them on the scene. It also supports selecting skins for shapes that support them.

Green: Mission Tree
The mission tree shows the hierarchy of objects in the MissionGroup. Double click on any item to focus the 3d scene on it.
Supports Ctrl and Shift to select multiple items.
Right clicking any item yields the following menu:

Visible: Whether it is visible in the editor or not.
Locked: Whether it can be selected through the 3d scene or not.
Select all: selects all objects in the mission tree.
Select children: selects all children in a SimGroup.
Rename: renames the selected item.
Delete: deletes the selected item.
Duplicate: duplicates the selected item.
Isolate: Hides all the other items in the 3D scene except the selected.
Group: Creates a new SimGroup from the selected objects.
Blue: Properties Pane
It allows you to edit the properties of the selected object, just like in the Torque's editor.

Right Click Menu

On right clicking, you can create new objects at the cursor by navigating the context menu as shown above.
Keyboard Shortcuts
  • Ctrl + C: Copy Objects
  • Ctrl + V: Paste Objects
  • Escape: Deselect Selection
  • Ctrl + A: Select All
  • Ctrl + D: Duplicate Selection
  • Ctrl + Shift + D: Duplicate Selection to cursor selected location.
  • Ctrl + G: Create SimGroup from Selection.
  • Delete: Delete Selection
  • Ctrl + F: Search objects
  • F2: Rename selected object.
  • F: Focus camera on the selection.
  • L: Toggle Lasso Selection. Press once to enable the lasso, then move your cursor around to form the lasso, and click to select all the objects under the lasso.
  • H: Toggle visibility of Selection
  • Ctrl + H: Make all objects visible
  • I: Isolate Selection. Hide all objects not in Selection.
  • Backspace: Select the parent object of the Selection.
  • Ctrl + Shift + F: Gather Selection to cursor.
3. Particular Features:
Creating Moving Platforms
To create a Moving Platform, you must first create the hierarchy it requires.
Create the SimGroup that will contain the Moving Platform and the Path.

Now you can rename this SimGroup as you wish. Then create the Path object.

Drag the Path object that you just created into the SimGroup that you created earlier.

Now select the Path object and build the path by using the "Edit Mode" button.

Now right click the SimGroup and create a "PathedInterior".
Navigate to the .dif file containing the interior you want to use.
Drag the PathedInterior back inside the SimGroup if it was created outside of it.

Your moving platform is now created.

You can alter its properties from the properties pane.

Cannon
The editor also provides support for cannons.
Create a cannon using the Creator panel.

You can also edit its yaw/pitch by simply using the Rotate tool.

Path Nodes
It also supports PlatinumQuest path nodes.
Create the path nodes through the Creator panel and assign them names.


Then simply edit their "Next Node Name" property to link them together.


Bezier curves are also supported.

Assigning Paths and Parenting
You can assign a path to an object by modifying its "Path" property. You can also parent objects to each other by using the "Parent" property.

PhysMod
The editor also supports PhysMod triggers.

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy
Last edit: 09 Dec 2024 17:11 by RandomityGuy. Reason: Docs update
The following user(s) said Thank You: thearst3rd, Go'way, pasta_real

Please Log in or Create an account to join the conversation.

  • charli3
  • charli3's Avatar
  • Offline
  • New Marbler
  • New Marbler
  • just marbling for fun
  • Posts: 7
  • Thank you received: 0
09 Dec 2024 01:32 #2
is it easy to use?/is it user friendly?

Please Log in or Create an account to join the conversation.

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 279
  • Thank you received: 87
09 Dec 2024 04:43 #3
It's similar to the game's built in level editor but it has a few more features and extra conveniences added that make certain things easier. It's best if you try it out yourself and see. Consult the documentation for any queries.

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy

Please Log in or Create an account to join the conversation.

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 279
  • Thank you received: 87
09 Dec 2024 17:22 #4
Version 0.0.3 released fixing a few following critical bugfixes:
- Fixed Rotate Gizmo not working
- Fixed certain issues with PathedInteriors and PathNodes
- Fixed certain issues regarding naming entities

Additionally, documentation on the first post has been updated as well adding a new section dedicated to some particular features that it handles better than the in-game editor.

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy

Please Log in or Create an account to join the conversation.

  • pasta_real
  • pasta_real's Avatar
  • Offline
  • Novice Marbler
  • Novice Marbler
  • MBP best!
  • Posts: 13
  • Thank you received: 0
15 Dec 2024 10:03 #5
would definitely use this for level creating!

marbling since 2021

Please Log in or Create an account to join the conversation.

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 279
  • Thank you received: 87
15 Dec 2024 12:42 #6
Fortunately as you are a 32-bit user, it will run but not out of the box.
You will have to replace the contents of the nwjs folder with the 32 bit binaries that you can download from nwjs.io/downloads/

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy

Please Log in or Create an account to join the conversation.

Moderators: Doomblah
Time to create page: 0.963 seconds