Ricochet Infinity

Editor Documentation

Welcome to the Ricochet Infinity Level Editor!

Disclaimer: The Editor is NOT SUPPORTED. This means that Reflexive is not responsible for providing adequate documentation or answering questions that pertain to the Editor or its use. This also means that it may be possible for the player to create levels that don’t work correctly, seem broken, or don’t do what the creator envisioned them doing. Reflexive Entertainment is not responsible for assisting designers create their levels, or “fix” features that work fine in the shipped game but might not in some extreme condition found by a player using the Editor.

Contents:

* - NEW to Ricochet Infinity

Level Editor. 2

Quick Start – Making a basic level 2

Creating your own level set / Entering the Editor Mode. 2

Exiting the Editor Mode. 2

Choosing a Background. 3

Placing a brick on a level 3

Group Selecting Bricks. 3
Rotating and Scaling Bricks and Objects. 3 *

Painting Over Bricks without losing scripting. 3

Specialty Bricks. 3

Power Up Bricks. 3

Change Area Bricks. 4

Brick Factories. 4

Starfish and Magnetic Locks. 4 *

Speed Changers. 4

Brick Slayer. 4 *

Gun . 4 *

Instant Power Ups. 4 *

Teleporters. 4

Menus. 4

File. 4

Edit 5

Select 6

Align. 7

Decorations and Drawings. 7 *

Inserting a Decal. 7 *

Editing Decorations. 7 *

Naming Bricks. 7

Making Bricks Move. 8

Movement - Background information. 8

Absolute Point 8

Relative Point 8

Named Object 8

The Pick Function. 8

On Screen Visual aids. 8

Entering Coordinates. 8

Assigning a Plug-in. 8

Ease in and Out 8

Movement - Scripting commands. 8

Move to a Point 9

Move Between Points. 9

In an Orbit 10

Along a Path. 10

Blend Positions. 11

Making a Brick Wait 11

Wait for X seconds. 12

Wait for brick to be destroyed. 12

Wait for expression *

Simultaneous Actions. 12

Sequences. 12

Bricks changing Paths. 13

Making Bricks move from a single spot into a pre set pattern. 13

Other Scripting Commands. 14

Delete Self 14

Destroy Self 14

Destroy Self if off screen. 14

Scripting Command Reference Section *

Brick Plug-Ins *

Expressions *

Complex Movements. 14

General Tips and Level Testing. 14

Awesome Things You May Not Know, But You Should. 14

Glossary

#

# Level Editor

The Level Editor for Ricochet Infinity can be used to make your own levels.

The first time that you enter the editor, there will be a message that pops up that gives you very basic instructions on what to do first. You will also have to type in the word “unsupported”. This is to further drive the point home that this is an unsupported level editor. In addition, please re-read the EULA that you agreed to when purchasing the game and be sure you understand it fully.

To exit the Level Editor, pull down the file menu and select “Exit” or hit the <ESC> key on the keyboard.

NOTE: Some actions do not have an “Undo” function associated with it. Be careful when deleting things, as it is likely that it cannot be undone.

# Important Concept

The first thing you should try to understand is that the Ricochet Infinity editor treats everything as a ‘brick”. Actual bricks, postion markers, trapped balls, floating spheres etc. are all treated by the program as bricks. As such, all objects in your palette can all be placed on the level like bricks and made to move like bricks. Some of these items (such as the position markers) are programmed to be invisible during game play, but when you are working with them in designing the level, they are a brick like anything else. This concept will make more sense as you read more of this document, and work with the editor for a while.

# Quick Start – Making a basic level

A good way to start is to try to mimic a level from the game itself. While the levels that we made cannot be changed, you can look at how they were scripted. It may be a good idea to look at how we used the editor for help. To start with, look at a relatively simplistic level that does not feature a great deal of movement. Movement is not difficult, but it is a level of complexity that you should save until you have achieved a basic familiarity with the editor.

### Creating your own level set / Entering the Editor Mode

You can enter the editor mode at any time by pressing F6. If you do this, you will be editing whatever level set was previously chosen for your player. If you want to choose a different level set to edit, or to create your own set of levels to edit follow the steps below.

1) From the main menu, Click “Options”

2) Then click on "Edit Level". You can also click on the <F6> button at the top of your keyboard at any time for the same effect.

3) Click on the word “File” on the next screen that eventually comes up. This screen will probably look like a level in the game, because it is. The word "File" will be in the upper left of a large, brown Editor window on the screen.

4) A pull-down list will appear. Click on "Select/Create Level Set".

5) You will now see a list of round sets that Ricochet Infinity “knows” about. Click “New” at the bottom of this window

6) Now Enter a name you would like to assign to your round set. It can be anything you like.

7) After a slight pause, you should now be on a level with only two bricks and five Gold Rings. You are in Editor Mode when you arrive. Now you can start making a level!

### Exiting the Editor Mode

While you are making your level, it is helpful to check on your progress from time to time by playing what you’ve made so far. You can do that at any time by pressing F6. If you do this, you can immediately play test the changes you have made. Note, however, that this is a special test mode. As such, when you have cleared the last brick, you will be taken immediately back to the editor to continue working on this level. You will not advance to the next level in your round set, and any score you achieve will not be stored in your high scores. To advance to a new level to work on, while in the editor mode, press the arrow button next to the round number at the top of the editor palate.

To play your level ‘for real’ and to keep a score on it and advance to the next level, you’ll need to press the ‘Esc’ key which will take you back to the main menu. Now, if you start a new game you will be in normal mode until you press F6.

### Choosing a Background

The first thing you probably want to do is to choose the level background you would like to use. You can change this later, but often times working with the appropriate background helps set the mood of the level you are designing. To choose a background, locate the drop down box that says AlienVista next to it. If you want to change the current background, simply click on the drop-down arrow and select another one.

You will notice that the palate changes to match your then current background. However, any brick you may have previously laid will not change. In this fashion you can put a brick that was intended to be on the volcanic level on any level background you wish.

### Placing a brick on a level

Bricks are arranged into 10 different palates, a different one for each environment type. You will notice that some bricks (change brick, floating sphere etc.) appear on multiple palates. This is because they appear across all environment types.

Hovering your mouse over the brick on the palate will cause a tool tip to be displayed to tell you what kind of brick it is. Normal, Power up, Ball Deflector, Change brick etc.

To place a brick on your level, simply left click on any brick in the palate. Now, move the cursor into the play field, and right click anywhere you would like to place a brick of that type. Each time you right click in the play field you will generate a new instance of that brick.

If you right click and keep the button pressed down, you can lay a large number of identical bricks at once. If you move the mouse from left to right you will see a wide swath of bricks being laid. Be careful, however, as nothing prevents you from laying bricks on top of each other and this is often times not what you want to do.

By default, the snap feature is checked. This will make it much easier to lay down bricks as they will ‘snap’ next to each other. When you are getting started we do not recommend that you uncheck this box, which is in the Options Menu. If you find yourself not wanting a brick to ‘snap’ it is better to temporarily override it by holding down the shift key as you move your brick.

### Group Selecting Bricks

You will probably find it helpful to know how to select a group of bricks. To do this, place your mouse cursor in the play field next to a brick (not on one). Click and hold the left mouse button, and then move your mouse. You will notice a green box begin to draw between the spot you clicked and the current location of your cursor. Any brick in this box will be selected when you release the left mouse button. Now, click and hold any brick in the selected range. When you move your mouse, note that all selected bricks move. Group selected bricks can be moved, deleted, and have scripting pasted on to them.

### Rotating and Scaling Bricks and Objects

This sounds like it might be difficult to do, but it's pretty easy. The editor allows you to take a brick or object and enlarge it, shrink it, and deform it quickly by using "Drag Handles". These Drag Handles are normally displayed around selected bricks and objects, and appear as a white "box" with square 'points' and a green circle at the top of the box. Drag Handles are used by clicking, HOLDING and DRAGGING the LEFT mouse button, which will then rotate and scale the brick or object.
Dragging a corner Drag Handle always scales the brick or object proportionally.
Dragging a side or "midpoint" Drag Handle will stretch the brick or object taller or wider.
The green circle at the top will Rotate the brick or object.
Holding SHIFT while dragging a Drag Handle will rotate and scale the POSITIONS of the selected brick or object without changing the IMAGES of the bricks.
Tip # 1: If you find that these Drag Handles are in your way, you can turn them off in the Options Menu.by unchecking the "Add Rotate and Scale Handles to Selected Objects" checkbox. Also, the shortcut key "x" will also toggle these off and on.
Tip # 2: You can rotate and scale Path Polygons too (described later)...just make sure to exit path editing mode first.

### Painting Over Bricks without losing scripting

Sometimes you may want to change the way a brick looks but do not want to lose any scripting that was on that brick. Perhaps you want to keep a brick moving on its current path, but you want to change it from a 1 hit to 3 hit brick.

To do this, simply click a new brick style or type from the palate, and then right click on a brick that already exists in the level. This will change the brick’s appearance and/or function, but will NOT affect any scripting you have done to that brick.

