Skip to content

hyperpolymath/airborne-submarine-squadron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

170 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Airborne Submarine Squadron (ASS)

OpenSSF Best Practices License: AGPL-3.0 Green Web

Airborne Submarine Squadron is a browser-forward take on the classic Sopwith-style arcade, rebuilt on the Gossamer launcher. Features atmosphere flight, underwater combat with thermal layers and caterpillar drive, orbital space navigation, three ship types, two enemy submarine classes, mine chain-cutting, supply drops, hangar defense, and a commander ejection system.

Status

This repo now hosts a playable Gossamer frontend that wraps the AffineScript/WASM core and the launcher/installer ecosystem. The current goal is finishing the orbit/depth-charge gameplay loop and stabilizing builds, installs, and multi-platform deploys.

Quick Start (WASM)

Prereqs:

  • AffineScript compiler available on (or set to a local checkout)

  • Modern browser or Deno runtime for launcher support

  • Node.js only if you want to run the standalone WASM runner

Note
prefers the compiler but copies  into  (and preserves legacy artifacts) when no compiler is present, so playtesting works out of the box.
# Build to WebAssembly
./build.sh

# Run the WASM module (exports )
node run_wasm.js build/airborne-submarine-squadron.wasm main

Quick Start (Gossamer)

./launcher.sh gossamer            # launch the Gossamer desktop/web player
python3 -m http.server -d gossamer  # serve browser version from gossamer/ and open http://localhost:8000

Controls, HUD, and color settings live inside the pause menu () and the on-screen legend ().

Gameplay Highlights

  • Free-flight submarine with accelerometer/afterburner, diver ejection (Tab/M), and space transition when you exceed 88 MPH with a sharp climb.

  • Weapon triad: torpedoes (), missiles (), and depth charges (). Depth charges are anti-sub-super weapons with particle trails and wide blast radii.

  • Digital Knight Rider–style HUD showing speedometer, accelerometer, status gauges, and a persistent controls legend.

  • Solar map in the top-left corner, warp hotkeys (, Enter, –), and leaderboard tracking performance per mission.

  • Custom skin tuning (, , , while paused) plus retro battle background and diver/tray integration.

Controls

Core flight:

  • Arrow keys – steer, climb, dive

  • Space – fire selected weapon

  • Shift – stabilise in all modes (atmosphere, water, space)

  • A – afterburner (drains fuel, regenerates over time)

  • P – periscope toggle (Shift+P for auto mode)

  • E / M – disembark / embark

  • Tab – emergency eject (commander)

  • Z / X – aim swivel (on land only)

Weapons (number keys):

  • 1 – Machine gun (unlimited)

  • 2 – Torpedo

  • 3 – Missile

  • 4 – Depth charge

  • 5 – Bouncing bomb

  • 9 – Railgun (commander)

Pause menu (Esc):

  • [ / ] – cycle sub skin

  • , / . – tune hue (Spectrum skin only)

  • R – rainbow preset | B – Spectrum preset | P – Pride preset

  • L – toggle legend | H – HALO parachute | D – deep-diver kit

  • C – cycle supply crate frequency | G – Nemesis sub toggle

  • S – save | O – load | N – new game | Q – quit (2-stage)

  • 0–9 – rebind action | Backspace – reset keybinds

Sub Skins & Colour Palettes

