2020-06-11 00:32:25 -04:00
|
|
|
extends Node2D
|
2019-11-29 11:05:56 -05:00
|
|
|
|
2019-11-29 14:24:25 -05:00
|
|
|
var noise: OpenSimplexNoise
|
2019-11-29 11:05:56 -05:00
|
|
|
var map_size = Vector2(80, 60)
|
2019-11-29 12:55:48 -05:00
|
|
|
var terrian_cap = 0.3
|
2019-11-29 11:05:56 -05:00
|
|
|
|
|
|
|
func _ready():
|
2019-11-29 14:24:25 -05:00
|
|
|
|
2019-11-29 11:05:56 -05:00
|
|
|
randomize()
|
|
|
|
noise = OpenSimplexNoise.new()
|
|
|
|
noise.seed = randi()
|
|
|
|
noise.octaves = 1.5
|
|
|
|
noise.period = 12
|
|
|
|
|
|
|
|
make_terrian_map()
|
2019-11-29 12:55:48 -05:00
|
|
|
make_water()
|
2019-11-29 11:05:56 -05:00
|
|
|
|
|
|
|
func make_terrian_map():
|
|
|
|
for x in map_size.x:
|
|
|
|
for y in map_size.y:
|
|
|
|
var a = noise.get_noise_2d(x, y)
|
2019-11-29 12:55:48 -05:00
|
|
|
if a < terrian_cap:
|
2020-06-11 00:32:25 -04:00
|
|
|
$terrian.set_cell(x, y, 0)
|
2019-11-29 11:05:56 -05:00
|
|
|
|
2020-06-11 00:32:25 -04:00
|
|
|
$terrian.update_bitmask_region(Vector2(0.0, 0.0), Vector2(map_size.x, map_size.y))
|
2019-11-29 12:55:48 -05:00
|
|
|
|
|
|
|
func make_water():
|
|
|
|
for x in map_size.x:
|
|
|
|
for y in map_size.y:
|
2020-06-11 00:32:25 -04:00
|
|
|
if $terrian.get_cell(x, y):
|
|
|
|
$water.set_cell(x, y, 0)
|
2019-11-29 12:55:48 -05:00
|
|
|
|
2020-06-11 00:32:25 -04:00
|
|
|
$water.update_bitmask_region(Vector2(0.0, 0.0), Vector2(map_size.x, map_size.y))
|