github binary-knight/usurper-reborn v0.19
Alpha v0.19 - Steam Integration and Achievements

latest releases: v1.0.3, v1.0.2, v1.0.1...
6 months ago

Usurper Reborn v0.19.0-alpha - Steam Integration

Release Date: February 2026

This release adds Steam platform integration, fixes several achievement tracking bugs, resolves a team system issue, and improves BBS door mode error handling.


Steam Platform Support

Usurper Reborn now supports Steam integration for achievement syncing and stats tracking.

Features

  • Steam Build Configuration - The project now supports conditional compilation for Steam builds. Use dotnet build -c Steam or dotnet publish -c SteamRelease to create Steam-enabled builds.
  • Steamworks.NET Integration - When compiled with STEAM_BUILD flag and launched through Steam, achievements automatically sync to your Steam profile.
  • 47 Steam Achievements - All in-game achievements now sync to Steam when playing through the Steam client.
  • Steam Stats API - Player statistics are tracked via Steam's stats system.
  • Graceful Fallback - The game works identically when not launched through Steam. Achievements are still tracked locally.

Building Steam Version

# Steam build (development)
dotnet build usurper-reloaded.csproj -c Steam

# Steam release (self-contained)
dotnet publish usurper-reloaded.csproj -c SteamRelease -r win-x64 --self-contained

Achievement System Fixes

Several achievements were not being tracked correctly. This release fixes all known achievement tracking issues.

Fixed Achievements

  • treasure_hunter - Chests opened are now properly tracked when opening treasure chests in dungeons
  • secret_finder - Secret discoveries now tracked when finding hidden passages and secret rooms
  • social_butterfly - New friendships now tracked when relationship crosses friendship threshold
  • flawless_victory - Fixed detection logic that was checking total lifetime damage instead of damage taken in the current combat
  • easter_egg_1 - Added hidden trigger in Dark Alley (press X to examine the shadows)

Achievement Audit

A comprehensive audit was performed on all 47 achievements to ensure they are all achievable and properly tracked.


Team System Bug Fix

Fixed a significant bug where joining a gang through a street encounter would result in an empty team with no NPC members.

The Problem

When a player was approached to join a gang (e.g., "Blood Ravens") in the Dark Alley, they could accept and join, but the team would have no other members. This occurred because the gang names were hardcoded strings that didn't correspond to any actual teams in the game world.

The Fix

  • Gang encounters now use actual existing teams from the world simulation
  • When joining, players receive the real team password from existing members
  • The team's member list is properly updated to include the player
  • If no eligible teams exist, the gang politely declines to recruit

BBS Door Mode Improvements

Improved error handling and guidance for BBS sysops using FOSSIL drivers.

FOSSIL Driver Limitation

.NET applications cannot use traditional FOSSIL drivers because FOSSIL relies on DOS INT 14h interrupts that .NET cannot access. When serial/FOSSIL mode fails, the game now displays a clear explanation and solution.

New Error Message

When FOSSIL mode fails, users now see:

SERIAL/FOSSIL MODE FAILED

.NET applications cannot use traditional FOSSIL drivers.
FOSSIL uses DOS INT 14h interrupts which .NET cannot access.

SOLUTION: Use --stdio flag for Standard I/O mode:

  UsurperReborn --doorsys "path/to/door.sys" --stdio

Configure your BBS to redirect stdin/stdout to the door.

EleBBS Users

For EleBBS and other FOSSIL-based BBS software, configure the door to use Standard I/O mode and add the --stdio flag to the command line.


Test Suite Improvements

The test suite has been streamlined and made more reliable.

Changes

  • Removed redundant validation tests that were duplicating unit test coverage
  • Fixed flaky CastSpell_ReturnsResult test by setting spell proficiency to Legendary (0% failure chance) for deterministic behavior
  • Test suite now contains 212 focused, passing tests
  • All tests run deterministically with no random failures

Technical Changes

Files Added

  • Scripts/Systems/SteamIntegration.cs - Steam API wrapper with conditional compilation
  • steam_appid.txt - Steam App ID for development testing

Files Modified

  • usurper-reloaded.csproj - Added Steam build configuration and Steamworks.NET package reference
  • Console/Bootstrap/Program.cs - Steam initialization and shutdown calls
  • Scripts/Systems/StreetEncounterSystem.cs - Team system bug fix
  • Scripts/Systems/StatisticsSystem.cs - Achievement stat tracking methods
  • Scripts/Systems/AchievementSystem.cs - Steam achievement unlocking
  • Scripts/Locations/DarkAlleyLocation.cs - Easter egg implementation
  • Scripts/Locations/DungeonLocation.cs - Chest and secret tracking
  • Scripts/Systems/RelationshipSystem.cs - Friendship tracking
  • Scripts/Systems/CombatEngine.cs - Flawless victory fix
  • Scripts/BBS/DoorMode.cs - Improved FOSSIL error handling
  • Scripts/BBS/SerialTerminal.cs - FOSSIL error messaging
  • Tests/SpellSystemTests.cs - Deterministic spell test

Upgrade Notes

  • Save files from v0.18 are compatible with v0.19
  • Steam achievements will not retroactively unlock for progress made before v0.19
  • If using BBS door mode with FOSSIL, switch to --stdio flag

Known Issues

  • Steam achievements only sync when the game is launched through the Steam client
  • BBS FOSSIL mode is not supported (use --stdio flag instead)
  • Some edge cases in combat may cause unexpected behavior

Download

  • Windows (x64): usurper-reborn-win-x64.zip
  • Windows (x86): usurper-reborn-win-x86.zip
  • Linux (x64): usurper-reborn-linux-x64.zip
  • Linux (ARM64): usurper-reborn-linux-arm64.zip
  • macOS (Intel): usurper-reborn-osx-x64.zip
  • macOS (Apple Silicon): usurper-reborn-osx-arm64.zip

Full Changelog

See the README for complete feature list and documentation.

Report bugs: https://discord.gg/EZhwgDT6Ta or GitHub Issues

Don't miss a new usurper-reborn release

NewReleases is sending notifications on new releases.