17 Commits

Author SHA1 Message Date
ad68a23629
feat: tweak tilemap params
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 00:31:49 +08:00
06a60b1a19
feat: Xoroshiro128++ Random Engine
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 00:05:12 +08:00
ebdbf62a19
refactor: Remove const references for position parameters in tile and biome accessors
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 22:58:07 +08:00
416eabd31f
feat: get_biome method for Chunk
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 22:51:41 +08:00
5af0239ab1
refactor: Fix API document for missing paramters in GenerationConfig
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 22:41:41 +08:00
344e475f52
refactor: Simplify sub-chunk handling and improve biome management in Chunk and TerrainGenerator
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 22:39:09 +08:00
31f8e6b385
refactor: Update noise parameters in GenerationConfig for better configurability
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 22:21:39 +08:00
75b362037c
refactor: place y before x
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 21:58:09 +08:00
849b7b2ed9
refactor: Replace hardcoded thresholds with constants in biome determination
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 21:41:15 +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
1289e99fc3
feat: Refactor biome generation and terrain noise handling
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-01 18:47:55 +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