Commit Graph

606 Commits

Author SHA1 Message Date
Joshua Barretto
90de779559 Better LoD variable names 2020-04-25 21:44:23 +01:00
Joshua Barretto
c05f4fe009 Added configurable sprite view distance, minor bug fixes 2020-04-25 21:44:23 +01:00
Joshua Barretto
8bf5709ddf Implemented Treeco's z-only LoD suggestion 2020-04-25 21:44:23 +01:00
Joshua Barretto
5bdc420726 Harbarboofarfoobar 2020-04-25 21:44:23 +01:00
Joshua Barretto
1feae79243 Added reseeding for sites 2020-04-25 21:44:23 +01:00
Joshua Yanovski
44e4aad48d Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-04-25 02:01:04 +02:00
Joshua Barretto
b588be4962 fmt 2020-04-23 22:10:05 +01:00
Joshua Barretto
c0bd0279fc Added sites to the map 2020-04-23 21:59:09 +01:00
Joshua Barretto
8c1fb3255c Downgraded minifb 2020-04-23 20:05:44 +01:00
Joshua Barretto
0a892e488a Updated examples 2020-04-23 18:20:34 +01:00
Joshua Barretto
2a6a19f7ef fmt 2020-04-23 18:19:42 +01:00
Joshua Barretto
06dc96c56b Made paths connect at the ends, removed paths from dungeons 2020-04-23 18:19:42 +01:00
Joshua Barretto
01e2cd2b88 Warning cleanup 2020-04-23 18:19:42 +01:00
Joshua Barretto
840078d2b7 Gave some villagers weapons 2020-04-23 18:19:42 +01:00
Joshua Barretto
982886b3f8 Made players spawn in the nearest town to the centre of the world, delete object.zip 2020-04-23 18:19:41 +01:00
Joshua Barretto
57153a1720 Balanced dungeon spawn rates slightly 2020-04-23 18:19:41 +01:00
Joshua Barretto
cd5e4ef3b7 Better path colour on map, typo fixes 2020-04-23 18:19:41 +01:00
Joshua Barretto
444f2ecb45 Made /waypoint admin-only, MR cleanup 2020-04-23 18:19:41 +01:00
Joshua Barretto
e35dff2f4b Fixed noise on bridges 2020-04-23 18:19:41 +01:00
Joshua Barretto
8d4f1da3a6 Improved path rendering on the map, removed ugly path noise 2020-04-23 18:19:41 +01:00
Joshua Barretto
60bf396e4f Added doors to houses 2020-04-23 18:19:41 +01:00
Joshua Barretto
a65dbc570a Returned to normal world size 2020-04-23 18:19:41 +01:00
Joshua Barretto
514281c837 Made lantern placement on paths more regular 2020-04-23 18:19:41 +01:00
Joshua Barretto
89f99dbcc9 Added lanterns to town streets 2020-04-23 18:19:41 +01:00
Joshua Barretto
628dc7c47e Added waypoints outside of dungeons 2020-04-23 18:19:41 +01:00
Joshua Barretto
431e199731 Added correctly generating world paths, sub-voxel shader noise 2020-04-23 18:19:41 +01:00
Joshua Barretto
431b2ae07b Fixed window mask layering, fmt 2020-04-23 18:19:41 +01:00
Joshua Barretto
77d0292e91 Added windows to buildings and scarecrows 2020-04-23 18:19:41 +01:00
Joshua Barretto
0329b355ef Made civsim paths visible in-game 2020-04-23 18:19:41 +01:00
jshipsey
27dab981d2 town ground color 2020-04-23 18:19:41 +01:00
jshipsey
a89b28e117 adjusted run animation to allow villager walking 2020-04-23 18:19:41 +01:00
Pfauenauge90
9572c2eaad spawn rates 2020-04-23 18:19:41 +01:00
Pfauenauge90
49d61b33c5 turnip 2020-04-23 18:19:41 +01:00
Pfauenauge90
98704a4753 turnip and window blocks 2020-04-23 18:19:41 +01:00
Joshua Barretto
c5efa43fa3 Reduced enemy spawn rate in dungeons, fixed spawning 2020-04-23 18:19:41 +01:00
Joshua Barretto
ca26efea47 Better town spawn rates 2020-04-23 18:19:41 +01:00
Joshua Barretto
4dbb6a631f Reduced enemy spawn rate in dungeons, fixed spawning 2020-04-23 18:19:41 +01:00
Joshua Barretto
708f15915a Agent adjustments, better dungeon stairwells 2020-04-23 18:19:41 +01:00
Joshua Barretto
cf986e75dc Made civsim considerably more deterministic 2020-04-23 18:19:41 +01:00
Joshua Barretto
6448c17110 Fixed sprite AO, overhauled entity spawning, better enemy spawning in dungeons, made agents more skilled at combat 2020-04-23 18:19:41 +01:00
Joshua Barretto
d0641ecbe3 Unblocked tunnels 2020-04-23 18:19:41 +01:00
Joshua Barretto
aee7802d48 Reduced tunnel width 2020-04-23 18:19:41 +01:00
Joshua Barretto
2f96f3e0b9 Removed EntityKind for a second time because Pfau screwed up a rebase 2020-04-23 18:19:41 +01:00
Joshua Barretto
5229bcc8e2 Reduced crop densities 2020-04-23 18:19:41 +01:00
Monty Marz
0fb3a115da Add more crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
7d4443cbcd Fixed screw-up 2020-04-23 18:19:41 +01:00
Joshua Barretto
3541305ff4 Narrower tunnels 2020-04-23 18:19:41 +01:00
Joshua Barretto
e3ebdc56b3 Fixed figure AO (still need to do sprite AO), added more control over NPC spawning, loot in dungeons 2020-04-23 18:19:41 +01:00
Joshua Barretto
3042a09dfd Disabled warping in towns 2020-04-23 18:19:41 +01:00
Joshua Barretto
866fd1992e Fixed bad AO quad flipping in dark places, bosses spawning in dungeon walls, large creatues being uncompromisingly pedantic when trying to path towards targets 2020-04-23 18:19:41 +01:00
Joshua Barretto
fd14223c33 Basic boss spawning in dungeons, better AO 2020-04-23 18:19:41 +01:00
Joshua Barretto
c4879e991d Enabled AO in darkness, better light attenuation 2020-04-23 18:19:41 +01:00
Joshua Barretto
525cba5029 Added dungeon rooms, corridors, mazes 2020-04-23 18:19:41 +01:00
Joshua Barretto
3ffc5a7d87 Added simple dungeon impl 2020-04-23 18:19:41 +01:00
Joshua Barretto
568a8ab87c Increased block rendering altitude range 2020-04-23 18:19:41 +01:00
Joshua Barretto
32d2274caf Better fields 2020-04-23 18:19:41 +01:00
Joshua Barretto
f999edffaa Fixed crop crash issues 2020-04-23 18:19:41 +01:00
Joshua Barretto
a4872c4e8d Added crop terrain sprite generation 2020-04-23 18:19:41 +01:00
Pfauenauge90
4b72a07e22 sprites 2020-04-23 18:19:41 +01:00
Joshua Barretto
a51d214c21 Fixed path irregularities, better bridges 2020-04-23 18:19:41 +01:00
Joshua Barretto
e352858c03 Fixed chimney blockage 2020-04-23 18:19:41 +01:00
Joshua Barretto
5146cc1981 More consistent bridge generation 2020-04-23 18:19:41 +01:00
Joshua Barretto
ea93353042 Fixed chimneys 2020-04-23 18:19:41 +01:00
Joshua Barretto
1b12ab0d29 Experimental house towers, wall/roof refactor 2020-04-23 18:19:41 +01:00
Joshua Barretto
a5ccfe3bc9 Significantly improved house variation 2020-04-23 18:19:41 +01:00
Joshua Barretto
c1945a1445 Added house overhangs, better per-wing generation options 2020-04-23 18:19:41 +01:00
Joshua Barretto
a754b34105 Temporarily removed fire 2020-04-23 18:19:41 +01:00
Joshua Barretto
31b2693b78 Fixed river width determination 2020-04-23 18:19:41 +01:00
Joshua Barretto
d3bf856c33 Improvements to town generation 2020-04-23 18:19:41 +01:00
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
8499143f77 Basic town house generation 2020-04-23 18:19:40 +01:00
Pfauenauge90
fd3ffdf28b pizza sprite 2020-04-23 18:19:40 +01:00
Pfauenauge
67f27ef970 ember sprite 2020-04-23 18:19:40 +01:00
Joshua Barretto
15971f0def Refactored town generation code 2020-04-23 18:19:40 +01:00
Joshua Barretto
c3e5b3057f Significantly better house generation 2020-04-23 18:19:40 +01:00
Joshua Barretto
b0f9ef5f30 Added skeleton house generation 2020-04-23 18:19:40 +01:00
Joshua Barretto
4830757bc9 Began adding building skeleton structure 2020-04-23 18:19:40 +01:00
Joshua Barretto
966f96c588 Start of layered settlement generation, better settlement terraingen 2020-04-23 18:19:40 +01:00
Joshua Barretto
9daf20e87e Fixed value rationalisation 2020-04-23 18:19:40 +01:00
Joshua Barretto
71b8cde266 Added trading to new economic model 2020-04-23 18:19:40 +01:00
Joshua Barretto
b3c9122395 Overhauled domestic economy simulation, better debug information 2020-04-23 18:19:40 +01:00
Joshua Barretto
16a175abe0 Nicer water shaders 2020-04-23 18:19:40 +01:00
Joshua Barretto
a0dae82a2b Added correctly allocated labours, fishing 2020-04-23 18:19:40 +01:00
Joshua Barretto
cee1b1f962 Basic trading simulation 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
348003fc1a Better track routing for civsim 2020-04-23 18:19:40 +01:00
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
5d5e8e3238 Added basic wall and tower rendering 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
48fb14116a Town walls, wall towers 2020-04-23 18:19:40 +01:00
Joshua Barretto
20b16d229c Added river obstacle example 2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848 Initial settlement generation work 2020-04-23 18:19:40 +01:00
Joshua Yanovski
1015e60dee More lighting changes. 2020-04-21 18:25:19 +02:00
Joshua Yanovski
80c264abd1 Lighting experiments. 2020-04-13 00:29:59 +02:00
Treeco
542491c48d Fixed leaf lerp doing weird things 2020-04-09 21:03:17 +01:00
Joshua Yanovski
8414987e58 WIP -- lighting changes and soft shadows. 2020-04-09 02:38:40 +02:00
Joshua Yanovski
13388ee6a4 Various fixes (to coloring and to soft shadows). 2020-04-02 20:30:08 +02:00
Joshua Yanovski
fbd084a94a Merge branch 'master' of gitlab.com:veloren/veloren into sharp/map-colors 2020-04-02 18:50:38 +02:00
Songtronix
e64462ad2e Merge branch 'imbris/security' into 'master'
Update deps with security issues

