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
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
e71f145b71
Sediment transport, plus many other things.
2020-01-23 18:18:09 +01:00
Imbris
5666f18ded
Add terrain meshing benchmark
2020-01-19 16:02:12 -05: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
soruh
e3bd152d24
update toolchain to nightly-2019-11-04
2019-11-04 18:26:32 +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
Forest
35b9040a6f
Removed now stable feature
2019-10-03 17:28:17 -04:00
Acrimon
772e85fbea
Update lib.rs
2019-10-03 17:19:22 -04:00
Acrimon
e151b81c11
Update lib.rs
2019-10-03 17:19:22 -04:00
Joshua Barretto
8a2dc836d8
Fixed cut-off cliff, optimised structure generation
2019-09-23 16:20:28 +01:00
Joshua Yanovski
9ba64ca57f
Addressing code review.
2019-09-16 15:11:47 +02:00
Joshua Yanovski
2abf7cd016
Fixing more rustfmt errors.
2019-09-16 04:05:36 +02:00
Joshua Yanovski
95b02912b6
Fixing rustfmt.
2019-09-16 04:01:05 +02:00
Joshua Yanovski
b9f545f97c
Fixing previous commit.
2019-09-16 03:54:32 +02:00
Joshua Yanovski
9a4e5e06f2
Fixing previous commit.
2019-09-16 03:51: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
fe2ad92201
Initial implementation of towns
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 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
05d501632e
Fixing jungle.
2019-08-21 20:41:32 +02:00
Joshua Yanovski
8c644e2bb1
Distribution "fun."
2019-08-20 22:48:22 +02:00
Acrimon
a41cf1a83d
Disabled unsafe using lint level.
2019-08-19 14:39:23 +02:00
Joshua Barretto
f0e52e6002
Better reflections and water fog
2019-08-18 10:33:18 +01:00
Joshua Barretto
42237a84e4
Added translucent meshing pass, water reflections
2019-08-18 10:33:18 +01:00
Joshua Barretto
daa9b81c69
Made boss spawning rarer
2019-08-04 10:27:08 +01:00
Joshua Barretto
677c5781ba
Added bosses, improved secret object spawn rates
2019-08-02 20:10:52 +01:00
Joshua Barretto
6ff75dcf0b
Removed NPCs that are outside the VD
2019-08-02 20:10:52 +01:00
Joshua Barretto
b5d10bfb3e
Added worldgen npcs
2019-08-02 20:10:52 +01:00
Joshua Barretto
92d4b4dfbe
Smoothed world borders
2019-07-09 21:42:27 +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
3623871775
Initial implementation of z cache
2019-07-06 20:00:17 +01:00
Songtronix
863731f3ae
Fix warnings from world
2019-07-01 18:40:41 +00:00
Joshua Barretto
f2df3a9d18
Block-hopping fix, better dusk shaders
2019-06-29 22:47:24 +01:00
Joshua Barretto
b40d19ad0e
Added settlement generation
2019-06-26 19:14:12 +01:00
Joshua Barretto
216c2583fb
Paths and smoother region borders
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
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
9fed2c1534
Merged stumps, adjusted scale code
2019-06-13 11:59:05 +01:00
Joshua Barretto
e4d5476d28
Major worldgen structural refactor
2019-06-13 11:59:05 +01:00
Joshua Barretto
3285fc9b88
Added sampler clearing
2019-06-13 11:59:05 +01:00
Joshua Barretto
61dda0ea8c
Separated sampler code from simulation code
2019-06-13 11:59:05 +01:00
Cody
14ac5babd4
Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes.
2019-06-06 14:48:41 +00:00
Joshua Barretto
9a8552d5fb
Added rocks
2019-06-05 20:52:51 +01:00
Joshua Barretto
06201c7353
fmt
2019-06-05 20:52:51 +01:00
Joshua Barretto
92f2d36b0c
Optimised sub-terrain chonk storage, fixed hash chunk bug, altered terrain base
2019-06-05 20:52:51 +01:00
Joshua Barretto
92391883a9
fmt
...
Former-commit-id: 689464ed1009ebfd74769fa113fc7b433ea62bbd
2019-05-25 06:54:47 +01:00
Joshua Barretto
c919f6fc83
Better tree spawning, more trees
...
Former-commit-id: abf4ff8a2eb005c2cd1832f5a3ae7182c4fc31f6
2019-05-25 06:38:40 +01:00
Joshua Barretto
4d73f38e6d
Refactored worldgen sampling, added cache layer
...
Former-commit-id: 3ad5277ed0c871d6678a42629145cb722d4c76c5
2019-05-25 05:51:45 +01:00
Joshua Barretto
857315a27d
Added basic structure generation
...
Former-commit-id: 88a6bf2e18ac4f8f9b560797c8aac82ca318afb0
2019-05-25 05:51:45 +01:00
Joshua Barretto
611b270ded
Improved cache-coherency of world chunk interpolation
...
Former-commit-id: 2f45cf47916970185c65c701dfc63ae838f05734
2019-05-25 05:51:45 +01:00
Joshua Barretto
fc25dc8c7f
fmt
...
Former-commit-id: 1f7bec8da117091b3f2e8f58ce45b9caf1b6c89d
2019-05-21 23:31:38 +01:00
Joshua Barretto
8909a4220f
Added water, beaches, craggs
...
Former-commit-id: 0213bbac23cf01df31896461d0cdda3b0ee708dc
2019-05-21 22:51:41 +01:00
Joshua Barretto
dcd2b4392d
Added rocks, improved hills
...
Former-commit-id: c8f3d8fb550186bd87d0de953098971050fd1e03
2019-05-21 22:51:41 +01:00
Joshua Barretto
feece604be
Restarted worldgen
...
Former-commit-id: e1526ec5f865904f11ab6a1507ecdc1a52acb28d
2019-05-21 22:51:41 +01:00
Joshua Barretto
5118da0e0e
Added rivers, improved mountains
...
Former-commit-id: c1b76c54d2aa8f0616c26b0724fe34c0d80ac4fd
2019-05-21 22:51:41 +01:00
Joshua Barretto
a0dfa3fddc
Added basic mountain/valley worldgen
...
Former-commit-id: 5a45f18fcdf523841ee8433ba2ff0b8765eadf3a
2019-05-21 22:51:41 +01:00
Joshua Barretto
2996e3c8aa
Made the edges of the world be empty
...
Former-commit-id: 51a3315a3b00d28c87c6364d83e32d180f4f8e18
2019-05-21 22:51:41 +01:00
Pfauenauge90
c13206d82d
Basic worldgen
...
Former-commit-id: 3ca0afa95dd1d868a84a41129e889a203e8a7cd9
2019-05-21 22:51:41 +01:00
Joshua Barretto
2548c1c31f
Added worldsim API, ticking
...
Former-commit-id: 50a63e44557c634f2b39ef7a580cdbeec5ed0d70
2019-05-21 22:51:41 +01:00
Joshua Barretto
5b055f54a5
Less noisy worldgen
...
Former-commit-id: f1df6cc5b170db4949e88f11d26b9867056caacd
2019-05-21 22:51:41 +01:00
Joshua Barretto
5b2da36fd0
Added mega worldgen
...
Former-commit-id: f7c88a1d387c282b78ab834dd63e64432b371552
2019-05-21 22:51:41 +01:00
Cody
6b09fd7c53
Pedantic comment and language fixes.
...
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
Joshua Barretto
7174830279
fmt
...
Former-commit-id: 71912bdd2b8f40020153c5696cd5cc1af3f154cc
2019-05-17 18:54:56 +01:00
Joshua Barretto
91184356e7
Added chonks
...
Former-commit-id: a62fb321dbfb7541feaa9de4e641db9887b061fd
2019-05-17 18:44:30 +01:00
Joshua Barretto
5092df0e7f
Improved quadruped origin
...
Former-commit-id: 35a360bf285f2495dda7859cb8d376d5aa16a1af
2019-05-15 17:06:58 +01:00
Joshua Barretto
54cc9e137a
fmt
...
Former-commit-id: b43b7192f7a2dd71da26182ca0c74449867381f3
2019-05-09 18:58:16 +01:00
Joshua Barretto
cf4e02252a
Smartened up terrain generation
...
Former-commit-id: d85448e5171bd27b04530da8e1ca927554136ebf
2019-05-09 18:57:47 +01:00
Joshua Barretto
94fd0b1a22
Fixed running animation, changed movement physics
...
Former-commit-id: 1b4c1f63701668074874aa6efc65f883f29e2cc1
2019-05-09 18:57:47 +01:00
Joshua Barretto
2e3288cc29
Adjusted view distance and worldgen
...
Former-commit-id: 01eeb0e48bcb018111c5f32b6252beb11bccd452
2019-05-09 18:57:47 +01:00
Joshua Barretto
9ebe3c3e6f
Added a delta time cap to avoid missing important physics events
...
Former-commit-id: e9f14ddda0963537ae6593c2dacc6a877f88c824
2019-05-09 18:57:47 +01:00
Forest Anderson
993388e56a
Ran fmt on codebase
...
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
Pfauenauge
d7be49def1
Minimap changes, grass colour adjusted
...
Former-commit-id: 9dd743eb6277c76c0b596592bc8bec4a875038b5
2019-04-25 23:43:32 +02:00
Joshua Barretto
a66cc98a03
Mildly better worldgen
...
Former-commit-id: e8d77b75b164611ccfd144b1d6e6d6c5e396e515
2019-04-25 17:52:11 +01:00
Joshua Barretto
fc8b7e9750
Worked on improving networking and terrain
...
Former-commit-id: e5ce819036a01f274c1c114bcd3b50fa42858703
2019-04-25 17:52:11 +01:00
Joshua Barretto
f210de09df
Added raycasting (needs testing) and basic character terrain collision
...
Former-commit-id: be6bfacfd28e777a64d8157fce129f8072e20b38
2019-04-25 17:52:11 +01:00
Joshua Barretto
f27b5fa975
Added server-side chunk generation
...
Former-commit-id: 72e02f8ec711ec4fac3111b591c4b08086dee4e3
2019-04-14 14:23:43 +01:00
Joshua Barretto
c16a257ae3
Added server-cli, UI tests
...
Former-commit-id: 93bf5b39138920aa7a4a773a8247d716866c4a05
2019-01-30 12:11:34 +00:00
Joshua Barretto
8a37662cf0
Cleaned up codebase, added cursor grab toggle
2019-01-23 22:21:47 +00:00
Joshua Barretto
248577bdef
Added test terrain loading and meshing
2019-01-23 20:01:58 +00:00
Joshua Barretto
41b6672743
Added Terrain type to scene
2019-01-15 15:13:11 +00:00