Commit Graph

199 Commits

Author SHA1 Message Date
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
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