## Specialty Bricks

### Power Up Bricks

You can introduce Power ups into your level by simply placing a power up brick on a level. If you do this, you will be laying down what is called a default power up brick. Each time this brick is hit, it will generate a power up on a pre-determined chance basis. If you want to specify exactly what power up this specific brick generates:

1) double click on the brick

2) At the bottom of the window that appears you will see a button that says <new forced powerup slot>. Click it.

3) Then click on the drop down menu in the slot that appears and choose the power up you would like to force that powerup brick to generate.

If you want to prevent that power up brick from generating a specific powerup, ie No Laser Blasters:

1) Double click on the brick

2) Click the folder that says “Power Ups”

3) Click <New Disallowed Slot>

4) Now click the drop down arrow and choose the specific power up you want to block.

To have global control of powerups on the whole level, ie to control what may and may not be generated by all powerup bricks on the level as a whole it is not necessary to do the above steps for each and every power up brick you lay down. Instead, click Edit/Edit Level Properties/ Powerups. But before you do that , you may want to learn more about that here.

### Change Area Bricks

Change Area bricks are a good way to make your level dynamic. When hit, they change bricks in a given radius around them to whatever brick you specify. There are two sizes, large and small. To make them work, try placing one on a level in the center of several normal bricks. When you place it, you will immediately see a green circle. This represents the area that will be changed when the change brick is hit. To specify what the neighboring bricks will be changed to, double click on the change brick. At the bottom of the window that appears, note the “Change to brick style” field. Click the drop down arrow and choose a brick. In this fashion you can change most any brick into any other brick. Change Area Bricks have no effect on Teleporter bricks, Ball deflectors, Position Markers, or Starfish,

### Brick Factories

The Brick Factory brick found in the Mayan level set will generate a new brick each time it is hit. To get it to work, you need to first place one on the level and then specify what brick you would like it to generate. To specify the brick to generate:

1) Double click on the brick once you have placed it.

2) Click the drop down menu next to Generate Brick Style to choose the brick you want the factory to generate.

3) At the bottom of the window, enter a number of bricks you want the factory to generate. By default it will generate 20.

### Starfish and Magnetic Locks

The Starfish in the Undersea City environment and the Magnetic Locks in the Space environment are good ways to create puzzles. Used in combination with obstacle bricks or brick deflectors, both of these brick types can serve as ‘doors’ that need to be ‘unlocked’ prior to accessing a part of a level. To use them, you must place both the brick that functions as the "Key" and the brick that functions as the "Lock" on the level. A starfish brick without a starfish is like a locked door without a key. Placing the Starfish brick and the Magnetic Lock bricks are done the same as any other brick. Adding a Starfish or a Magnetic Key to a brick is a bit different. To do it:

1) Double click on the brick you want to have a Starfish or Magnetic Key on it.

2) Click the <new simultaneous plug-in slot> button.

3) From the drop down menu type ‘star’. (or Choose Underwater/Starfish)

4) Now click on the button that appears in the plug in slot called "Star Fish Automatic"

5) Use the pull-down arrow next to "Animation Image" to select which one you want on your brick. Starfish1, Starfish2 and Starfish3 are for Underwater. Starfish4Space is for Space.

6) Adjusting the other options on this screen may cause your brick to behave differently than you want it to. IF you think that you have changed something, and you aren't sure of what you did, then feel free to delete this simultaneous plug in completley and start over from number 2 above.

On a side note, Starfish can't open the Magnetic Locks in Space and Magnetic Keys can't break the Starfish Bricks underwater, so be careful about mixing them up...OK, so it's not very hard to keep them seperated, but you get the idea...it just won't work.

### Speed Changers

These are quite easy to use. Simply click and place. Any time a ball crosses over them, it will speed up or slow down accordingly.

### Brick Slayer

Brick Slayers are cool and deadly with their spikes and everything. Simply click and place to have one in the level, ready to go. If you would like to add scripting to one, or if you don't want it to start off ready to destroy stuff, double click on the Brick Slayer and uncheck the "Destruction Enabled" box at the bottom of the screen. You will notice that the spikes disappear when you do this. All a player has to do now is hit it with their ball to activate it during a game. All scripting that was on an inactive Brick Slayer is removed as soon as it becomes active.

### Gun

These are tricky to use, as they don't do anything automatically. They have to be scripted to work. For basic functionality, place one on your level and double click on it. Then, click on <new simulataneous plug in slot> and then select "Fire Projectile" found in the "Miscellaneous" folder. This will have default values that will fire your gun for you. Hit F6 and see what happens. It's interesting, but definitly boring just sitting there shooting all the time. You may want to look at other levels that have used the gun effectively to garner some ideas...or just plain experiment with it yourself. What's the worst that can happen? ;)

### Instant Power Ups

During the game, balls instantly get whatever power up is pictured on these cool objects when the ball touches it. To change what power up is given, simply place and then double click on the object. Go down to the "Power Up" field at the bottom and select what power up you wish it to have. Notice that not all power ups are available to be placed on an Instant Power Up.

### Teleporters

Teleporters cause the ball to instantly transport from one spot to another. You must place both an entry and exit of the same color for this to work. If you place an entrance, but no exit, the ball will simply pass over the teleporter entrance. Again, they must be of the same color. They are simple to operate. Simply place them on the level. The entrances look like electric fields and the exits look like iris doors.

# Menus

Below is a description of 5 of the menus available in the editor and what ability the items on each menu allow you to do.

### File

#### Select/Create Round Set - This will take you to a list of all round sets that Ricochet Infinity currently knows about. You can choose a different set of levels to edit, or add a new set of levels to edit from this list.

#### Share Level Set - This starts the process of submitting your level for others to download. Another screen will pop up that allows you to edit the level name, author display name, level set description and what image that others will see. If there are any errors found with your level set, this is also where the game will display them. All levels have to have been completed successfully, and all rings have to have been obtained on each level before a level set can be submitted. If it is ready to go, click on "Submit" in the lower corner to submit your level set for others to download and play!

Test/Play Round (F6) - While you are making your level, it is helpful to check on your progress from time to time by playing what you’ve made so far. You can do that at any time by pressing F6. If you do this, you can immediately play test the changes you have made. Note, however, that this is a special test mode. As such, when you have cleared the last brick, you will be taken immediately back to the editor to continue working on this level. You will not advance to the next level in your round set, and any score you achieve will not be stored in your high scores. To advance to a new level to work on, while in the editor mode, press the arrow button next to the round number at the top of the editor palate. If you want to get to a level much faster, use the Edit Round Set feature available on the Edit Menu.

#### Test/Play Round with markers – This will allow you to see hidden Position markers while the round is in play. Position markers by default will not display during game play. At times it is helpful to see them and how visible bricks relate to them.

Exit – Exits the Editor mode and returns you to Ricochet’s main menu.

### Edit

Undo - Ctrl-Z. Allows you to "undo" the last action that you have taken, including deleting objects, placing scripting or whatever else your fingers decided to do without checking with your brain first. HOWEVER, this isn't foolproof. It is very possible to have done something that can't be undone. Breath a sigh of relief if this saves your afternoon, but try and take it in good stride if Undo can't do the miracle you were hoping it would do.

Cut - Ctrl-X. Allows you to cut a brick or group of bricks for the purpose of pasting that brick or group of bricks elsewhere on this or another level. To use click on a brick in the play field, or group select

Copy – Ctrl – C. Allows you to make a copy of a brick or group of bricks for the purpose of pasting that brick or group of bricks elsewhere on this or another level. The copy command retains any scripting you may have done to any bricks.

Paste – Ctrl-V. Allows you to paste the current cut or copied brick or group of bricks in a different location on the same or different level.

Delete – (Delete Key) will delete a selected brick or group of bricks. Be careful, the only way to undo a deletion is to use the revert to last saved command.

View Clipboard – Shows you exactly what is on your clipboard, available for "pasting". It sounds like an odd feature, but when combined with the next feature, it makes a lot of sense.

Open Scrapbook – This opens your Scrapbook, an awesome feature that allows you to select a bunch of objects, copy them, and then add them to your "Scrapbook" so you can save it for later to paste it elsewhere numerous times. Simply select the objects you want to copy, copy them, then click on "Open Scrapbook". Click on the "Add" button in the upper left hand corner to add it to your list. Then, when you want to use it again later, simply select it from the list, and select "Copy". This will put this collection of objects onto your clipboard so you can paste it anywhere you want. Great for when you have numerous collections of things that you want to paste elsewhere, or you have something that you know that you will want to paste on numerous levels in the future.

Paste Replacement Plug-in - Will paste any plug in (scripting) you have copied from a brick onto a different brick or group of bricks. This is a quick way to get multiple bricks to do the same behavior. For example if you want 7 bricks to follow the same path you could script it on each brick individually, or, script it once copy that scripting, select the other 6 bricks and then choose this command.

Remove all Plug-ins – Will remove any scripting you have done to a selected brick or group of bricks.

