Generation 2 / Mod
Scuba Dive
Inside the mod
The challenge
Dive through Canyon Oasis with a personal scuba suit and a host-controlled flood switch. The floating menu has Scuba, Flood and Close. Flood OFF restores the map's original water, tint and ambient sound.
Can host-authoritative scuba and flood state converge across peers and restore Canyon Oasis exactly?
Research notes
Separate a request from accepted state
Scuba is a personal setting, while Flood is host-controlled. Independent host and client runs exercise that distinction through real menu input, including rejection of a forged client Flood request.
Acknowledgements, per-field request sequences and an early-request identity guard handle retries without applying a change twice. Periodic state recovery and late-join synchronization address missed updates rather than assuming every live event arrives.
Restoration needs the original environment
Flood OFF must restore Canyon Oasis rather than merely clear every water flag. Tests compare all 69 sectors' water bits, tints, sound names and volumes against the original observations.
Original flags and tints are saved in COG symbols. Sound and volume metadata comes from the original level because stock COG cannot read those fields. That makes arbitrary maps and concurrent ambient-sound mods explicit limitations of this prototype.
Test the player's path
The life-cycle check lets a real underwater player breathe, removes protection, observes drowning, respawns through input and equips the gear again. Packed-mod runs use independent peers without loose development scripts. A broken trigger-wire control must fail the client-to-host behavior after joining.
The owner successfully tried a single-instance Canyon Oasis session. Human multiplayer play, host migration, broad lossy-network stress and retail Jedi Knight remain outside the measured coverage. The suit still uses prototype placeholder textures.
What this build taught us
Independent host and client engines share authoritative state, recover missed updates, and synchronize late joiners. Original sector snapshots survive save/load; suit models restore after late join. Automated checks cover all 69 sectors, drowning protection, gear removal, respawn and the packed mod alone. The owner tested a single-instance Canyon Oasis session successfully; retail Jedi Knight and human multiplayer play remain unverified. The suit currently reuses five prototype placeholder textures.
Get this build
- Put SCUBADIVE.GOB in mods and enable it on every peer, by itself.
- Bind Mod Menu in Setup > Controls, then host Canyon Oasis.
- Look at a menu button and press the bound key. Scuba is personal; only the host controls Flood.
How to play
Bind Mod Menu in Setup > Controls; H is suggested.
Press the bound key to open the menu, look at a button, then press it again to select.
Scuba toggles your suit and air supply. Only the host can toggle Flood.
F1 switches to the external camera to see the diving suit.
Release notes
Use SCUBADIVE.GOB by itself on every player and host Jedi Training on Canyon Oasis. No stock level is included.
Scuba and Flood both start off. Flood does not automatically give everyone air.
Scuba supplies unlimited air and starts breathing audio after two seconds underwater; turning it off restores normal drowning and your original model.
Flood OFF restores Canyon Oasis's original water, tint and ambient sound. Other maps and mods that change sector sound are not supported.
The owner successfully tested a single-instance Canyon Oasis session. Retail Jedi Knight and human multiplayer play remain unverified.
Credits
Scuba suit: Gnarly's scubakatarn.3do from Club OC, with darker.mat and bluesuede.mat.
Five other suit textures are inherited flat-color prototype stand-ins, not the original author's art.
Breathing loop: scbbreth.wav, converted from vaderbreath.wav for the generation-1 Scuba experiment.
Mod Menu, scripts and testing: COG Factory.
Canyon Oasis and Jedi Knight: LucasArts. No stock level is included.
