Repository navigation
Releases: stubobis1/archipelago-openomf
Release list
omf-0.0.5
Archipelago OpenOMF v0.0.5
OMF:2097 was released as freeware by Epic MegaGames in 1999. The game data is freely and legally downloadable.
What's New
Fixes (Multiworld)
- Fixed shop purchases not being remembered when the location's item belongs to another game in the multiworld. Shop state was previously rebuilt from
ReceivedItems, which only fires for items sent back to us — a location whose item goes to another player never echoes back, so the shop showed it as never bought and charged you for it again every time you reopened the mechlab. Shop state is now derived from the server'schecked_locationsinstead, which reflects every location we've checked regardless of who receives the item - As part of the same fix, shop/training state now also picks up: locations found while disconnected (synced on the next connect), server-side auto-releases (e.g. another game completing and releasing all its remaining checks), and checks made by another client connected to the same slot in co-op
- Fixed the shop being able to skip past a still-unbought level if a later level in the same stat got checked out of order (same-slot co-op, a release) — it now keeps offering the actual next unbought level, and instantly recognizes the skipped one as owned once you reach it
- Fixed the shop/training price label staying one step behind after a purchase until you moved focus away and back — it now updates immediately
Links
Full Changelog: omf-0.0.4...omf-0.0.5
One Must Fall: 2097 Archipelago
One Must Fall: 2097 - Archipelago v0.0.4
https://github.com/stubobis1/archipelago-openomf/releases
Full Changelog: 0.0.3...0.0.4
OMF:2097 was released as freeware by Epic MegaGames in 1999. The game data is freely and legally downloadable.
Apworld
What's New
Economy rebalance
Default economy YAML options have been retuned:
buy_cost_factordefault doubled, 10 → 20 (Mechlab prices now default to 20% of vanilla, up from 10%)money_small_valuedefault halved, 3000 → 1500money_large_valuedefault cut to a fifth, 15000 → 3000money_small_step/money_large_stepdefaults reduced (150 → 100, 750 → 200)
Net effect: purchases cost more relative to money checks by default, and the per-check growth curve is flatter — a tighter default economy. All five remain player-configurable via YAML.
Client
What's New
Fixes
- Fixed the "all tournaments" goal silently failing:
ap_on_tournament_winnow persistsAPSaveto disk immediately after setting the tournament-won bit, instead of leaving it to the next autosave. The mechlab scene reloadsAPSavefrom disk on entry, so without this the just-set bit could get clobbered by the stale on-disk copy before it was ever saved - Fixed forfeiting a match while connected to Archipelago sometimes being scored using
fight_stats.winnerleft over from the previous match — it's now forced to a real value on forfeit soarena_end()'s AP match-check can't read stale state
Testing
- AP-only tests (link against Archipelago-only symbols) now build as a separate
openomf_test_apexecutable via a newtesting/test_ap_*.cnaming convention, instead of sharing the mainopenomf_test_mainbinary - New
test_ap_tournament_goal.csuite covering the tournament-goal logic behind the fix above
Tooling (parent repo)
- Consolidated duplicated Docker build/lib-bundling/game-data-linking logic out of
build.sh,test.sh, andbuild-run-noap.shinto a sharedbuild-common.sh bump_version.shno longer touches git at all — it only updatesarchipelago.json'sworld_version; committing and tagging is manualgen_and_host.shnow writes generated player YAML and multiworld output into the repo (omf_players/,omf_output/,omf_templates/) instead of/tmp, so they're around for debugging
Links
0.0.02
One Must Fall: 2097 — Archipelago World v0.0.02
Full Changelog: 0.0.01...0.0.02
OMF:2097 was released as freeware by 3DO in 1999. The game data is freely and legally downloadable.
What's New
OpenOMF Client — major AP refactor
All AP logic consolidated into archipelago/ submodule. Non-AP source files now have minimal diffs vs upstream OpenOMF. This makes the client easier to maintain and rebase against upstream.
New modules:
ap_alert— in-game alert/notification system for received itemsap_arena— arena scene AP integrationap_sgmanager— AP save/load handling (extracted from coresgmanager)
Improvements:
- Mechlab AP logic fully encapsulated in
ap_mechlab - Windows cross-compile Dockerfile added (
Dockerfile.build-windows) - Removed committed build artifacts (
build2/cache)
Tooling (parent repo)
build.sh,build-windows.sh— Linux and Windows cross-compile build scriptsbuild-run.sh,clean-build-run.sh— quick dev iteration scriptsbump_version.sh— version bump automation across submodules- Removed old
ap_generate.pyandtest_omf.yaml
AP World
- Version bump to 0.0.02 (no logic changes from 0.0.01)
Links
Open OMF Archipelago Randomizer - Alpha 0.0.01 release
One Must Fall: 2097 — Archipelago World v0.0.01
Initial release of the OpenOMF Archipelago integration.
What is this?
One Must Fall: 2097 is a 1994 robot fighting game. You pilot a Human Assisted Robot (HAR) through a series of tournaments, earning prize money to upgrade your machine and advance to harder competitions.
This Archipelago world randomizes which HARs you can use and where HAR/pilot upgrades come from. Instead of buying everything freely in the Mechlab, upgrades arrive as items — either from your own checks or sent to you by other players in a multiworld.
How to play
- Connect to your Archipelago server from the OpenOMF main menu (Archipelago option).
- You receive your starting HAR immediately on connect.
- Fight through tournaments. Each match win and each tournament clear sends a check to the AP server.
- Items you receive (HAR unlocks, stat upgrades, money bundles) are applied automatically. Stat upgrades take effect at the start of your next match.
- Win your goal tournament to complete the seed.
Tournaments
The four tournaments unlock in order as you collect Progressive Tournament Access items:
| Tournament | Access Required |
|---|---|
| North American Open | 0 (always available) |
| Katushai Challenge | 1 |
| WAR Invitational | 2 |
| World Championship | 3 |
Registration fees still apply — you need money in hand to enter each tournament. Earn it by winning matches and collecting money bundles from the item pool.
Mechlab and Training
Purchases in the Mechlab and training sessions also count as checks. You still pay money when you upgrade, but the actual stat boost comes from the AP server — you might pay for a HAR upgrade and receive a pilot stat instead (or a money bundle for another player). Higher upgrade tiers require tournament access to unlock, matching the tournament progression.
How randomization works
Items
| Item | Quantity | Effect |
|---|---|---|
| HAR Unlock | 11 (1 per HAR) | Lets you pilot that HAR; starting HAR is pre-granted |
| Progressive Tournament Access | 3 | Each unlocks the next tournament in order |
| Progressive [HAR] [Stat] | up to 9× per stat per HAR | Raises that HAR's ARM Power / LEG Power / ARM Speed / LEG Speed / Armor / Stun Resist by 1 |
| Progressive [HAR] Enhancement | 1–3× per HAR | Applies the next enhancement upgrade for that HAR |
| Progressive Power / Agility / Endurance | up to 25× per stat | Raises your pilot stat by 1 |
| Ability to change HAR color | 1 | Unlocks color customization in the Mechlab |
| Money (Small) / Money (Large) | filler | Credits deposited directly to your account |
HAR Unlocks and Tournament Access are progression items — the AP server guarantees they appear where they are reachable. Stat upgrades are useful but not required for logic. Money bundles are filler.
Locations (checks)
| Check type | How to clear |
|---|---|
[Tournament] - Beat [Pilot] |
Win that match in tournament mode |
Win [Tournament] (1/2/3) |
Win the full tournament (3 checks per tournament) |
Buy [HAR] [Stat] Upgrade [N] |
Purchase that upgrade in the Mechlab |
Train [Stat] Level [N] |
Purchase that training level |
Restricted pilots (difficulty-gated secret opponents) are excluded from the check pool.
YAML options
game: One Must Fall: 2097
One Must Fall: 2097:
goal_tournament: world_championship # north_american_open | katushai_challenge | war_invitational | world_championship | all_tournaments
starting_har: random_selection # jaguar | shadow | thorn | pyros | electra | katana | shredder | flail | gargoyle | chronos | nova | random_selection
har_stat_max: 9 # 1–20 (vanilla = 9); sets how many upgrade levels exist per HAR stat
pilot_stat_max: 25 # 1–50 (vanilla = 25); sets how many training levels exist per pilot stat
buy_cost_factor: 100 # 10–1000; 100 = vanilla prices, 200 = 2× per tier
money_small_value: 3000 # base credits for a Money (Small) item
money_large_value: 15000 # base credits for a Money (Large) itemMoney values are multiplied in-game by a per-tournament prize modifier (1× NAO / 2× Katushai / 3× WAR / 6× World Championship).
Known limitations (v0.0.01)
- Difficulty-gated secret pilots are not included in the check pool.
- No deathlink support yet.
- No traps
Setup
See setup_en.md for installation and connection instructions.
Issues: https://github.com/stubobis1/archipelago-openomf/issues