Suggested New Lesson Idea: Make a World Generator That Uses Biomes

#1
Name of the lesson: Make a World Generator That Uses Biomes
Estimated length of the lesson (How many sessions? How many hours each?): 2-3 sessions of 4 hours each should be enough
Target audience (age range): Teenagers
Programming aspects taught: Figuring out how code works by reading it
Required skill: Coding in Java, basic world generation experience from the other World Generator lessons

1. Describe your lesson as specific as possible.
This lesson involves creating a world generator which uses at least 3 different biomes as part of the generation algorithm. It would act as another lesson in the existing world generation lesson chain. Beyond the requirement to use 3 biomes, students would be able to do whatever they want with their generator.

2. What will your student learn?
Because the tutorial on creating a world generator does not currently cover biomes, students would have to learn by looking at other modules' implementations. Students would be pointed to other modules which make use of biomes, such as PolyWorld and Perlin. This would help students to learn how to reverse-engineer code and understand its purpose without outright copying it. They will also obviously learn how to create a Terasology world generator with biomes.

3. How can they apply the knowledge they learn from this lesson?
Students will be able to apply the knowledge of understanding code by reading it in many places. It is a useful skill to have when working with code that isn't fully documented, and sometimes even code that is. Students could also go on to create more expansive world generators with the knowledge of biomes they gain from this lesson.

4. What is the evaluation assignment for the lesson? (Like exam, but fun! Preferably a team project)
Students will add their generator to the AdditionalWorlds module and submit a pull request. As mentioned above, the generator they create must have at least 3 biomes. They should also be distinguishable in some obvious way, such as different plants, different materials making up the ground, etc.

5. Assuming you are a prospective student, which aspect of the lesson will make you want to do the lesson?
The end product, of course! Having a functional, fully customized world generator is really cool to explore and look at.