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
2020-03-06 19:10:27 +01:00
2020-03-08 22:58:38 +01:00
2020-01-23 18:18:15 +01:00
2020-01-23 18:18:16 +01:00
2019-05-17 01:34:07 +00:00
2019-04-22 20:32:40 +02:00
2020-03-08 22:57:02 +01:00
2020-02-09 22:58:01 +01:00
2019-10-04 23:53:10 +00:00

Veloren logo on a screenshot

pipeline status coverage report license discord lines of code

Welcome To Veloren!

Veloren is a multiplayer voxel RPG written in Rust. Veloren takes inspiration from games such as Cube World, Minecraft and Dwarf Fortress. The game is currently under heavy development, but is playable.

Development

Currently the communication of contributors happens mainly on our official Discord server. You can join it to keep up with the development, talk to us or contribute something yourself. Anyone who shows genuine effort to help is welcome in our team. You don't have to know how to program to contribute!

Sign Up - Here you can create an online account for Veloren. This will be needed to play on auth-enabled servers, including the official server.

The Book - A collection of all important information relating to Veloren. It includes information on how to compile Veloren and how to contribute.

Future Plans - Go here for information about Veloren's development roadmap and what we're currently working on.

Official social media and websites

Get Veloren

Currently we provide 64-bit builds for Linux and Windows which can be downloaded on the official website: https://www.veloren.net

Note: Mac and 32-bit systems are supported but you need to compile the game for them yourself.

Due to rapid developement stable versions become outdated fast and might be incompatible with the public server.

If you want to compile Veloren yourself, take a look at the How to Compile Guide in the book.

Packaging status

Fedora

COPR repo: sudo dnf copr enable atim/veloren -y && sudo dnf install veloren -y

Arch

AUR Airshipper: yay -Syu airshipper-git

AUR latest binary release: yay -Syu veloren-bin

AUR latest release: yay -Syu veloren

AUR latest master: yay -Syu veloren-git

F.A.Q.

Q: How is this game licensed?

A: It's free to play, modify and distribute. Forever. Since it is a community project, we decided to license it under the GNU GPL 3.0 license which means it will always stay free and open source.

Q: What platforms are supported?

A: Veloren can run on Windows, Linux and Mac OS on all architectures (although x86_64 is our main focus). It's probably possible to compile Veloren on/for BSD, Fuchsia and others as well.

Q: Do you accept donations?

A: To keep Veloren a passion project free from financial incentives we will only accept donations to cover server hosting expenses. There is no way to donate yet.

Credit

Many thanks to everyone that has contributed to Veloren's development, provided ideas, crafted art, composed music, hunted bugs, created tools and supported the project.

Sponsorship

We are extremely proud to be sponsored by Digital Ocean.

Their support allows us to build and reliably power our shared backend services.

Description
No description provided
Readme GPL-3.0 2.3 GiB
Languages
Rust 84.1%
Fluent 13.6%
GLSL 2.2%