🚢

Longship

An open-source immersive ride framework.
One content file. Two render paths.

ONE ORF → VR HEADSET  |  PHYSICAL TUNNEL
↓ the river
I
01 — Philosophy

The River Decides the Pace

The ride is a tunnel. Fixed path, no user navigation. The audience surrenders to the flow. Content plays on tunnel surfaces — walls, ceiling, water. The boat is the playhead.

Anti-Algorithm: the river decides the pace. No engagement optimization. No algorithmic feed. The experience is curated by humans, delivered on a fixed timeline.

Content modules — shields — are swappable, community-contributed, GPL v3. The framework is open. The operational weights are the moat: they emerge from running the system, not from reading the code.

II
02 — Naming

Everything Has a Name

ComponentNameMeaning
The systemLongshipOlder than copyright, open by nature
Content atomsShieldsModular, protective, swappable
Ride formatORFThe river everything flows through
Content commonsThe WaterNobody owns it, everybody rides on it
Brand layerDragon ProwCarved identity on an open hull
Build pipelineLjósmóðirMidwife — delivers the ride
Sync pointsTorchesBeat markers, transition triggers
III
03 — Two Paths

One File, Two Worlds

Both targets consume a shared Open Ride Format file. The ORF is the interop contract — both renderers produce equivalent experiential output from the same input.

VR Headset

Backyard deployment
  • Unreal Engine 5 renderer
  • Procedural tunnel from spline
  • MetaSounds spatial audio
  • Camera rail with motion profile
  • OpenXR → any headset
  • Zero infrastructure
ORF

Physical Ride

Franchise deployment
  • Rust ride control system
  • Projection-mapped tunnel
  • Speaker array spatial audio
  • Motion-controlled boat
  • Hardwired E-stop
  • Box-Wheel covered bay
IV
04 — Shields

Content Atoms

Shields are the atomic content units. Each maps to a surface region on the tunnel wall for a time span. They stack, blend, and transition. Contributors publish shields to The Water — the content commons.

🎬
Video
MP4, WebM — pre-rendered sequences
🖼
Image Seq
PNG sequences — frame-perfect control
Generative
GLSL shaders — procedural and alive
🌀
Shader
Custom materials — reactive surfaces
V
05 — Interop

Equivalence Contract

The ORF file is the contract. Both targets interpret every field into their native medium.

ORF FieldVR HeadsetPhysical Ride
tunnel.pathCamera spline railTrack centerline
shieldsDynamic materials on meshMedia server to projectors
audio.spatialMetaSounds spatializationSpeaker zone panning
motion.velocitySpline traversal speedTrack drive speed
motion.rollCamera rollBoat tilt actuator
motion.heaveCamera vertical offsetBoat heave actuator
motion.vibrationCamera shakeVibration motor
torchesGameplay eventsHardware triggers
VI
06 — Safety

Three Layers Deep

Three layers of constraints, each more restrictive. The ride control system enforces the minimum of all three.

ORF constraints — content-authored maximums. The creator's intent.
Venue constraints — physical hardware limits. What the actuators can actually do.
Operational weights — learned from running the system with real riders. This is the Year Two moat.

// The ride never exceeds the most restrictive layer
actual_output = min(orf_intent, venue_limit, operational_weight)
VII
07 — Franchise

Hardware, Not Licenses

The GPL v3 framework eliminates software licensing costs. The franchise cost is hardware + build-out + branding. The dragon prow is yours to carve.

Starter
$50K – $80K
  • Rail track
  • 4 projectors
  • Stereo audio
  • No motion actuators
  • 4-seat boat
Standard
$150K – $250K
  • Water channel
  • 8 projectors
  • 5.1 surround
  • 3DOF motion
  • 6-seat boat
Premium
$400K – $700K
  • Water channel
  • 16+ projectors
  • Immersive audio
  • 6DOF motion
  • 8-seat boat + fog/scent/wind
VIII
08 — Timeline

Year One, Year Two

April 2026 — Year One
The Specification
ORF file format. Venue configuration schema. Shield manifest. System architecture. The seed.
April 2027 — Year Two
The Source
Full GPL v3 release: UE5 renderer, Rust ride control, Ljósmóðir integration, content commons, operational weights from one year of internal testing.

Why the gap? The code without the operational weights is a liability. A ride system that compiles but hasn't been tuned against real-world failure modes is dangerous for physical deployment and uncomfortable for VR. Year One establishes the architecture. Year Two releases a system that has been run.

IX
09 — The Water

Content Commons

Shields are published to IPFS, indexed on Nostr, discovered via vector search. Ljósmóðir compiles selections into complete ORF files. Nobody owns the water. Everybody rides on it.

Creator authors shield
   Packages as Shield Manifest
   Pins to IPFS (content hash)
   Publishes Nostr event (metadata)
   Community discovers via search
   Ride builder selects shields
   Ljósmóðir compiles into ORF
   ORF renders on VR or Physical
~