Disable spawning by brick layer – In some levels, bricks do not appear until later on in the level. In this case you do not want the brick layer at the beginning of the level to put these bricks down as it ruins the surprise. Selecting a brick and then choosing this command will cause the brick layer to not place that brick at the beginning of the level.

#### Enable spawning by brick layer – Will remove the effect of ‘Disable spawning by brick layer’. By default, all bricks are in this state, so this command is only necessary to be used on bricks that you have previously told not to be laid by the brick layer.

Edit Round Set – A window will appear that allows you to change the order of rounds in your round set. To change the order number of the level, click on the name of the level, and then choose either move up or move down. Note that you can select any level and then press Edit to edit that level.

Edit Power up Weight – Some levels you may want to emphasize or de-emphasize a particular power up or set of power ups. Clicking this command will bring up a menu that allows you to assign a relative weight to each power up available. Your level will then add up this weighting to arrive at a total number of chances, and divide by the weighting you assigned to calculate the percentage chance that a particular power up will be generated when a power up brick is hit. For example if you put a zero next to every power up except for Acid ball which you assign a 3 and Bomb which you assign 1, there is a 3 in 4 chance that each time you hit a power up an Acid Ball will be generated and a 1 in 4 chance that a bomb will be generated. If you want there to be an equal chance that any power up in the game will be generated on your level, assign the identical number to each power up. If you want to increase the likelihood of a certain power up appearing, assign a larger number to that power up

Edit Level Properties – Choosing this command brings up a sub menu with 3 tabs on it as described below.

General

1) Display Name. Here is where you can name your level. The name you type in here will appear each time your level begins.

2) Author. Enter your name and the world will know who made your great level (if you choose to share it with the world of course).

3) Notes. If you have a note you want to remember (for example about how you did a certain script or where you hid a ring) place it here for future reference.

4) Background type. An additional place to change the level background. This will change if you use the method described above.

##### Power Ups – This is a more sophisticated and more powerful way of controlling power ups than the Edit Power up Weight Menu.

1) Automatic Power ups. Want to give the player a gun right away? How about a safety bumper? This command allows you to make any power up active at the beginning of a level. Clicking the <new automatic slot> button will open a drop down box for you. In this drop down box, select a power up you want. If you want more than one, click the <new automatic slot> button again and choose another.

2) Disallow automatic Power Ups. If this check box is checked (as it is by default) any power up you designate as an Automatic Power up for that level will not be generated when a power up brick is hit on the level. If you don’t want this to be prevented, uncheck the checkbox.

3) Disallow all Level Breakers. Level breakers are power ups that have the ability to destroy obstacle bricks. If you have a puzzle set up that depends on a player finding a way around an obstacle brick your puzzle an be said to be ‘broken’ by a power up that allows the player to just go right through your obstacle. If you check this checkbox, such power ups will not be generated on that level.

4) Disallow Powerups - This allows you to disallow on a global basis any specific power up from being generated on that level. Clicking the <new automatic slot> button will open a drop down box for you. In this drop down box, select a power up you want to disallow. If you want to disallow more than one, click the <new automatic slot> button again and choose another.

5) Getting Conditional Extra Life – Entering a number here will cause your level to check how many spheres you have in reserve. If it is below the number you enter, the chance of a power up brick generating a Extra Sphere power up is increased. We used this in the early levels of RLW to try and make sure a less skilled player would not die too fast.

Old – This is the same as Edit Power up Weight

Asset Dependency Browser- Ignore this, it will not help you

List Browser – Ignore this, it will not help you

Image Browser – Ignore this, it will not help you

FOO editor– Ignore this, it will not help you

### Select

Many times you will want to be sure you have selected all bricks of a particular name, design, type, or that have a particular plug in. This can be difficult as sometimes there are numerous bricks and there is no way to be sure you found them all. The editor provides 6 ways to select groups of bricks:

#### All with same name – If you have named a brick, or more specifically named a number of bricks the same thing, you can choose all of them in this way: To use, select one of the bricks in question (click on it) and then click Select, then click Select All with Same Name. All bricks that have the same name as the brick you copied will be selected.

All with same brick style – This is how you can select all bricks with a certain style or design. To use, select one of the bricks in question (click on it) and then click Select, then click Select All with Same brick style. All bricks that have the same design as the brick you copied will be selected.

All with same brick Type – This is how, for example you can make sure you select all power up bricks on the level, or all 3 hit bricks etc. To use, select one of the bricks in question (click on it) and then click Select, then click Select All with Same brick type. All bricks that have the same type as the brick you copied will be selected.

All with same Plug-ins – Let’s say you make 7 bricks orbit something (ie apply the same script to all 7 bricks) but then decide later you want them all deleted, you can quickly do this by clicking one of the bricks in question. Then click Select, then click Select al with same Plug-ins. All 7 bricks will be selected. You can then press delete and they will all be deleted.

All with same Tint – This command is when you are working with tinted bricks, typically found in the Canvas Environment. First, select a brick. Then, select this command and all bricks that have this same tinting will be selected.

All with References to this. If you want to find any and all bricks that may be referring to a particular brick (ie they have some scripting that refers to that brick), click the brick in question and then click Select, then click All with references to this. All bricks, if any, that have a script that refers to that brick will be selected.

### Align

Often times you want to align bricks exactly. These commands will help you do that.

Align Left – Select two or more bricks and then click Align, and then Left Align. The bricks will retain their horizontal position, and line up on the same vertical axis as the brick in your selection that is farthest to the left.

Align Right - Select two or more bricks and then click Align, and then Right Align. The bricks will retain their horizontal position, and line up on the same vertical axis as the brick in your selection that is farthest to the right.

Align Center - Select two or more bricks and then click Align, and then Align Center. The bricks will retain their horizontal position, and line up on the selected area's center vertical axis.

Align Top - Select two or more bricks and then click Align, and then Align Top. The bricks will retain their vertical position, and line up on the same horizontal axis as the brick in your selection that is closest to the top of the screen.

Align Bottom - Select two or more bricks and then click Align, and then Align Bottom. The bricks will retain their vertical position, and line up on the same horizontal axis as the brick in your selection that is closest to the bottom of the screen.

Align Center - Select two or more bricks and then click Align, and then this Align Center. The bricks will retain their vertical position, and line up on the selected area's center horizontal axis.

Space Evenly – Select three or more bricks and then click Align, Space Evenly. The editor will attempt to place all bricks evenly spaced using the two outermost bricks as reference points.

Bring Forward – If several bricks are on top of one another, this will bring the brick one closer to the front.

Bring to Front – If several bricks are on top of one another, this will bring the selected brick to the front most position.

Send Backwards - If several bricks are on top of one another, this will bring the brick one closer to the back.

Send to Back - If several bricks are on top of one another, this will bring the selected brick to the back.

Automatic Z Sort – This is EXTREMELY useful when you want to give the illusion of 3D with overlapping bricks seemingly “in front of” and “behind” others. This will automatically cause bricks that were placed first (in a selected group) to be sorted “behind” those that were placed most recently in a selected group.

Flip Horizontally (Mirror) - This takes the selected group of bricks and changes their positions so that they look exactly like the original image, but seen in a mirror. This is very useful for creating a "balanced" looking level. For example, all you have to do is create the left side of a level layout. Then, copy/paste the group to the right side of the board and then, when you have the copy/pasted bricks selected, click on Flip Horizontal. Then move the "flipped" bricks to match up with the original layout.

Flip Vertical - This works exactly like the Flip Horizontal (above), except that the bricks are flipped on a vertical axis. Give it a try and feel the difference.

### Decorations

Sometimes you may want to spice up your levels with interesting clip art images, artwork and related objects. These commands will help you do that. There are 2 Layers on each level on which to put your creations...the "Canvas Art Layer" and the "Background Layer". On what Layer you place your Decoration makes a difference as to where it shows up when you play the level the Decoration is on.
Placing your Decoration on the Canvas Art Layer will make the game try and "burn" your Decoration onto the bricks that have been placed on the level. This can provide a very cool image that can then be slowly "broken" as the player breaks the bricks to complete the level. It is very important to note that if there are no bricks under your Decoration, then your Decoration will NOT show up on the level.
Placing your Decoration on the Background Layer will meld it onto the background of the level, putting your Decoration behind the bricks and other objects on the level. This works best in the Canvas Environment, where the background has been specifically made for doing this, but feel free to try it out on other environments.
NOTE: Make sure that you have the Layer viewable and editable that you want to add your Decoration to. Click on the two "check boxes" next to either of the phrases "Canvas Art Layer" or "Background Layer" on the editor window so that both the eyeball (viewable) and the paintbrush (editable) are showing.

Drawing Shapes
This feature allows designers to personalize their levels by drawing shapes of different sizes, colors and even textures. Let's go through the basics of getting started.