Eight skins ship in the pause menu ([ / ] to cycle):

  • Ocean Blue – default (#4a6baf hull, #e74c3c wings)

  • Retro Red, Amber Gold, Emerald, Violet – fixed palettes

  • Spectrum Custom – HSL-based, tune hue with , / . (0–360°)

  • Rainbow – animated rainbow stripes, hue shifts with world.tick

  • Pride Submarine – static 6-stripe pride flag (red, orange, yellow, green, blue, violet)

Spectrum auto-generates hull/wings/tower/nose/porthole colours from a single hue value, persisted in localStorage under airborne-submarine-squadron:gossamer:settings. The pause menu shows a live colour-swatch preview of the current skin’s hull / wings / tower / nose / porthole components.

Building & Tooling

  • – ensures the WASM bundle is refreshed. Points to when you need a fresh compile; otherwise the prebuilt is reused.

  • – installs desktop/start-menu shortcuts through the Gossamer tray workflow.

  • – multiplatform entry point that wires the Gossamer runtime, browser view, and desktop tray helper.

  • – optional Justfile targets for type-checking and scripted builds.

  • – Deno lockfile/runtime dependency state.

Distribution

This project is distributed as source + WASM artifacts and launched via Deno/Gossamer. No npm packaging is used in this repository.

  • build/ and dist/ contain the generated WASM payloads.

  • launcher.sh and run.js are the primary runtime entry points.

  • Justfile provides build/test workflows under Deno.

Launcher Quick Start

./launcher.sh --browser     # start the browser version (Deno file server + HUD)
bash gossamer/launch.sh     # direct Gossamer desktop build
./launcher.sh --stop        # stop running Deno/Gossamer instances and tray helpers

Enhanced Integration System (NEW)

The game now features an advanced, cross-platform integration system:

  • Reflective Architecture: Self-aware installation with platform detection

  • Homoiconic Design: Self-describing configuration and metadata

  • Self-Healing: Automatic file verification and backup restoration

  • Fault Tolerance: Graceful degradation on unsupported platforms

  • Cross-Platform: Linux, Windows (partial), RISC-V, Minix support

Installation

./integ.sh          # Enhanced installer with diagnostics
./launcher.sh --install  # Traditional installation

Features

  • Multiple Icon Formats: PNG, SVG, and ICO (Windows compatibility)

  • Automatic Platform Detection: Linux, Windows, RISC-V, Minix

  • Self-Diagnostics: Pre-installation health checks

  • Fault Tolerant: Continues with limited functionality if tools missing

  • Backup System: Automatic backup of critical files in .backup/

Platform Support

Platform Status Icons Menu Integration

Linux (x86_64/ARM)

✓ Full

PNG, SVG, ICO

✓ Menu + Desktop

Windows

⚠ Partial

✓ ICO available

Manual setup required

RISC-V

⚠ Planned

✓ ICO available

Future support

Minix

⚠ Planned

-

Future support

Windows Notes

For Windows users: - ICO file provided at desktop/icons/airborne-submarine-squadron.ico - Contains multiple sizes: 16x16, 32x32, 48x48, 64x64, 128x128, 256x256 - Manual shortcut creation may be needed until full installer available

Self-Healing

The system includes: - Automatic backup of critical files in .backup/ - File existence verification before operations - Graceful fallback when required tools are missing - Comprehensive error reporting and recovery

Documentation & Assets

  • – developer notes, telemetry, and feature writeups

  • – launcher page, HUD canvas, and loader visuals

  • – supporting web assets and auxiliary integrations

  • , , – narrative, power-up design, and feature references

  • – technical architecture and implementation details

  • – project roadmap and milestones

  • – maintainers and contributors information

Layout & Project Overview

airborne-submarine-squadron/
├── src/                 # AffineScript source
│   └── main.as
├── build/               # WASM output (reuses dist/ when builder absent)
├── gossamer/            # HTML/JS launcher and HUD assets
├── CLI tools (launcher.sh, integ.sh)
├── tray/                # Rust system tray binary + installer scripts
└── README.adoc           # this document
airborne-submarine-squadron/
├── index.html            # Web entry point (serves Gossamer v2 engine)
├── src/                  # AffineScript source (main.as = canonical)
├── gossamer/             # Gossamer v2 JS engine + desktop launcher
├── build/                # Compiled WASM artifacts (gitignored locally)
├── dist/                 # Release WASM artifact (tracked)
├── tray/                 # Rust system tray binary (ksni)
├── ffi/                  # Zig FFI layer
├── docs/                 # Design and development docs
├── launcher.sh           # Unified launcher
├── build.sh              # AffineScript -> WASM build script
├── Justfile              # Task runner
└── .machine_readable/    # STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml

Build Notes

build.sh prefers a global affinescript binary on $PATH. When missing it looks for a sibling nextgen-languages/affinescript checkout and uses dune exec. Otherwise it copies the prebuilt WASM from dist/ into build/ so the launcher can run without rebuilding.

Roadmap

  • UI polish: Finish Groove/Burble integration in the Gossamer panel, add persistent HUD legend, leaderboard final scoring, and damage state map (rear damage slows sub, front shield vanishes when depleted, middle damage makes you sink or lose buoyancy).

  • Expansion: Ship packages for Linux (deb/rpm, kinoite/silverblue), macOS, Windows, Android/iOS, and RISC-V/minix targets, while documenting CI/build expectations.

  • Gameplay: Add orbital warp menu (Enter → Orbit → Depart) with digital speedometer (space speeds), planet numbering, hazard handling (Sun burns), and multi-map transitions with alien terrain.

  • AffineScript WASM pipeline: Complete WebKit compiler compatibility; graduate co-processor from frame counter to primary physics engine.

License

This repository is documented and distributed under AGPL-3.0-or-later, the Palimpsest-MPL license layer on top of MPL-2.0 is the licnecning for Gossamer (linear-type gui wrapper), Burble (high assurance multiplayer communications), and Affinescript (affine-type programming language, compiling to WASM). See or https://github.com/hyperpolymath/palimpsest-license for full terms and for foundational technologies..

About

Airborne Submarine Squadron was originally iintended as a modern resurrection of the classic Sopwith‑era arcade — except your aircraft is also a submarine can explore the depth of the Earth, and your sky bleeds into orbit....

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors