Tony Aldridge

UO Rust Libs

A sparse grid of isometric graphical tiles, each with a small number beneath them. The tiles depict various floor types from the video game Ultima Online.

UO Rust Libs is a Rust package designed to allow for reading and writing of .mul files from early Ultima Online clients.

Ultima Online is a long running online video game, originally released way back in 1997. It had a pretty formative impact on my youth!

Implementation details

Ultima Online's 2D clients are relatively well-documented in how they handle their files, so porting this logic to Rust was relatively simple to do.

The library is structured into multiple modules, typically one for each type of .mul file. The logic for dealing with map files is packaged together, for ease of use.

The project uses the well-supported (Image)[https://github.com/image-rs/image] library for converting art-based assets to data types that are much more easily integrated into other software.

An isometric image of an L-shaped roofless wattle-and-daub structure. It is missing its doors. A display case sits in one corner, containing an axe and some plate armour. A bed sits on the other side.