Skip to content

Releases: stubobis1/archipelago-openomf

omf-0.0.5

Choose a tag to compare

@stubobis1 stubobis1 released this 25 Aug 15:39

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's checked_locations instead, 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

Choose a tag to compare

@stubobis1 stubobis1 released this 10 Aug 19:09

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_factor default doubled, 10 → 20 (Mechlab prices now default to 20% of vanilla, up from 10%)
  • money_small_value default halved, 3000 → 1500
  • money_large_value default cut to a fifth, 15000 → 3000
  • money_small_step / money_large_step defaults 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_win now persists APSave to disk immediately after setting the tournament-won bit, instead of leaving it to the next autosave. The mechlab scene reloads APSave from 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.winner left over from the previous match — it's now forced to a real value on forfeit so arena_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_ap executable via a new testing/test_ap_*.c naming convention, instead of sharing the main openomf_test_main binary
  • New test_ap_tournament_goal.c suite 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, and build-run-noap.sh into a shared build-common.sh
  • bump_version.sh no longer touches git at all — it only updates archipelago.json's world_version; committing and tagging is manual
  • gen_and_host.sh now 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

Choose a tag to compare

@stubobis1 stubobis1 released this 20 Jun 22:24

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 items
  • ap_arena — arena scene AP integration
  • ap_sgmanager — AP save/load handling (extracted from core sgmanager)

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 scripts
  • build-run.sh, clean-build-run.sh — quick dev iteration scripts
  • bump_version.sh — version bump automation across submodules
  • Removed old ap_generate.py and test_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

Choose a tag to compare

@stubobis1 stubobis1 released this 17 Jun 03:53

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

  1. Connect to your Archipelago server from the OpenOMF main menu (Archipelago option).
  2. You receive your starting HAR immediately on connect.
  3. Fight through tournaments. Each match win and each tournament clear sends a check to the AP server.
  4. Items you receive (HAR unlocks, stat upgrades, money bundles) are applied automatically. Stat upgrades take effect at the start of your next match.
  5. 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) item

Money 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