A new sound management protocol removes all cached sounds that no longer appear in a level, and prevents fragmentation of the sounds array when caching new sounds. This allows for a near-unlimited number of sounds per level.