lock The Complete Guide to Custom Level Building

  • IsraeliRD
  • IsraeliRD's Avatar Topic Author
  • Offline
  • Project Manager
  • Project Manager
  • Dragon Power Supreme
  • Posts: 3502
  • Thank you received: 913
16 Feb 2007 05:11 - 30 May 2015 16:37 #1
Note: This thread was imported from the old forums, some links and images may be broken. To see the complete guide, use this link .

Want to create your first custom level, but have no idea where to begin? Does the level editor perplex you to no end? Are you completely and utterly lost in QuArk or Constructor? Well you've come to the right place!

This thread is an all-inclusive guide to using the level editor, and also to using QuArK and Constructor. In the following posts you will find both written guides and videos dedicated to setting you on the right path to creating your very first custom level!

Table of Contents: (click on each to navigate to that post)
Marble Blast Level Editor - The Complete Guide (this post)
In Depth Constructor Overview
Constructor/Q uArK How-to Videos
Adding Items in QuArK
Adding Items in Constructor
How to: Custom MPs
Constructor Tutorial - Curves Using Pie Slices
Pablo's Guide to Making Professional Slopes, Tubes, Cylinders, Curves, and Turns in QuArK
How to Make Super-Smooth Curves in QuArK

~Andrew

"matan, now i get what you meant a few years back when you said that "the level in mbg is beyond me" after the last rampage i noticed things were insane, and now i truly feel that too" - Dushine, 2015.
Last edit: 30 May 2015 16:37 by HiGuy. Reason: Add message at top
The topic has been locked.
  • Perishingflames
  • Perishingflames's Avatar
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 882
  • Thank you received: 21
30 Mar 2008 04:02 - 22 May 2015 20:14 #2
No longer is there a need for a template for making custom moving platforms. Just follow this quick guide, and your set to make your own custom moving platforms using Quark or Constructor.

*Note: This guide only informs you how to make an equivalent moving platform in Quark/Constructor as you would with the in-game level editor -- you need to already know how to create moving platforms using the LE to be able to complete this.*

Quark

First make a platform(s) of your choosing for your mp. When you have it as you want it, select the Torque Entities button. From the fly-out window, scroll over Special Entities, and select the option Door_Elevator.



