Commit graph

20 commits

Author SHA1 Message Date
Dan Baker
6c023a60a6 Moves stuff around, made a main menu and scene mgr 2025-07-03 14:08:39 +01:00
Dan Baker
b2e3a3957b Adds several skybox scenes to addon 2025-07-02 16:17:58 +01:00
Dan Baker
a4f409f877 Improves scene lighting and tree collision
Moves light direction to global shader parameter, enabling dynamic light updates.

Adjusts tree collision shape for better player interaction.

Updates default season to summer.
2025-07-01 11:21:28 +01:00
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
95665f54eb Makes wind uniforms global
Changes wind-related shader uniforms to be global.

This allows easier access and modification of these
parameters from other shaders or scripts, improving
the wind effect consistency across the scene.
2025-06-24 09:19:11 +01:00
Dan Baker
c397615e12 Adds VFX and optimizes tile map generation
Adds visual effects, including fire and rain, to the scene.
The VFX are implemented using GPUParticles3D nodes.

Optimizes tile map generation by reducing chunk size and tiles
per frame. This improves performance.

Sets the SubViewport to have a transparent background.
2025-06-23 20:20:54 +01:00
Dan Baker
66ce3ff503 Loads of stuff 2025-06-23 19:39:55 +01:00
Dan Baker
f3af522683 Adds initial test stage
Adds a basic test stage scene with a root node, a grid, and a tilemap layer.
This provides a foundation for creating test levels and environments.
2025-06-19 15:17:11 +01:00
Dan Baker
93f204a868 Adds initial project setup and configuration
Initializes the Godot project with basic configuration files.

This includes:
- EditorConfig for code style consistency.
- Git attributes for line ending normalization.
- Git ignore for Godot specific files.
- A default project icon.
- Initial project settings.
2025-06-19 12:33:09 +01:00
Dan Baker
80028e1941 Initial commit 2025-06-19 12:31:12 +01:00