Commit Graph

165 Commits

Author SHA1 Message Date
Joshua Barretto
68c5612692 Innumerable minor improvements to towns, added bridges, better paths, more house variations, etc. 2020-04-23 18:19:41 +01:00
Joshua Barretto
966f96c588 Start of layered settlement generation, better settlement terraingen 2020-04-23 18:19:40 +01:00
Joshua Barretto
46190aa634 Began work on basic economic simulation 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
0021bd6452 Added new settlement generation to world, basic rendering 2020-04-23 18:19:40 +01:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Joshua Yanovski
3383e991e7 Erosion cleanup, part 1.
Covers all files touched by MR that are not in world/src/sim.
2020-01-23 18:18:17 +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
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
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
5fd8b009a6 Gentler warp, especially for high chunk size. 2020-01-23 18:18:12 +01:00
Joshua Yanovski
ee5d383c46 Map saving, soil production, speedup attempts. 2020-01-23 18:18:10 +01:00
Joshua Yanovski
e71f145b71 Sediment transport, plus many other things. 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
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
28d0afbfb6 wahtevermoresharp 2020-01-23 18:18:07 +01:00
flyingfryingpan
a98d4adc27 forsharp 2020-01-23 18:18:07 +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
6fc6864e7c Better grass colours, made flora more common 2019-10-07 08:49:02 +01:00
Joshua Barretto
b0a1619698 Fixed shadow distance culling 2019-09-26 00:15:07 +01:00
Joshua Barretto
b62830b8b4 Better hills 2019-09-26 00:15:07 +01:00
Joshua Barretto
3979dddbc1 Faster meshing, better AO, colour correction 2019-09-26 00:15:07 +01:00
Joshua Barretto
b6e72b0075 Better warp noise 2019-09-26 00:15:07 +01:00
Joshua Barretto
a9d7cfac0b Added wells 2019-09-26 00:15:07 +01:00
Joshua Barretto
1e9eb3089e Worldgen colour tweaks, better buildings, better warping 2019-09-26 00:15:07 +01: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
5a677b9c1e Added modular building generation 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
4777921680 Added test generator 2019-08-31 11:44:52 +01:00
Joshua Barretto
1fcb4a0313 Added Generator trait, fixed ocean lighting 2019-08-31 11:44:52 +01:00
Joshua Barretto
75f5419571 Removed dryness 2019-08-31 11:44:52 +01:00
Joshua Barretto
4735d3d6da More interesting hills 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 Barretto
0db797744b Better snow noise 2019-08-23 00:31:27 +01:00
Joshua Barretto
b6cfc84810 More interesting terrain chaos 2019-08-23 00:09:14 +01:00
Joshua Barretto
ba1a146cd5 Better snow, colours, more chaos 2019-08-22 22:25:17 +01:00
Joshua Yanovski
40192da977 Closest attempt. 2019-08-22 21:10:04 +02:00
Joshua Yanovski
38443c173c Merge branch 'master' of gitlab.com:veloren/veloren into sharp/jungle 2019-08-22 17:47:10 +02:00
Joshua Yanovski
139933194c Restore old chaos. 2019-08-22 01:01:13 +02:00
Joshua Yanovski
16ad7ba042 Fixing colors. 2019-08-22 00:15:24 +02:00
Joshua Yanovski
d174dd99b4 Fixing a few visual issues. 2019-08-21 23:36:43 +02:00
Joshua Yanovski
bd8a0be0fb Putting back splotchy mud. 2019-08-21 20:59:26 +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
Monty Marz
fade04d44e Pfauenauge/plants grass 2019-08-21 17:22:05 +00:00
Joshua Yanovski
8c644e2bb1 Distribution "fun." 2019-08-20 22:48:22 +02:00
Joshua Barretto
245c9af2e8 Patchier plants, wind swaying 2019-08-20 11:05:01 +01:00
Joshua Yanovski
405f55d725 Smoother blending into sand. 2019-08-19 19:46:47 +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
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
Vechro
71710fb091 Dungeon fixes 2019-08-18 10:33:18 +01:00
Joshua Barretto
e535537106 Added default block kind to structure loading 2019-08-18 10:33:18 +01:00
Vechro
6cf5b99857 Add water-based dungeons 2019-08-18 10:33:18 +01:00
Joshua Barretto
fa6825f13b Better fluid meshing, disabled fluid backface culling and depth buffer writing 2019-08-18 10:33:18 +01:00
Imbris
d99a4f8d39 Lighter 2019-08-15 23:59:09 -04:00
Imbris
be0e0e52a8 Improve colors 2019-08-15 23:59:09 -04:00
Imbris
9dbdd51777 Increase saturation of some colors 2019-08-15 23:56:15 -04:00
Vechro
595f9ac3d2 Add a new dungeon, fixes for existing ones 2019-08-06 12:51:14 +03:00
timokoesters
1227596406 Implement specifier syntax and cleanup 2019-08-06 08:31:48 +02:00
Joshua Barretto
7c6479a1fa More dungeons 2019-08-04 10:09:51 +01:00
Joshua Barretto
f14674ee9a Switched to UnitChooser 2019-08-03 22:15:23 +01:00
Joshua Barretto
8b9a92b30e Added dungeons 2019-08-03 22:15:23 +01:00
Vechro
9c1b93a70a Fix pyramid spawning 2019-07-17 20:18:56 +03:00
Joshua Barretto
9d1575db3f Fixed pyramid biome bug 2019-07-10 12:57:29 +01:00
Joshua Barretto
09717f1c56 Added pyramids 2019-07-10 00:51:54 +01:00
Joshua Barretto
73e9dba153 Smoothed temperate/savannah border 2019-07-09 00:35:59 +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
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
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
Joshua Barretto
61568eac7c Better grass colour 2019-07-06 20:00:17 +01:00
Songtronix
863731f3ae Fix warnings from world 2019-07-01 18:40:41 +00:00
Joshua Barretto
5839990a28 Disabled cities until a later MR 2019-06-26 19:32:26 +01: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
ad2bc635f8 Rewrote sky shaders, added stars 2019-06-26 19:14:12 +01:00
Joshua Barretto
325fa41d7e Grass improvements 2019-06-26 19:14:12 +01:00
Joshua Barretto
46fce696a2 Better path noise, better shadows 2019-06-26 19:14:12 +01:00
Joshua Barretto
41f647e862 Added path colouring 2019-06-26 19:14:12 +01:00
Joshua Barretto
ba4b425e99 Wavy paths 2019-06-26 19:14:12 +01:00
Joshua Barretto
53d5cada93 Better paths 2019-06-26 19:14:12 +01:00
Joshua Barretto
216c2583fb Paths and smoother region borders 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