> CREATING A BASIC OBJECT
> 1) From the Editor screen, click on "Decorations".
> 2) On the Menu that expands, click on "New Shape".
> 3) An object should appear on the level. It might have been created behind the bricks on the level. It will show up as a pulsing shape behind the bricks if this has happened. Click on it to select it and then drag it to the side of the existing bricks on the board.
> 4) Now, turn on "Shape Editing" by checking the "Shape Editing" checkbox on the Editor Box. Then select the shape that was just created. The outline of the object should now look green with light yellow lines protruding from the object in places. (Try selecting the little white dots in the middle of these yellow lines and then moving these dots around with your mouse. You will see that the curved green line underneath it will move in response.)
> Shortcut Key: Pressing "P" will toggle the "Shape Editing" on and off.
> 5) RIGHT click on any of the little white dots around the edge of the object. A menu should appear with lots of options. Move down to "Select All Points" and click on it.
> Shortcut Key: Pressing "A" will "Select All Points".
> 6) The menu should go away, and now all of the little white dots have little white boxes around them to indicate that they are all selected. Now, press the DELETE key on your keyboard. The object should vanish, AND your mouse cursor should change to that of a small arrow with a yellow "X" next to it.
> 7) Left click anywhere on the screen. A small white point should be placed, and a white line will connect the point to your cursor. Move your mouse cursor away from the point, and left click again. Another point will be placed, and another line now connects the last point to your mouse. In addition, the previous white line has turned green. Move your mouse cursor away again and left click again. Another point should be placed.
> 8) When you have placed AT LEAST 3 points on the board, RIGHT CLICK to connect the last point with the first point. The entire object should be comprised of green lines.
> 9) You can now left click on any of the points of the object and move them around to change the object's shape.

> MAKING CURVES
> Once you have your basic object created, now you can add curves to the object.
> 1) First, make sure you have the object selected and the "Shape Editing" checkbox is checked.
> 2) Next, hover over one of the green lines of the object, away from one of the points. Your Shell Cursor should change to a yellow cursor with a yellow "plus" sign next to it.
> 3) While your cursor is changed, RIGHT click on the line. A menu should appear with options on it. Click on "Increase Curve Order"
> Shortcut Key: Pressing the ">" key will "Increase Curve Order"
> 4) A white box will appear on the line where you clicked. Hovering your mouse over the box will change the cursor to a Four-Way Directional Arrow. Left click on the point you just created and move it around. You will notice that the curved line will move as you move this point.
> 5) Do this on the other lines of the object (if you want).
> 6) Uncheck the "Shape Editing" checkbox to see what it will look like in the game.

> MAKING THE CURVE "CURVIER"
> Once you have your basic curve, you may want to play with making crazy curves.
> 1) First, make sure you have the object selected and the "Shape Editing" checkbox is checked.
> 2) On one of the curves that you already created, go back and hover over the green curved line again until the cursor with the yellow plus sign appears.
> 3) Select "Increase Curve Order" again. (Either in the RIGHT click menu or with the ">" key)
> 4) The yellow line should "split" so that there is now a yellow line projecting from each of the points on both sides of the curve. Grab each of these points and move them around. Crazy, huh?

> CHANGING THE OBJECT'S COLOR
> 1) Select the object that you want to change the color of. (Having the "Shape Editing" checkbox unchecked will prevent inadvertently moving a point or making a change by accident)
> 2) Double click on the object to bring up a property window.
> 3) Select the "Fill" tab in the property window. Move the entire property window so that you can see the selected object behind it.
> 4) To the FAR RIGHT of a list of 4 values, each followed by a number (R,G,B,A), there is a colored square. Click on the colored square.
> 5) Another window will appear that is filled with colors. Click anywhere on the colors to change the color of the object to match, then close the window.
> 6) The "A" value (or Alpha) has a number to the right of it. Think of this as the transparency. The lower the number, the more transparent the object is.
> 7) Experiment with mixing the Alpha to get the color of the object that you want!

> CHANGING THE LINE AROUND THE OBJECT
> 1) Select the object that you want to change the line of. (Having the "Shape Editing" checkbox unchecked will prevent inadvertently moving a point or making a change by accident)
> 2) Double click on the object to bring up a property window.
> 3) Select the "Outline" tab in the property window. Move the entire property window so that you can see the selected object behind it.
> 4) To the FAR RIGHT of a list of 4 values, each followed by a number (R,G,B,A), there is a colored square. Click on the colored square.
> 5) Another window will appear that is filled with colors. Click anywhere on the colors to change the color of the line to match, then close the window.
> 6) The "A" value (or Alpha) has a number to the right of it. Think of this as the transparency. The lower the number, the more transparent the object is.
> 7) In addition, you can change the width of the line using the "Outline Width" field. You may want to keep the width of the object under 3, as larger than that and the line connections may not look correct.
> CRAZY BONUS: Ready for a powerful tool? Now, click on the pull-down menu arrow next to the "Outline Texture" field that defaults to "!None". Select "Decorations/Crab" and your object will be surrounded by Crabs! The color and transparency of the pearls are now affected by the values that you were just working with. Go crazy and see what you can create!

> CHANGING THE OBJECT'S TEXTURE
> 1) Select the object that you want to change the texture of. (Having the "Shape Editing" checkbox unchecked will prevent inadvertently moving a point or making a change by accident)
> 2) Double click on the object to bring up a property window.
> 3) Select the "Fill" tab in the property window. Move the entire property window so that you can see the selected object behind it.
> 4) In EACH of the four R, G, B and A fields, change the numbers to 255 for all four values. You can come back and play with these numbers later, but it will be important to be able to see what texture the shape is being filled with first.
> 5) There is a field called "Fill Texture". By default, this is set to "!None". Press the Pull Down Arrow next to this field. (It looks like a small triangle with the point turned downward)
> 6) A window will pop up that a texture can be selected from. Any image in the directory can be selected.
> 7) Now that a texture is selected, play with Changing The Object's Color to see what crazy things the object can look like.

Inserting A Decal
Decals are art objects that can be inserted into the level.

> CREATING A DECAL
> 1) From the Editor screen, click on "Decorations".
> 2) On the Menu that expands, click on "New Decal".
> Shortcut Key: Pressing "E" will create a new decal.
> 3) An object should appear on the level. It is possible that it was created behind the bricks on the level. It will show up as a simple white outline behind the bricks if this has happened. Click on it to select it and then move it to the side of the existing bricks on the board.

> MODIFYING THE DECAL IMAGE
> 1) Double left click on the Decal to open its property window.
> 2) There is a field called "Image". Press the Pull Down Arrow next to this field. (It looks like a small triangle with the point turned downward). Select any object in the list to see what it looks like.
> Mirror Checkbox: This makes the image look slightly different, depending upon what image is being used. Try it.
> Scale X and Scale Y: Scale X will increase or decrease the scale of the image the left and right. Scale Y will increase or decrease the scale of the image up and down. The image will definitely look its best when both of these numbers are the same.
> Rotation: Rotates the image to a different angle.

> MODIFYING THE DECAL COLORS
> 1) To the FAR RIGHT of a list of 4 values, each followed by a number (R,G,B,A), there is a colored square. Click on the colored square.
> 2) Another window will appear that is filled with colors. Click anywhere on the colors to change the color of the object to match, then close the window.
> 3) The "A" value (or Alpha) has a number to the right of it. Think of this as the transparency. The lower the number, the more transparent the object is.

Editing Decorations
Both Shapes and Decals belong to the group called "Decorations". Shapes and Decals can both be easily manipulated to fit into your design.

> SELECTION OF MULTIPLE DECORATIONS
> 1) Click on a place that does not have a decoration.
> 2) HOLDING the mouse button down, drag the mouse over the decorations you want to select. You will see the selected Shapes will start to glow, and the selected Decals will have a white box around them.
> Shortcut Key: HOLDING the "CTRL" key and clicking on decorations will add the decoration to the selected decorations
> 3) You can now drag the selected decorations around together.

> ROTATING A DECORATION or GROUP OF DECORATIONS
> 1) Select a decoration or group of decorations that you wish to rotate.
> 2) Provided you are using a mouse with a center scroll wheel, scroll the wheel forward to rotate the decoration Clockwise, or backwards to rotate Counter-Clockwise.

> CHANGING SIZE OF A DECORATION or GROUP OF DECORATIONS
> 1) Select a decoration or group of decorations that you wish to change the size of.
> 2) Provided you are using a mouse with a center scroll wheel, hold "Ctrl" and scroll the wheel forward to enlarge, or backwards to shrink.
> 3) You can also left click and HOLD any of the corners of the white box surrounding the decoration or group of decorations. Drag the corner to enlarge or shrink what you have selected. Drag selecting can be less precise in some ways, because it is easier to change the shape of the object(s) horizontally or vertically.

> GROUPING SELECTED DECORATIONS
> 1) Select multiple decorations that you wish to group together.
> 2) On the Menu that expands, click on "Group Selected Decorations".
> Shortcut Key: Pressing "G" will group selected decorations.
> 3) Decoration groups will be selected if you click on any one of the decorations that you have grouped together.
> 4) Moving a decoration group will move all the decorations together.
> 5) To Ungroup a group of decorations, on the Menu that expands, click on "Ungroup Selected Group". They will now be ungrouped and selected.
> Shortcut Key: Pressing "U" will ungroup selected groups.

