Infinite Terrain Generation

This project was a year-long endeavor (during 2017) that served as the foundation for my honors thesis for my degree (Bachelor of Engineering with Honours in Software Engineering). I concluded the project with a grade of 92%, and the full report is available here.

The report includes all the background research, decision-making processes, and the methodology that led to the final algorithm used.

Why Is This Project Innovative?

This project produced an algorithm capable of generating theoretically infinite (very large-scale) terrain, limited only by numeric precision. In contrast, other approaches to large-scale terrain generation, as seen in games like Minecraft, No Man’s Sky, and World of Warcraft, require a proportional amount of storage on the computer relative to the amount of terrain generated.

What makes this project unique is that the terrain generation requires zero long-term storage, regardless of how much terrain has been generated. The only storage needed is entirely in memory and is a fixed amount (under 1 GB), regardless of the terrain size.

The core innovative features of this project include:

  • The use of irregular polygons as the base structure for the terrain to avoid obvious patterns
  • Zero long-term storage required on the computer
  • Repeatable results given the same initial numerical seed
  • Theoretical infinite terrain generation in all directions (bounded only by software limits)
  • Inclusion of biomes and other realistic terrain features such as mountains and water bodies

Screenshots

Showing coast lines, and various biome differences

Coast

A gradient mountain around a water bed

Mountains

Mountains with snow

Snow