Errors and Warnings
When you Save, Play or Make a goomod in the editor, it performs a series of checks to ensure that the ball 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 ball 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 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
Ball Tree
Ball has a very low dragmass causes glitches near an open pipe
Solution: Increase the dragmass attribute, 10 is a reasonable minimum.
No part called "body" this ball will not display in WooGLE correctly
Problem: In order to display ball images WooGLE reads the ball xml file and finds the image for the part called body. If it cannot find one then the ball is shown as a circle or a rectangle.
Solution: Rename the main part of the ball to "body"
Strand maxlen2 is 0, this ball will not form any strands.
Problem: The balls has strands set to 1 (or more), however the maxlen setting will prevent it from ever making any connections.
Solution: change maxlen2 to a reasonable value. Original balls used 100-200
Strand has no fireparticles it will not burn.
The strand has a burntime set, however if fireparticles is left blank, the strand will not burn.
Solution: Select an effect for fireparticles
Strand has a large ignitedelay so fire may not spread
Problem: The strand has an ignitedelay which is close to (or larger) then the burntime of the ball. So the ball may explode before the strand has burnt all the way to the end, and set fire to the next ball.
Solution: Reduce the ignitedelay, increase the burntime of the ball.
throw sound not last in list. {other sound} sounds will play instead
Problem: There is a big in the game which means the sounds given for the throw event only play correctly if they are the last sounds specified.
Solution: Cut and Paste the throw sounds to the end of the list.
throw sound not found. {other sound} sounds will play instead
Problem: There is a big in the game which means that if you do not specify any sounds for the throw event, then other sounds will play when the ball is thrown.
Solution: If you do not what the ball to make any sounds when it is thrown, add the throw event sounds as the last in the list, but leave the sounds attribute empty.
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.
Dependancy Tree
Custom Balls used {list-of-BallTypes}
These are the other Custom balls this ball can create
Custom Materials used {list-of-Materials}
These are the Custom materials used by this ball, or by the other custom balls
Custom Particles used {list-of-Particle Effects}
These are the Custom particle effects used in this ball, or by the other custom balls
Warning Messages
Ball Tree
Ball is detachable but has no detachstrand
Problem: This will cause unpredictable effects if the player tries to detach the ball. Sometimes it will allow them to "drag" the structure around by pulling the ball they have selected.
Solution: If the ball is really detachable, add a detachstrand, otherwise set detachable=false
attenutation{...} has only 2 arguments and the first is not 0
Problem: If only 2 numbers are supplied and the first is not 0, this will cause odd blackout and graphics behaviour when player select / drags the ball.
Solution: If you do not want the ball to change size, set the first number to 0, if you do want the ball to change size, add a 3rd number.
Strand minlen is greater than maxlen
Problem: This is just a bit "wrong", and can cause strange behaviour whilst building
Solution: Make maxlen greater than (or equal to) minlen
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
Critical Errors / Problems
Ball Tree
Ball contains balls but has no popparticles
Problem: The game will crash when the ball is popped.
Solution: Select a particle effect for popparticles
Ball contains balls but has no popsound
Problem: The game will crash when the ball is popped.
Solution: Select a sound for popsound
towermass is between -1 and 1.
Problem: The game will crash when a ball climbs on a structure.
Solution: Change the towermass to be grater than 1
stacking set true on circle ball
Problem: The game will crash when 2 balls land on top of each other.
Solution: Set stacking=false or change the ball shape to a rectangle.
Part {part name} is an eye but has no pupil image
Problem: The game will crash.
Solution: Set eye=false or select an image for the pupil
Ball is static and draggable
Problem: The game will crash when you click the ball.
Solution: If this is a static ball, like an anchor, set draggable=false
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.