54 Commits

Author SHA1 Message Date
60e0e213a0
refactor: tests with Catch2, consolidate test cases and improve structure
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-06 11:28:11 +08:00
516f545cd7
feat: add tile_segment_intersection function and update tiles_on_segment to use array
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-06 10:51:18 +08:00
3ac663714f
feat: add tile geometry utilities and enhance Vec2 class with additional methods
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-05 17:38:02 +08:00
0edb71385f
feat: implement TickSystem for managing world ticks and initialize World constructor
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-05 16:09:37 +08:00
998668802f
feat: add System and SystemRegistry classes for managing systems in the game engine
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-05 16:09:22 +08:00
95422cff7a
fix: prevent GenerationConfig from being copied in TerrainGenerator
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-05 16:07:37 +08:00
b6b585b700
feat: add core library and implement device and room components
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-05 13:16:57 +08:00
f8a2b0c9eb
feat: implement Vec2 class with basic operations and tests
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 16:18:56 +08:00
e1d3725b87
feat: add requires clause for totally ordered keys in SmallMap
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 16:18:27 +08:00
8d0a6ca6f5
feat: remove reference to dev.md from copilot instructions
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 16:18:12 +08:00
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
b40c19ddc7
feat: add SmallMap implementation and associated tests
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 14:46:34 +08:00
280aff5465
feat: reorganize CMake configuration and add third-party library setup for Asio and EnTT
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-04 14:05:00 +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
6379c42c6f
feat: add coal generation pass to documentation
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 21:50:21 +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
7735da6e85
docs: update copilot instructions for clarity and conciseness
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 17:04:34 +08:00
a241b9b9bf
docs: update developer guide with new generation pass instructions and examples
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 15:35:29 +08:00
5ea6d46a9f
refactor: re-organize tilemap library structure
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 15:22:33 +08:00
d69a13d58a
fix: deepwater generation near boundary
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 15:00:24 +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
6a3f23f989
chore: update clang-format
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 11:34:24 +08:00
45836dc897
fix: mountain smoothing logic
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 11:10:03 +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
7f147a1293
chore: update formatting penalties in .clang-format and clean up .gitignore; remove outdated testing and validation sections from developer guide
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-03 01:03:22 +08:00
2c9f25256d
docs: add developer guide for tilemap library and reduce api doc
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 22:28:00 +08:00
10ef94302c
refactor: split each pass to a seperate source file
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 19:12: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
2133af991a
feat: update mountain smoothing configuration and refactor iteration parameters for clarity
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 18:18:15 +08:00
cc14331326
feat: implement mountain smoothing pass with cellular automata and small mountain removal
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 17:17:21 +08:00
c5c62000a2
feat: add SmoothenMountainsPass for terrain smoothing and enhance TileMap with boundary and neighbor methods
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 16:41:50 +08:00
6a79e7b0a5
feat: add hole filling pass to terrain generation for improved terrain continuity
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 14:19:03 +08:00
937091a40e
feat: refactor terrain generation into modular pass-based architecture with biome and base tile type generation passes
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 10:01:14 +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
7718d3fbf4
feat: add biome properties for temperature, humidity, and ocean status
Signed-off-by: szdytom <szdytom@qq.com>
2025-08-02 09:16:41 +08:00
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