Commit Graph

246 Commits

Author SHA1 Message Date
Imbris
4becb2c616 Refactor iteration over cardinals for bridges to explicitly check for the cardinal direction instead of using specific indices, performance seems roughly the same. 2023-04-25 01:10:34 -04:00
Imbris
87f042eb45 Lower max attempts for site placement to 15 from 100, to save time in the case of sites that can't easily be placed 2023-04-22 00:13:51 -04:00
Imbris
d18100c87a Add a max cost parameter to the astar algorithm so that it will terminate as exausted if this limit is reached. This is used to optimize site pathfinding by exiting early from finding a novel path if we know it won't be used. 2023-04-21 23:16:24 -04:00
Imbris
ed94c1c1b6 Fix existing bug with all site route costs be computed as 0 2023-04-20 22:22:21 -04:00
Imbris
c0db1310be Fix bug 2023-04-20 21:53:59 -04:00
Imbris
c82e6cfc77 Cleanup, fmt, appease clippy 2023-04-20 21:53:59 -04:00
Imbris
c6f5e8dac2 Add more profiling spans to Server startup related things in order to
visualize where time is being spent. Make `Lod::from_world` use the same
rayon pool as other things during the server startup. Move parallel
iteration up out of structure_gen.par_iter in order to slightly optimize
Lod::from_world (saves a few hundred milliseconds on my machine)
2023-04-20 21:53:59 -04:00
Imbris
92a42ced18 Apply experimental astar2 changes to the original impl 2023-04-20 21:53:59 -04:00
Imbris
d1ca47da41 Remove astar node clustering related code 2023-04-20 21:53:59 -04:00
Imbris
81885fe8e5 Additional optimizations (such as avoiding calling find_path when we know we won't use the result or that it will fail), cleanup of excess notes and commented code, probably other misc optimizations 2023-04-20 21:53:59 -04:00
Imbris
1f5ebbd100 mess (server startup time related experimentation, in particular with
pathfinding between sites)
2023-04-20 21:53:59 -04:00
Joshua Barretto
d8702f128b Variable town sizes 2023-04-13 12:05:16 +01:00
Joshua Barretto
85c572f6e2 Better town layout 2023-04-09 19:25:57 +01:00
Joshua Barretto
e8b489a71a sync 2023-04-09 19:25:53 +01:00
IsseW
9be6c7b527 Pathing between sites. 2023-04-09 19:25:53 +01:00
Joshua Barretto
c856f2625c Added rtsim sites 2023-04-09 19:25:51 +01:00
Thegaming Life
5ddc55be52 replaced CHUNK_SIZE by RECT_SIZE everywhere, and change the use (and remove... 2023-03-06 21:03:35 +00:00
Tormod Gjeitnes Hellen
7164391c40
Refactor the site enemy functions to return iterators. 2023-02-21 17:14:04 +01:00
Tormod Gjeitnes Hellen
5e506a02ef
Change warning level for failing to find site placement to debug. 2023-02-21 17:03:23 +01:00
Tormod Gjeitnes Hellen
0fbe6a67f2
Make castles appear close to towns. 2023-02-21 17:03:22 +01:00
Tormod Gjeitnes Hellen
a0dd527a1d
Refactor proximity checking to be more flexible. 2023-02-21 16:58:54 +01:00
Tormod G. Hellen
90b945e18b
Make castles avoid trees. 2023-02-20 23:24:03 +01:00
Isse
dda54bcb01 small fixes 2022-11-30 15:13:52 +01:00
IsseW
17cd863605 tuning 2022-11-30 15:13:52 +01:00
IsseW
179c6dab8f better flat 2022-11-30 15:13:52 +01:00
IsseW
91ed3c6a84 draw on map 2022-11-30 15:13:52 +01:00
IsseW
78e227d317 short bridges 2022-11-30 15:13:52 +01:00
IsseW
7296843923 simple bridges 2022-11-30 15:13:52 +01:00
Tormod G. Hellen
44f118c437
Get rid of redundant sources of truth on site locations. 2022-11-20 00:57:05 +01:00
flo
698a00bae3 savannah_pit 2022-10-22 19:48:50 +00:00
Joshua Barretto
0a6ac5f5f1 sync 2022-10-09 23:25:40 +02:00
Joshua Barretto
0b5d043d8e Began work on citadel 2022-10-09 23:23:39 +02:00
Joshua Yanovski
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
flo
e882e62c08 seachapel 2022-08-24 21:50:53 +00:00
flo
5dd9991311 DesertCity 2022-08-08 09:58:18 +00:00
Joshua Barretto
2cce44fc36 Began work on caves2 2022-07-15 08:42:56 +01:00
Tormod G. Hellen
08ffcdf5a5 Create temperature requirement for giant tree.
Since the giant tree is currently a leafy tree, it looks a bit out
of place in colder regions where there's otherwise only pine trees.
2022-06-07 00:32:46 +02:00
Tormod G. Hellen
c1335e16fe Remove site size from site suitability function.
This was buggy, in that the requirement was for _any_ chunk
in the site area being suitable as opposed to _all_ chunks
in the site being suitable. This is easy to fix, but we don't
always want to have exactly the same criteria for the center
of a site as for the outskirts of it.

This should fix gnarling forts etc. spawning in the water just
off the shore.
2022-06-07 00:27:37 +02:00
Isse
2050bce77d Water caves 2022-05-15 10:16:53 +00:00
IsseW
9a9302a0b6 Use a seperate rng for peak and biome name gen 2022-05-10 10:24:25 +02:00
Imbris
bed8ae68fe Optimize biome naming floodfill by replacing hashmaps 2022-05-10 03:30:09 -04:00
IsseW
9abbb0e928 naming behind feature and fix addition overflow 2022-05-10 08:03:40 +02:00
flo
3d24b1d635 CliffTowns 2022-03-29 12:52:08 +00:00
ubruntu
6d30f7f748 Bring raiders and guards to site2 towns 2022-03-26 00:29:52 +00:00
Tormod G. Hellen
5f12163e54 Prevent towns being placed in the ocean just off the coast. 2022-03-12 02:45:49 +01:00
Tormod G. Hellen
5e3ef83195 Force incompatible sites further apart. 2022-03-12 02:45:49 +01:00
Tormod G. Hellen
afdb7fe9ea Increase quality of town placements. 2022-03-12 02:45:49 +01:00
Tormod G. Hellen
68072231dc Force towns further apart. 2022-03-12 02:45:49 +01:00
Tormod G. Hellen
031db61c1e Fix bug where chunks outside the map counted as occupied.
This prevented sites from being placed near the edge of the map.
2022-03-12 02:45:43 +01:00
Tormod G. Hellen
5df1ee6382 Prevent castles being assailable from above. 2022-02-22 22:11:01 +01:00
Tormod G. Hellen
609b26ce20 Prevent trees being placed in barren regions. 2022-02-22 21:00:52 +01:00
Tormod G. Hellen
a2d24521ee Prevent things being close that shouldn't. 2022-02-22 21:00:52 +01:00
Tormod G. Hellen
b6b67d367a Prevent close settlements. 2022-02-22 21:00:52 +01:00
Tormod G. Hellen
acce8aefa4 Determine town suitability using log function. 2022-02-22 21:00:52 +01:00
Tormod G. Hellen
22a75332f8 Ensure towns are placed only in viable locations. 2022-02-22 21:00:52 +01:00
Tormod G. Hellen
1ae93ee00e Add more water checks.
Not sure if necessary or just paranoia.
2022-02-22 21:00:52 +01:00
Tormod G. Hellen
339d6f2a3b Refactor for clarity.
This code was a bit hard to read. The name ought to make it easier.
2022-02-22 21:00:52 +01:00
Joshua Barretto
4ef1c92858 Merge branch 'enable_custom_names_for_lakes' into 'master'
enable custom naming bricks for lake biomes

See merge request veloren/veloren!3210
2022-02-20 19:47:23 +00:00
floppy
0d3a0cd1b8 enable custom naming bricks for lake biomes 2022-02-16 20:30:52 +01:00
Joshua Barretto
00b003a23c Enabled site2 towns by default 2022-02-15 19:01:43 +00:00
Sam
c77270b799 Addressed feedback 2022-02-12 20:52:01 -05:00
Sam
cab87658a3 Placement tweaks 2022-02-10 14:58:39 -05:00
Sam
c15fb2b68f Better mugger AI 2022-02-10 14:58:28 -05:00
James Melkonian
3a8a0d9c53 Cavern systems under gnarling fortifications 2022-02-10 14:58:24 -05:00
Sam
90cedfc95d Gnarlings can now make walls. 2022-02-10 14:58:15 -05:00
Sam
b28f6276dd Gnarling dungeons now only generate near forests. 2022-02-10 14:58:09 -05:00
Joshua Barretto
31192c80bc Merge branch 'biome_name_update_and_site&theme_based_naming' into 'master'
biome_name_update_and_site&theme_based_naming

See merge request veloren/veloren!3187
2022-02-10 09:35:47 +00:00
floppy
680a6e477e enable flattening for site2 towns in civ/mod.rs,
to avoid mountain towns spawning underground
2022-02-09 23:28:56 +01:00
floppy
03cb885af4 - add more custom bricks for biomes
- update biome and site names
2022-02-09 08:14:13 +01:00
floppy
33dae9b3b1 -adjust size-threshold for Jungle to fix Jungles not being named.
-set size-threshold for anticipated Swamp sizes
2022-02-04 17:14:38 +01:00
floppy
b85a384d38 -adjust size-threshold for Jungle to fix Jungles not being named. 2022-02-04 16:54:42 +01:00
floppy
b5dfe74d41 -add more biome specific namegen functions
-introduce random choice between engl and custom naming
-add namegen section for site/theme based naming
2022-02-04 15:45:11 +01:00
InfRandomness
54b69e37a5 Implement giant trees in site2 2022-02-02 02:33:37 +00:00
IsseW
0f7f0ace93 Use DHashMap 2022-02-01 01:20:00 +01:00
IsseW
0ba4a3a409 Use DHashSet 2022-02-01 01:07:36 +01:00
Avi Weinstock
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
Joshua Barretto
cb45cea6a0 Merge branch 'fix-dungeon-collision' into 'master'
Fix dungeon collision

See merge request veloren/veloren!3131
2022-01-28 14:07:01 +00:00
threadexception
9822abf9ba Fix dungeon collision 2022-01-28 13:59:49 +01:00
floppy
87ea7a906a more biome namegen bricks 2022-01-26 14:58:48 +01:00
Joshua Barretto
59ac3b1d4f Fixed site2 economies 2022-01-25 16:31:12 +00:00
floppy
d47e06baac - fix Swamp-naming 2022-01-20 21:46:51 +01:00
floppy
8f0ad56d25 change algorithm for biome-naming to weigh chunks evenly 2022-01-20 20:08:59 +01:00
floppy
9f0664c73b civ/mod.rs - replace duplicate code 2022-01-20 16:17:40 +01:00
floppy
ceb3507e50 -remove line breaks from biome names
-disable Wilderness world message in unspecified mini-biomes
-remove duplicate name in Grasslands name pattern
2022-01-18 11:27:55 +01:00
IsseW
40580578a0 Don't add unnecessary biome pois 2022-01-18 10:07:40 +01:00
floppy
4a8c428a3f update/add namegen-bricks for forest and grassland 2022-01-18 08:36:40 +01:00
floppy
1a5c1ae319 length comparison to zero in /civ/mod.rs
warning: length comparison to zero
   --> world/src/civ/mod.rs:482:15
    |
482 |         while to_explore.len() > 0 {
    |               ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!to_explore.is_empty()`
    |
    = note: `#[warn(clippy::len_zero)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero

warning: length comparison to zero
   --> world/src/civ/mod.rs:489:19
    |
489 |             while to_floodfill.len() > 0 {
    |                   ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!to_floodfill.is_empty()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero
2022-01-18 00:41:59 +01:00
floppy
0c97a6e91a add synonyms for biomes 2022-01-17 20:14:16 +01:00
floppy
609d23ae4f - make individual size thresholds for biome name generation to include small lakes
- add original Lake naming pattern, partly (no water_alt check)
2022-01-17 16:02:52 +01:00
floppy
ced1a82824 - add size threshold for biomes to name, to exclude mini-biomes from clogging the map.
- fmt, clippy
2022-01-17 11:19:34 +01:00
floppy
c00f5bafee add fn generate_forest in namegen to name forest biomes 2022-01-17 08:36:35 +01:00
IsseW
5b9f405671 Better placement of poi and actual names 2022-01-16 20:28:53 +01:00
IsseW
f8d94ef25f biome name to chunk name 2022-01-16 18:11:22 +01:00
IsseW
5bd7507f31 Added poi for all biomes 2022-01-16 16:54:49 +01:00
floppy
d5f0ee2fc5 create fn generate_biome in namegen 2022-01-16 16:40:22 +01:00
Joshua Barretto
db741fe4c0 Added waypoints to towns 2021-11-13 17:13:09 +00:00
Joshua Barretto
de087ae992 Added site2 worldgen feature 2021-11-01 22:53:38 +00:00
Joshua Barretto
8e2ca9cdec Added rtsim villagers to site2 towns 2021-11-01 22:19:49 +00:00
Snowram
ee37c8d62d Adds new dungeon entrances 2021-09-04 14:55:55 +02:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00