MBG Community Level Building FAQ/Help Topic
by Matan · in Marble Blast · 06/03/2006 (4:49 pm) · 175 replies
Hello!
If you need help in creating a level creation you've came to the right place! In here, Marble Blast members will post their guides or normal FAQs on how to create different objects in-game. As well, non-Level Creation issues will also be addressed (example: recording demos).
For example, next post (mine) will feature a guide on how to create Help Triggers and add texts and relate to Scaling and talk about Gravity Modifiers (a bit). Other members will post their own guides. For example: Rotation and Position, or adding new interiors. You'll find here everything (that is, once we get around to type :P).
Here's the general information:
To access the level editor:
For Windows Users:
1) Press
2) Type in
3) Press
4) Enter a level
5) Press (if windows)
For Mac Users:
1) Press
2) Type in
3) Press
4) Enter a level
5) Press
Small Note - if using PowerBook:
1) Hold fn while pressing F10
2) Press F11
Enjoy the FAQ/Help topic,
The MBG Community.
If you need help in creating a level creation you've came to the right place! In here, Marble Blast members will post their guides or normal FAQs on how to create different objects in-game. As well, non-Level Creation issues will also be addressed (example: recording demos).
For example, next post (mine) will feature a guide on how to create Help Triggers and add texts and relate to Scaling and talk about Gravity Modifiers (a bit). Other members will post their own guides. For example: Rotation and Position, or adding new interiors. You'll find here everything (that is, once we get around to type :P).
Here's the general information:
To access the level editor:
For Windows Users:
1) Press
~to bring up the consule
2) Type in
$testcheats=1;and press enter
3) Press
~
4) Enter a level
5) Press (if windows)
F11
For Mac Users:
1) Press
F10to bring up the consule
2) Type in
$testcheats=1;and press enter
3) Press
F10
4) Enter a level
5) Press
F11
Small Note - if using PowerBook:
1) Hold fn while pressing F10
2) Press F11
Enjoy the FAQ/Help topic,
The MBG Community.
#43
07/21/2006 (9:08 pm)
Bump.
#44
I read everything three times above but still cant find my .rec...... Where does it appear? or where should it appear. In which folder??? Ahhhh ( i'm mac )
Sorry to bother you,
Thanks.
07/22/2006 (3:00 pm)
Hi i am having troubles with the recording demos.I read everything three times above but still cant find my .rec...... Where does it appear? or where should it appear. In which folder??? Ahhhh ( i'm mac )
Sorry to bother you,
Thanks.
#45
07/22/2006 (5:26 pm)
[username] > Library > MarbleBlast > marble > client > demos
#46
07/22/2006 (5:56 pm)
Nice! I got a recording to work.
#47
08/08/2006 (3:52 am)
El Bumpo.
#48
08/08/2006 (12:43 pm)
*****
#49
Can someone please help me?
08/09/2006 (11:24 am)
...I wanna make a level but I don't understand the "error missing template newmission.mis"Can someone please help me?
#50
08/09/2006 (11:26 am)
Go into any begginer level, make one change then click file-saveas and save it under custom and name it whatever you want and there will still be the untouched begginer level as long as you follow my instructions.
#51
08/09/2006 (11:28 am)
Chris if you do two demos in a row the second one will overwrite the first one if you dont change the file name before you do the second. I've learned that from experience. Lol
#52
Created by Matan and Technostick
None of us likes to use the .mis for coding (unless your name is Technostick), but sometimes we do need to use coding. I recommend using the .mis coding in order to do the moving platforms. It needs a Copy/Paste job, but it does the trick.
Suggestion of creating moving platforms:
1) Put an object (a time travel, a gem.. a tornado.. ANYTHING!) where you want your MustChange and Marker (seqNum 0) to start off at. NAME THAT OBJECT!
2) Put an object for a Marker for the next position. Keep on naming them!
3) Keep it up until you're happy. Name all objects.
4) Place markers (objects like time travels, tornados etc) at the same point as the rest for the platform to go back the same way it came from, or only 1 marker to go back straight to the starting position or don't put any for a sudden reappearance (please see The Great Divide example).
5) Go to the .mis code and add in the codes required (keep them up in a certain file) and replace anything necessary with the codes (position of markers with whatever you set up with). This is why we named our objects.
6) Once done (don't forget BASE), save and enter the level and enjoy a newly created moving platform.
Explaining the code:
From Andrew Patterson's level:
*MORE NEXT POST*
08/12/2006 (7:20 am)
The Platform Creation WalkthroughCreated by Matan and Technostick
None of us likes to use the .mis for coding (unless your name is Technostick), but sometimes we do need to use coding. I recommend using the .mis coding in order to do the moving platforms. It needs a Copy/Paste job, but it does the trick.
Suggestion of creating moving platforms:
1) Put an object (a time travel, a gem.. a tornado.. ANYTHING!) where you want your MustChange and Marker (seqNum 0) to start off at. NAME THAT OBJECT!
2) Put an object for a Marker for the next position. Keep on naming them!
3) Keep it up until you're happy. Name all objects.
4) Place markers (objects like time travels, tornados etc) at the same point as the rest for the platform to go back the same way it came from, or only 1 marker to go back straight to the starting position or don't put any for a sudden reappearance (please see The Great Divide example).
5) Go to the .mis code and add in the codes required (keep them up in a certain file) and replace anything necessary with the codes (position of markers with whatever you set up with). This is why we named our objects.
6) Once done (don't forget BASE), save and enter the level and enjoy a newly created moving platform.
Explaining the code:
};
new SimGroup(MustChange_g) {
new Path() {
new Marker() { // The marker is just a point where the platform needs to go to at a certain sequence. It means it's the 'Final' destination for a moving platform before it moves to it's next destination. Can be called a 'Checkpoint'.
position = "-14.5 12.5 7.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0"; // Consider your platform moving to several locations. The seqNum just means which 'place' it is in line. I cannot really explain it in good English. Basically '0' is the starting position, '1' is where the platform would go to next. '2' would come after '1', '3' after '2' etc. This is how the platforms in MBG work. Each seqNum means where to go next!
msToNext = "4000";
smoothingType = "Accelerate";
};
new Marker() {
position = "14.5 12.5 7.5"; // Position of the marker. It means where the platform will stop. Note - THE MIDDLE OF THE PLATFORM will stop at that position.
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "1";
msToNext = "1000";
smoothingType = "Accelerate";
};
new Marker() {
position = "14.5 12.5 7.5";
rotation = "1 0 0 0"; // rotate the marker. Does nothing I think. No need to touch.
scale = "1 1 1"; // How big you want the marker. No need to touch.
seqNum = "2";
msToNext = "4000";
smoothingType = "Accelerate";
};
new Marker() {
position = "-14.5 12.5 7.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "3";
msToNext = "1000"; // How long to take to get from one position to another. 1000 ms = 1 second. The lower the time, the faster it goes to that position.
smoothingType = "Accelerate";
};
new Marker() {
position = "-14.5 12.5 7.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "4";
msToNext = "0";
smoothingType = "Accelerate"; // Bascially leave it as Accelerate. This means that the platform moves from one position to another... accelerates to it.
};
};
new PathedInterior(MustChange) { // This just tells you that the platform is 'moving' and where it starts off at (the spawning point of the platform). You better use this marker at the same position as the marker... or some unexpected results will happen (see at the bottom for the example of 'The Great Divide').
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "PathedDefault";
interiorResource = "marble/data/interiors/beginner/platformparty.dif"; // Where are you getting your platform from? You can use ANY platform you wish, so get any block and you can set it as a moving platform. Guess what, even your own custom platforms can be used!
interiorIndex = "0"; // This is IMPORTANT! e.g. try pathways.dif, interiorindex="0", and interiorindex="7" - it'll be a totally different interior!
basePosition = "0 0 0"; // Whenever editing this part, you MUST NEVER FORGET EDITING the 'base*********' as these are the starting position/rotation/scale of the platform you have chosen!
baseRotation = "1 0 0 0";
baseScale = "1 1 1";
initialTargetPosition = "-1"; // initialTargetPosition controls the "looping"... if you want your platform to go to a certain place and never come back, enter the time at which you want the platform to stop. Also, you can use this for triggerGoToTarget (set TargetTime to desired place to stop the platform.)
};
};Example #1:From Andrew Patterson's level:
};
new SimGroup(MustChange_g) {
new Path() {
new Marker() {
position = "-853.103 -1776.96 1200.82";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0"; // Platform will start here.
msToNext = "35000"; // 35 seconds to get from one position to another! Check it out yourself!
smoothingType = "Accelerate"; // Again, the platform had moved from one position to another by simply moving.
};
new Marker() {
position = "313.689 -1776.96 1834.65";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "1";
msToNext = "5000"; // The final checkpoint of the platform.
smoothingType = "Accelerate";
};
};
new Trigger(MustChange) {
position = "-857.353 -1776.96 1203.87";
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "TriggerGotoTarget"; // Never, ever, EVER, put this piece of code in your level! The moment the marble goes to this trigger, the platform stops on the stop and won't move again. It will seem to 'Float' in air. In this case I edited the trigger so that the marble won't reach it so that the platform won't be 'stuck' in mid-air.
polyhedron = "-3.2500000 -4.0000000 1.2500000 0.0000000 8.0000000 0.0000000 6.5000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000";
targetTime = "5000";
};
new PathedInterior(MustChange) {
position = "-870.542 -1774.74 1192.02"; // This is just edited in the Level Editor as you wish but it will remain unsaved. To save the actual starting position of the platform, put the position you wish in the asePosition line. This thing is just to copy and paste.
rotation = "1 0 0 0";
scale = "4 4 1.5"; // This platform has been scaled
dataBlock = "PathedDefault";
interiorResource = "marble/data/interiors/addon/darwin.dif"; // Which interior was used (darwin's dilemma platform)
interiorIndex = "0";
basePosition = "-870.542 -1774.74 1192.02"; // STARTING POSITION OF PLATFORM!
baseRotation = "1 0 0 0";
baseScale = "4 4 1.5"; // Again, this platform has been scaled but only the baseScale saves the actual settings.
initialTargetPosition = "-1";
};
};What that really happened was that there was no "seqNum = 2", so that the platform arrived at "seqNum = 1" and suddenly reappeared in "seqNum = 0", instead of going back to it using the path it used to get to "seqNum =1" in the first place.*MORE NEXT POST*
#53
Created by Matan and Technostick
Part II
This is how a true platform goes from one point to another, then back to the first point and vice verse. You will see other stuff too. This platform BTW, was taking from MBG's Beginner level: Platform Training.
Example #2:
Try yourself at this coding from Techno's 'golf club' interior (the moving platform). You WILL be surprised!
Example #3:
LAST PART NEXT POST!
08/12/2006 (7:21 am)
The Platform Creation WalkthroughCreated by Matan and Technostick
Part II
This is how a true platform goes from one point to another, then back to the first point and vice verse. You will see other stuff too. This platform BTW, was taking from MBG's Beginner level: Platform Training.
Example #2:
};
new SimGroup(MustChange_g) {
new Path() {
new Marker() {
position = "-9 6.5 31.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0"; // Platform starts here. Note the position. In the level it started opposite to the player and moved towards him at the start.
msToNext = "4000"; // Ok, the platform would take 4 seconds to move.
smoothingType = "Accelerate";
};
new Marker() {
position = "22 6.5 31.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "1";
msToNext = "2000"; // Arriving at position. But wait, what's that? IT STAYS at that position for 2 seconds before moving again! Ain't it the same in the level?
smoothingType = "Accelerate";
};
new Marker() {
position = "22 6.5 31.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "2";
msToNext = "6000"; // It takes 6 seconds to get from that point to the other marker. Nice.
smoothingType = "Accelerate";
};
new Marker() {
position = "-9 6.5 31.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "3";
msToNext = "2000"; // Arriving at position but wait... it says there again for 2 seconds before moving again!
smoothingType = "Accelerate";
};
new Marker() {
position = "-9 6.5 31.5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "4";
msToNext = "0";
smoothingType = "Accelerate";
};
};
new PathedInterior(MustChange) {
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "PathedDefault";
interiorResource = "marble/data/interiors/beginner/training_platform.dif"; // used interior for platform.
interiorIndex = "0";
basePosition = "0 0 0";
baseRotation = "1 0 0 0";
baseScale = "1 1 1";
initialTargetPosition = "-1";
};
};Note how the platform stayed in the same place for 2 seconds by having a marker at the same position of other markers.Try yourself at this coding from Techno's 'golf club' interior (the moving platform). You WILL be surprised!
Example #3:
};
new SimGroup(MustChange_g) {
new Path() {
new Marker() {
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0";
msToNext = "1000";
smoothingType = "Linear";
};
new Marker() {
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0";
msToNext = "2200";
smoothingType = "Spline"; // Just a curve. It's useful in making a 'golf hit'
};
new Marker() {
position = "0 -7 4";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "1";
msToNext = "300";
smoothingType = "Spline";
};
new Marker() {
position = "0 -1 0";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "2";
msToNext = "300";
smoothingType = "Spline";
};
new Marker() {
position = "0 6 5";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "4";
msToNext = "1000000"; // In fact it didn't do anything. It doesn't slow it down. Relax.
smoothingType = "Spline";
};
new Marker() {
position = "0 7 4";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "4";
msToNext = "1000";
smoothingType = "Spline";
};
};
new PathedInterior(MustChange) {
position = "-3 -33 -7.5";
rotation = "1 0 0 9.99997";
scale = "1 1 1";
dataBlock = "PathedDefault";
interiorResource = "marble/data/interiors/addon/pinball0.dif";
interiorIndex = "0";
basePosition = "-3 -33 -7.5";
baseRotation = "1 0 0 9.99997";
baseScale = "1 1 1";
initialTargetPosition = "-1";
};
};LAST PART NEXT POST!
#54
Created by Matan and Technostick
PART III
Try yourself at another piece of code, this time from Pinball Wizard (my favourite level where I did sub-10 seconds!). Try and answer the questions!
Exmaple #4:
Editing fun (back up levels first!):
These examples provide some good experience in moving platforms and how they are used in-game:
Example #1: The Great Divide
In the level "The Great Divide" you'll see there's a marker and a MustChange point at the very first elevator's base (at the bottom... move up to the platform and open up the level editor and you'll see the elevator stops at these 2 markers). Move the marker down by 2-3 units and save the mission. Now enter the mission and go to that point ASAP. You'll see the elevator moving all the way down to the marker and suddenly appearing/spawning in the MustChange point. If you put your marble on the elevator as it moves down to the marker (set it so you can fall to the elevator a bit), the marble will suddenly shoot up with great speed! The elevator has pushed in no time at all the marble and itself to the MustChange point (SPAWNING POINT) so that the marble, suddenly moving in extra-super-duper-unreal-fast motion, is pushed up straight to hit the elevator above and fall quickly down. Talk about speed!
Example #2: Platform Party
In the level "Platform Party" you can easily take the marker point of the first platform from the other side (where it usually takes the marble to) to the finish platform. There is also a marker that 'stops' the platform in the same place for a bit. Check out the code and see which marker does what. The positions would usually reveal the answer.
Example #3: Ordeal
In the level "Ordeal" you can push some markers up or down so that the platforms will move higher or lower than original positions. However, if you haven't changed the msToNext, they'll go slower! Take that in mind!
Example #4: Make your own!
What is better than to make your own moving platform? Create a platform as the above instructions and start messing around. You'll learn how it works very fast! You'll also learn how to use seqNum :)
Enjoy making platforms and thanks for reading this tutorial!
- Matan
08/12/2006 (7:26 am)
The Platform Creation WalkthroughCreated by Matan and Technostick
PART III
Try yourself at another piece of code, this time from Pinball Wizard (my favourite level where I did sub-10 seconds!). Try and answer the questions!
Exmaple #4:
};
new SimGroup(MustChange_g) {
new Path() {
new Marker() {
position = "3 29.8375 14.3299";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "0";
msToNext = "300";
smoothingType = "Accelerate";
};
new Marker() {
position = "3 30.3594 13.3331";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "1";
msToNext = "1000";
smoothingType = "Linear"; // Linear is basically it goes from Point A to Point B at constant velocity (no smoothing).
};
new Marker() {
position = "3 30.2437 13.555";
rotation = "1 0 0 0";
scale = "1 1 1";
seqNum = "2";
msToNext = "1000";
smoothingType = "Linear";
};
};
new Trigger(MustChange) {
position = "3 30.0696 13.8868";
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "TriggerGotoTarget"; // What is that doing here??? Enter the level and find out!
polyhedron = "-0.5312500 0.2259222 0.7165268 0.0000000 -0.9424503 -0.4906081 0.0000000 0.4906057 -0.9424456 1.0625000 0.0000000 0.0000000";
targetTime = "300";
};
new PathedInterior(MustChange) {
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "PathedDefault";
interiorResource = "marble/data/interiors/addon/pinball0.dif";
interiorIndex = "0";
basePosition = "0 0 0"; // Why is it still 0 0 0? Go find out!
baseRotation = "1 0 0 0";
baseScale = "1 1 1";
};
};Editing fun (back up levels first!):
These examples provide some good experience in moving platforms and how they are used in-game:
Example #1: The Great Divide
In the level "The Great Divide" you'll see there's a marker and a MustChange point at the very first elevator's base (at the bottom... move up to the platform and open up the level editor and you'll see the elevator stops at these 2 markers). Move the marker down by 2-3 units and save the mission. Now enter the mission and go to that point ASAP. You'll see the elevator moving all the way down to the marker and suddenly appearing/spawning in the MustChange point. If you put your marble on the elevator as it moves down to the marker (set it so you can fall to the elevator a bit), the marble will suddenly shoot up with great speed! The elevator has pushed in no time at all the marble and itself to the MustChange point (SPAWNING POINT) so that the marble, suddenly moving in extra-super-duper-unreal-fast motion, is pushed up straight to hit the elevator above and fall quickly down. Talk about speed!
Example #2: Platform Party
In the level "Platform Party" you can easily take the marker point of the first platform from the other side (where it usually takes the marble to) to the finish platform. There is also a marker that 'stops' the platform in the same place for a bit. Check out the code and see which marker does what. The positions would usually reveal the answer.
Example #3: Ordeal
In the level "Ordeal" you can push some markers up or down so that the platforms will move higher or lower than original positions. However, if you haven't changed the msToNext, they'll go slower! Take that in mind!
Example #4: Make your own!
What is better than to make your own moving platform? Create a platform as the above instructions and start messing around. You'll learn how it works very fast! You'll also learn how to use seqNum :)
Enjoy making platforms and thanks for reading this tutorial!
- Matan
#55
initialTargetPosition controls the "looping"... if you want your platform to go to a certain place and never come back, enter the time at which you want the platform to stop. Also, you can use this for triggerGoToTarget - the thing you unfortunately told us not to use! (set TargetTime to desired place to stop the platform.)
You didn't explain interiorIndex. This is IMPORTANT! e.g. try pathways.dif, interiorindex="0", and interiorindex="7" - it'll be a totally different interior!
Linear is basically it goes from Point A to Point B at constant velocity (no smoothing).
08/12/2006 (12:50 pm)
Well done! A few notes:initialTargetPosition controls the "looping"... if you want your platform to go to a certain place and never come back, enter the time at which you want the platform to stop. Also, you can use this for triggerGoToTarget - the thing you unfortunately told us not to use! (set TargetTime to desired place to stop the platform.)
You didn't explain interiorIndex. This is IMPORTANT! e.g. try pathways.dif, interiorindex="0", and interiorindex="7" - it'll be a totally different interior!
Linear is basically it goes from Point A to Point B at constant velocity (no smoothing).
Quote:None of us likes to use the .mis for coding,Really?!
#56
08/14/2006 (4:45 am)
Fixed. Also I credited you :)
#58
2) You just bumped old topics that are no longer in discussion.
08/14/2006 (2:20 pm)
1) I responded to Technostick once I fixed as promised (and deleted the post)2) You just bumped old topics that are no longer in discussion.
#59
08/14/2006 (3:40 pm)
Thanks so much! Now I can make levels with ease!
#60
08/14/2006 (6:07 pm)
Your still annoying me
Bobby
I never said MBG folder, I said the MBG Appllication. You know, the thing you double click on to play the game. Only don't double click it, just hold down COntrol and click it once.