When you Save, Play or Make a goomod in the editor, it performs a series of checks to ensure that the level you have made is valid and everything is correct. It will display an Issues message box if it finds any problems.
Each issue has a "severity" associated with it...
Advice : Mostly design tips, "best practice" hints and cosmetic issues
Warnings : More serious problems which will cause unexpected or bizarre behaviour in the level
Critical : Problems that will make the game crash or will cause serious trouble creating or distributing a goomod.
The level will always be saved, regardless of any problems, but the editor will not allow you Play or Make a goomod if there are any Critical Issues.
The next version of the editor will link directly from the message screen to this information page, so you can find out about each of the messages you receive. But if you just want to find out the problem are... read on.
Advice Messages
Scene Tree
{Composite Geometry id} not static and rotated. It won't be where you think!
Problem: There is a bug in the game which means dynamic composite geometry items which have a rotation do not appear in the correct position in the level.
Solution: Reset the rotation to 0, and reposition the children one at a time if necessary.
{Composite Geometry child id} : Images on compgeom children do not show in the game.
Problem: The game does not display images assigned to composite geometry child objects
Solution: Add any image to the parent composite geometry object, remove any images from children
{Geometry id} is spinning but has no hinge!
Problem: Spinning items without hinges tend to fly around all over the place
Solution: Add hinges to spinning objects unless you really need them to be free moving
{SceneLayer id} has non-uniform scaling and animation.
Problem: The game cannot apply animations to Scenelayers which have different x and y scale values. It will change both the values to be the average of the two.
Solution: Change the scale of this SceneLayer so that the x and y values are the same.
{Geometry id} has very low rotspeed, and will not rotate.
Problem: The game has some internal rounding or threshold on rotspeed. Values less than 0.0005 ( + or - ) actually set the rotspeed to 0
Solution: Increase the rotspeed to at least 0.0005
Level Tree
{camera aspect} poi traveltime will cause a delay starting the level
Problem: There is only one poi for this camera, and it has a large travel time set. This will delay the start of the level with the camera stationary.
Solution: Reduce the traveltime on the poi to 0 or 1
The pipe is not at exit!
Problem: The level has an exit and a pipe but they are not in the same place. This can be very confusing for the player.
Solution: Unless you have a good reason for them to be in different places, move the exit or the pipe mouth so that they are in the same place.
Pipe vertexes are too close together
Problem: Some bends in the pipe are very close together, this will cause the corners images to overlap.
Solution: Move the pipe vertexes further apart
Multiple end conditions {list-of-End Conditions}
Problem: There are a number of different ways to end this level.
Solution: Unless you meant to do that, remove all but one of the exits / end conditions
Resource Tree
Image resource {Resource Id} unused
Problem: An image is defined in the resource file, but is not used.
Solution: Remove the unused resource, or use it.
Sound resource {Resource Id} unused
Problem: A sound is defined in the resource file, but is not used.
Solution: Remove the unused resource, or use it.
Text resource {Resource Id} unused
Problem: A text string is defined in the text resource file, but is not used.
Solution: Remove the unused resource, or use it.
Dependancy Tree
Custom Balls used {list-of-BallTypes}
These are the Custom balls used in this level
Custom Materials used {list-of-Materials}
These are the Custom materials used in this level, or by the custom balls
Custom Particles used {list-of-Particle Effects}
These are the Custom particle effects used in this level, or by the custom balls
Warning Messages
Scene Tree
{Composite Geometry id} is static and has no children.
Problem: A Composite Geometry item has no children, so it's completely pointless.
Solution: Remove the Composite Geometry item, or add some children
{Geometry Child Id} is a compgeom child so cannot have a hinge!
Problem: If you attached a hinge to a composite geometry child it won't work in the game
Solution: If you need the object to be hinged, attach the hinge to the composite geometry parent item.
Level Tree
Level has no normal camera
Problem: Without a normal camera this level will not work on many systems
Solution: add a camera item and set its aspect to normal
Level has no widescreen camera
Problem: Without a widescreen camera this level will not work on many systems
Solution: add a camera item and set its aspect to widescreen
Gooballs start above the targetheight
Problem: You have set a targetheight end condition but there are attached gooballs which begin the level above this height. The level will finish as soon as it begins.
Solution: Increase the targetheight value, or move all the gooballs to below the height[link to targetheight]
Resource Tree
Image file extensions must be png (lowercase) {filename}
Problem: The file extension of the image is not in lowercase, this will cause problems on non-windows systems
Solution: Rename the file and ensure the extension is changed to png
Sound file extensions must be ogg (lowercase) {filename}
Problem: The file extension of the sound is not in lowercase, this will cause problems on non-windows systems
Solution: Rename the file and ensure the extension is changed to ogg
Other
the levelexit is outside scene bounds
Problem: the levelexit is positioned outside the scene bounds so the player will not be able to see it.
Solution: Move the levelexit, and the pipe mouth, inside the scene bounds or changes the bounds. [Link to Scene Bound]
Custom Pipe resource {Resource Id} is missing
Problem: You have specified a custom type for the pipe, but you have not added the necessary resources to the level.
Solution: Add the missing resources to the resource tree, or change the pipe to a standard type. {Link to custom pipes}
Critical Errors / Problems
Scene Tree
{Geometry id} is not static and has no mass
Problem: If a geometry object is not static it must have a mass >= 1
Solution: If the geometry object needs to move, set a mass. If the object does not need to move set static=true
{Composite Geometry id} is non-static and total mass is 0
Problem: If a composite geometry is not static then a least one child needs to have a mass.
Solution: Add a mass to one or more children, or make the composite geometry item static
{Composite Geometry id} is non-static and has no children
Problem: If a composite geometry object is not static and also has no children, the game will crash.
Solution: Add at least 1 child item, and give it a mass value, or remove the composite geometry object.
{Geometry id} is static and has a motor
Problem: You have attached a motor to a static geometry object, this will crash the game.
Solution: Make the object dynamic, or remove the motor.
{Geometry id} is at the centre of rff {Radial Forcefield id}
Problem: Setting a geometry object exactly in the centre of a radial forcefield will cause the game to crash.
Solution: Move the geometry object, or force field, so the centres are not exactly the same (the difference can be "small")
linearforcefield {id} has size but no center
Problem: Linear forcefields can have a centre but no size, if the forcefield has a size specified, it must also have a centre.
Solution: Set the center position for this forcefield.
Level Tree
has levelexit but no pipe
Problem: If a levelexit is activated, but there is no pipe, the game crashes.
Solution: Add a pipe.
There is a pipe vertex that does not turn
Problem: If there is a pipe vertex, but the direction of the pipe does not change, and continues on in the same direction, the game crashes.
Solution: Remove the "straight on" vertex, or move then next vertex so that the pipe does turn.
There is a pipe vertex that turns 180deg
Problem: If there is a pipe vertex set so that the pipe goes back on itself, the game crashes.
Solution: Move the vertexes so that the pipe always turns 90° at every vertex.
You can't connect {Goo Id} (GooType) to {Goo Id} (GooType)
Problem: Neither of these GooTypes has a strand defined, if you connect them the game will crash.
Solution: Do not connect 2 Goo Balls of these types
{Goo Id} (GooType) cannot have any strands!
Problem: You have connected a strand to a GooType which cannot have any strands.
Solution: Remove the strand.
Signpost {Name} uses an Ambient Particle effect {Effect Name}
Problem: You have specifed a particle effect for the signpost which is not a point-source effect. This will crash the game.
Solution: Change the particle effect to one which is point-source [link to point-source particles]
Fire object uses an Ambient Particle effect {Effect Name}
Problem: You have specifed a particle effect which is not a point-source effect. This will crash the game.
Solution: Change the particle effect to one which is point-source [link to point-source particles]
Dependancy Tree
Ball Recursion {list-of-Balls}
Problem: The first ball in the list contains the second in the list, which contains the 3rd... ultimately one of the descendants contains the original parent ball and creates a circular dependancy. This will crash the game.
Solution: Edit one of the balls in the list, to break the circle
Ball {GooType} is missing
Problem: A ball used in this level, or a ball contained by a ball used in this level, is missing and cannot be found in the folder you are editing.
Solution: Remove the ball, change the ball type or install an addin which contains the missing ball
Material {Material Name} is missing
Problem: One of the geometry objects, or one of the balls, uses a custom material which cannot be found.
Solution: Change the material to a standard one, or install / enable the addin which contains this material.
Look at the Depends tree to find out which object needs this material.
Particle Effect {Effect Name} is missing
Problem: Something... a signpost, fire, particles object or a ball in this level uses a custom particle effect which cannot be found.
Solution: Change the effect to a standard one, or install / enable the addin which contains this particle effect.
Look at the Depends tree to find out which object needs this effect.