Now, in the side item list, select the poly(s) that you want used for your mp, and drag them onto the Door_Elevator item in the Entities section. (If it is not under the Entities section or their is no Entities section, don't worry; Quark only uses sections for organization and your mp will work fine as can be) Now, there should be a plus next to the Door_Elevator in the items list, meaning it has a subset, your poly.

You now need to set the properties for the Door_Elevator. Right-click on it in the list view and choose 'Specifics.' The class_name should already be set. For datablock, type in exactly without quotes 'PathedDefault' and make sure it's spelled right. That's important. Now for the initialTargetPosition, use either 0, -1, or 1 depending on your situation. (Use a mp tutorial to decide such as Matan's guide or Moshe's youtube video)

Now, make some markers. In the side list, select the Door_Elevator. Then select the Torque Entities button, and hover over Special Entities, and select 'path_node.'



A window for its properties should appear. It's pretty straight-forward, just type in an appropriate next time, and select a smoothing from the drop-down (Linear, Spline, or Accelerate). Then make more, as many as you want using that technique, or just copy the one you just made, and edit the properties for different next times and smoothings.

The last step will apply if you are making a triggered mp (initialTargetPosition=0). So first, make a new poly, or just copy and paste the poly for your mp and place it. You probably need it under the Entities section, though I am not sure it will matter as long as you only have 1 mp in the map. Now, choose the Torque Entities button and navigate to Special Entities, and choose trigger. Now in the list side view you will see a new item called trigger. See the poly for the trigger? Drag that poly right onto the trigger item to make it a sub-set of it. Now, right-click on the trigger and choose Specifics. For the datablock, make sure it says exactly without quotes 'TriggerGotoTarget' ...Capitals shouldn't matter. Then type a value in for target time (higher than the cycle will take, or just something really big like 99999999).



Now save your map and you are complete! Run it through map2dif and do an interior test and you have yourself your mp. If MB crashes, please see the tips below.


Constructor

To make mps and powerups easier in Constructor, please use the provided file, and follow the instructions for installation to your Constructor.

Constructor Files.zip

After installing those items provided in the file, open Constructor and make yourself a simple mp. You can make it as many brushes as you want, but keep in mind it gets a bit complicated when you use over 1 brush.

Click on your mp, and in the brush type section of the tabbed container (left side of screen) change the brush type to Other. A window should pop-up with a sole choice of Door_Elevator. Select it, and hit OK.

Now, you can edit the mp's properties. Just click the big Edit Properties button above the brush type section. A window should pop-up with values for classname, game type, InitialTargetPosition, and datablock.



The only value you may need to change is InitialTargetPosition. Just type in a new value for it (-1,0,1), hit the return/enter key, and close the window.

Next, you can make some markers. In the tools container (top left of screen) and under the Entities section, click the 'add point entity' button that looks like a lightbulb with a plus sign. Now, back in the tabbed container, scroll down to the option path_node, select it. Then hit activate, then the make button.



Now you can position the marker as you want. Make sure to place it as you would your first marker in the series because once you make the order of them, it is a bit complicated to change the ordering, and you would have to do it in a text editor. Then back in the tabbed container, you will find all the settings for the marker. The two you will need to change are next_time and smoothing. For next time, just type in a value for a time (x.xxx). As for smoothing, you can click the drop-down to see your options. 0 means linear, 1 means spline, and 2 means accelerate, so choose accordingly. Continue making path_node markers until you are satisfied with the path.

Lastly you will need to make a trigger (if you are doing a triggered MP). Just copy the MP's brush or make a new one. When you have it positioned as you like, select the 'trigger' option under brush type.



When you do that, the brush for the trigger should become invisible, with border lines where its edges would be. Unless you are making advanced moving platforms that use unique target times, you will not need to use the edit properties for it. At default, the target time is set at 99.999 seconds, but if you made a really long path for the mp (taking over 99 seconds), you will need to up the target time.

And there you have it. If your mp crashes map2dif or mb, please see the tips/troubleshooting below for more info.


Tips/Troubleshooting

--In your map, you need to have at least 1 brush not included in your mp or trigger. You can have hundreds of brushes in that Door_Elevator tree, but if you have no brushes in just a section besides entities, your dif will crash mb. An easy way to get around this if you intend your dif to only be the mp is to make a small platform very far away in your map in map structure. Just make sure its not too small (shouldn't have to worry about it) or it will not have faces, and not count as the brush.

--Your brush for the trigger needs to be just a regular 6-sided platform/cube. It cannot be more or less than that. (I.e. you cannot make a cylinder or a pyramid for the trigger)

--Friction textures used on a face of the moving platform will not work as frictions in-game, but the face will still show up textured correctly.

--If you are using Constructor, make sure you never use the undo option when making your mp. If you accidentally do, it will erase all your mp settings and make it crash mb/map2dif.

--You cannot make grouped moving platforms (aka consisting of more than one brush) from within Constructor. However, you can do this by opening the .map file in a text editor, and manually grouping them. So, for example, if this is your moving platform ungrouped:
Code:
// This map has been written by the Torque Constructor // For more information see [url]http://www.garagegames.com[/url] { classname worldspawn detail_number 0 min_pixels 250 geometry_scale 32 light_geometry_scale 8 ambient_color 0 0 0 emergency_ambient_color 0 0 0 mapversion 220 } { classname Door_Elevator InitialTargetPosition -1 datablock PathedDefault // Brush 0 { ( 96 -32 16 ) ( 96 -32 32 ) ( 96 32 32 ) mbu_neutral4 [ 0 1 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 16 ) ( -32 32 16 ) ( -32 32 32 ) mbu_neutral4 [ 0 -1 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 32 16 ) ( 96 32 16 ) ( 96 32 32 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 16 ) ( -32 -32 32 ) ( 96 -32 32 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 32 32 ) ( 96 32 32 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 ( -32 -32 16 ) ( 96 -32 16 ) ( 96 32 16 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 } } { classname Door_Elevator InitialTargetPosition -1 datablock PathedDefault // Brush 1 { ( 96 -48 16 ) ( 96 -48 32 ) ( 96 -32 32 ) mbu_edge_white2 [ 0 1 0 48 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 16 ) ( -32 -32 16 ) ( -32 -32 32 ) mbu_edge_white2 [ 0 -1 0 -32 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -32 16 ) ( 96 -32 16 ) ( 96 -32 32 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 16 ) ( -32 -48 32 ) ( 96 -48 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 32 ) ( -32 -32 32 ) ( 96 -32 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 -1 0 -32 ] 0 1 1 ( -32 -48 16 ) ( 96 -48 16 ) ( 96 -32 16 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 -1 0 -32 ] 0 1 1 } } { classname Door_Elevator InitialTargetPosition -1 datablock PathedDefault // Brush 2 { ( 96 32 16 ) ( 96 32 32 ) ( 96 48 32 ) mbu_edge_white2 [ 0 1 0 -32 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 16 ) ( -32 48 16 ) ( -32 48 32 ) mbu_edge_white2 [ 0 -1 0 48 ] [ 0 0 -1 32 ] 0 1 1 ( -32 48 16 ) ( 96 48 16 ) ( 96 48 32 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 16 ) ( -32 32 32 ) ( 96 32 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 32 ) ( -32 48 32 ) ( 96 48 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 -1 0 48 ] 0 1 1 ( -32 32 16 ) ( 96 32 16 ) ( 96 48 16 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 -1 0 48 ] 0 1 1 } } { classname path_node next_time 1000 smoothing 2 origin 96 0 32 } { classname path_node next_time 0 smoothing 0 origin -32 0 32 } { classname trigger TargetTime 99999 datablock TriggerGotoTarget // Brush 4 { ( 96 -32 32 ) ( 96 -32 48 ) ( 96 32 48 ) mbu_neutral4 [ 0 1 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 32 32 ) ( -32 32 48 ) mbu_neutral4 [ 0 -1 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 32 32 ) ( 96 32 32 ) ( 96 32 48 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 -32 48 ) ( 96 -32 48 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 48 ) ( -32 32 48 ) ( 96 32 48 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 ( -32 -32 32 ) ( 96 -32 32 ) ( 96 32 32 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 } }

Your code should look like this after grouping the brushes into one moving platform:
Code:
// This map has been written by the Torque Constructor // For more information see [url]http://www.garagegames.com[/url] { classname worldspawn detail_number 0 min_pixels 250 geometry_scale 32 light_geometry_scale 8 ambient_color 0 0 0 emergency_ambient_color 0 0 0 mapversion 220 } { classname Door_Elevator InitialTargetPosition -1 datablock PathedDefault // Brush 0 { ( 96 -32 16 ) ( 96 -32 32 ) ( 96 32 32 ) mbu_neutral4 [ 0 1 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 16 ) ( -32 32 16 ) ( -32 32 32 ) mbu_neutral4 [ 0 -1 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 32 16 ) ( 96 32 16 ) ( 96 32 32 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 16 ) ( -32 -32 32 ) ( 96 -32 32 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 0 -1 160 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 32 32 ) ( 96 32 32 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 ( -32 -32 16 ) ( 96 -32 16 ) ( 96 32 16 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 } // Brush 1 { ( 96 -48 16 ) ( 96 -48 32 ) ( 96 -32 32 ) mbu_edge_white2 [ 0 1 0 48 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 16 ) ( -32 -32 16 ) ( -32 -32 32 ) mbu_edge_white2 [ 0 -1 0 -32 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -32 16 ) ( 96 -32 16 ) ( 96 -32 32 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 16 ) ( -32 -48 32 ) ( 96 -48 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 -48 32 ) ( -32 -32 32 ) ( 96 -32 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 -1 0 -32 ] 0 1 1 ( -32 -48 16 ) ( 96 -48 16 ) ( 96 -32 16 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 -1 0 -32 ] 0 1 1 } // Brush 2 { ( 96 32 16 ) ( 96 32 32 ) ( 96 48 32 ) mbu_edge_white2 [ 0 1 0 -32 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 16 ) ( -32 48 16 ) ( -32 48 32 ) mbu_edge_white2 [ 0 -1 0 48 ] [ 0 0 -1 32 ] 0 1 1 ( -32 48 16 ) ( 96 48 16 ) ( 96 48 32 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 16 ) ( -32 32 32 ) ( 96 32 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 0 -1 32 ] 0 1 1 ( -32 32 32 ) ( -32 48 32 ) ( 96 48 32 ) mbu_edge_white2 [ 1 0 0 -16 ] [ 0 -1 0 48 ] 0 1 1 ( -32 32 16 ) ( 96 32 16 ) ( 96 48 16 ) mbu_edge_white2 [ -1 0 0 -16 ] [ 0 -1 0 48 ] 0 1 1 } } { classname path_node next_time 1000 smoothing 2 origin 96 0 32 } { classname path_node next_time 0 smoothing 0 origin -32 0 32 } { classname trigger TargetTime 99999 datablock TriggerGotoTarget // Brush 4 { ( 96 -32 32 ) ( 96 -32 48 ) ( 96 32 48 ) mbu_neutral4 [ 0 1 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 32 32 ) ( -32 32 48 ) mbu_neutral4 [ 0 -1 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 32 32 ) ( 96 32 32 ) ( 96 32 48 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 32 ) ( -32 -32 48 ) ( 96 -32 48 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 0 -1 192 ] 0 0.5 0.5 ( -32 -32 48 ) ( -32 32 48 ) ( 96 32 48 ) mbu_neutral4 [ 1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 ( -32 -32 32 ) ( 96 -32 32 ) ( 96 32 32 ) mbu_neutral4 [ -1 0 0 64 ] [ 0 -1 0 64 ] 0 0.5 0.5 } }



**Recommended*--An easy way to transfer over the settings (trigger, markers, etc) from your map is to do an interior test. For mps, it is HIGHLY recommended to use. You're giving yourself a pain in the ass if you try to make it manually with the level editor. See below how to do an interior test on mac and pc.



Interior Test-PC

First move your interior to marble/data/interiors. Open 'Run' from the start menu, and type in 'cmd' without the quotes to open command prompt. Now, type in the path to the folder containing the exe that you use to run Marble Blast. Make sure to enclose in parentheses, hit space, then type in the exe's name, space again, and type - followed by the name of the interior you are going to load. Then hit enter. Remember to use forward slashes (above the enter/return key) instead of backward slashes when specifying the path.
It will then open up Marbleblast and create a mission with all your settings. The file can be found in the main missions folder of Marbleblast/marble/data/missions.

Run through:
Type cmd in start-run to open command prompt.
Type C:\Program Files\Marble Blast Platinum marbleblast.exe -test interiorname.dif
Hit enter.

You can also do this directly in the run dialog. If you do this, make sure to enclose the exe name in parentheses as well. So you may use:

C:\Program Files\Marble Blast Platinum 1.12\MarbleBlast.exe -test difname.dif

Interior Test-Mac

Move your dif file into marble/data/interiors of MBG/MBP's package contents. Open terminal (search it in Finder, or navigate to Applications/Utilities), then type in the path to the executable, followed by test -interiorname.dif. For example if yours is in the main /Applications folder, type (with the quotes included):

Code:/Applications/MarbleBlast Gold.app/Contents/MacOS/MarbleBlast Gold -test interiorname.dif

Etc. Ask if you need help pin-pointing your app's location.


Have fun!
Last edit: 22 May 2015 20:14 by HiGuy.
The topic has been locked.
  • Posts: 19
  • Thank you received: 0
17 Aug 2008 02:07 #3
Constructor/QuArK How-to Videos

If you've been wanting to learn QuArK or Constructor, this is the place to learn all you need to know. Here you will find videos by experienced QuArK/Constructor users, teaching you how to do anything from building a simple platform, to more advanced things like making awesome curves. So sit back, watch a couple videos, then go make an awesome level!

-QuArK Videos-

QuArK - The (Almost) Complete Guide | By Matan
Making Smooth Slopes in QuArK | By Pablo

-Constructor Videos-

Torque Constructor - Installing and Configuring | By Perishingflames
Basics of Constructor | By Perishingflames
Constructor Video II: Tubes | By Perishingflames (Warning!)
Curves using Pie Slices | By Perishingflames
Otto's Curve Tutorial | By Otto (Warning!)
Making Curved Trim in Constructor | By Brixar
Cylinders: Aligned textures | By Phil
Tubed Trim | By Perishingflames / Invented by Phil
Constructor Curves | By Cyberfox
Torque Constructor – Curved Slope Creation | By Steven
New! MP Creation in Constructor | by Yuri Kahn

*Warning!: Videos that use hollowing or csg subtracts to produce curves usually will break your maps. These techniques produce very small brushes, and MB Map2Dif is very sensitive to these. Do not use these techniques unless you are willing to risk creating a map that will not convert!


More videos to come!


If you are an experienced user of one of these programs and want to make a video, or have a video already, please PM me a link to your video and I will add it to the list.


-The Original Post-


Quote:A certain member has been PMing me about Counstructor, and while replying I had an idea.

Over at Brickfilms.com a while ago, someone started a series for newer members by experienced animators called Animation Class. It didn't last long, but it was a series of videos showing new people how to do certain things, like a walks cycle, or how to make a mini-figure jump. It was very successful while it lasted.

So my idea was Why don't we try that with Constructor/QuArK?

If you've already done a video, you could just submit it, but for other things new videos would have to be made. There would be some problems, but I could see it working.
The topic has been locked.
  • Posts: 1949
  • Thank you received: 18
02 Mar 2009 22:40 #4
New version 6th June 2012 by IsraeliRD
Ever wondered how to add items, such as PowerUps, pads, and hazards to your QuArK map? Download the file below and put it in the root folder of QuArK (where your executable resides). You'll need to configure QuArK to notice this file (Games > Configuration > Torque > Installed Add-Ons > Add > DataTorque.qrk > Ok).
Once you've done so, click on the second blue cube beneath the grid size. Click on any of the items to add to your map. Note that this is compatibale with other Torque games, not specific for Marble Blast, so you'll find items you don't need.

When you're done with your map, just do an interior test to activate the items.

platinum.philsempire.com/platinum/forums/Matan/DataTorque.qrk

This version is for Marble Blast Gold and Marble Blast Platinum.
The topic has been locked.
  • Perishingflames
  • Perishingflames's Avatar
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 882
  • Thank you received: 21
31 Jul 2009 03:32 #5
Video Tutorial:


As you may already know, recently a plugin was created for Constructor that mimicked the features of the make prism tool of Quark. It is fully functional, allowing for the creation of half pipe, quarter pipe, flat curves, and more without the hassle of worrying whether the map will convert or not.

By using the pie slice plugin (in combination with Pablo's smooth slopes technique) you will be able to create all the kinds of curves as you can by hollowing or csg-subtracting cylinders. As I said, you should have no problems converting; if you do, try separating the different curve sections into different maps. The conversion error you may get was just caused by too many different types of curves in one map!


Anyways, you will be able to watch the video tutorial here:

The tutorial will detail how you build the pie slices (and using the radial clone tool), and a simple yet highly effective technique for texturing the curve. Previously when texturing curves, you may have come across problems in which the vertical portion of the curve seemed to be stretched - no more of that!

Enjoy!!
The topic has been locked.
  • Perishingflames
  • Perishingflames's Avatar
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 882
  • Thank you received: 21
14 Jun 2010 00:52 #6
Ever wondered how to add items, such as PowerUps, pads, and hazards to your Constructor map? Download the below file, unzip, and replace your current entities.db file with the included file, and replace your current staticshapes folder with the included one. Then restart Constructor, open your map, and click on the entities button (designated with a lightbulb) in the tools section. Click on any of the items listed there to add it to your map. Then, when you're done your map, you must do an interior test to activate the items.

Download: www.perishingflames.com/Assorted/MBItems_Constructor.zip

Note: Because of the way they were originally designed, some of the entities will not align to the grid properly. Use the table below to translate them (click w button in constructor) on the z axis for proper alignment.

The easiest method to do this is in the add entity window when you are originally adding the entity to the map--just type in the shift factor as the center z value, then you can move it up/down at 0.25 or 0.5 (whatever you use) and it should align properly.

Once you have aligned one of that item, you can easily copy and paste it for use in other parts of the map and it will be aligned there as well. When you're done with your map, you must do an interior test to activate the items.

Item nameTranslate amountGravity Modifier-.1255Easter Egg-.06Helicopter-.0165BP Oil Slick-.24Push Button.095Shock Absorber.145Super Bounce-.175 *Super Jump.1775Super Speed.187Tornado.1485Trapdoor-.25Tri Bumper-.048

Checkpoints, duct fans, end/start pads, gems, landmines, magnets, nukes, random powerup, round bumpers, small duct fans, and time travels will be aligned to the grid by default.

* Since the Super Bounce isn't flat at its base (the legs), you either have to have it submerged on a leg or two, or standing on one leg with the other three in the air. -.175 will make two legs touching/submerged and two legs in the air.

If you have any questions about adding them to your map, please ask (I'll be away for a little while so.. maybe someone else can help you, heh).

- Perishingflames

P.S. Like usual, because of constructor's bugs, if you use the undo function with entities in your map, it will restore all previously deleted entities since last save/close. So, either don't undo things or make sure to add your items at the very end of building the map.

**Updated: August 12, 2011 (Now includes the super bounce entity I forgot)**
The topic has been locked.
  • Perishingflames
  • Perishingflames's Avatar
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 882
  • Thank you received: 21
18 Jul 2010 05:59 #7
Before you start, you should set up the view windows. I like to work in perspective mode (3d view similar to MB's level editor - right-click hold and use WASD to move around once you have enabled free cam in constructor's preferences and disabled draw target) so I have that biggest, and below it one 2d view (set to top, but I alternate it with bottom, right, and front as I see fit). Click the blue arrow buttons in the top left corner to change the content of that section, and click/drag on the section dividers to resize.

The first thing I ALWAYS DO when opening a map is set the sun color to a shade easier on the eyes. So, change the three color values to 100 each, which mimics MB's shading and doesn't blind you while building.


You may notice some info about the view in gray text near the bottom right corner. This tells you a couple important things 1) the mode you are in, normally select mode (if not, click the q key to cancel any other modify modes you may be in) and 2) the current grid zoom. I like to keep my grid zoom at 0.5m / 2m which means that each grid square fits exactly one texture square, useful to me. You can change this by holding right click - scroll mouse wheel.

So when moving around the map, use the WASD camera instead of zooming in/out to keep that 0.5m / 2m grid zoom. If you want to zoom in/out faster (say, when you initially load the map it starts you off far from where you will be building) hold down the shift key when moving the camera.

Building the cube

To start making platforms, you use the cube primitive. It is the first button under the tools section, create tab.
There are several ways to set the size of the initial cube. The one I use the most is typing in the size x/y/z values under the properties section, tool tab that appears once you select the cube button. The size of one top texture square, for example: is 2 units (x/y). The standard for most Marble Blast Gold levels and almost all Marble Blast Platinum levels is .5 units high/thick (z axis). Another way to create cubes is with the cube primitive selected, left-click and drag in one of the 2d views, preferably top or bottom. Then you can use the colored squares on the end of the cube to resize or the center square to move it. In the materials section, use the browse button to open the texture browser, choose a texture (I like to start with mbu_edge_white2 since that covers 4 out of the 6 sides in one fell swoop) and hit the active and close button to apply it and close the window. Then you can hit the make button to create the cube.


Texturing

To texture the top and bottom sides of your platform, you need to use the faces mode. By default Constructor starts in brushes mode (each cube is a brush, when you select one it selects the entire cube)- to change it to faces you either press the faces button near the bottom of the window or hit 2 on your keyboard. One important thing to remember is that the top textures by default are twice the size you want. So, with a face selected, change the x and y scale to 0.5. When you do this, it keeps the texture centered so to make it texture starting from a corner, you need to use the justify buttons. Select either the top arrow or the bottom arrow, then the right or the left arrow to snap the texture to the sides of the brush.

Alternatively, you can use the face button, which also serves to reset the face and it's position. When texturing the bottom side, mbu_pattern_cool2 is usually used (normally at its default 1 1 x/y scale).

If you texture a face with one of the textures associated with a friction, the face will automatically gain those friction properties in-game. Note that moving platforms textured with a friction will not gain the frictional properties.


Making a level from the cube

It would be very annoying if you had to re-create a new brush and texture it from scratch every time you need a new platform. Fortunately, constructor makes it easy: hold down shift and drag the platform on one of its axes (normally to move brushes, you hover over one of the axis arrows that originate from the brush center and drag it, so just do the same but with the shift key held). Then, you can switch to the faces mode and select one of the sides and drag it inwards to change the dimensions of the brush.

If you want to create a sloped platform, instead of dragging the side inwards you drag it up or down. In some cases you may want to skew the platform, to do this drag a face left or right. If you need to select multiple brushes/faces/vertices in one selection, hold down the shift key then select them. It can also be used to as the reverse, to deselect brushes/etc from a selection.

In addition to the brushes and faces select modes is the vertices select mode. This can be useful for things such as:
When moving vertices, remember to always select 2 vertices sharing an edge. Moving just one vertex will result in malformed platforms (denoted with red lines running through the platform). Also, if moving vertices results in red lines even though you have moved them correctly, that means that the vertices do not lie on the grid, so you need to first move the brush so it rests on the grid (use the rest on ground tool then move it back into position or just re-do the brush.. if neither is viable uncheck snap to grid in preferences then move the vertices again).

At times you may need to use other primitives than just the cube. The tube primitive to the right of the cube is used for circle platforms (not hollow tubes, which are made with the pie slices plugin to minimize conversion errors) and is pretty self-explanatory. The cone pyramid may be used for making cones (for scenery) or pyramids (for tower tops mostly).

Download the entities file if you will be creating moving platforms or powerups/pads/other game items. Both of these are created using the create entities button, located below the primitives mini-section. You can download the entities file and view the moving platform tutorial here and the game entities tutorial here. Note that the file is shared between them so you only need to download+install it once.

Converting your map

You cannot use constructor's built in exporters to convert your map to a .dif (interior) file. Assuming you are on windows…. Save your .map file (yes, you should use this format for saving instead of constructor's xml format) then drag the file onto the Marble Blast Map2Dif program (download that file here: demos.garagegames.com/marbleblast/MarbleBlastLevelTools.zip ). Make sure the exporter is in the same folder as the map file. Also ensure that you have all the textures used in the map in a folder with the same name as the album the textures are located in for constructor (this should also be located in the same folder as the map and exporter).

Your setup before converting should look something like this:


If you are running Mac OS, you have two options:
A) Find someone running windows to convert your map for you
B) Download the shareware application Crossover, and follow this tutorial (intel macs only): marbleblast.com/index.cgi?board=construc...=display&thread=6950


