HELP EXTRA: WOG Code Breakdown

**OK, I figured people into the world of coding would want to see this, so, here you go! :)**

## **Introduction**

**So, for clearness sake, and for those who are interested to know, World of Goo is written in XML, which looks similar and sounds like HTML/HTML 5, but after reading it for a bit, it is easy to understand what it all means! :)**

### **Chapter Workings**

**The chapters of World of Goo are held in the *res/islands* folder. The code for these contains its name, levels, and icon to run for that specific chapter. This seems complicated at first, but we'll break it down.**

### **Basic Chapter Coding**

**World of Goo relies on these files to control level progression and level text checks (in this case, it checks for its name and subtitle, but this will be further explained later.**

**I pulled the code for my custom Chapter 1 so we can see it better:**

<island name="Your New World" map="IMF\_Level\_1" icon="IMAGE\_GLOBAL\_ISLAND\_1\_ICON">

<level id="YourNewSave"

name="LEVEL\_NAME\_YOURNEWSAVE"

text="LEVEL\_TEXT\_YOURNEWSAVE"

ocd="balls,30"

oncomplete="unlockwhistle"

cutscene="x,whistleUnlock,gooTransition\_out"

/>

<level id="ClimbOver" depends="YourNewSave"

name="LEVEL\_NAME\_CLIMBOVER"

text="LEVEL\_TEXT\_CLIMBOVER"

ocd="time,60"

/>

<level id="ToTheLeft" depends="ClimbOver"

name="LEVEL\_NAME\_TOTHELEFT"

text="LEVEL\_TEXT\_TOTHELEFT"

ocd="balls,20"

oncomplete="unlockwogcorp"

cutscene="x,wogcunlock,gooTransition\_out" />

<level id="AftSide" depends="ToTheLeft"

name="LEVEL\_NAME\_AFTSIDE"

text="LEVEL\_TEXT\_AFTSIDE"

ocd="balls,8"

/>

<level id="UpperChamber" depends="AftSide"

name="LEVEL\_NAME\_UPPERCHAMBER"

text="LEVEL\_TEXT\_UPPERCHAMBER"

ocd="balls,15"

/>

<level id="ThirdFloor" depends="UpperChamber"

name="LEVEL\_NAME\_THIRDFLOOR"

text="LEVEL\_TEXT\_THIRDFLOOR"

ocd="balls,18"

/>

<level id="SpecialForYou" depends="ThirdFloor"

name="LEVEL\_NAME\_SPECIALFORYOU"

text="LEVEL\_TEXT\_SPECIALFORYOU"

ocd="time,20"

/>

<level id="ByTheEdge" depends="SpecialForYou"

name="LEVEL\_NAME\_BYTHEEDGE"

text="LEVEL\_TEXT\_BYTHEEDGE"

ocd="time,72"

/>

<level id="OtherCliff" depends="ByTheEdge"

name="LEVEL\_NAME\_OTHERCLIFF"

text="LEVEL\_TEXT\_OTHERCLIFF"

ocd="balls,17"

/>

<level id="HeightsDominator" depends="OtherCliff"

name="LEVEL\_NAME\_HEIGHTSDOMINATOR"

text="LEVEL\_TEXT\_HEIGHTSDOMINATOR"

ocd="balls,24"

/>

<level id="TheSecondCliff" depends="HeightsDominator"

name="LEVEL\_NAME\_THESECONDCLIFF"

text="LEVEL\_TEXT\_THESECONDCLIFF"

ocd="time,25"

/>

<level id="AttachableWater" depends="TheSecondCliff"

name="LEVEL\_NAME\_ATTACHABLEWATER"

text="LEVEL\_TEXT\_ATTACHABLEWATER"

ocd="balls,38"

/>

<level id="WateryTowerers" depends="AttachableWater"

name="LEVEL\_NAME\_WATERYTOWERERS"

text="LEVEL\_TEXT\_WATERYTOWERERS"

ocd="balls,22"

/>

<level id="LastTowerClimb" depends="WateryTowerers"

name="LEVEL\_NAME\_LASTTOWERCLIMB"

text="LEVEL\_TEXT\_LASTTOWERCLIMB"

ocd="balls,56"

/>

<level id="TheAmberChute" depends="LastTowerClimb"

name="LEVEL\_NAME\_THEAMBERCHUTE"

text="LEVEL\_TEXT\_THEAMBERCHUTE"

ocd="moves,30"

/>

**So, yeah, this may look overwhelming to some at first glance, but worry not! I'll walk you through this file of code.**