Procedural Generation Tutorial Part 1: Generation