Commit graph

12 commits

Author SHA1 Message Date
Dan Baker
f98773237e Implements tree visibility occlusion system.
Adds tree fading based on camera line of sight.
Trees now fade out when they obstruct the player's view,
improving visibility.

Also includes several fixes:
- Fixes tree distribution.
- Adds a see-through shader.
- Adds camera and occlusion scripts.
2025-07-01 10:32:21 +01:00
Dan Baker
a1efaf6294 Adds basic camp generation and placement
Adds basic camp generation and placement logic to the map generation process.

It attempts to place the camp in a valid location, avoiding paths and water bodies. It also sets the player's spawn point to the center of the generated camp, including some basic camp props like a tent, campfire, and bed.

Additionally, vegetation spawning is now dependent on the `should_spawn_*` methods of the `CellDataResource`, allowing more control over what spawns where.
2025-06-29 14:05:48 +01:00
Dan Baker
3959333534 Adds bushes and flowers to ground tiles
Implements bush and flower spawning on ground tiles based on vegetation density.
Adds new assets for bushes and flowers, and introduces multi-mesh rendering for optimized performance.
Introduces seasonal color variations for vegetation using a shader for bushes and materials for flowers and grass.
Refactors material application into a MaterialManager to handle material assignments over multiple frames.
Moves ground tile scripts into a subfolder.
Adds floating particles to test scene.
2025-06-29 10:58:18 +01:00
Dan Baker
ea5006e8a2 Improves tree and ground tile appearance
Refactors tree spawning and rendering:
- Adds seasonal color variations for trees via scripts.
- Introduces `ColorStorage` to manage tree and grass colors
- Removes unused code from tree spawning logic.
- Adjusts ground tile color for better visual appeal.
- Hides debug text on ground tiles.
2025-06-28 17:21:50 +01:00
Dan Baker
734730beee Much stuff wow 2025-06-27 11:58:59 +01:00
Dan Baker
7255cbdf64 Tree collisions and highlights 2025-06-26 18:28:33 +01:00
Dan Baker
57602adddb Removes unused variable
Removes the unused 'rng' variable from the trees script.
This simplifies the code and reduces unnecessary memory allocation.
2025-06-26 15:27:56 +01:00
Dan Baker
33c525a3c0 Refactors grass and tree spawning for seed consistency
Updates grass and tree spawning to use the parent's RNG,
ensuring consistent random generation based on the seed.

This removes redundant RNG instances and ensures that grass and
trees are generated predictably for a given cell.
2025-06-26 15:26:56 +01:00
Dan Baker
e7337bede6 Access global map data directly 2025-06-26 15:14:40 +01:00
Dan Baker
1dc768ad27 Loads of crap 2025-06-26 14:46:23 +01:00
Dan Baker
b5bf7619e6 Implements procedural ground tile generation
Adds procedural ground tile generation with chunking for improved performance.

Includes:
- Ground tile entity with debug text and cell information
- Grass and tree placement based on cell data
- Ground shader for visual representation
- Chunk loading and unloading system based on player position
2025-06-24 13:14:21 +01:00
Dan Baker
66ce3ff503 Loads of stuff 2025-06-23 19:39:55 +01:00