Joshua Barretto
c1514fc37b
Added initial civ generation
2020-04-23 18:19:40 +01:00
Joshua Barretto
41b77a9b10
Removed old settlement code, removed zcache from dependency of site generators for forward compatibility
2020-04-23 18:19:40 +01:00
Joshua Barretto
1c6a6cd6cf
Moved settlement code to site directory, removed old town generation code
2020-04-23 18:19:40 +01:00
Joshua Barretto
9dc46c490e
Better town walls, made settlements avoid rivers
2020-04-23 18:19:40 +01:00
Joshua Barretto
085a115e2b
Began work on post-generation town rendering, fixed overflow bug on large maps
2020-04-23 18:19:40 +01:00
Joshua Barretto
0021bd6452
Added new settlement generation to world, basic rendering
2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848
Initial settlement generation work
2020-04-23 18:19:40 +01:00
Imbris
5ed77b5054
Fix security
2020-04-01 20:03:15 -04:00
Marcel Märtens
8f5e409ac4
update toolchain to
2020-02-09 22:58:01 +01:00
Monty Marz
93d7c67cdc
Hack to allow minimap rotation.
...
Currently it just always rotates towards the camera, but it wouldn't be
hard to create a config option that swaps out the rotation of the
indicator and the map.
2020-02-06 17:34:32 +00:00
Marcel Märtens
dae31ae5b6
apply new rustfmt - touching alot of files
2020-02-01 21:39:39 +01:00
Marcel Märtens
dd21235ff8
Apply prefixes to veloren source, espacially comments, so that reformating wont make it unreadable,
...
especially enumerations and other source code in errosions file
2020-02-01 21:37:36 +01:00
Joshua Yanovski
6d5e42f10b
Better is_underwater() check.
...
Takes rivers into account somewhat, and doesn't take up extra space in
SimChunk.
2020-01-26 16:18:51 +01:00
Joshua Barretto
4f0d27690c
Patched waypoint spawning
2020-01-26 14:27:11 +00:00
Joshua Barretto
6e2784ba0e
Convert to chunk positions for downhill
2020-01-26 13:21:33 +00:00
Joshua Barretto
a4573f6fb2
Use .downhill for waypoint generation
2020-01-26 13:05:28 +00:00
Joshua Barretto
631124f3fc
Switched to _squared(), added comments, parallelised waypoint gen
2020-01-26 12:52:32 +00:00
Joshua Barretto
723b578378
Improved pet aggression system, made waypoints rarer
2020-01-26 12:52:32 +00:00
Joshua Barretto
7437c18b99
Various bug fixes
2020-01-26 12:52:32 +00:00
Joshua Barretto
8c7e96e313
Improved waypoint spawn locations, scaled down pathfinding cost
2020-01-26 12:52:32 +00:00
Joshua Yanovski
02f9c9490b
Addressing MR comments.
2020-01-24 03:45:29 +01:00
Joshua Yanovski
2908843448
Erosion cleanup, part 3.
...
Covers world/src/sim/erosion.rs.
2020-01-23 18:18:18 +01:00
Joshua Yanovski
64d19a80e3
Make changing Alt/Compute to f32 work again.
2020-01-23 18:18:18 +01:00
Joshua Yanovski
756cc0aab4
Erosion cleanup, part 2.
...
Covers all remaining files touched by MR except
world/src/sim/erosion.rs.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
55a96bce09
Minor fix to map generation.
...
Also fixes some typos and makes formatting easier for changes needed to
produce large maps.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
49e7e55cd6
Fix warnings in examples and benchmarks.
2020-01-23 18:18:16 +01:00
Joshua Yanovski
1d6d0ea03d
Fix all warnings.
2020-01-23 18:18:16 +01:00
Joshua Yanovski
ccd85e8907
Fixes to enable loading (relatively) large maps.
...
With these changes, we can successfully open, map, and play maps thare
are 16x the size of a standard (1024 x 1024 chunk) map, 4x larger in
each direction.
2020-01-23 18:18:16 +01:00
Joshua Yanovski
d54f22c9fa
Add a default world map.
...
Also adds map versioning, proper scaling, and updates sediment
rendering. It also tones down warp.
2020-01-23 18:18:15 +01:00
Joshua Yanovski
1358f1dffa
Changes to worldgen, adding more sedmient etc.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
ebe0d14eab
Send client 3D rendered map.
...
Also shares configurable rendering between map generator and server.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
9ee0cd82d0
Code restructuring for performance.
...
Turned a lot of for loops into for_each loops, which should be easier
for LLVM to optimize currently. Also updated almost all the non-erosion
stuff in WorldGen to run in parallel (and take advantage of the cache,
in the case of TownGen), and hopefully improved performance somewhat for
chunk generation as well.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
53ac7c0eb1
Weight flux twice as much as beforein humidity calculation.
2020-01-23 18:18:13 +01:00
Joshua Yanovski
597bb3c526
Adding many new types of geomorphic laws:
...
- soil production (currently disabled).
- debris flow erosion (combined with regular stream power law).
- flow computation using multiple receivers.
- filling strategy during drainage network calculations.
Also tweaks a variety of other aspects of erosion.
2020-01-23 18:18:12 +01:00
Joshua Yanovski
e91578ffdb
Cargo fmt most things (except erosion.rs).
2020-01-23 18:18:12 +01:00
Joshua Yanovski
d0cfdb34aa
Fix colors on map being transferred to client.
2020-01-23 18:18:11 +01:00
Joshua Yanovski
2b38927345
Fixes for nonstandard chunk and map sizes.
...
Also fixes a longstanding map rendering issue.
2020-01-23 18:18:11 +01:00
Joshua Yanovski
bacc5271d4
Soil production should use ground, not basement, slope.
2020-01-23 18:18:11 +01:00
Joshua Yanovski
ee5d383c46
Map saving, soil production, speedup attempts.
2020-01-23 18:18:10 +01:00
Joshua Yanovski
c92ff34e15
Fix sediment transport, add hack for sediment.
2020-01-23 18:18:09 +01:00
Joshua Yanovski
e71f145b71
Sediment transport, plus many other things.
2020-01-23 18:18:09 +01:00
Joshua Yanovski
067429d13e
Use Worley noise for uplift.
2020-01-23 18:18:09 +01:00
Joshua Yanovski
72287f2041
Implement carving strategy for lake connections.
...
Also fix mapgen slopes and make a much more pleasing world.
2020-01-23 18:18:08 +01:00
Joshua Yanovski
e01bb8a8c9
Render sediment differently.
2020-01-23 18:18:08 +01:00
Joshua Yanovski
cc58101540
Seed elements.
2020-01-23 18:18:08 +01:00
Joshua Yanovski
69a8d5039b
Adding hillslope diffusion.
2020-01-23 18:18:07 +01:00
Joshua Yanovski
825ba1b4f4
WIP fixes: more pleasing uplift generation.
...
Uses the exponential distribution now.
2020-01-23 18:18:07 +01:00
Joshua Yanovski
1b864887e7
Reverting changes except to humidity and temperature
...
noise.
2020-01-23 18:18:07 +01:00
flyingfryingpan
a98d4adc27
forsharp
2020-01-23 18:18:07 +01:00
Piotr Korgól
e1adf40856
Improvement: Replace all '..=b' with '..b + 1'
2020-01-12 15:46:53 +01:00
S Handley
5b65b16594
Prevent NPCs from spawnign underwater
...
This should be set until there are underwater NPC types.
2020-01-08 12:48:00 +00:00
Songtronix
0d919a9dc6
improve(log): adjust verbosity of some logging
...
fix: settings do not log due to logging being initialized to late
2019-12-20 15:45:30 +01:00
Marcel Märtens
72d8f95e8c
please ci toolchain
2019-12-11 15:13:46 +01:00
Joshua Yanovski
8ae2692b6e
Allow canceling chunk generation.
...
Currently we only do this when no players are in range of the chunk. We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.
We now check an atomic flag for every column sample in a chunk. We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-10-16 11:39:41 +00:00
Joshua Barretto
a90ceddde0
Fixed cold near oceans, faster meshing
2019-09-27 12:46:20 +01:00
Joshua Barretto
a6d5b82ef5
Prevented pickups with full inventory
2019-09-26 00:15:07 +01:00
Joshua Barretto
b62830b8b4
Better hills
2019-09-26 00:15:07 +01:00
Joshua Barretto
a432cef263
Better colour correction
2019-09-26 00:15:07 +01:00
Acrimon
1dfbe40731
Made the worldgen noise generators seed from the RNG and got rid of zerocopy.
2019-09-17 16:05:08 +02:00
haslersn
1796c09ca1
common: Rework volume API
...
See the doc comments in `common/src/vol.rs` for more information on
the API itself.
The changes include:
* Consistent `Err`/`Error` naming.
* Types are named `...Error`.
* `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
to an upcoming change where a “map” in the game related sense will
be added.
* Add volume iterators. There are two types of them:
* _Position_ iterators obtained from the trait `IntoPosIterator`
using the method
`fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
which returns an iterator over `Vec3<i32>`.
* _Volume_ iterators obtained from the trait `IntoVolIterator`
using the method
`fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
Those traits will usually be implemented by references to volume
types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
type which usually implements several volume traits, such as `Chunk`).
* _Position_ iterators iterate over the positions valid for that
volume.
* _Volume_ iterators do the same but return not only the position
but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
`Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
* `RasterableVol` represents a volume that is compile-time sized and has
its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
because such a volume can be used with `VolGrid3d`.
* `RectRasterableVol` represents a volume that is compile-time sized at
least in x and y direction and has its lower bound at `(0, 0, z)`.
There's no requirement on he lower bound or size in z direction.
The name `RectRasterableVol` was chosen because such a volume can be
used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Imbris
52d84248ec
Remove all warnings
2019-09-04 19:03:49 -04:00
Joshua Barretto
1176fc4d07
Better loading times
2019-08-31 11:44:52 +01:00
Joshua Barretto
5a677b9c1e
Added modular building generation
2019-08-31 11:44:52 +01:00
Joshua Barretto
f8c5b277e3
Improved mountain slopes and cliffs
2019-08-31 11:44:52 +01:00
Joshua Barretto
fe2ad92201
Initial implementation of towns
2019-08-31 11:44:52 +01:00
Joshua Barretto
d42485238e
Added town road construction
2019-08-31 11:44:52 +01:00
Joshua Barretto
b0293ecce4
Switched to FastNoise
2019-08-31 11:44:52 +01:00
Joshua Barretto
4777921680
Added test generator
2019-08-31 11:44:52 +01:00
Joshua Barretto
75f5419571
Removed dryness
2019-08-31 11:44:52 +01:00
Joshua Yanovski
c02f2a7f9e
Fixes to worldgen and adding a debug command.
...
Humidity and temperature are now indexed to uniform altitude *over land
chunks* (and water chunks adjacent to land) rather than over the whole
range of altitude. This is necessary in order to satisfy the uniformity
conditions of the formula for weighted sum CDF.
Additionally, fixes the computation of whether a tree should be
generated or not. Previously, it was using a source of randomness
scaled to use much less than the full 0-1 range; this has been resolved.
This makes for much nicer and more gradual transitions between densities
and reduces the amount of completely barren landscapes, while also
making forests larger.
Finally, this commit adds a server command, debug_column, which returns
some useful debug information about a column given an x and y
coordinate. This is useful for debugging worldgen.
2019-08-26 11:52:25 +02:00
Joshua Yanovski
958a40b8c0
Fix clean code lints.
2019-08-25 18:17:51 +02:00
Joshua Yanovski
6f12a240de
Chaos doesn't depend on temperature anymore.
...
Also fix some things to use a consistent coordinate system and bump up
tree density and variation around tree density in hopes of creating more
aesthetically pleasing jungles. However, this does change worldgen a
bit, so please make sure you look through it before merging.
2019-08-25 17:49:33 +02:00
jshipsey
f02b571f7f
fmt
2019-08-24 15:32:07 -04:00
Joshua Yanovski
25a02ae6e0
Make humidity ignore ocean chunks.
2019-08-24 21:13:32 +02:00
Joshua Barretto
8635982173
Merge branch 'sharp/jungle' of gitlab.com:veloren/veloren into sharp/jungle
2019-08-23 00:33:33 +01:00
Joshua Barretto
0db797744b
Better snow noise
2019-08-23 00:31:27 +01:00
Joshua Yanovski
f687c591ca
Remove out of date comment.
2019-08-23 01:16:15 +02:00
Joshua Yanovski
b69020b68e
Fine, removing box syntax.
2019-08-23 01:08:47 +02:00
Joshua Yanovski
398c18359d
Addressing concerns, for real.
2019-08-23 00:57:42 +02:00
Joshua Yanovski
2ff192021c
Addressing PR issues.
2019-08-22 23:48:13 +02:00
Joshua Barretto
ba1a146cd5
Better snow, colours, more chaos
2019-08-22 22:25:17 +01:00
Joshua Yanovski
dbeec66b2d
Total chaos.
2019-08-22 21:03:42 +02:00
Joshua Yanovski
5caed42e4f
Fix density computation.
2019-08-22 17:45:47 +02:00
Joshua Yanovski
139933194c
Restore old chaos.
2019-08-22 01:01:13 +02:00
Joshua Yanovski
d174dd99b4
Fixing a few visual issues.
2019-08-21 23:36:43 +02:00
Joshua Yanovski
91ea62a5c9
Get rid of extraneous things.
2019-08-21 20:48:51 +02:00
Joshua Yanovski
05d501632e
Fixing jungle.
2019-08-21 20:41:32 +02:00
Joshua Yanovski
8c644e2bb1
Distribution "fun."
2019-08-20 22:48:22 +02:00
Joshua Yanovski
5919f63516
Fixing visual issues.
2019-08-19 19:20:54 +02:00
Joshua Yanovski
fa35f9932e
Smoothed some things out.
2019-08-19 05:22:39 +02:00
Joshua Yanovski
1c9be67516
Billow tweaks.
2019-08-19 03:41:32 +02:00
Joshua Yanovski
c5ffb232d4
Fixing some colors.
2019-08-19 03:01:11 +02:00
Joshua Yanovski
d8c864cf3a
Making jungles work.
2019-08-19 01:52:26 +02:00
Joshua Yanovski
680b81a5e6
WIP for humidity.
2019-08-18 18:35:27 +02:00
Acrimon
09525bf964
Cleaner solution.
2019-08-19 00:46:24 +02:00
Acrimon
f8d14bdfd5
Ran fmt.
2019-08-19 00:20:56 +02:00
Acrimon
6b59f0bc9a
Fixed seed expansion for noise seeding.
2019-08-19 00:19:51 +02:00
Acrimon
ed4909670d
Use hashbrown instead of fxhashmap in world.
2019-08-11 22:10:36 +02:00
Acrimon
51a4e358dd
Formatted code.
2019-08-11 13:37:04 +02:00
Acrimon
7b8a7a410d
Cleaned up seed generation in worldsim.
2019-08-11 13:37:04 +02:00
Acrimon
00b5a4a58e
Greatly simplified seed expansion.
2019-08-11 13:37:04 +02:00
Acrimon
393ac4610c
Improved worldgen seed expansion
2019-08-11 13:36:14 +02:00
Acrimon
a5b19935a2
Use named generator in worldgen.
2019-07-30 16:10:59 +02:00
Acrimon
ee49ebe807
Update rand, log and scan_fmt
2019-07-29 13:42:26 +00:00
Joshua Barretto
09717f1c56
Added pyramids
2019-07-10 00:51:54 +01:00
Joshua Barretto
92d4b4dfbe
Smoothed world borders
2019-07-09 21:42:27 +01:00
Joshua Barretto
fa28c8a6c6
Made cliff detection more tolerant
2019-07-09 00:31:43 +01:00
Joshua Barretto
cfdb0209bd
Better savannah colours
2019-07-09 00:09:04 +01:00
Joshua Barretto
d79f7d9714
Colour improvements
2019-07-08 22:10:48 +01:00
Joshua Barretto
8e8bad137a
Re-added oceans
2019-07-08 20:08:08 +01:00
Joshua Barretto
14ba09f96b
Added acacia trees, desert bones, fixed minor worldgen issues
2019-07-08 17:41:20 +01:00
Joshua Barretto
f823b0c992
Fixed tree clipping and several other minor issues
2019-07-08 17:00:50 +01:00
Joshua Barretto
c2a11ed6b2
Improved worldgen performance with more precise z bound checks
2019-07-08 15:51:38 +01:00
Joshua Barretto
71f4704502
Restructured mountain profile
2019-07-08 01:49:54 +01:00
Joshua Barretto
c6e24b593e
Rescaled mountains
2019-07-08 00:50:36 +01:00
Joshua Barretto
44b5473a82
Added rare structures, totally refactored structure spawning
2019-07-08 00:50:36 +01:00
Joshua Barretto
29803524fd
Made temperature biomes larger, added savannah ground
2019-07-08 00:50:36 +01:00
Joshua Barretto
6fc2096dae
Reenabled towns, lighter days
2019-07-06 20:00:17 +01:00
Songtronix
863731f3ae
Fix warnings from world
2019-07-01 18:40:41 +00:00
Joshua Barretto
e414b82d2f
fmt
2019-06-26 19:14:12 +01:00
Joshua Barretto
b40d19ad0e
Added settlement generation
2019-06-26 19:14:12 +01:00
Joshua Barretto
f781aca8e9
fmt
2019-06-26 19:14:12 +01:00
Joshua Barretto
216c2583fb
Paths and smoother region borders
2019-06-26 19:14:12 +01:00
Pfauenauge90
b5d529f824
changes restore
2019-06-26 19:14:12 +01:00
Joshua Barretto
b987bda9ce
Stronger shadows, fewer cliffs in oceans
2019-06-26 19:14:12 +01:00
Joshua Barretto
6f1d77648a
Smoother cliffs
2019-06-26 19:14:12 +01:00
Joshua Barretto
d0b38e9875
Worldgen performance improvements, better sun
2019-06-26 19:14:12 +01:00
Joshua Barretto
f3adf6ab5f
Improved mountain rock transition
2019-06-26 19:14:12 +01:00
Joshua Barretto
fffef7c739
Better rivers, rewrote cliffs
2019-06-26 19:14:12 +01:00
Joshua Barretto
1642988615
First attempt at rivers
2019-06-26 19:14:12 +01:00
Joshua Barretto
c86c4d0b2b
fmt
2019-06-26 19:14:12 +01:00
Joshua Barretto
704e65cb41
Attempted rivers
2019-06-26 19:14:12 +01:00
Joshua Barretto
3e56c65e86
Make name generation seed-dependent again
2019-06-26 19:14:12 +01:00
Piotr Korgól
4644199f1b
Make minimap title show location names
2019-06-26 19:14:12 +01:00
Pfauenauge90
ab2c0ad085
mid name parts
2019-06-26 19:14:12 +01:00
Pfauenauge90
60f8a29530
Better sylables, changed generation rules
2019-06-26 19:14:12 +01:00
Joshua Barretto
5e96e29ff1
AO improvements, day/night cycle
2019-06-26 19:14:12 +01:00
Joshua Barretto
451bbe9921
Basic region generation
2019-06-26 19:14:12 +01:00
Joshua Barretto
bab7746a8a
Updated and fixed world viewer example
2019-06-15 13:34:28 +01:00
Joshua Barretto
a9d30bbfb6
Adjusted tree colour variation
2019-06-15 11:36:26 +01:00
Joshua Barretto
29ecb14c45
Added dirt/stone gradient
2019-06-13 11:59:05 +01:00
Joshua Barretto
9fed2c1534
Merged stumps, adjusted scale code
2019-06-13 11:59:05 +01:00
Joshua Barretto
fa8f3a4b49
Tweaked lighting and AO
2019-06-13 11:59:05 +01:00
Joshua Barretto
df2594cbb4
Added more terrain noise, better snow
2019-06-13 11:59:05 +01:00
Joshua Barretto
7f5a0970f1
Crazy cliffs
2019-06-13 11:59:05 +01:00
Joshua Barretto
414b730b59
Reduced peak scale
2019-06-13 11:59:05 +01:00
Joshua Barretto
264b1efdff
Adjusted mountain steepness
2019-06-13 11:59:05 +01:00
Joshua Barretto
f62725135a
Rescaled mountains
2019-06-13 11:59:05 +01:00
Joshua Barretto
e4d5476d28
Major worldgen structural refactor
2019-06-13 11:59:05 +01:00