It’s no secret that Super Mario Sunshine had its problems in the eyes of Mario fans; consider the often-uncooperative camera and the infamously difficult pachinko level. One thing that many people agree on, however, is that Sunshine had gorgeous environments for its time. From the crisp shore of Gelato Beach to the vivid and grassy heights of Bianco Hills, there was a lot of character in each area of Isle Delfino that players were able to explore. But have you ever wondered how developers made the rolling waters look so nice? A new series on YouTube titled How Did They Do That!? discussed and broke down the development process behind creating the water physics in Sunshine.
The technical components used to make the water visuals and physics were summed up in five main parts. First, the texture of the water is mapped through the use of a computer-generated graphic in black. Then comes the UV mapping process: two separate UV layers are mapped, and each moves in different speeds and directions. The next and “arguably the most important” part is MIP mapping.
There are five MIP maps; each takes the black from the texture maps and makes it transparent, and the whites become an even brighter white. Each MIP map is layered on top of the other; the first and closest map has only a little bit of white, the one after that has slightly more, and the maps that follow have progressively less and less white to them until finally the water looks “invisible”. Following the MIP maps is vertex painting. This makes the water have its greenish-blue color, which looks brighter when the player is above the surface while the color is darker and more saturated when they are submerged. The final piece of the water physics puzzle is the motion of the water. The use of an undulating water surface model is what causes the water to roll rather than remain a flat surface.
But what does all of that mean when you put it all together? Indie developer Rob of RAWTalent93 noted, “This method is genius, because it’s light enough on system resources to be used all over the game without dropping the framerate or showing any obvious tiling.”