19 Commits

Author SHA1 Message Date
47fd291a4b
feat: remove unnecessary include directory from tilemap_demo example
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 16:17:57 +08:00
c13e67899b
feat: better tilemap demo by adding chunk border lines and biome statistics
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 21:51:41 +08:00
afc8d8fa1c
feat: add coal generation
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 21:21:37 +08:00
1354d9c08a
feat: remove unused files & code. rename demo
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 20:20:48 +08:00
fcb71be9e8
feat: Add mineral generation pass
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 17:08:36 +08:00
5ea6d46a9f
refactor: re-organize tilemap library structure
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 15:22:33 +08:00
937a1324eb
feat: add oil generation pass and update related configurations and documentation
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 14:57:36 +08:00
e7b9fd856f
feat: add island smoothing pass and update biome properties for improved terrain generation
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 01:27:56 +08:00
6b9d6c2463
feat: add deepwater generation pass and extend tile types for improved terrain detail
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 18:57:05 +08:00
c7a1beea82
feat: replace std::cout with std::println for consistent output formatting and add timing for map generation
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 09:28:03 +08:00
06a60b1a19
feat: Xoroshiro128++ Random Engine
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 00:05:12 +08:00
75b362037c
refactor: place y before x
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 21:58:09 +08:00
6be8869568
fix: biome demo
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 21:37:23 +08:00
720d1a1c69
feat: Enhance command line interface to support optional chunk size parameter
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 20:46:40 +08:00
4d88ea4a29
feat: Refactor visualization to generate BMP files instead of SVG
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 20:40:36 +08:00
2b5f62da08
feat: Implement uniform distribution mapping for Perlin noise and add comparison demo
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 19:41:11 +08:00
1cb4c19b77
Refactor tilemap examples and enhance biome generation
- Removed dual_noise_demo example as it was deemed unnecessary.
- Added perlin_demo example for visualizing Perlin noise.
- Updated biome_demo to generate SVG visualizations of tilemaps.
- Changed biome properties from thresholds to ratios for better control.
- Modified terrain generation logic to accommodate new biome properties.
- Improved documentation with detailed API and usage examples.

Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 19:25:36 +08:00
0b245e0483
feat: Add dual noise terrain generation demo
- Introduced a new example `dual_noise_demo.cpp` to showcase the base and surface generation system.
- Updated biome properties to include ice thresholds and surface feature parameters.
- Enhanced chunk structure to support biomes for sub-chunks.
- Refactored terrain generation logic to separate base terrain and surface feature generation.
- Improved biome determination logic to include new biomes and their properties.
- Updated tile representation to use enums for base and surface tile types.
- Added detailed analysis of generated terrain and sample tile outputs in the demo.

Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 15:32:36 +08:00
b6656f5023
feat: Add biome-based terrain generation and Perlin noise implementation
- Introduced a new biome system with various biome types and properties.
- Implemented terrain generation using Perlin noise to create diverse landscapes.
- Added examples for basic tilemap generation and biome analysis.
- Created helper functions for displaying tiles and biomes in the console.
- Enhanced the TileMap class to support chunk-based tile management.
- Developed a PerlinNoise class for generating smooth noise patterns.
- Updated generation configuration to include climate parameters for biomes.
- Implemented error handling for out-of-bounds access in TileMap.

Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 14:28:36 +08:00