This Week In Veloren 165

3 minute read28 March 2022

Authored by AngelOnFira

This week, we hear about the new GitHub Releases system for game updates through Airshipper. We also hear about how the 0.13 release map will look, and about CliffTowns.

- AngelOnFira, TWiV Editor

Contributor Work

Thanks to this week's contributors, @jh0l, @Sam, @xMAC94x, @JackHollisLondon, @ubruntu, @InfRandomness, @James, @Slipped, and @holychowders!

@Inojelis was continuing my work on making agents pick up items (ItemDrops). This week they worked on making agents walk right to the ItemDrops. @Christof just parallelized economic simulation - shortening server startup time (by a small fraction) - but this prepares for adding more Goods (econsim groups of items).

GitHub Releases by @Shouvik

I worked on setting up GitHub releases for Veloren. We can use GitHub as a faster and more stable backend for downloading files. Earlier, many users had sporadic issues with bad connections and aborting updates in Airshipper. Those should be gone now. Users outside of Europe can especially profit from this fix.

Setting this up involved using the Octocrab crate for uploads, and making changes to Airshipper's database and URL structure.

Incremental Airshipper updates by @aweinstock

@XVar and I have been experimenting with packing extra metadata to facilitate incremental Airshipper updates into standard zip files. Currently, Airshipper downloads an entire ~224MB zip containing all the binaries and assets for each update. Since GitHub Releases supports HTTP range requests, and since zip supports random access to contained files, if the offsets of files within the zip that have changed are known--, it's possible to save bandwidth by only downloading those files from the zip.

Since zip's central directory supports adding a "comment" field containing arbitrary metadata, we can store hashes there to detect which files need to be redownloaded before downloading them. Since it's possible to pack a file at the beginning of a zip that's not indexed in the central directory, it's possible to prefix enough metadata to the zip to locate the central directory in one additional range request.

0.13 Release Map by @Hannibal

I've been working on the next release party map that will also serve as a mockup. This map's theme is JUNGLE!!! 🥳 🥳 This time, the party map will be an entire island. That way, its placement in the water will look less odd than the desert city did.

Things to expect:

  • Lots of trees!
  • Jungle temples!
  • Tribal villages
  • Treehouses
  • Secret areas 👀

A first tiny look at the map (although there is much to do!):

CliffTowns by @floppy

Under @Gemu's artistic supervision and with patient guidance from @zesterer, @Isse, and others, I have been working on CliffTowns, Hoodoo/Arabic inspired towns for mountain regions. CliffTowns' houses are natural structures of sedimentary stone layers, inhabited by Mountaineer NPCs. @MerlinMan created the great furniture assets.

Living in a cliff town. See you next week!