> COPY/PASTE A DECORATION or GROUP OF DECORATIONS
> 1) Select a Decoration or Group of Decorations that you want to duplicate.
> 2) Pressing "Ctrl" + "C" will copy the Decoration or Group of Decorations.
> 3) Move your cursor to wherever you would like to copy the objects to, whether that is another spot on the same level, or another level entirely.
> 4) Pressing "Ctrl" + "V" will paste the copied Decoration or Group of Decorations.
> TIP! Decorations can only be copy/pasted to the same layer that they were created on. For help moving Decorations between Layers, see Moving Decorations Between Layers below.

> CHANGING THE DECORATION'S ORDER
> 1) To change the order that decorations overlap each other, Make sure the "Shape Editing" checkbox is unchecked.
> 2) Select the decoration that you wish to edit.
> 3) On your Keyboard, click on one of the following buttons:
> Press the "Page Up" key to move the decoration one step closer to the top.
> Press the "Home" key to move the decoration to the top of all other decorations.
> Press the "End" key to move the decoration behind all other decorations.
> Press the "Page Down" key to move the decoration one step closer to the back.

> MOVING DECORATIONS BETWEEN LAYERS
> There are 2 Layers that Decorations can be placed on...the "Canvas Art Layer" and the "Background Layer". On what Layer you place your Decoration makes a difference as to where it shows up when you play the level the Decoration is on. For definitions of these Layers, please see the beginning of the Decorations topic.
> 1) Select the Decoration or Group of Decorations that you would like to move to another Layer.
> 2) Go to the "Decorations" menu and select either "Move To Background Layer " or "Move To Canvas Projection Layer", depending upon which layer you would like to move your Decoration to.
> Cool Trick: You can bust bricks with images on them to reveal a slightly altered image on the level background. To do this, select your decorations and then copy/paste them in exactly the same place as they are (so that two copies are on top of each other). Now, with the copied version still selected, follow the steps above to put it onto the OTHER Layer. Then, make slight modifications to either the Brick Layer Decoration OR the Background Layer Decoration so that you can break bricks and reveal the image below.

> PLACING DECORATIONS OFFSCREEN (and why you would want to)
> On the surface, this doesn't sound like a good idea because you can't see them...unless you are planning on placing bricks offscreen as well that get these decorations/images "burned" onto them AND THEN moving the bricks onscreen with this cool image on them...and then it most definitely IS a good idea!
> 1) In the Editor, on your level with some decorations on it, pull down the "Edit' menu.
> 2) Select "Edit Level Properties" (shortcut "m")
> 3) Click the "Decoration set" button near the bottom.
> 4) On the window that pops up, click on the "General" tab. There should be an "x" number and a "y" number next to a field called "Size". By default, these numbers are set to x=800 and y=600, which is the size of the screen, including a little bit of area underneath the scoreboard. At these settings, images off the screen (except for right underneath the scoreboard) will NOT show up.
> 5) Increasing these numbers will increase the size of the area that decorations can be drawn on. For example, increasing the "x" number by 200 to 1000 will increase the area off the right hand side of the screen that images can be drawn on it by 200 pixels...increasing the "y" number by 200 will increase the area off the bottom of the screen that images can be drawn on by 200 pixels.
> 6) Select the Decorations that you want to place off screen. Make sure that they are on the "Canvas Art Layer" to project onto the bricks.
> 7) Use your MIDDLE mouse button to DRAG off-screen to the side where you want to place your Decorations. Move your Decorations where you want them.
> 8) Place bricks under your Decorations so that they will get the image "burned" onto them. Then, give these bricks some kind of movement scripting so that they move onto the screen somehow so players can break them!
> Want Help?: There is a level in the "Examples" level set found in the "Galactic Adventures" section that has an example of this. It is called "Off Screen Canvas Example", Level 139.

# Naming Bricks

Many scripts require that a brick be named. There are two ways to assign a name to a brick.

1) Double click on any brick you have placed in the play field. Be sure you are on the General Tab on the window that appears. In the field that says Name, enter any name you wish. You may find it helpful to assign a descriptive name like “Top Orbitor” or “Bottom Mover”.

2) The other way is to name a brick is to allow the editor to do it for you. This is helpful because you are not required to name any brick that may be in a script prior to beginning your script. If in the middle of scripting, you refer to a brick that does not have a name (by using the pick function and picking a brick), the editor will assign a name to that brick for you. While this is helpful in that it will not slow you down while you are scripting, the name it assigns is often hard to remember and not helpful.

# Making Bricks Move

## Movement - Background information

The movement of bricks is one of the chief ways to make levels interesting in Ricochet Infinity. The types of motion available are below. Before you start scripting, remember what the editor thinks of as a ‘brick’ and be sure to understand the following concepts:

### Absolute Point

- An Absolute Point is any point designated by a set of coordinates on the playfield where the upper left of the field being (0,0). Remember that since bricks can move off of the screen, coordinates you can move a brick to encompass more area than the playfield that the ball bounces in.

### Relative Point

#### – A Relative point is a point relative to where the brick is at that point in time. A relative point of (0,0) is the brick’s current location. A relative point of (100, 65) is 100 pixels along the positive X axis (ie to the right) , and 65 pixels down the Y Axis. A relative point of (-100, -65) would be 100 pixels along the negative X axis (ie to the left) and 65 pixels up the Y axis.

### Named Object

A Named object is a brick or Position Marker that has been named by you or by the editor.

### The Pick Function

###### When you tell your script that you want to work with a Named Object, you will notice that you have the choice of typing in the name of an object, or picking one. If you click the Pick button on the right hand side of the name field, you will be allowed to use your mouse cursor to ‘pick’ any brick or object that has been previously placed on the play field.

### On Screen Visual aids

There are graphical representations to help you visualize where the points you are entering are. As you change coordinates these visual cues will change as well. They can help you understand where the points are you are entering.

### Entering Coordinates

You can simply type a coordinate in the X and Y fields if you wish. If you want to make minor adjustments to a number in the field, you can use the up and down arrows to change the coordinate. If you want to make larger adjustments, you can right clicking and hold in the input field, and then push your mouse up or down. Notice that the number quickly goes up.

### Assigning a Plug-in

To assign a movement ‘plug-in’ script to any brick, double click on the brick. In the General Tab of the window that appears you will see a button that says < new simultaneous plug in slot >. Click it.

### Ease in and Out

This has to do with how the brick accelerates and slows down as it moves. For a detailed description of this concept, read the in game tool tip that appears when you move your mouse cursor over the words “Ease inOut”.

## Movement - Scripting commands

We suggest you try learning the available scripting commands in this order (not the order they appear in the list in the editor).

### Move to a Point

You can make a brick move from its then current location to a different point using this command. Here’s how:

1) Double Click on a brick that you want to move to a point.

2) Click <new simultaneous plug in slot>, Then double click on the “Move” folder, then select “Move to a Point”

3) A ‘Move to point’ button is placed in the plug in slot. Click it.

4) Choose whether you want to move to an Absolute Point, Relative Point or Named Object and provide the information required.

5) You can specify a time in seconds of how long you want your brick to take to move to this point by entering a number into the “Time to complete” field.

6) Note the black line that is now drawn which shows where the brick is going to move to.

### Move Between Points

You can make a brick move back and forth between two points using this command. Let’s try the relative position first.

1) Double Click on a brick that you want to Move between two relative points.

2) Click <new simultaneous plug in slot>, then double click on the “Move” folder, then select “Move between Points”

3) A Move between points button is placed in the plug in slot. Click it.

4) The screen that appears offers you the ability to move between point 1 and point 2. Note that point 1 is currently (0,0). Note that this is not (0,0) on the screen, but refers to the fact that (0,0) is the current location of the brick itself. Point 2 defaults to (100,0). This means that if you left this script unchanged, the brick would move between the bricks current location (0,0) 100 pixels to the right along the X axis until it reached point 2.

5) You can set a time to complete 1 leg (ie a full journey from point 1 to point 2) by entering a number of seconds in the “Time to complete 1 leg” field.

6) Move between points differs from Move to point as it offers you the ability to move to point 2 and then back to point 1. You can control how many times the brick makes this trip by telling the brick when to stop. You can specify when to stop by choosing one of the following:

a. At end – the brick will stop at point 2 (after one trip).

b. Never – the brick will keep moving between point 1 and point 2 until it is broken by the player

c. After Leg - A trip from point 1 to point 2 is 1 ‘leg’. A trip from point 2 to point 1 is another leg. You can specify how many times you want the brick to do this by entering a number here. 3 legs would move the brick from point 1 to point 2 (1 leg) then back to point 1 (2nd Leg) then back to point 2 (3rd Leg).

You can also make a brick move between 2 named objects. To do this:

1) Double Click on a brick that you want to move between 2 named objects.

