- MelBotWars Rules & Specifications -

Habib Zargarpour
June 6 1998

Revision April 12 2006

Last Revision Oct 5 2012

NOTE: Since you can do almost anything to the scene using MEL expressions in Maya, the MelBotWars rules you see here need to be expanded and updated often. Please watch for updates here.


Each Robot will be given opponent's target node name.
Last Robot to be left standing and mobile on the Ground Plane wins.



             1.1 Ground plane:

1.1.1 Size 40 x 40 units at y = 0
1.1.2 Bounciness = 0.3
1.1.3 Static/dynamic friction = 0.5
1.1.4 Collision layer 0

             1.2 Border:

1.2.1 Border 0.6 units tall
1.2.2 Thickness 0.2
1.2.3 Bounciness = 0.6
1.2.4 Static/dynamic friction = 0.5
1.2.5 Collision layer 0.

             1.3 Fields:

1.3.1 gravityField1 = 32 (units are assumed ft. but do not change units from default of cm, this does not change the scale of the forces).


2.1   Robot Total mass not to exceed: 10 units
2.2   each component mass not to exceed: 3 units
2.3   Max Total Robot impulse for motion: 5 units/frame
        Positioning Impulse can only be applied if the robots own Target locator

        is 0.3 units or less from the ground.
2.4   Robot must fit in a 5x5x5 unit box, though it can exceed this limit
        after startup if it has mechanical means to do so.
2.5   All parts must be on collision layer 0
2.6   All parts must be connected to gravityField1
2.7   Min. static/dynamic friction = 0.2 for wheels or ground contact parts
2.8   Min. ground clearance for main body: 0.2 units
2.9   All Robot part names must end with a two or three letter suffix of the owners
2.10  All global variables defined must end with the two or three letter suffix
2.11  Naming Conventions: each robot will have a locator null named <robotname>Target_<suffix>
         parented to its main rigidBody top node. This will be at the center of the robot
         (or the center of the heaviest mass) and at ground level when robot is resting on the ground.
         This is the node each opponent will use to track the location of the opponent.
2.12  Simulations start on frame 1 and can go on for 2000 frames
2.13  Center of Mass of all rigidBodies must be contained within their bounding box
2.14 Inverted robots will be considered incapacitated and lose the battle. This rule however does not
       apply to invertible robots that can operate with either side up.

2.15 Center of Mass of all rigidBodies must be as defined my Maya and not manipulated



3.1   delete opponent with your expressions.
3.2   use field forces. (eg: giant radial field).
3.3   rename opponent or any component of opponent.
3.4   use limits on translation to prevent Robot from
        falling off the edge of the ground plane.
3.5   use a downward impulse to increase traction or mass.
3.6   scale your robot or any piece of it during the simulation.
3.7   add impulse to ammunition, must use a mechanism
        for launch.
3.8   nail yourself to the ground.
3.9   use a hinge in Maya 4.0 or below.
3.10  add impulses to opponent's rigidBodies.
3.20 add vertical impulses to lift off the ground plane, reduce weight, or fly.


4.1   use projectiles, tethered and un-tethered, but
        all ammunition must be on board at start
        (ie: can't emit ammunition)
4.2   use expressions to drive Robot impulses and internal
4.3   use standin cube and sphere mode for rigidBodies
4.4   use impulses (no greater than the Max allowed) to
4.5   keep your own Robot from falling off the edge
        of ground plane.
4.6   use patches or polygons to make Robot parts
        or ammunition.
4.7   use interpenetration ON in your rigidConstraints to
4.8   speedup the simulation, but parts cannot be interpenetrating
        and must be constrained to move like real mechanical parts
4.9   use expressions to scan the opponents heirarchy
        to gather information about its weight and size
        to decide on a techniques or plan of attack.

4.10 automatically gather opponents using the “Target_” name search.



Some instructions for initiating a MelBot:


Select the "BRAIN"_suffix node on a robot to get its expressions
in the channel box. You can also see the "ON" status and
the "maxImpulse" attributes.

They each have a unique three letter
suffix for all thier parts.

The name of the opponent for each robot goes into the "opponent"
attribute on the BRAIN_<suffix> node. Select the expression
node and open the attribute editor on its transform and look under
"Extra Attributes".

Note there is a roboCam POV camera in the Robot2_GEN scene file under the roboCam_GEN
heirarchy called perspPOV_GEN. If you middle mouse drag this camera
into the view (even while playing a simulation) you will see through that camera.
HZ robot has the same feature.

To translate the robot you must select only the top node of the heirarchy.
If you have maya2.5 and up you should be able to make these into heirarchies.


Contact us: 

Maya is a Trademark of Alias|Wavefront
© Copyright 2002 Habib Zargarpour