Other (basic) tools and options

Under the modify tab in the tools section you will notice some transform buttons. The first button is translate, which basically allows you to move the selection by a set amount. I don't use it a lot because I can just move brushes in selection mode, though it is useful for moving things by a distance that is not on the grid - for example, when aligning the game items to the platform by set distances.

Next is rotate, pretty self-explanatory though I don't recommend using it unless really needed. For example to create walls I suggest duplicating the platform then resizing it instead of rotating it to minimize problems and keep the correct texture orientations.

Planar scale and size bounds both let you resize platforms, the difference being that planar scale does it by percents (so 2 would be 200%, or twice the size) while size bounds does it by actual units (so 2 would set it to 2 units regardless of current size). I also don't use these often because it changes the texture scales as well so you would have to retexture.

Center 1D centers the selected brush(es) on a selected axis, never used.

Rest on ground, self-explanatory.

Quantize, well, if you figure out what it does and if it does something useful, let me know.


The CSG tools are also very useful: subtract lets you carve holes in brushes, intersect leaves you with only the overlap of 2 or more brushes (not useful), hollow makes a brush hollow inside though it does it odd sometimes so if possible create the room manually, knife slice and clip let you cut brushes. For more details on the CSG tools, you can download Josiah Reeve's pdf guide here. You can view the rest of his helpful constructor tutorials at his website.