2) Click new simultaneous plug in slot>, then double click on the “Move” folder, then select “Move between Points”

3) A Move between points button is placed in the plug in slot. Click it.

4) Now, in the drop down box that by default says “Relative Point” click the drop down arrow and choose Named Object. If you have previously assigned a brick (or position marker) a name, you can type that name in the “Point 1 Name” field. If not, press the ‘Pick’ button to the right of the name field. Now move your mouse cursor over the object you want to identify as point 1, and the editor will name that brick for you.

5) If you want the brick to move between a second named object, repeat step 3 for the “Point 2 Name” field.

6) Start Type – This has to do with where your brick will start moving. You have a choice between

a. Point 1- No matter where the brick is on the screen, it will immediately jump to point 1 and start moving from there. To illustrate this, move your brick very far away from the object you designated as point 1. Note that when you play the level, the brick starts moving from Point 1 and not where you placed it.

b. From relative position on line – If you choose this, your brick will start moving the distance between the two points, but from its current position relative to the line formed between those two points. For example, try setting up the two points at either side of the the bottom of the screen, but move the brick that is moving between these two points to the top of the screen. You will note that the brick will travel the distance between the two points, but from its position at the top of the screen. If this makes no sense, the best way to understand it is to just do it.

c. In synch with other bricks along the same line – to understand this one, set up a brick to move between two points and select “In Synch with other bricks along the same line”. Then Paste the same scripting onto 3 other bricks. Now move the 4 bricks in different parts of the screen and watch how they behave.

### In an Orbit

You can make a brick orbit around an object or point. To do this:

1) Double Click on a brick that you want to orbit something.

2) Click <new simultaneous plug in slot>, Then double click on the “Move” folder, then select “Orbit”

3) An Orbit button is placed in the plug in slot. Click it.

4) Identify the center point you want your brick to orbit around by choosing either a Absolute Point, Ball, Calculated Point, Player Ship, Relative Point, This Brick or Named Object and then providing the required information.

5) Note the green circle that shows the orbit path your brick will take.

### Along a Path

You can make a brick move in just about any shape or path you can think of. To do this make a brick move along a path, the first thing you have to do is lay down a path. To lay down a path, do the following:

1) On your palate, choose the Path Polygon brick.

2) Right Click in the play field to enter the path Polygon brick

3) Left Click on the path Polygon brick and note that on the top of your palate the words “ed. Poly” light up. “ed. Poly” is an abbreviation of the phrase “Edit Polygon”. When you have this check box checked, the editor expects you to edit the polygon attached to the Polygon brick you just clicked.

4) Your path is not required to touch this brick, but it is important to note that the path will keep its position relative to that brick

5) Click the check box to the left of the words “ed Poly” and note the little ‘x’ that appears at the point of your mouse cursor. When you see this ‘x’ you are in edit path polygon mode and you can lay down the first point of your path polygon.

6) After laying down this first point, note that your cursor changes from an X to a +. When you have this plus, you can add additional points to your path polygon.

7) Begin clicking in other spots on the play field and note that a white line appears between the points you click. You are creating a path.

8) The first point you click is the beginning of your path, and the last point you click is the end of your path. When you are done, right click, and the editor will close off your polygon for you automatically.

9) Now uncheck the edit polygon check box. Note that the points on your polygon disappear signaling you are no longer in edit polygon mode. When you see the points, you know you are in edit mode and you can change the polygon. When you do not see the points, it means you are not in edit mode and you cannot change the polygon without first clicking the ‘ed Poly’ check box.

10) When in edit mode, you can change the shape of your path polygon by clicking on one of the points you previously entered - and moving it.

11) You can also click on the white line in between two points (note the + sign next to your cursor that appears again) this will allow you to add a new point along your path that can then be moved itself. Try playing with this until you get the hang of it.

12) When the path is in non edit mode (no points visible) if you click on the Path Polygon brick and move it by moving the mouse, you will note that the path moves in relation to the brick. As you move the path polygon, note that the path keeps its position relative to that brick. That is, if you move the path brick down 2 inches, the path will also move down 2 inches.

While it seems that is a lot of steps, it’s really not that hard and quite intuitive once you’ve done it a few times. Now that you’ve put down a path, the fun part is making a brick move along your path. You may want to start with simple paths like squares and rectangles before moving on to more complex paths. A good type of path to “advance” to from here is the curvy path. To make a curvy path, simple double-click on the green Path Polygon brick that you have already created. At the bottom of the window that appears are the words “Curved Path” with a check box next to it. Check the box and look at your polygon…it should be curved.

To make a brick move along the path you created, you first need to understand the different type of “loops” or the different ways a brick can move across your path. Loop Types available are:

1) Loop forward - will cause the brick to move from your first point to your last point and then along the part of the path that the editor closed for you.

2) Loop backward - will do the opposite of Loop Forward. NOTE: if you have selected “stop at end”, and the brick is near the end of the path (ie your first point, the brick will appear not to move, or only move a short time. That is because it quickly reached the ending point, Try moving the brick to a different place on the path and you will see what we mean.

3) Back and forth – Will cause the brick to move from the first point you laid down to the last, and then return again to the first point.

4) Forth and Back – Will cause the brick to move in the opposite direction as #3 above. NOTE: if you have selected “stop at end”, and the brick is near the end of the path (ie your first point, the brick will appear not to move, or only move a short time. That is because it quickly reached the ending point, Try moving the brick to a different place on the path and you will see what we mean.

Now, to actually make the brick move along your path:

1) Double click on a brick that you want to move along your path.

2) Click <new simultaneous plug in slot>, Then double click on the “Move” folder, then select “Move along Path”

3) A “Move Along Path” button is placed in the plug in slot. Click it.

4) If you named your path polygon brick, you can enter the name of the path in the Path Name field. If you would rather not type the name, or you did not name your path polygon brick, you can click the “Pick” button, and then move your mouse cursor to the path Polygon brick an click it. If you named the path, you will see that name appear in the name field. If you did not name it, the editor will name the path for you.

5) Enter a time in seconds for how long you would like it to take your brick to travel from beginning to beginning of your path. Since the editor closes your polygon for you, the brick will move from the first point you laid down to the last, and then along the part of the polygon that the editor closed back to the beginning point. The trip from beginning point back to beginning point is a ‘loop’. The higher number you enter here, the slower your brick will move. The lower the number, the faster it will move.

6) Now enter when you would like the brick to stop moving. You can choose between:

a. At End – Remember, the term ‘end’ has different meanings depending on the Loop Type you enter.

b. Never – the brick will continually traverse the entire path, including the part the editor closed off, until the player breaks it.

c. After Loop – You can specify a number of complete loops the brick will make before stopping.

### Blend Positions

It is possible to make a group of bricks move in an elastic fashion. See “Pulsing Tank Reloaded” and “Dread Locks” for examples. This is achieved using the Blend Between points command. The idea is that you are telling a brick to blend its current position between two objects. If those objects are moving in opposite directions, the brick you tell to blend it’s position between those bricks will continuously adjust it’s position to remain ‘blended’ between them. If a row or column of bricks are all given this same command, they appear to be linked together like a rubber band. Try it out yourself by:

1) Make two different position markers move. Make one of them move horizontally from left to right, and the other move horizontally from right to left. (See move between points)

2) Now place those position markers far apart from each other, one on top of the screen, the other on the bottom.

3) Between these position markers place 8 or 9 bricks.

4) Double Click on one of the bricks

5) Click <new simultaneous plug in slot> Then double click on the “Move” folder, then select “Blend Positions”

6) Now tell your brick, what two points (or in this case objects) you want it to blend between.

7) For point 1, choose named object, and then use the pick function and choose the Position Marker you placed at the top of the screen by clicking on it.

8) For point 2, use the pick function and choose the Position Marker you placed at the bottom of the screen.

9) Now exit this brick back to the level.

10) Now single click on this brick and press Ctrl-C (Copy)

11) Now group select the remaining bricks you placed.

12) Now click Edit/ Past Replacement Plug in. This will cause the scripting you did for the first brick to be pasted on all selected bricks.

Now leave the editor and as you do, hold the shift key down. Watch how your bricks behave in relationship to the two bricks. Note that each brick is keeping itself blended between its current position and also the two Position markers. To vary the behavior, try making the Position markers move diagonally instead of just horizontally

Another thing you can do with the Blend position command is make a brick move exactly relative to another brick or Position Marker. The way to do this is identify the same brick or position marker as Point 1 AND point 2 on the blend command. Try this:

1) Make a brick (we’ll call it brick 1) orbit around a point.

2) Make a second brick (we’ll call it brick 2) Blend Positions with that brick (ie by making it point 1 and point 2)

3) Note that as brick 1 orbits its point, brick 2 will keep its relative position to brick 1.

# Making a Brick Wait

You can make a brick wait for something to happen like an other brick before doing something itself. In this way, you can make the level react to events that happen, and make it seem dynamic. Waiting commands work particularly well within sequences. Types of waiting:

### Wait for X seconds

