Commit Graph

271 Commits

Author SHA1 Message Date
Joshua Barretto
768e1c0d31 Merge branch 'aweinstock/site2dungeon' into 'master'
Convert dungeons to site2.

See merge request veloren/veloren!2499
2021-06-25 23:06:24 +00:00
Avi Weinstock
19979413d5 Convert dungeon lights to CSG, tweak pillars, convert the magic circle from lava to glowing rock, make enemies spawn in dungeons, and fix clippy warnings. 2021-06-24 23:03:24 -04:00
Sam
ed503236d6 Slightly functional sprite summon. 2021-06-23 22:38:16 -05:00
Avi Weinstock
c6bb61f2e6 Add Primitive::Prefab and Fill::Prefab for coloring dungeon entrances. 2021-06-23 23:22:14 -04:00
Avi Weinstock
f1a1160b80 Make lava solid w.r.t. rendering while still being liquid w.r.t. physics. 2021-06-19 16:52:21 -04:00
Avi Weinstock
2226a4c6a9 Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA in the shaders, and only looks good with cheap fluid mode. 2021-06-19 16:31:21 -04:00
juliancoffee
288a7a020b Proof of concept non-explodable sprites 2021-06-18 13:10:27 +03:00
Monty
c17e3ad996 Cactus Colada
Made cacti lootable
Cactus colada recipe and item
price balance
fmt

 "make it 8 and drop it to 20 or 25? Not really sure tbh"
2021-06-13 13:52:56 +02:00
jshipsey
4deeb42155 cave adjustments 2021-06-07 11:02:34 +02:00
jshipsey
9034d0f25d comment addressing, cave tweaks 2021-06-07 11:01:46 +02:00
jshipsey
7a573efab7 proper recipes, tanning racks, various fixes 2021-06-07 11:00:14 +02:00
jshipsey
05de96c94b ore deposits, flower drops 2021-06-07 10:59:50 +02:00
jshipsey
1c17d8fe5e cave changes 2021-06-07 10:59:44 +02:00
jshipsey
754b60d810 crafting stations 2021-06-07 10:59:35 +02:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Avi Weinstock
3684cf0454 Fix economy data not properly being used to price trades, resulting in default prices being applied at most towns.
Also add an exporter from econsim results to sqlite to aid in debugging the economy (which revealed this bug).
2021-05-28 15:09:29 -04:00
juliancoffee
940655dcb6 Adding different chests for each dungeon 2021-05-24 23:00:44 +03:00
Joshua Yanovski
3869cdf1d2 Don't remesh chunk vertex data on sprite update.
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.

This happens, for instance, when picking up a sprite like an apple or
flower from the environment.  We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
2021-05-11 12:58:15 -07:00
juliancoffee
735e8ab4ec Extract common/src/assets.rs to own crate
This gives us ability to use assets-related code in i18n without
depending on whole veloren-common
2021-05-09 13:12:26 +03:00
DaforLynx
2e0272ce28 Town music 2021-04-28 05:07:59 +00:00
Joshua Barretto
68004bc39c Made cooking pots glow 2021-04-20 15:39:46 +01:00
Monty
86445af09c change cauldron spawning
cooking pot height
fmt
fmt, changelog
2021-04-20 02:48:13 +02:00
Monty
a4d56e7843 more sprite stuff and crafting UI update
fix item images
fix CR display
2021-04-20 02:46:06 +02:00
Monty
a1fe7c12c3 fmt, add sprites 2021-04-20 02:46:04 +02:00
James Melkonian
16871208f2 Add topographic option to map 2021-04-06 09:16:17 -07:00
James Melkonian
8ee1fc4a0f Add layers to minimap 2021-04-06 08:42:08 -07:00
James Melkonian
bacda06dba Added map layers 2021-04-06 08:42:07 -07:00
James Melkonian
70ede7f34d Topographic map 2021-04-06 08:42:06 -07:00
Sam
27f178286d Removed all rng matches in code to determine loot tables, and moved to loot tables specific for each sprite, creature, or dungeon. 2021-04-02 23:24:55 -04:00
Joshua Barretto
bed863c50c Added indicator text to terrain sprites 2021-03-30 01:04:23 +01:00
Joshua Barretto
6ea5aa796b Faster pick, less vibrant block selection 2021-03-21 20:38:08 +00:00
Joshua Barretto
347e1022a0 Initial implementation of pickaxe 2021-03-21 16:09:16 +00:00
Christof Petig
15b11d9154 Implement /price_list (work in progress), stub for /buy and /sell
remove outdated economic simulation code

remove old values, document

add natural resources to economy

Remove NaturalResources from Place (now in Economy)

find closest site to each chunk