Resetting the brush pivot center is for fixing a constructor bug in which when you select a brush, the axis controls are located outside of the brush. I believe this was fixed in a previous version, but if it ever happens you know what to do. Moving the brush pivot point, for example to a corner, can be useful for rotating brushes around a corner instead of the center, though this is more easily done via the center values for the rotate tool.


Constructor makes it easy to modify the interface to your liking. Selecting one of the blue arrow buttons located throughout the UI will let you do a multitude of things, such as change the content of that section or add/remove splits in the interface to divide it into sections. You may also resize each section by clicking and dragging on the small bezeled circle located on the edge of each section.

Once you have set the interface to your liking, you can save the layout (or it will automatically be saved on exit). You can save multiple layouts and easily change them, useful for example if you use a laptop both unplugged and plugged into an external monitor and need different sizes for different sections accordingly.


There are some options you may want to change (System - Preferences) in some situations. Here are the useful ones:


I like to keep the grid spacing at 0.5 for alignment purposes, though you may need to change it to lower values in special situations. If you do, make sure to keep it at a power of 2. Constructor can do basic mathematics, so if you need to get say from 0.5 to .03125 you can do 0.5 /2 (enter) /2 (enter) /2 (enter) /2 (enter), or just 0.5/16 (enter).

If you select a brush and hold down the control key, it lets you quickly rotate it. It snaps the rotation to 1 each move - it's more practical to have this at something like 22.5 or 45, or even simply 90. You can also change the scale amount for the quick scale tool (option key when selecting brushes); I don't use it, but if you do you may want it at 0.5.

