MODULE: Simplex Noise/Terrain Generation for AGS

Started by vga256, Fri 01/09/2023 22:14:27

Previous topic - Next topic

vga256

This module is a rewrite/port of an excellent Java module for generating Simplex Noise.

Screenshot of demo, with noise generated using 64x64 grid, and 32px by 32px tile sprites


Screenshot of demo, with noise generated using 256x256 grid, and 4px by 4px tile sprites


What is Simplex Noise?
This is a kind of "organized" noise, designed by Ken Perlin. It is most often used for procedurally generating mountainous or underwater terrain in simulation games, but it has many other uses.

What can I do with it?
You can generate "noise maps" which resemble natural terrain like landscapes, oceans, clouds.

How do I use it in my game?
Refer to the demo for an example of 2D noise, drawn as a 2D map over the background using the DrawRectangle function. For games that use tilemaps, like Roguelikes, the general strategy is to produce a 2D noise heightMap, and then translate the heightmap into meaningful tiles.

e.g.
heights of 0.0 to 0.2 are ocean
0.2 to 0.3 is shoreline
0.3 to 0.5 are grasslands
0.5 to 0.7 are foothills
0.7 to 0.9 is mountainous
0.9 to 1.0 is mountain peaks


Update 0.5.2:
- Bug fix: clamp values to -1,+1 after calculation. Necessary due to float rounding inaccuracy.

version 0.5:
- First working version

Downloads:
Demo AGS project
Simplex Noise Module v0.5

SMF spam blocked by CleanTalk