implement natural resources (the distance scale is wrong)

cargo fmt

working distance calculation

this collection of natural resources seem to make sense, too much Wheat though

use natural resources and controlled area to replenish goods

increase the amount of chunks controlled by one guard to 50

add new professions and goods to the list

implement multiple products per worker

remove the old code and rename the new code to the previous name

correctly determine which goods guards will give you access to

correctly estimate the amount of natural resources controlled

adapt to new server API

instrument tooltips

Now I just need to figure out how to store a (reference to) a closure

closures for tooltip content generation

pass site/cave id to the client

Add economic information to the client structure
(not yet exchanged with the server)

Send SiteId to the client, prepare messages for economy request
Make client::sites a HashMap

Specialize the Crafter into Brewer,Bladesmith and Blacksmith

working server request for economic info from within tooltip

fully operational economic tooltips
I need to fix the id clash between caves and towns though

fix overlapping ids between caves and sites

display stock amount

correctly handle invalid (cave) ids in the request

some initial balancing, turn off most info logging

less intrusive way of implementing the dynamic tool tips in map

further tooltip cleanup

further cleanup, dynamic tooltip not fully working as intended

correctly working tooltip visibility logic

cleanup, display labor value

separate economy info request in a separate translation unit

display values as well

nicer display format for economy

add last_exports and coin to the new economy

do not allocate natural resources to Dungeons (making town so much larger)

balancing attempt

print town size statistics

cargo fmt (dead code)

resource tweaks, csv debugging

output a more interesting town (and then all sites)

fix the labor value logic (now we have meaningful prices)

load professions from ron (WIP)

use assets manager in economy

loading professions works

use professions from ron file

fix Labor debug logic

count chunks per type separately
(preparing for better resource control)

better structured resource data

traders, more professions (WIP)

fix exception when starting the simulation

fix replenish function
TODO:
- use area_ratio for resource usage (chunks should be added to stock, ratio on usage?)
- fix trading

documentation clean up

fix merge artifact

Revise trader mechanic

start Coin with a reasonable default

remove the outdated economy code

preserve documentation from removed old structure

output neighboring sites (preparation)

pass list of neighbors to economy

add trade structures

trading stub

Description of purpose by zesterer on Discord

remember prices (needed for planning)

avoid growing the order vector unboundedly

into_iter doesn't clear the Vec, so clear it manually

use drain to process Vecs, avoid clone

fix the test server

implement a test stub (I need to get it faster than 30 seconds to be more useful)

enable info output in test

debug missing and extra goods

use the same logging extension as water, activate feature

update dependencies

determine good prices, good exchange goods

a working set of revisions

a cozy world which economy tests in 2s

first order planning version

fun with package version

buy according to value/priority, not missing amount

introduce min price constant, fix order priority

in depth debugging

with a correct sign the trading plans start to make sense

move the trade planning to a separate function

rename new function

reorganize code into subroutines (much cleaner)

each trading step now has its own function

cut down the number of debugging output

introduce RoadSecurity and Transportation

transport capacity bookkeeping

only plan to pay with valuable goods, you can no longer stockpile unused options
(which interestingly shows a huge impact, to be investigated)

Coin is now listed as a payment (although not used)

proper transportation estimation (although 0)

remove more left overs uncovered by viewing the code in a merge request

