Once you’ve made a few levels, you might start thinking about making a complete chapter, before we start let's define some stuff and clear up a few misconceptions.
Chapter: A collection of levels, usually with a similar theme or graphics style.
Map Level: A level which defines and arranges the level buttons for a chapter.
Island: The game’s mechanism for creating a Chapter, linking a Map level and the list of levels in the Chapter.
An island is defined in the [ island.xml ] file.
There are 5 islands (1 -> 5) ignoring the mythical / non-functional Island6
There is no connection between Chapter Number and Island Number… the Chapter Number shown for any island is just specified as text in the Global Text file.
OK… 2DBoy set up the original in the "sensible" way; Chapter 1 uses Island1, Chapter 2 uses Island 2 etc.
However there is no absolute need to do this, the Chapter assigned to Island1 can be given any number in its title text.
There is no direct relationship between Island Number and the order in which the levels can / must be played, or the order in which the Islands become available in the [ MapWorldView ]
A level is playable if its depends requirements given in the island.xml, are met.
If a level has no "depends" attribute, it is always playable.
An Island button is enabled if the first level entry in the island.xml is playable.
NB: "First" means the first <level> tag found in the file.
In MapWorldView the game sets the enabled / disabled state of the corresponding button id="islandx" based on this.
A black arrow pointer is displayed next to an island button if the island contains a playable level that has not been completed.
Requirements: island.xml must have...
map must be a valid Map Level
icon must give a valid Image Resource ID from the global resources.xml
At least one <level> tag defining a valid level.
Requirements: For each <level> tag in island there must be…
button with id="lb_{levelid}" This is invisible until level is playable
SceneLayer with id="ocd_{levelid}" This is invisible until OCD achieved
Optional:For each level tag in island there can be one or more..
SceneLayer with id="levelpipe_{levelid}" This is invisible until level is playable.
When you finish a level, this may make 1 (or more) other levels playable. When this happens the game will display the unlockfuse particle effect which moves from the completed level button, to the newly playable button. When the effect reaches the target button, that button becomes visible, as do any levelpipe_ scenelayers for that level.
If a level depends on more than one level, the unlock particles travel from each depends level only when the final dependant level is completed.
When the 'last' level in a chapter is completed, the player is returned to the MapWorldView screen rather than island.
NB: Last means simple the last <level> tag appearing in the island.xml. This need not be the last playable level, based on depends, but normally it should be.
Island4 has one special thing.. the signposts. Any signpost, in any level, launched from island4 will display the green terminal sign, rather than the normal wooden one. This appears to be hard-coded into the game.
Island1 should also be considered as special and treated with care. Not because of there’s anything hard-coded in the game for it, but because this is the island that GooTool places custom levels into. Guidelines for redesign of island1
Action: wogcorp_from_island, zoomout, pl_{levelname}, pm_{moviename}
Display: ss_{levelname}, hs_{levelname}
For more details see [ Commands and Actions ]
Also known as the Main menu, if you are considering a re-design or a “mod” to the MapWorldView level, you will need to make sure that you follow certain rules and include all the items which the game exe will attempt to access and manipulate.
It is recommended, if you are distributing a goomod, you merge your changes into the MapWorldView rather than compiling a new one, so that your mod will interact nicely with other mods that affect this screen.
All the following items are required in the MapWorldView level. If any are missing the game will crash, usually right at the start.
buttongroup id="mainbuttongroup" (must contain at least 1 button)
button id="island1"
button id="island2"
button id="island3"
button id="island4"
button id="island5"
button id="island6" (Always invisible, can't be used but must be there)
button id="wogcorp_intact"
button id="wogcorp_3d"
button id="wogcorp_destroyed"
buttongroup id="boringmenugroup" (must contain at least 1 button)
button id="quit" onclick="quit"
button id="changename" onclick="selectprofile"
button id ="credits" onclick="credits"
label id="newballs" text="LABEL_PLUS_X"
SceneLayer id="newmail"
So long as the above items are all present, you can modify the MapWorldView layout / level however you wish.
Action: island{Number}, selectprofile, credits, quit , wogcorp
Display: island{Number}showtext, islandhidetext
wogcorpshowtext, wogcorpdshowtext, showtooltip, hidetooltip
For more details see [ Commands and Actions ]
The World of Goo Corporation consists of 3 separate levels; wogc , wogc3d & wogcd
We all know and understand the differences, and in the original game which one is available and when. However the rules the game applies to activate and switch between the different versions could be used in different ways.
The 3 wogcorp buttons are displayed (or not) using the following rules.
wogcorp_intact
Visible if island4 is NOT enabled and island5 is NOT enabled and WoG Corp is not destroyed. Also it is disabled until WoG Corp is unlocked
wogcorp_3d
Visible if island4 is open and island5 is not open and WoG Corp is not destroyed
wogcorp_destroyed
Visible if WoG Corp is destroyed.
The actual level that will be played when the wogcorp command is executed, matches the button which is visible.
It may not be obvious from the above, but there can be a gap in the wogcorp sequence.
If chapter 5 is enabled but WoG Corp is not destroyed… none of the buttons are visible.
In this case if you have an additional button which can access WoG Corp, then it will play the original "intact" level.
It is important to note that.. island4 need not be the fourth chapter played, nor island5 the fifth. So WoG Corp could change to "3d mode" immediately, or once the 1st chapter is completed, and could remain in that mode for anywhere from just 1 level, to the remainder of the game… since there is no requirement that WoG Corp is ever destroyed. Whilst changing the order in which the wogcorp levels become available is not possible, you can move through the sequence in different ways.
Disabled -> Intact -> 3d -> Invisible (but plays intact) -> Destroyed
By controlling when, and if, WoG Corp is unlocked and destroyed and when island4 becomes available, you can effectively skip various stages.
If WoG Corp is never unlocked, it is inaccessible until island4 is open, then the 3d mode is available, essential you have skipped the "intact" phase.
If WoG Corp is destroyed before island4 is open, you skip the 3d mode entirely.
[More Information about the WoG Corp Levels themselves]
Island1 is special, mainly because this is the island into which GooTool places custom levels. If you plan to do a large mod, or multi-chapter level pack, or "WoG2" that will require you to redesign / reuse island1 then you should read and obey the following.
Advanced - Not for the faint hearted or the easily confused
You may use compile XML versions of island1.resrc and island1.level
Attachment | Size |
---|---|
island1.scene_.xsl_.template.txt | 1.75 KB |
island1.xml_.xsl_.template.txt | 1.6 KB |