The one click preference lets you click in one of the views to make a brush, instead of hitting the make button.

Lock to Selection makes it so you can only select faces and vertices on the previously selected brush. This is useful when you have two brushes that touch and for example you want to ensure you are only selecting a vertex on the correct brush.

Free cam for me is a must, it allows you to move the camera around the map like you would in MB's level editor. If you don't have it checked, you get a slightly different camera mode that although is harder to use, lets you move around the map quicker. You may also change the move speed for the camera; I have mine at 15.

Max memory for undo function allows you to change how many kb's constructor's undo system uses. More memory means more undos available. You should probably keep it in a power of 2.


Other (advanced) tools, tips, and options

The linear clone duplicate tool is used for primarily 1) pie slice curves, and 2) cyberfox's banked curves/spirals technique. More details on using it are available in those tutorials. The scale to zero user tool is also outlined in cyberfox's aforementioned tutorial.

To treat multiple faces as one face when texturing (say you have a wall made up of multiple brushes and you need to texture the whole wall at once), select the unify button or check the as one option in the faces tool alignment section. Remember to uncheck it after you are done using it.

When trying to extend sloped platforms, you will notice that this alters the slope's angle. You can make it flat, adjust the size, then adjust the angle back to normal or you can to use the extrude faces plugin (it should be included in constructor). Just specify the length of the extruded brush and check conform so it is the same angle as the slope. For trimming the top/bottom of a sloped platform, this way is a lot faster than copying+pasting the slope brush, making it flat then adjusting the size, moving it into position, then adjusting the angle to match the angle of the slope.