use the old default values, handle non-pileable stocks directly before increasing it
(as economy is based on last year's products)

don't order the missing good multiple times
also it uses coin to buy things!

fix warnings and use the transportation from stock again

cargo fmt

prepare evaluation of trade

don't count transportation multiple times

fix merge artifact

operational trade planning
trade itself is still misleading

make clippy happy

clean up

correct labor ratio of merchants (no need to multiply with amount produced)

incomplete merchant labor_value computation

correct last commit

make economy of scale more explicit

make clippy happy (and code cleaner)

more merchant tweaks (more pop=better)

beginning of real trading code

revert the update of dependencies

remove stale comments/unused code

trading implementation complete (but untested)

something is still strange ...

fix sign in trading

another sign fix

some bugfixes and plenty of debugging code

another bug fixed, more to go

fix another invariant (rounding will lead to very small negative value)

introduce Terrain and Territory

fix merge mistakes
2021-03-14 03:18:32 +00:00
Imbris
0127832172 Fix tracy not working in certain areas, add span to chunk gen, missing fmt, remove extra span, make voxygen use INFO level instead of TRACE in tracy mode 2021-03-13 13:30:20 -05:00
Imbris
8d0b776f18 Move server-cli commands to separate file, tracy profiling par_join improvements, misc improvements
- remove overwritten logging setting in server-cli
- add server-cli command to load a random area for testing without a client
- make admin add/remove commands modify ingame players instead of needing to reconnect
- add spans to par_join jobs
- added test command that loads up an area of the world
- add tracy-world-server alias
- set debug directives to info for logging
2021-03-13 02:28:59 -05:00
Joshua Barretto
6274987fa6 Fixed snow blocking all light 2021-03-07 14:25:01 +00:00
Joshua Barretto
620e2000d2 Experimental cliffs, use column alt for world map 2021-03-07 14:25:01 +00:00
Joshua Barretto
717bbbf23e Better static light propagation between translucent objects 2021-03-07 14:25:01 +00:00
Joshua Barretto
6af0e77efd Better stairs 2021-03-07 14:25:01 +00:00
Joshua Barretto
0c302bb020 Lanterns in trees 2021-03-07 14:25:01 +00:00
Joshua Barretto
6fc7d2a906 Faster More interesting giant trees, better oaks, hives on branches 2021-03-07 14:25:01 +00:00
Joshua Barretto
185b1c3053 Specialised giant trees 2021-03-07 14:25:01 +00:00
Joshua Barretto
7d526da735 Experimental giant mother trees 2021-03-07 14:25:01 +00:00
Joshua Barretto
68b0aa5c50 sync 2021-03-07 14:25:00 +00:00
Joshua Barretto
9cf13ac3b2 Simple coral 2021-03-07 14:25:00 +00:00
Joshua Barretto
6dd0f73c2d Fixed clipping issues, faster generation 2021-03-07 14:25:00 +00:00
Sarra
f39f5ab5d3 added coral reefs, kelp forests, and seagrass 2021-02-25 05:33:18 -05:00
DaforLynx
ebbb06a400 Added crickets blocktype, added 3 new cricket sounds, made crickets chirp consistently, made frogs more sporadic 2021-02-12 00:54:42 +00:00
Snowram
477bdfdfe7 Adresses some comments, various visual tweaks 2021-02-10 00:30:23 +01:00
Snowram
02f446fe4b Adds lights to dungeons 2021-02-10 00:30:23 +01:00
Scott Williams
157e56d8ca Removed Shiny Gem, Added migration to change shiny gems to diamonds. Changed shiny gem recipes to diamonds 2021-01-24 16:40:22 +00:00
Scott Williams
32bbdffc38 Added 6 gems, removed shiny gem from cave, replaced with diamond. 2021-01-24 14:00:49 +00:00
Rotsuoy
994677a4d0 Rotsuoy/savanna grass 2021-01-23 07:46:54 +00:00
Sarra Kitty
e7d852835c Sarrakitty/rotsys item sprites 2021-01-19 18:23:44 +00:00
Ben Wallis
aef2637288 Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
Benoît du Garreau
7b4aa6d4cc cargo fmt 2020-12-17 12:06:22 +01:00
Benoît du Garreau
0cf164f33a Use assets_manager to load assets 2020-12-17 12:06:07 +01:00
jiminycrick
60d5d62eef Switched to hashbrown everywhere 2020-12-17 10:31:35 +01:00
Joshua Barretto
f8c8e342e6 Moved common networking code to common/net, clippy fixes 2020-12-13 17:23:45 +00:00
Monty Marz
f2ba7cc297 add baobabs, fix map difficulty, make mushrooms lootable 2020-12-10 18:06:29 +01:00
Marcel Märtens
ccb01e1898 adjust fmt and clippy after toolchain upgrade 2020-12-10 14:53:01 +01:00
Joshua Barretto
b37be14b86 Added cave mushrooms 2020-12-05 18:00:29 +00:00
Joshua Barretto
26fd40c0e3 Fmt, make clippy happy 2020-11-23 15:39:03 +00:00
Joshua Barretto
765a1ca17b Switched light map iteration order, fire bowls in dungeons 2020-11-23 10:58:21 +00:00
Monty Marz
d069eb9a57 street lamp particles, ground fire bowl, misc fixes 2020-11-23 10:58:21 +00:00
Joshua Barretto
e461fbd951 Make chimneys glow 2020-11-23 10:58:21 +00:00
Joshua Barretto
b539ecf438 More lights, minimised light and glow map data 2020-11-23 10:58:21 +00:00
Joshua Barretto
54989cf4a6 Switched to pure iterator space search 2020-11-23 10:57:57 +00:00
Joshua Barretto
8fd2e4537d Addressed review comments 2020-11-23 10:57:57 +00:00
Joshua Barretto
51d1a2ecff Added glow 2020-11-23 10:57:56 +00:00
Joshua Barretto
7850b0bcaf Added site names, dungeon difficulty, better explosions 2020-11-23 10:57:55 +00:00
Joshua Barretto
de685b00b2 Improved water pathfinding 2020-11-23 10:45:01 +00:00
Joshua Barretto
99a881f349 Added entity simulation to rtsim, reification, assimilation 2020-11-23 10:44:59 +00:00
Joshua Barretto
3ee4245652 Added test poles, minor improvements 2020-11-23 10:37:59 +00:00
jiminycrick
a9711eea01 Beginning to address comments 2020-11-18 13:31:12 -08:00
jiminycrick
a684bc90fd Quadraped footsteps and songs in biomes 2020-11-18 13:31:12 -08:00
jiminycrick
bc1059610b More clippy fixes 2020-11-18 13:31:12 -08:00
jiminycrick
c2a2361c22 Fix rebase 2020-11-18 13:31:12 -08:00
jiminycrick
ea1bc2941b Clippy fixes 2020-11-18 13:31:12 -08:00
jiminycrick
9b759efe41 Snow footsteps 2020-11-18 13:31:12 -08:00
jiminycrick
09a1974974 River water sfx 2020-11-18 13:31:12 -08:00
jiminycrick
c8d79b0b0e Dungeon and cave specific music 2020-11-18 13:31:12 -08:00
jiminycrick
46d3f6f6d2 Initial biome specific music and ambient sound channel 2020-11-18 13:31:11 -08:00
Monty Marz
0e072f72cc frost cleaver
velorite mage set

offsets
armor stats
2020-11-10 21:43:45 +00:00
Joshua Barretto
71718d9c98 Better humidity, better snow trees 2020-11-09 15:06:37 +00:00
Monty Marz
ca932f6c15 easier to get minor potions
increase cost of a minor potion to 4 apples
2020-11-06 01:08:32 +01:00
Monty Marz
2b800a2b63 make clippy happy
Delete glider.ron
2020-10-07 02:23:20 +00:00
Joshua Yanovski
69f68ddf29 Reduce chunks / chonk by trimming the ends.
This improves the defragment operation for chonks by letting them remove
chunks at the top that match above, and bottom that match below.  This
reduces the chunks / chonk from around 5.9 to around 3.4 at origin. From
my investigations, adding something for water would probably get us a
full 50% reduction, if we could collapse intermediate chunks; block
types other than rock / air / water never appear to have full chunks of
the same block, so any additional optimization will require changes to
the subchunk compression format or changes to the actual chunks we
generate.
2020-09-29 19:08:45 +02:00
Joshua Yanovski
7d6aebb316 Fix hacky solution with proper defragmentation.
After generating a chonk, we now find the highest frequency block (in
terms of the number of groups that uniformly consist of that block) and
replace the chunk's default with that one.  We also resort the data in
the process to be in the same order as the original array index.  This
improves our memory savings from 3x to almost 7x, and brings us within a
factor of 3 or so of what I hope a true average will be.

The defragmentation is not totally optimal and can probably be improved
from a performance perspective, but given how much of a hard bottleneck
RAM is this seems worthwhile.  Also, this doesn't suffer from the issues
the previous solution did.
2020-09-28 16:56:26 +02:00
Joshua Yanovski
b9528da8f6 Improve chunk space consumption by a lot.
3x - 5x depending on terrain.  We can do a lot better but this is a good
start.

Also, added chunk group count to metrics.  This correlates with memory
usage specifically by chunk voxel data in a much more direct way than
chonk or chunk count do, so this should provide extra useful information
(especially for our average overhead per chonk / chunk).
2020-09-28 13:35:49 +02:00
Joshua Yanovski
5af5ceb1f9 Address review comments. 2020-09-27 17:06:46 +02:00
Joshua Yanovski
938039a56e Remove spurious uses of Vox.
In the process, also try to address a few edge cases related to block
detection, such as adding back previously solid sprites and removing
filters that may be vestiges of earlier logic.
2020-09-26 16:30:40 +02:00
Joshua Barretto
becb58e305 Stopped all blocks being explodable 2020-09-21 23:47:33 +01:00
Joshua Barretto
0ca42857fa Addressed review issues 2020-09-21 21:10:32 +01:00
Joshua Barretto
49d1b3df6d Improved docs 2020-09-20 11:46:12 +01:00
Joshua Barretto
ece4a01867 Improved representation of Block for better performance, more features, and better backwards-compatibility 2020-09-20 11:46:12 +01:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
Joshua Barretto
032ec9ef41 Added bee hives 2020-09-04 11:48:56 +01:00
Joshua Barretto
88add8456f Added fireflies, reeds near rivers 2020-09-04 11:48:56 +01:00
Joshua Yanovski
8be3648a4d Move sprite data to a config file. 2020-08-28 09:23:43 +02:00