See merge request veloren/veloren!879
2020-04-02 05:47:50 +00:00
Joshua Yanovski
5a089863be Making maps brighter.
This is probably not the right way to do it, but oh well!
2020-04-02 03:17:49 +02:00
Joshua Yanovski
32b2c99109 Horizon mapping and "layered" map generation.
Horizon mapping is a method of shadow mapping specific to height maps.
It can handle any angle between 0 and 90 degrees from the ground, as
long as know the horizontal direction in advance, by remembering only a
single angle (the "horizon angle" of the shadow map).  More is explained
in common/src/msg/server.rs.  We also remember the approximate height of
the largest occluder, to try to be able to generate soft shadows and
create a vertical position where the shadows can't go higher.

Additionally, map generation has been reworked.  Instead of computing
everything from explicit samples, we pass in sampling functions that
return exactly what the map generator needs.  This allows us to cleanly
separate the way we sample things like altitudes and colors from the map
generation process.  We exploit this to generate maps *partially* on the
server (with colors and rivers, but not shading).  We can then send the
partially completed map to the client, which can combine it with shadow
information to generate the final map.  This is useful for two reasons:
first, it makes sure the client can apply shadow information by itself,
and second, it lets us pass the unshaded map for use with level of
detail functionality.

For similar reasons, river generation is split
out into its own layer, but for now we opt to still generate rivers on
the server (since the river wire format is more complicated to compress
and may require some extra work to make sure we have enough precision to
draw rivers well enough for LoD).

