Skip to content

Releases: Shin-Aska/pu6e-reloaded

v1.1.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 17:31

pu6e Reloaded 1.1.2

This update brings clearer world navigation, a minimap that keeps up with zoom, and a major code refactor behind the scenes.

New features and improvements

  • Named maps: Find your way around with recognizable names such as Britannia, Mars, Eodon Valley, and each game's underground areas.
  • Responsive minimap: The viewport outline now updates immediately when you zoom, so it always shows the area you're viewing.

Named maps in the Ultima VI editor

Major code refactor

Much of the editor's internal code has been reorganized. Game loading, editing, and saving are now separate from the interface and graphics, making the project easier to maintain and extend.

The refactor also brings more automated test coverage, a cleaner source layout, and updated development setup for VS Code and PyCharm. Your existing game and save formats remain compatible.

Downloads

Choose a package from Assets below. No separate Python installation is needed.

Platform Options
Windows x86-64 Standalone .exe or portable .zip
Linux x86-64 .AppImage or portable .zip

Extract ZIP packages before running. On Linux, mark the AppImage executable first. All four packages passed the build checks, and checksums are included in SHA256SUMS. macOS users can run from source.

Original game files and a saved game are required. Supports Ultima VI, Martian Dreams, and The Savage Empire.

User manual · Setup guide · Full changelog

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 11:29

pu6e Reloaded 1.1.1

Version 1.1.1 makes Windows Vulkan support available directly in the packaged downloads and simplifies setting up the repository on Windows, Linux, and macOS. It builds on the renderer and GPU settings introduced in 1.1.0, with stronger checks of the actual packaged applications.

Downloads

The Windows and Linux downloads include the application and Python runtime. You do not need to install Python or uv to use them.

Platform Download How to use it
Windows x86-64 Standalone executable Download and open the executable. It extracts its runtime at startup.
Windows x86-64 Portable ZIP Extract the whole archive and open pu6e-reloaded.exe inside its application folder.
Linux x86-64 AppImage Make it executable, then launch it.
Linux x86-64 Portable ZIP Extract the whole archive and run pu6e-reloaded inside its application folder.

SHA256SUMS contains the checksums for all four packaged downloads. Linux packages require compatible desktop graphics libraries. macOS is supported through repository setup; a packaged macOS download is not included in this release.

Original game files and a saved game are still required. Game assets are not included.

Windows Vulkan without a separate SDK installation

Both Windows distributions now bundle Mesa Zink, the Vulkan loader, and Lavapipe for CPU Vulkan rendering. A separate Mesa installation or Vulkan SDK is no longer needed to use this graphics path.

  • Qt and PyOpenGL use the same bundled OpenGL-to-Vulkan implementation.
  • Automatic GPU selection prefers a discrete GPU when one is available.
  • The existing startup checks can fall back from the selected adapter to automatic hardware Vulkan, then CPU Vulkan, and finally native OpenGL.
  • Settings still provides explicit renderer and Vulkan GPU selection, and the window title shows the renderer actually in use.

Windows launcher running with Vulkan active:

Windows launcher with Vulkan active

Renderer settings on the Windows test machine, with an NVIDIA discrete GPU selected:

Windows Vulkan renderer and GPU settings

The Ultima VI workbench using the Vulkan backend:

Ultima VI world editor running through Vulkan on Windows

These are real application captures. The workbench tools shown here are existing editor features; this release improves their Windows graphics startup and distribution support.

Set up the repository from scratch

New setup.ps1 and setup.sh scripts prepare a local development environment. They can bootstrap uv and Python 3.14, create .venv, and install the locked application, test, and packaging dependencies. Repeated setup reuses the environment.

Windows, from the repository folder:

powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1
.\.venv\Scripts\python.exe .\pu6e.py

Windows setup also prepares the bundled Vulkan runtime. Setup and compilation use the built-in Windows PowerShell, so PowerShell 7 is not required for those steps.

Linux or macOS, from the repository folder:

bash setup.sh
.venv/bin/python pu6e.py

On Debian, Ubuntu, and Linux Mint, setup can install missing desktop and packaging libraries through apt. Other Linux distributions can use --skip-system-packages after installing the libraries listed by the script. macOS setup supports Intel and Apple Silicon on macOS 13 or later and uses the system graphics frameworks.

VS Code setup, build, and launch

The repository now includes recommended Python extensions, setup tasks, and separate Run editor (Windows) and Run editor (Linux) debug configurations. Select the matching configuration and press F5; its setup task prepares the environment first. For WSL, open the repository in a VS Code WSL window before selecting the Linux configuration.

Windows also has Compile, Run, and Compile and run tasks. Ctrl+Shift+B builds both Windows distributions. The Windows tasks use the absolute path to the built-in PowerShell executable, fixing the missing repository-local pwsh launch error.

