Commit Graph

217 Commits

Author SHA1 Message Date
flo
fba1976dee site pirate_hideout 2023-08-16 06:59:58 +00:00
flo
b556befe73 coastal_town 2023-07-12 23:02:40 +00:00
Monty Marz
102945b9e7 Dungeon rework initial patch 2023-07-09 20:03:09 +00:00
Tormod G. Hellen
cf002478b8
Optimally place towns.
This gets rid of the arbitrary threshold values for what is and
isn't an acceptable town.
2023-06-09 13:44:01 +02:00
flo
02bba1e343 clifftown rework 2023-06-07 18:45:12 +00:00
Joshua Barretto
dc2afe8236 Merge branch 'floppy_savannah_hut' into 'master'
savannah_hut

See merge request veloren/veloren!3872
2023-06-03 11:54:58 +00:00
flo
22854cbea2 savannah_hut 2023-06-03 11:54:58 +00:00
Tormod G. Hellen
4f2548fe78
Pass SiteKind by reference. 2023-06-02 15:04:16 +02:00
Tormod G. Hellen
1d0329cfa7
Make sure location hint calculation is only done once.
Location hint calculation is expensive and should not be done
in a hot loop.

This is a fixup for 1572a5a759.
2023-06-02 15:04:09 +02:00
Tormod G. Hellen
a2ecd0b403
Replace SquareLocationRestriction with Aabr<i32>.
This is a fixup for 1572a5a759
2023-05-23 01:25:36 +02:00
Tormod G. Hellen
af080016ab
Get rid of the old and clunky loc_suitable_for_site function. 2023-05-22 16:35:12 +02:00
Tormod G. Hellen
a58b589c1a
Consolidate SiteKind impl. 2023-05-22 16:26:30 +02:00
Tormod G. Hellen
2397209b5d
Add proximity test. 2023-05-22 00:58:53 +02:00
Tormod G. Hellen
1572a5a759
Add location hint optimization. 2023-05-22 00:58:53 +02:00
Tormod G. Hellen
057c502218
Factor out town attribute calculation. 2023-05-22 00:58:53 +02:00
flo666
715a0b7b20 rebase 2023-05-13 09:30:50 -04:00
Sam
bd222cb1eb Walls correctly sample and handle cliffs 2023-05-13 09:30:16 -04:00
Sam
76f4db6f70 Tweaked positioning of adlet sites 2023-05-13 09:30:14 -04:00
jshipsey
da3c2369e5 initial setup 2023-05-13 09:30:13 -04:00
Imbris
d29a1ec052 Switch back to 100 attempts for each site, optimization of
find_site_loc, and fix pre-existing bugs.

* In two spots, there were suspicious conversions between chunk positions
  / world positions that I removed. Everything, here should just be in
  chunk positions afaict!
* Optimized by skipping further checks if `in_suitable_loc` is false
  (main optimization (10x speedup for desert city site location finding
  attempts)) as well as only computing `in_suitable_loc` once (minor
  optimization).
2023-05-02 06:12:33 -04:00
Imbris
ddf9e0eaab Address review on !3888 2023-05-01 21:01:50 -04:00
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