This commit is contained in:
2026-07-19 09:29:54 -06:00
parent bcfadc4800
commit eb0c1721da
+25 -24
View File
@@ -50,7 +50,8 @@ local biomes = {
} }
love.load = function() love.load = function()
map.size = 150 map.size = 500
map.tile_size = 1
map.altitude = heightmap.create(map.size, map.size, 0, 1) map.altitude = heightmap.create(map.size, map.size, 0, 1)
map.temperature = heightmap.create(map.size, map.size, 0, 1) map.temperature = heightmap.create(map.size, map.size, 0, 1)
map.humidity = heightmap.create(map.size, map.size, 0, 1) map.humidity = heightmap.create(map.size, map.size, 0, 1)
@@ -86,7 +87,7 @@ love.load = function()
end end
-- planetizer! -- planetizer!
map.terrain = {} map.terrain = {w = map.size, h = map.size}
local radius = (map.size / 2)^2 local radius = (map.size / 2)^2
for x = 0, map.size do for x = 0, map.size do
map.terrain[x] = {} map.terrain[x] = {}
@@ -110,37 +111,37 @@ love.load = function()
end end
end end
local camera = {
x = 0, y = 0,
speed = 500,
}
love.update = function(dt) love.update = function(dt)
lovebird.update() lovebird.update()
if love.keyboard.isDown("w") then
camera.y = camera.y - camera.speed * dt
end
if love.keyboard.isDown("s") then
camera.y = camera.y + camera.speed * dt
end
if love.keyboard.isDown("a") then
camera.x = camera.x - camera.speed * dt
end
if love.keyboard.isDown("d") then
camera.x = camera.x + camera.speed * dt
end
end end
local window_width, window_height = love.graphics.getDimensions()
love.draw = function() love.draw = function()
local tile_size = 2 love.graphics.translate(window_width / 2 - (map.size * map.tile_size) / 2 - camera.x, window_height / 2 - (map.size * map.tile_size) / 2 - camera.y)
for x = 0, map.altitude.w do for x = 0, map.size do
for y = 0, map.altitude.h do for y = 0, map.size do
-- raw heightmap
local value = map.altitude[x][y]
if value then
love.graphics.setColor(value, value, value, 1)
love.graphics.rectangle("fill", x * tile_size, y * tile_size, tile_size, tile_size)
end
-- temperature map
local value = map.temperature[x][y]
love.graphics.setColor(value, 0, 0, 1)
love.graphics.rectangle("fill", map.size * tile_size + x * tile_size, y * tile_size, tile_size, tile_size)
-- humidity map
local value = map.humidity[x][y]
love.graphics.setColor(0, 0, value, 1)
love.graphics.rectangle("fill", x * tile_size, map.size * tile_size + y * tile_size, tile_size, tile_size)
-- "naive" biomed map
local value = map.terrain[x][y] local value = map.terrain[x][y]
if value then if value then
love.graphics.setColor(value) love.graphics.setColor(value)
love.graphics.rectangle("fill", map.size * tile_size + x * tile_size, map.size * tile_size + y * tile_size, tile_size, tile_size) love.graphics.rectangle("fill", x * map.tile_size, y * map.tile_size, map.tile_size, map.tile_size)
end end
end end
end end