Finally, the mostly ad-hoc lighting we were performing has been (mostly)
replaced with explicit Phong reflection shading (including specular
highlights).  Regularizing this seems useful and helps clarify the
"meaning" of the various light intensities, and helps us keep a more
physically plausible basis.  However, its interaction with soft shadows
is still imperfect, and it's not yet clear to me what we need to do to
turn this into something useful for LoD.
2020-04-02 02:46:36 +02:00
Imbris
831d7c77a6 Make Asset impls avoid panics when parsing fails 2020-04-01 20:06:15 -04:00
Imbris
5ed77b5054 Fix security 2020-04-01 20:03:15 -04:00
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
timokoesters
6fd3339b75 Make apples great again 2020-03-27 17:51:35 +01:00
Joshua Yanovski
f8926a5737 Merge remote-tracking branch 'origin/master' into sharp/map-colors 2020-03-13 13:32:42 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Joshua Yanovski
a1aee931e7 Adding shadows. 2020-02-21 14:52:17 +01: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
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +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 Barretto
d04a595b3f Made waypoints work, added waypoint spawning 2020-01-26 12:52:28 +00:00
Joshua Barretto
11193a692a Better neutral AI, initial waypoint objects 2020-01-26 12:52:28 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Justin Shipsey
64690279af new mobs
alligators
2020-01-26 00:22:48 +00:00
Monty Marz
b583f60326 35 new ground sprites, UI fixes 2020-01-25 11:14:02 +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
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
133ba29293 Fixing Cargo.lock after rebase. 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
ba043b91a2 Screenshots with F4 in the map, that will have the full resolution of
the displayed map (hopefully).
2020-01-23 18:18:16 +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
5fd8b009a6 Gentler warp, especially for high chunk size. 2020-01-23 18:18:12 +01:00
Joshua Yanovski
8d5a5af2cb Fix overflow issue with basement. 2020-01-23 18:18:12 +01:00