Packaging and reliability fixes

  • Include the file utility among Linux AppImage build dependencies.
  • Recognize UTF-8 launcher titles in Linux smoke checks, including minimal CI environments.
  • Check actual Vulkan rendering and read back the expected triangle pixel from both packaged Windows formats.
  • Run Windows CI graphics checks with reduced privileges so Vulkan can honor the bundled driver override.
  • Preserve rendering reports, graphics diagnostics, and the limited-user test transcript in CI logs.
  • Close tested editor windows and wait for standalone extraction cleanup; terminate the process tree if graceful shutdown fails.

Release verification

The tagged release workflow passed and published all four distributions.

  • Windows and Linux: 339 automated tests passed and 3 skipped per platform.
  • Both Windows formats: CPU Vulkan triangle rendering and pixel readback verified, followed by successful launcher checks.
  • Linux portable executable and AppImage: launch checks passed, including AppImage EGL mode.
  • Repository setup: initial and repeated setup passed on Windows, Ubuntu, and macOS.
  • Published package checksums match GitHub asset digests.

Compatibility notes

Run the Windows editor as a normal desktop user. Vulkan deliberately ignores custom driver overrides in elevated processes. The CPU Vulkan fallback favors compatibility over performance. Standalone extraction time varies by machine; the portable ZIP avoids repeated extraction of the bundled runtime.

The CI matrix verifies setup on Windows, Linux, and macOS, and tests and packages Windows and Linux. There is no macOS package or bundled macOS Vulkan runtime in this release.

For game configuration, editing tools, keyboard shortcuts, and troubleshooting, see the illustrated manual and setup documentation.

Full changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 16:49

pu6e Reloaded 1.1.0

Version 1.1.0 adds launcher-controlled graphics backends, Vulkan adapter selection, visible runtime renderer labels, and a safe restart flow.

Choose the renderer from the launcher

The global Settings dialog now lets you choose how pu6e Reloaded presents the world map:

  • Software uses CPU-based Mesa rendering for maximum compatibility.
  • OpenGL uses the native desktop OpenGL backend.
  • Vulkan runs the classic map renderer through Mesa Zink.
  • New installations start with Vulkan and Automatic (recommended) GPU selection.
  • Your explicit renderer and GPU choices are saved for later launches.

Renderer settings with Vulkan selected

Select a Vulkan GPU

When Vulkan is selected, the settings dialog lists the adapters reported by the Vulkan loader, including each adapter's device type. Leave the selection on Automatic (recommended) for the normal driver-selected behavior, or choose a specific adapter on a multi-GPU system.

The GPU row stays hidden for Software and OpenGL. If a previously selected adapter disappears, pu6e Reloaded falls back to Automatic selection and explains what happened. Vulkan startup also has a progressive fallback path: selected GPU, automatic hardware Vulkan, CPU Vulkan, then OpenGL.

Vulkan GPU picker showing a discrete adapter

The two-adapter state above uses simulated Vulkan devices to demonstrate the multi-GPU interface. Device discovery and selection use the system Vulkan loader at runtime.

See which renderer is actually active

The launcher and world editor now append the resolved renderer to the native window title, so users can distinguish Software, OpenGL, Vulkan, and Vulkan (CPU) without guessing. The title reports the backend actually in use after startup checks and fallback, not merely the saved preference.

Launcher and workbench title bars showing renderer labels

Restart now or later

Renderer changes cannot be applied safely after Qt initializes its graphics backend. Saving a different renderer or Vulkan GPU therefore offers two choices:

  • Restart now starts a replacement process and exits only after the new process launches successfully.
  • Later saves the preference but keeps the current renderer for the rest of the session.
  • If relaunching fails, the current launcher stays open and displays the failure instead of silently exiting.

Restart required dialog

Launcher refinements

  • Shortened the unconfigured-world status so it remains readable at the launcher's minimum supported size.
  • Delayed renderer fallback warnings until the launcher is visible, improving packaged startup behavior.
  • Kept renderer settings global and separate from each game's installation configuration.
  • Expanded the manual and design documentation for renderer selection, GPU selection, fallback behavior, and restart handling.

Downloads

  • Linux x86-64 AppImage
  • Linux x86-64 portable ZIP
  • Windows x86-64 standalone executable
  • Windows x86-64 portable ZIP
  • SHA256SUMS for all packaged downloads

Ultima game data and other copyrighted game assets are not included.

Verification

The release workflow passed on Linux and Windows with 338 automated tests per platform. It also built and smoke-tested the Linux portable executable and AppImage, including EGL mode, plus the Windows portable and standalone packages. ZIP contents and published checksums were validated before release.

View the successful release workflow

Full changelog: v1.0.2...v1.1.0

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 25 Aug 13:58

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 13:18

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 13:02