Sometimes you may want a brick to stop and do nothing for a second or two, and then pick up moving again. To make a brick wait for a number of seconds you specify, do this:

1) Double click on a brick.

2) Click <new simultaneous plug in slot>

3) Type “Wait”, and then choose Wait for X seconds.

4) Click the button that appears in the slot

5) Specify a number of seconds you want to wait.

### Wait for brick to be destroyed

Sometimes you may want a particular brick to be destroyed before something happens. This command is normally used as a step of a sequence. You should probably understand what a sequence is prior to using this command. To use this command:

1) Double click on a brick.

2) Click <new simultaneous plug in slot>

3) Type Sequence

4) Enter two steps

5) In the first step, type “Wait”, and then choose “Wait for brick to be Destroyed”

6) Use the pick command to choose a brick.

7) In the second step of the sequence, enter some type of movement action – ie make the brick move between points.

When you run the level the brick will not be moving. It will be waiting for the brick you designated to be destroyed. When it is destroyed, it will advance to the second stage of the sequence and begin moving.

### Wait for Expression

Sometimes you may want a brick to stop and do nothing until an event, certain ball speed, or other event has occurred, and then pick up moving again. This plug-in is very powerful and dramatically increases the number of things bricks can do in relation to the game.

# Simultaneous Actions

Plug ins that you apply to a brick are called “simultaneous”, because they all occur simultaneously. In this way you can have a brick do multiple things at one time. A common thing you may want to do is have a brick move and wait for a different brick to be destroyed. You can do this because the plug ins are simultaneous.

# Sequences

Sequences allow you to set up a series of events that take place one after the other the effect of which is to make a brick change its behavior as different things happen in the level. Examples of the types of things sequences allow you to do are:

- make a brick move from one point to another. Then to a completely different point, then to a path etc.
- make a brick switch from one path to another
- You can have a brick wait for something to happen before it starts moving or stops moving.
- You can make a brick move across the screen and then destroy itself.

What follows is a basic sequence to get you started. What is important to keep in mind is that sequences will not advance to the next step until they are done doing what the step says, or they are told to advance to the next step by another brick (we’ll explain that a little later). To create a sequence:

1) Double click on a brick.

2) Click <new simultaneous plug in slot>

3) Type “Sequence” and hit enter

4) Click the button that appears in the plug in slot

5) Click <new step Slot> twice

6) In the first slot type “Wait X Seconds”, press the button and enter 5 seconds.

7) In the second slot, enter a move to point command.

8) Choose repeat sequence.

Note that this will cause the brick to wait 5 seconds, move, wait 5 seconds, move in an endless cycle until the brick is destroyed.

The best way to gain a better understanding of sequences is probably to look at a few levels that use them. Take a look at: “Brick Attack”, “Multiplicity” and for a couple of complex examples, look at “Reinforcements” and “Countdown”.

## Bricks changing Paths

When you want to make a brick move smoothly from one path to another you need to make sure the ending point of the first path and the beginning point of the second path are as close together as possible – in the same spot if possible. To do this:

1) Set up a sequence where the first step is loop forward, stop at end.

2) Next, make the second step of your sequence, is loop forward ON THE SECOND PATH.

If the beginning and ending points are close enough, the brick will switch paths seamlessly. If your second path is significantly different in size, the brick will appear to slow down or speed up if the time to complete a loop is the same. You should either make your paths the same size, or adjust the time to complete a loop to fix this ‘problem’.

One cool thing you can do is have a brick loop on one path until a different brick is hit or destroyed - and then have the looping brick change paths. (“Reinforcements” is a good example of this). How is this done? First let’s understand the “Trigger Action when Hit” or the very similar “Trigger Action when Destroyed” commands. By assigning this command to a brick, you can make a sequence running on a different brick advance to the next step in its sequence when the brick is hit. To use this command:

1) Double click on a brick.

2) Click <new simultaneous plug in slot>,

3) Choose Trigger Action from the drop down menu.

4) Now choose ‘Trigger action when hit’ or Trigger Action when Destroyed.

5) Click on the button that appears. Use the pick command to choose the brick that you want to advance to the next sequence.

Be careful! You need an additional step if you want the brick to continuously loop until the specified brick is hit and then switch paths. Why? If you try the steps above, with step 1 being move on the first path and step 2 being move on the second path, when you hit the brick that triggers the advance in sequence, the brick will ‘pop’ from its current location on the first path to the beginning of the second path.

The trick to make the transfer smooth is to make the second step not move to a different path, but have the brick ‘switch’ to the same path it is already on. Effectively all you are doing is changing when the brick will stop looping. You want the first step of the sequence to have the looping never stop. Then, make step 2 be move along the same path, but this time, choose “stop at end”. When the brick reaches the end, the second step of your sequence will be completed and the sequence will advance itself to step 3. In step 3 of the sequence, make the brick move along the second path. If the beginning of this second path is at the end point of the first path the brick will seamlessly change from the first path to the second.

# Making Bricks move from a single spot into a pre set pattern

If you played the level entitled “History of Transportation” you may have noticed that the bricks appear to come from one spot and arrange themselves into a pattern. This is a ‘trick’ that takes advantage of the move between points command. To do it:

1) Arrange your bricks into the pattern you want – start small with a square or circle or something

2) Now, click on one of the bricks

3) Click <new simultaneous plug in slot>

4) Choose move between Points.

5) Make point 1 an absolute point of coordinates you choose (or a named Position Marker)

6) Make Point 2 ‘relative point’. In this case the brick’s current position is the relative point.

7) Choose stop after Leg 1

8) At the bottom, choose ‘Start from Point 1’

9) Now exit this brick back to the level.

10) Now single click on this brick and press Ctrl-C (Copy)

11) Now group select the remaining bricks you placed.

12) Now click Edit/ Past Replacement Plug in. This will cause the scripting you did for the first brick to be pasted on all selected bricks.

13) Run your level and note that the bricks all start from the Point 1, and then move themselves to their relative point, or the point you originally placed them.

“The History of Transportation” uses this trick in a sequence. After you have done the steps above on your own, you should look at how these two levels are done to get a better understanding of this.

# Other Scripting Commands

The following plug ins can be placed by double clicking a brick and then inserting a new simultaneous plug in slot. Then choose the Script Folder.

### Delete Self

This command is most useful in a sequence. It allows you to make objects disappear without doing what they do when normally destroyed by the player. For example if you want to make a powerup brick, but do not want it to generate a power up as it normally would, this is the command to use.

### Destroy Self