When creating high-degree sloped platforms, you may notice that the texture seems stretched. This is because when creating sloped platforms, Constructor increases the texture size to fit the same number of texture squares as would appear if it were flat. Think a2+b2=c2, the hypotenuse or sloped face is much longer than original so the textures are more stretched. To counter this, you will need to override Constructor's adjustments by using the align to face button. Once you do that, it will actually texture the slope with the 0.5 texture scale (and thus you will notice the squares do not fit perfect). In your head, round to the even amount (so you can texture the underside without it ending in half a mbu_pattern_cool2 square) then use the stretch to fit height button (looks like a vertical line and is next to the texture justify compass). Now divide the resulting scale value by the even number you calculated (which will be the number of top texture squares) in the scale value field (just do, for example /6 at the end of the value then hit enter and Constructor will do the math).

Before:
After:


After you do this, you will need to adjust the trim as well, so just take the final scale value for the top texture face and multiply it by 2 for the trim scale. Use the same new value for the bottom texturing (make sure to hit the face button first or it won't come out right.


If you are building massive maps that would take a long time to zoom from the first brush to the area in which you are working, you can set constructor to load the camera by a selected brush (where you are currently working). Just select a brush then in the view tab, workplace section select the button align workplace to selected brush's origin. Then save the workplace (first button in scene workplaces section) and you can later reload the camera position when you re-open the map by using the reload workplace button.

Under the options menu item are a few useful features: Group, which lets you select a set of brushes in one click; Lock, which you may want to use if you need to delete many brushes except for the specified brushes (locked ones); and Hide brushes, which lets you specify brushes to not be rendered in the display. This helps to cut down on lag when moving the camera around if you have huge levels especially with curves (just hide all the brushes that you aren't currently working on).

Under the select menu item are a couple useful tools. If you need to quickly change all faces with a certain texture to another texture, just select one face with the texture in question then use the Same - Material tool, and all faces with that texture will be selected.


Save selection/Load selection lets you save a group of selected brushes and then later reload it. This is useful for if you have a large group of brushes that you need to copy and paste several times.



To learn to create pipes (halfpipes, quarterpipes, and full pipes), view Perishingflames' Constructor Pie Slices tutorial:
www.youtube.com/watch#!v=mL7ZeBJiMl8 (Part 1)
www.youtube.com/watch#!v=RO97tPz0nWA (Part 2)

To learn to create moving platforms and do interior tests, view Perishingflames' tutorial:
www.marbleblast.com/index.cgi?act....59&page=1#37895

To learn to add Marble Blast items to your map, view Perishingflames' tutorial:
www.marbleblast.com/index.cgi?act....9&page=1#114018

To learn to create smooth slopes / bumps, view Cyberfox's demo:


To learn to create banked curves and spirals (and get+use Scale to Zero plugin), view Cyberfox's tutorial:
www.marbleblast.com/index.cgi?boa....ay&thread=10657
The topic has been locked.
  • Posts: 1638
  • Thank you received: 15
14 Sep 2010 22:43 #8
Pablo's Guide to Making Professional Slopes, Tubes, Cylinders, Curves, and Turns in QuArK
1. Click on the Make Prism button under Commands.
2a. Leave the texture field blank.
b. Leave Number of Sides blank until you've filled in everything else; then, input a number based on my texture scaling guide found on the previous page.
c. Choose a radius for your prism. You have to have a number in mind...
d. To get the inner radius (hollow of prism, subtract 16 from your main radius (this will create normal platform thicknesses). Use this function only if you are creating tubes or slopes; put a 0 if you are making solid cylinders.
e. Height of Prism is how high the prism will be . I usually input multiples of 64 when making slopes, or numbers in the thousands when making tubes.
f. Slant of Prism and Size of Grid are very rarely used; you don't need to use them in 99% of curve creation.
g. Click Pie Slices only if your number under hollow of prism was greater than 0 - but if it was greater than 0, you must check this.
h. Share Faces and Staircase are only used in advanced applications such as creating spiral staircases - don't worry about them for now.
i. Click the check mark to create your prism!
3. If you made a cylinder/tube, just put it into place and you're done!
4. If you made a slope, you'll need to delete some of the pie-slice segments to get a partial slope. Then texture it and you're done!


Here's a specific way of using my smooth curve technique. You can adapt it to make larger curves or curves in other dimensions.
1. Make a one-grid platform and size it to 16 units, so the grid begins at the left side.
2. Duplicate that platform and extrude its left and right faces 16 units to the right. *extrude, not translate!*
3. Pull the two right-side edges up 2 units.
4. Repeat by extruding another 16 units and pulling the edges up again.
5. When the curve is done, extend or cut the last slice so the grid texture lines up.
6. Highlight all the slices, duplicate, move 16 units forward, and size all at once to 16 units deep. Put mbu_edge_white2 on the top and bottom (scale to face), and mbu_edge_white on the sides (scale 1 1).
7. Duplicate the trim and move to the other side.
The topic has been locked.
  • Marblemaster1
  • Marblemaster1's Avatar
  • Offline
  • Advanced Marbler
  • Advanced Marbler
  • Custom Code Enthusiast
  • Posts: 237
  • Thank you received: 8
27 Nov 2010 21:55 #9
Hey guys, it's me, MM1.
Recently I found a method to make insanely smooth curves that always convert, and I want to share it with you. So here it is. I recommend reading the whole guide before you try it.

Step 1:
In the main screen, pull down the Edit menu and select Configuration.



Step 2:
In the Configuration box, scroll down to Games and select Torque.


Step 3:
Once you've selected Torque, in Map Editor Settings, type the name of any texture that you have in the TEXTURE BROWSER. I reccommend typing the same texture in both boxes.


Step 4: Press Apply and/or OK, and open a new map. (I think you can do this without a piccy)

Step 5:
In the menu that you use to make new polyhedrons, select shape builders and choose brush bevel maker.



Step 6:
You should now have this:

To change the size, treat it like a normal cube.
I'm guessing that you're thinking: WTF? You told us that it would be smooth! This step will make it much, much smoother.
Open the Brush Bevel maker (NOT the polyhedron inside) in Specifics mode. You can mess around with the paremeters if you want, but the one that are important are Thick and Subdivide.

Step 7: Set the Subdivide to a medium-high number. Below 15 causes the curve to be choppy, and above 40 causes QuArK to lag big-time. As for Thick, set it to 16 to get it the thickness of regular trim. Checking Left, Lower, and Grid change the direction of the curve. (Setting Thick to 0 causes it to be a curve cut into a block. Try it to figure out what I mean.) When you're done, you should have this:


There you have it! A smooth pie-slice-style curve that converts (try it) and works perfectly in MB!

Proof:


MAP and DIF download: www.mediafire.com/?4mnqlhibjk3axw4

Hope this helps!
Guide to export DIFs directly from QuArK coming soon! (you still need Map2Dif, and there are still glitches , but it's faster)

DISCLAIMER:
Do NOT, I repeat NOT uncheck the inverse box in the Specifics mode. If you do, it causes your curve to fall apart and become a mess of broken polyhedrons and faces.

QuArK is still a good map editor

You know what's boring? Opaque marble skins. You know what's not? Glass Marbles!
The topic has been locked.
Moderators: Doomblah
Time to create page: 1.707 seconds