This Week in Veloren 219

5 minute read22 October 2023

Authored by Christof

This week, we enjoy terraced terrain.

- Christof, TWiV editor

Contributor Work

Thanks to last week's contributors @RaulWCosta, @imbris, @Isse, @Sam, @floppy, @zesterer, @crabman, @Christof, @xMAC94x, @jshipsey and @DaforLynx.

The merged work includes faster color mapping, hot re-loading fixes, puddle detail shader fixes, using Beziers for beams, dreadhorn hitbox fixes, fixing a panic on adding dead pets, fixing division by zero, avoiding the pilot duplication, new walking animations, adding items via plugins, moderation improvements, LoD improvements, spawning Dullahans in more remote places, lava sounds, carts and entity joints (tethering) and LoD reflection fixes.

Ongoing (unmerged) work is happening on plugins, weapon precision, barns, worldgen experiments, balancing, dwarven mines, inventory overflow, item merging, phoenix, conversation UI, voxel file renaming, updating WGPU, taverns and blacksmith workshops.

Precision explanation by @Sam

Precision changes criticals to be non-random, and instead based on, well, precision. Only melee, projectile, and beam attacks can benefit from precision. All three can become precise when attacking from behind, or partially precise when attacking from the sides. Melee can also become precise when attacking a poised target, becoming more precise as a target is more poised. Projectile can also become precise when colliding with the head of a target (technically the upper 10% of a body's cylinder). Beam can also become precise when a target is continuously hit, becoming more precise over time.

Server configuration changes by @xMAC94x

There is an upcoming configuration change that requires your action: The setting server/server_config/settings.ron:metrics_address will be moved to server-cli/settings.ron:web_address. So, in case you used this setting, e.g. to collect metrics, you need to adjust the server-cli settings to make this work.

This change went live on Oct 19th with the weekly release.

Part of this change is also providing an API to monitor and moderate chat messages on the game server (Global, Group, Fraction, Direct Messages, everything). This feature isn't enabled on the official server, yet.

But we plan to enable it soon, so be prepared. A dedicated announcement will follow before this gets enabled.

Halloween is coming!

Defining items in plugins by @Christof

This week a long-running development branch was merged which enables definition of new items via plugins. Sadly sending plugins from the server to the client is still missing, so the effect is only local for now.

You can take a look at an example plugin at https://github.com/cpetig/veloren-plugin-canoe . Vox files and similar assets can be directly included in the plugin. But adding new entries to existing RON based manifests is more tricky and requires merging the data, enabling this for all file variants is still worked on.

Please note that for now we avoid making guarantees about plugin backwards compatibility.

A 'weapon' and foot 'armor' defined in a plugin

Other development reports

WGPU recently gained support for WGL / OpenGL 3.3, so for older graphics cards there will soon be an alternative to directX 11 or Vulkan. We plan to release a test binary with a much newer WGPU soon. In this case we skipped eight full releases (0.9 to 0.18) and openGL support had been discontinued ever since Veloren 0.10 switched to WGPU in mid 2021!

Dropping support for directX 11 isn't ideal, so we delayed this transition, but besides much improved support for directX 12 and Vulkan in WGPU 0.18, openGL should re-enable running on even much older cards and directX 11 might eventually get re-implemented again.

An impressive video of a terracotta dungeon walkthrough by @floppy

Barns by @EvgenKot

The new carts outside their comfort zone

The new LoD transition by @zesterer

Taverns by @Isse

Hall of mirrors by @zesterer

Watch your steps!

New geological structures by @zesterer (work in progress)

Everybody waits for swamps to become real. See you next time!