This command is also useful in a sequence. It will destroy the brick and execute its destroyed behavior. If you want to make a level that drops a lot of bombs (like “Krakatoa” or “Scurvy Pirates”without requiring a brick to be hit by the player, use this plug in.

### Destroy Self if off screen

Sometimes a brick can be on a large orbit or simply may be pushed off screen by a complex movement pattern. If you do not want the player to wait for this brick to work its way back on screen, you can assign this plug in to the brick. It will destroy the brick if it is off screen.

# Scripting Commands Reference Section

### Brick Plug-Ins

* - NEW to Ricochet Infinity

Blend Positions: An object can be told to move based on relative distance from two other moving objects.

* Change Brick: Changes a brick from one type to another. The effect can be delayed and can affect other similar bricks nearby when the change occurs.

* Change Neighbors When Destroyed: Changes bricks closeby when the target brick is destroyed.

* Create Bricks: Actually creates bricks according to specified parameters.

Delete Self: Completely removes this brick or object from play. Destruction consequences may or may not occur, but the object will be gone.

* Destroy Bricks Near Point: All bricks near this point are removed from play.

Destroy Self: Plays its "destroyed" sequence. This means that all destruction consequences will occur, but nothing may happen if this object doesn't have a destroyed sequence.

Destroy Self If Off Screen: As soon as the object leaves the visual play field, it will be destroyed, IF it has a "destroyed" sequence.

* Display Value: A value can be printed on screen, like a timer countdown.

Drop Power Up: Drops a power up or numerous power ups, either random or specified.

* Expression Tester: A debug testing tool for testing the outcome of a particular expression. You probably won't need this.

* Fast Forward

* Fire Projectile: Causes the Gun object to fire lasers. Best used in combination with other actions.

* Hide: Causes a brick or object to fade from view.

* Hide and Reveal After Delay: Causes a brick or object to fade from view, and then return after a delay.

* If: A POWERFUL conditional statement that can be used to compare an action and give a consequence.

* Mimic Movement: Causes object to mime or "mimic" the actions of another object.

Move Along Path: Causes object to move along a specified path.

* Move Away From Point: Causes object to move away from a specified point at a specified speed.

Move Between Points: Causes object to move between two specified points at a specified speed.

* Move In Direction: Causes object to move in a specified direction at a specified speed.

* Move to Point: Causes object to move to a specific point at a specified speed.

* Move to Point At Constant Speed: Like above, but speed is constant.

* Orbit (new abilities have been added to this plug-in): Powerful ability with different variables that directs how one object can move around another.

* Random Order Sequence: Actions are done in a list randomly, but only once.

* Reveal

Sequence: Actions are run in the order that they are on in the list.

* Set Foreign Variable: Creates a value of a variable, potentially to be checked, used and modified by other bricks and/or objects..

* Set Local Variable: Creates a value of a variable on a brick that is only used on that brick.

Simultaneous: Two or more actions can be executed at the same time

* Spring: Objects can be told to move in a "spring-like" fashion using anchor points to "bounce" between.

Star Fish: (new abilities have been added to this plug in, like Animation Type) Allows scripting of "lock and key" events using specific starfish bricks in the Sunken City environment and locks in the Space environment. Many designers also use this ability to script "overlay" effects by having the Starfish command place just about any visual object on a brick.

* State Machine: Cool scripting tool that allows a designer to have multiple "states" or event sequences on an object that can be easily switched between. The object can be told to switch these states quickly by simply sending the object with the State Machine a message that a specific "state" is waiting for.

Trigger Action Every X Seconds

Trigger Action When Destroyed

Trigger Action When Hit

Wait for Brick to be Destroyed

* Wait for Expression: Powerful wait command that allows you to script an expression to use as a "wait for" condition.

* Wait for Message: Waits until a specific message has been broadcast using the "Trigger Action" commands

Wait X Seconds (* new abilities have been added to this plug-in, such as the ability to Print Time Remaining)

* Wait for Multiple Hits: Waits until the object has been hit a specified number of times before going to the next action in the list. This number can be displayed to the user in different ways, or not at all. The object hit can also be told to take damage or not.

### Expressions

(All New to Infinity)

As Roman Numerals

Ball Angle

Ball Speed

Binary Operations (terms for comparing and modifying values)

Add

And

Divide

If Equal To

If Greater Than

If Greater Than Or Equal To

If Less Than

If Less Than Or Equal To

If Not Equal To

Modulo

Multiply

Or

Subtract

Brick X Position

Brick Y Position

Bricks Near Position

Bricks Starting X Position

Bricks Starting Y Position

Brick With Name Exists

Count Text Characters

Displayable Text

Distance Between Points

Fire Button Pressed

Foreign Variable

Formatted Time Since Level Start

Get Local Variable

If Is Between Inclusive

If Then

Lives Left

Local Variable

Not

Number

Number of Balls in Play

Number of Bricks with Name

Number of Moving Balls in Play

Number of Player Ships

Part Of Text

Player Name

Random Float

Random Integer

Recall Button Pressed

Rings Collected on this Level

Scale

Score

Seconds Since Level Started

This Bricks Name

Times Ball Bounced Off Ship

# Complex Movements

You can make really interesting movements by using combinations. Try having a Position Marker move along a path and then have a brick orbit that Position Marker. Try orbiting a brick that is orbiting a brick that is moving a long a path.

Try having a brick move along a Path. Now, make that path orbit around a position marker.

Try your own combinations like this. In this way that some of the more complex movements are possible.

# Awesome Things You May Not Know, But You Should

1) When in the Editor, you can move the level around by PRESSING and HOLDING the MIDDLE MOUSE WHEEL while MOVING your mouse around. You can go look off the sides of the screen and even set up complex patterns of bricks OFFSCREEN to move onscreen later. Press F6 to go back into the game and the screen will reorient itself back to normal. We use this feature at Reflexive all the time. Dude. It's Awesome.

2) On the Editor screen, there are series of checkboxes next to the words "Canvas Art Layer", "Brick Layer" "Background Layer". They are set up so that there are two checkboxes next to each phrase. The one on the left represents seeing that Layer, and is denoted by an eyeball. The one on the right represents editing that Layer, and is denoted by a pencil. Having the eyeball visible means that the Layer is visible. Having the pencil visible means that the Layer can be modified.

3) Anywhere in the Editor where you see a colored box showing the tint of an object, CLICK ON IT and a window will pop up that allows you to visually pick what color you want to use instead of just using numbers to modify the color. You can also modify the "brightness" of the color, allowing for an extremely wide range of color options. However, if you like using the numbers instead, you can go to http://web.njit.edu/~walsh/rgb.html (or sites like this one) to know what RGB colors can be created with what numbers.

4) On any Editor window where you see numbers with an "up and down" arrow right to the right of them, those numbers can be easily increased or decreased by HOLDING down your RIGHT mouse button on these arrows and DRAGGING up and down.

5) Copy/Pasting objects can be easily done by pressing <Ctrl>C for copy and <Ctrl>V for paste. However, did you know this can be easily done on the properties of the object too? A real-world example of this would be to double-click on a brick to bring up its "property window". Then, click on <new simulataneous plugin slot> to create an empty slot. Put in an action...it doesn't matter which one. THEN, go back to the brick "property window" and click on the "Simultaneous PlugIn 1" to the LEFT of the action you scripted. A darker line should appear over the whole line. Then, press <Ctrl>C to copy this action. It can now be pasted in any other property window on another brick or object. You can test this by pressing <new simulataneous plugin slot> on this property window you already have open to create another line and try pasting your copied line here.

# General Tips and Level Testing

- Testing your level is a very important step of level creation. If you are having problems test-finishing your level, and just can't seem to find that last brick so that "untested level" message will go away, no matter how much you look around at the level in the editor, then perhaps this will help:
  - While playing the game (yes, during an actual game on the level that you are having trouble with), type in the following: "debugon" (without the " symbols). This will cause the game to show you where bricks are that are still left to break. ONLY DO THIS WHEN THERE AREN'T MANY BRICKS LEFT. The reason being is that if there are a lot of bricks left, the information will be overwhelming and won't be helpful.
  - Information will appear that will show you where the remaining bricks are. Read it carefully. See what the game says as to where these problematic bricks are.
  - Type in "debugoff" (without the " symbols). The information displays should go away.
  - Go into the editor and take a look at these problem bricks and see why they are being trouble. Maybe they don't move onto the screen so the player can break them, or they are waiting for something to happen that can't happen...whatever it is, these debug commands can help you locate bricks during the game that you might not be able to find in the editor.
- "Official" Level Testing can't be done in Kids Mode OR if it takes over 5 minutes to complete. This means that you have to be playing the game in Easy mode (or harder) AND the time that it takes to finish the level has to be under 5 minutes. If either one of these conditions aren't met, then the "Untested Level and Rings" watermark on the bottom of the screen won't go away, and you will be unable to submit the level for others to play.
- It is not necessary to drill into folders until you find the name of a command you are looking for. You can just try typing the name you are looking for, and the editor will often times find the command. This works in just about any scrollable list. For example, Type “O” in the simultaneous plug-in field. The editor will search for all commands beginning with the letter ‘O’. In this case it turns out to be all you need to do to find the “Orbit” move in plug in. If you want to choose the command that it found for you, press the enter key, and you will see the Orbit plug in appear. In this manner, try typing the name of the command you are looking for. Eventually you will find this a faster way of finding what you are looking for.
  - Another cool thing to find what you are looking for is to type in a word, and then hit the <TAB> key on your keyboard to "tab" through all of the commands that have this word in them. For example, in the "simultaneous plug-in" field on any brick, try typing in the word "wait" and then hitting <TAB>. The game will cycle from one command to the next that has "wait" in it.
- If you have found that the white "drag handles" on your bricks have gone away when you select a brick in the editor, and you don't know why, it might be that they were accidentally turned off. The shortcut key "x" toggles these drag handles on and off. To turn them back on, simply press x with a brick selected to see it pop on and off, OR open the options menu and check "Add Rotate and Scale Handles to Selected Objects".
- Resist the temptation to load up levels with Powerups. Actually, do it once and then realize that it just isn’t a whole lot of fun.
- As a general rule, the lower bricks are on the screen, the harder the level.
- Give the player something to aim towards at just about all times. Levels that come down to a lot of normal bricks and a normal ball tend to be boring.

# Glossary

Decal – Art objects that can be inserted into the level to personalize the level.

Editor Box – The spot on the Editor Screen where the editor functions can be accessed. The Editor Box can be moved around the screen, and has pull-down menus as well as buttons and checkboxes for accessing editor functionality.

Level – The game screen where the player makes matches.

Level Set – A collection of Levels or Boards is called a Level Set.

Line Art – The images that the designers draw to enhance or personalize their levels. These images can be of different sizes, shapes, colors and even textures to really look like just about anything that the designer can imagine.

Shortcut Keys – This is the fast way to access features and actions inside the Level Editor by simply pressing one key. Many actions have them. If an action has it, the Shortcut Key will be underlined. They will either be highlighted after the action (such as “Delete Row ( 8 )” where 8 is the Shortcut Key), or will simply be an underlined letter in the word itself (such as “New Shape” where “N” is the Shortcut Key)

Reflexive Entertainment – The developers of Ricochet Infinity, its predecessors Ricochet Xtreme and Ricochet Lost Worlds, Big Kahuna Reef and many other games. They can be found at www.reflexive.net and are fond of shameless plugs for themselves and their website, regardless of alphabetical sorting. Even reusing old jokes numerous times is not beneath them.