TURBULENCE — MVP Game Specification
A Fly-By-Night Airlines Experience
Version 1.0 — February 2026
1. GAME OVERVIEW
1.1 One-Line Pitch
Four unqualified passengers try to land a falling-apart plane while everything goes catastrophically wrong. Co-op physics chaos at 35,000 feet.
1.2 Genre
Friendslop / Co-op Physics Survival
1.3 Platform
PC (Steam) — Early Access
1.4 Players
2-4 online co-op (host-based P2P)
1.5 Price
$7.99 USD (20% launch discount = $6.39)
1.6 Target Rating
PEGI 7 / ESRB E10+ (slapstick comedy, no gore, no realistic violence)
1.7 Session Length
5-8 minutes per flight. Multiple flights per session.
1.8 Comparable Titles
- RV There Yet — shared vehicle, co-op survival, physics interior
- REPO — co-op, physics carrying, hostile environment
- Lethal Company — co-op job with escalating danger, proximity voice
- Barotrauma — co-op vehicle management with systems and roles (but friendslop, not simulation)
1.9 Competitive Differentiation
No friendslop physics game exists in an airplane. The lane is empty. Barotrauma does submarine management in 2D/hardcore. Stormworks does vehicle rescue in simulation. "Don't Panic It's Just Turbulence" is a 2-player Keep Talking-style puzzle game — different genre entirely. Turbulence is the first 3D physics co-op friendslop game set in a commercial airplane.
2. CORE FANTASY
You're on the world's worst airline. The pilots are gone. The plane is falling apart. You and your friends — none of whom are trained for this — are the only thing standing between 200 passengers and a very bad landing.
The tone is Airplane! (1980) the movie meets the friendslop genre. Slapstick, absurd, warm despite the chaos. Not a disaster movie. Not horror. Comedy.
3. CORE GAMEPLAY LOOP
Board → Takeoff → Crises Escalate → Manage Chaos → Attempt Landing → Score
↑ |
└────────── Next Flight ──────────────┘
3.1 Flight Structure (Per Round)
Each flight follows a crisis escalation curve across 5-8 minutes:
Phase 1: Boarding & Takeoff (0:00-1:00)
- Players spawn in the terminal lobby, board the plane
- Brief exploration — find tools, learn the layout
- Plane takes off (automated or player-triggered)
- One minor event (overhead bin pops open, seat reclines aggressively) as tutorial
Phase 2: First Crisis (1:00-2:30)
- Single system failure. Manageable. Teaches the fix loop.
- Example: Engine temperature warning → find extinguisher → go to wing access → spray engine
- Plane is stable enough that one person can fly while others fix
Phase 3: Escalation (2:30-5:00)
- Two crises simultaneously, then three
- Fixes create new problems (extinguishing fire creates smoke → triggers alarm → alarm startles passengers → passenger opens emergency exit)
- Players must split up across zones
- Communication becomes critical
- Turbulence events begin — periodic shared disruptions that ragdoll everyone
Phase 4: Critical (5:00-7:00)
- Multiple overlapping failures
- Turbulence at maximum frequency
- Triage decisions: what do you save, what do you let burn?
- Resources depleted (duct tape running out, extinguisher empty)
- The plane is barely airborne
Phase 5: Landing (7:00-8:00)
- All players brace or assist with landing
- The pilot (whoever's in the cockpit) attempts to bring it in
- Physics landing: bounce, scrape, skid, slide
- Success = rough but survivable landing. Failure = crash (everyone ragdolls, slow-mo, comedy)
- Ding. "Thank you for flying Fly-By-Night Airlines."
3.2 Post-Flight: The Flight Recorder
After each flight, the black box replay shows highlights with comedic awards:
| Award | Criteria |
|---|---|
| Captain Cool | Most time flying without panicking |
| Duct Tape Dynamo | Most repairs completed |
| Dead Weight | Most time spent unconscious |
| Butterfingers | Most items dropped |
| Frequent Flyer | Most distance ragdolled |
| Arsonist | Most fires started (intentionally or not) |
| Seat Hog | Most time sitting in a passenger seat doing nothing |
| Wing Walker | Most time spent outside on the wing |
Awards are visible to all players. Sharable as screenshots. This is the Content Warning "watch the video" moment — the social/competitive layer that drives replays and clips.
4. CORE VERBS (PLAYER ACTIONS)
4.1 MOVE
- Standard WASD/left stick movement
- Speed affected by plane tilt (walking uphill on a tilting floor is slower)
- Narrow aisle means bumping into other players and objects constantly
- Can crouch to crawl under debris/through tight spaces
4.2 GRAB / CARRY
- Press/hold interact button to grab objects
- Objects have physics weight and size — heavy items slow you, large items block the aisle
- Two-handed carry for heavy items (fire extinguisher, toolbox, crates)
- Can throw grabbed objects (useful for tossing tools to other players, or accidentally hitting them)
- Players can grab OTHER PLAYERS (drag an unconscious friend, push someone out of the way)
4.3 USE / FIX
- Context-sensitive interaction with broken systems
- Hold interact on a broken panel → repair minigame (tighten bolts, reconnect wires, apply duct tape)
- Repair minigames are SIMPLE and PHYSICAL — no menus, no puzzles. You see the broken thing, you hold the button, it fixes over 2-5 seconds
- Interruptions (turbulence, other crises) reset partial repairs — creating tension
- Duct tape is the universal quick-fix (faster but temporary, will re-break)
4.4 FLY
- Cockpit has a physics yoke and throttle
- Yoke: push/pull for pitch, left/right for roll. EXAGGERATED responses — the plane overreacts
- Throttle: forward for speed, back for slow
- Buttons on the dashboard: some are labeled, some aren't. Some help, some don't. Discovery is part of the comedy
- The autopilot button exists — but the autopilot is terrible (gradually veers off course, randomly disengages)
- Flying skill ceiling: good pilots can compensate for damage (one engine out = constant correction). Bad pilots make everything worse. Both are funny.
4.5 HOLD ON
- During turbulence events, players can grab onto fixed objects (seats, poles, overhead racks) to avoid ragdolling
- Players who are holding on stay in place but can't do anything else
- Players who DON'T hold on ragdoll — they slide, tumble, and fly based on the plane's physics
- Choice: hold on and stay safe, or keep working on a repair and risk getting ragdolled
5. THE AIRPLANE
5.1 Zone Layout
The airplane is divided into distinct gameplay zones:
┌─────────────────────────────────────────────────────┐
│ COCKPIT │ FIRST CLASS │ ECONOMY │TAIL│
│ │ │ │ │
│ [Yoke] │ [4 rows] │ [20+ rows] │[WC]│
│ [Dash] │ [Wide aisle] │ [Narrow aisle] │ │
│ [Buttons]│ [VIP NPCs] │ [NPC passengers] │ │
└─────┬─────┴───────┬───────┴─────────┬──────────┴────┘
│ │ │
│ ┌───────┴─────────────────┴──────┐
│ │ CARGO HOLD │
│ │ [Crates] [Luggage] [Mechanicals] │
│ └────────────────────────────────┘
│
┌─────┴──────────────────────────────────┐
│ WING (exterior) │
│ [Engine L] ─── wing surface ─── [Engine R] │
│ Wind physics. You can fall off. │
└─────────────────────────────────────────┘
5.2 Zone Details
Cockpit
- 2 seats (pilot/co-pilot). Either can fly.
- Dashboard with instruments — some working, some broken, some decorative
- Windshield can crack/break (goose strike, debris)
- Door to First Class can jam (must be forced open)
First Class
- Wider aisle, fewer seats
- VIP NPC passengers with higher demands (optional bonus objectives)
- Overhead bins with tools/items
- Oxygen mask deployment zone
Economy
- Narrow aisle — the BOTTLENECK. Two players cannot pass each other easily.
- This is where most physics comedy happens — bumping, squeezing, climbing over seats
- Overhead bins that pop open during turbulence — luggage avalanche
- Emergency exits (mid-cabin) — can open intentionally or accidentally
- Drink cart — physics object that rolls with the plane's tilt. Blocks the aisle. Can be used as a battering ram.
Cargo Hold
- Accessed via floor hatch in Economy
- Dark. Cramped. Flashlight recommended.
- Physics crates and luggage that shift during turbulence
- Mechanical access panels: engine, hydraulics, electrical, fuel
- The "scary zone" — you're alone, you can hear the plane groaning, things shift in the dark
Wing (Exterior)
- Accessed via emergency exit doors
- Full wind physics — the faster the plane, the harder the wind
- Engine access (for repairs)
- Structural inspection (duct tape loose panels)
- HIGH RISK: you can slide off the wing and fall. Safety tether exists (if you find it). Without tether, falling = death (respawn after 15 seconds in a parachute landing back in the plane through a hole in the fuselage — comedy, not punishment)
5.3 Plane Physics
- The plane tilts based on damage, player weight distribution, and flight inputs
- Tilt affects ALL physics objects inside — everything slides toward the low side
- Severe damage causes the plane to shake, vibrate, drop altitude
- Turbulence events apply sudden force changes — everything not secured moves
- The plane's condition is VISIBLE — smoke, sparks, loose panels, missing parts. No health bar. The plane IS the UI.
6. CRISIS SYSTEM
6.1 Architecture
Crises are modular events managed by a Crisis Manager that spawns them based on flight phase and difficulty.
Each crisis is defined by:
- Type (mechanical, environmental, passenger, structural)
- Zone (where it occurs)
- Severity (minor → critical)
- Fix requirements (tool needed, time to repair, skill check)
- Cascade triggers (what happens if unfixed, what new crises it can spawn)
- Turbulence interaction (does turbulence make it worse?)
6.2 Crisis Types (MVP — 12 minimum)
Mechanical:
| Crisis | Zone | Fix | If Unfixed |
|---|---|---|---|
| Engine overheat | Wing | Extinguisher on engine | Engine fire → engine failure |
| Engine fire | Wing | Extinguisher + duct tape | Engine explodes (lost permanently) |
| Hydraulic leak | Cargo | Wrench on valve | Controls become sluggish → unresponsive |
| Electrical short | Cargo | Wire cutters on panel | Lights flicker → full blackout |
| Landing gear stuck | Cargo | Wrench + force | Belly landing (harder to land, sparks) |
Environmental:
| Crisis | Zone | Fix | If Unfixed |
|---|---|---|---|
| Turbulence (light) | All | Hold on / wait | Objects shift, minor ragdoll |
| Turbulence (severe) | All | Hold on | Full ragdoll, items fly, partial fixes reset |
| Bird strike | Cockpit | Duct tape windshield | Wind in cockpit, instruments unreliable |
| Lightning | Random | Fix affected system | Random system failure |
| Icing | Wing | De-icer spray on wing | Controls sluggish, altitude drop |
Structural:
| Crisis | Zone | Fix | If Unfixed |
|---|---|---|---|
| Fuselage crack | Economy | Duct tape + hold | Depressurization → oxygen masks → suction |
| Door breach | Economy | Force door shut | Suction pulls objects (and players) toward exit |
| Overhead bin avalanche | Economy | — (dodge/clear) | Aisle blocked, players knocked down |
Passenger (bonus — not critical but affect score):
| Crisis | Zone | Fix | If Unfixed |
|---|---|---|---|
| Panicking passenger | Economy | Calm down (interact) | Spreads panic, passengers move erratically |
| Unruly passenger | First Class | Restrain | Opens emergency exits, fights players |
| Loose animal | Economy | Catch and cage | Chaos agent — knocks things over, distracts |
6.3 Crisis Scheduling
The Crisis Manager uses a difficulty curve per flight:
Phase 1 (0-1 min): 0-1 crises active (tutorial)
Phase 2 (1-2.5 min): 1 crisis active (learning)
Phase 3 (2.5-5 min): 2-3 crises active (escalation)
Phase 4 (5-7 min): 3-5 crises active (critical)
Phase 5 (7-8 min): Landing sequence (no new crises, existing ones persist)
Crises are selected randomly from a weighted pool. Higher difficulty flights unlock more severe crisis types. No two flights should feel the same.
6.4 Cascade System
Unfixed crises generate NEW crises:
- Engine overheat → (30s unfixed) → Engine fire → (30s unfixed) → Engine explosion (permanent)
- Electrical short → (20s unfixed) → Blackout → Passengers panic → Passenger opens door → Depressurization
This creates the cascade wipe clip archetype naturally. One missed repair spirals into a disaster sequence.
7. ITEMS & TOOLS
7.1 Tool List (MVP)
| Tool | Location | Use | Physics Properties |
|---|---|---|---|
| Fire Extinguisher | Wall mounts (Economy, Cockpit) | Spray on fires. Limited charge. | Heavy. Two-handed. Can spray players (knockback). |
| Duct Tape | Scattered. Cargo hold supply. | Universal quick-fix. Temporary. | Light. One-handed. Finite rolls per flight. |
| Wrench | Toolbox (Cargo) | Fix mechanical issues (bolts, valves) | Medium. One-handed. Can be thrown. |
| Wire Cutters | Toolbox (Cargo) | Fix electrical issues | Light. One-handed. |
| Flashlight | Seat pockets, Cargo | Illuminate dark areas | Light. One-handed. Battery drains. |
| Safety Tether | Wing exit | Attach to wing — prevents falling off | Attached to player. Limited length. |
| De-Icer Spray | Cargo | Spray on wing/engine for icing | Light. One-handed. Limited use. |
| Inflatable Pilot | Cockpit closet | Place in pilot seat. Does nothing useful. Comedy item. | Light. Floppy physics. |
7.2 Environmental Objects (Physics)
| Object | Behaviour |
|---|---|
| Drink Cart | Rolls with plane tilt. Blocks aisle. Can be pushed/ridden. |
| Luggage | Falls from bins during turbulence. Blocks paths. Can be thrown. |
| Overhead Bins | Pop open during turbulence. Dump contents. Can be closed. |
| Tray Tables | Fold out on impact. Block movement. |
| Seats | Fixed but seatbacks recline. Players can sit (does nothing but it's funny). |
| Oxygen Masks | Deploy during depressurization. Players can grab one to avoid passing out. Limited supply. |
| Life Vests | Under seats. Useless in-flight. Players put them on anyway. Comedy. |
| Meal Trays | Physics trays that slide everywhere. Cosmetic comedy. |
8. PLAYER STATE
8.1 Health / Condition
No health bar. Player condition is communicated through visual and audio cues:
- Normal: Full speed, clear vision, normal controls
- Dazed: After ragdoll impact. Blurred vision for 3 seconds. Slower movement. Recovers automatically.
- Winded: After hard impact or carrying heavy objects too long. Panting audio. Slightly slower. Recovers after 5 seconds of rest.
- Unconscious: After severe ragdoll (full-length cabin slide, falling from wing, hit by drink cart at speed). Player collapses. Other players can drag/carry them. Auto-recovers after 10 seconds OR other player can slap them awake (3 seconds).
- Sucked Out: If pulled through a breach/open door. Comedy death. Player respawns after 15 seconds, parachuting back in through a hole in the fuselage.
No permanent death. No lives system. Downtime from being unconscious is the "punishment" — and it's funny, not frustrating.
8.2 Carrying Capacity
- One-handed: can carry one small item per hand (2 total). Can still interact with doors/buttons.
- Two-handed: one large item. Cannot interact with anything else. Must drop item to do anything.
- No inventory. Everything is physical. If you want the wrench, you carry the wrench.
9. PLANES (CONTENT)
9.1 MVP Planes (3)
Plane 1: "The Puddle Jumper" (Tutorial/Easy)
- Small prop plane. ~20 seats.
- Simple layout: cockpit → small cabin → no cargo hold
- One engine (propeller)
- Easy crises. Short flights. Learning plane.
- Aesthetic: retro, propeller-era charm
Plane 2: "The Budget Liner" (Standard/Medium)
- Standard commercial jet. ~120 seats.
- Full layout: cockpit → first class → economy → cargo hold → two wing engines
- The "main" plane. Most flights happen here.
- Full crisis roster available.
- Aesthetic: the Fly-By-Night Airlines flagship. Duct tape on the exterior. Stained seats. Flickering lights.
Plane 3: "The Red Eye" (Hard)
- Night flight variant of the Budget Liner
- Cabin is DARK. Passengers are sleeping. Overhead lights are off.
- Flashlights are critical. Working in darkness changes the feel completely.
- Additional crisis type: don't wake the passengers (noise complaints → panic chain)
- Aesthetic: moody blue cabin lighting, sleeping passengers, eerie quiet until chaos starts
9.2 Post-Launch Planes (Planned)
- "The Cargo Hauler" — no passengers, all crates. Physics crate hell.
- "The Double Decker" — jumbo jet with stairs between floors
- "The Vintage Biplane" — open cockpit, wind, scarf physics
- "The Private Jet" — small, luxury, everything is expensive and breakable
- Community-requested planes via Steam feedback
10. FLY-BY-NIGHT AIRLINES (WORLD BUILDING)
10.1 The Brand
Fly-By-Night Airlines is a fictional budget airline and the game's primary personality vehicle. Every player-facing element carries the brand's incompetent-but-earnest voice.
10.2 Brand Touchpoints
Safety Cards (displayed in seat pockets, readable)
- Illustrated instructions that are technically correct but absurdly unhelpful
- Examples:
- "In case of engine loss, please refrain from panicking. It upsets the other engine."
- "Your seat cushion can be used as a flotation device. It cannot be used as a parachute, despite what Flight 412 attempted."
- "Emergency exits are located at... well, they were here yesterday."
PA Announcements (triggered during gameplay)
- Pre-recorded. Calm. Wildly inappropriate for the situation.
- Examples:
- "We are experiencing a slight delay. The delay is gravity."
- "The captain has turned on the seatbelt sign. The captain is a golden retriever."
- "For your comfort, please note the in-flight entertainment system is... also on fire."
- "Fly-By-Night Airlines: where every landing is a surprise."
Terminal Lobby (between flights — the main menu)
- Terrible airport carpet. Flickering departure board. A single vending machine that eats money.
- Departure board shows next flight info (destination, plane type, difficulty, weather)
- Players can customize their character at a clothing kiosk
- Boarding call = next flight starts
Boarding Passes (loading screens)
- Styled as Fly-By-Night Airlines boarding passes
- Show: flight number, destination, seat assignment, fine print
- Fine print: humorous disclaimers ("Fly-By-Night Airlines assumes no liability for: your safety, your luggage, the structural integrity of this aircraft, emotional trauma, existential dread, or the behavior of the autopilot.")
Employee of the Month (cockpit detail)
- Framed photo in the cockpit. It's a golden retriever in a pilot's cap.
- Changes occasionally. Sometimes it's a traffic cone. Sometimes it's an empty frame with "POSITION VACANT" stamped across it.
10.3 Unlockable Lore
As players complete flights, they unlock Fly-By-Night internal memos:
- Maintenance reports ("Engine 2 making a funny noise. Applied duct tape. Noise is now a different funny noise. Marking as resolved.")
- HR complaints ("Passenger in 14C claims the co-pilot was 'an inflatable.' Investigating.")
- Quarterly reports ("Q3 losses down 12% from Q2. Flights also down 12%. Coincidence?")
This creates a collectible layer and extends engagement beyond the core loop.
11. AUDIO
11.1 Voice Chat
Solution: Dissonance Voice Chat ($50 one-time, Unity Asset Store)
- Used by Lethal Company — battle-tested in the friendslop genre
- P2P — no ongoing server costs
- Built-in 3D positional audio and proximity falloff
- Works with all Unity networking solutions including NGO
Zone-Based Voice Architecture:
| Speaker Location | Listener Location | Audio Behaviour |
|---|---|---|
| Same zone | Same zone | Full volume, clear |
| Adjacent zone | Adjacent zone | Reduced volume, slight muffle |
| Cockpit | Cargo (or vice versa) | Very quiet, heavy muffle |
| Wing (exterior) | Interior | Near-silent (wind noise) |
| Any zone | Any zone (intercom ON) | Clear (if intercom system is repaired) |
The intercom is a repairable system. Early flights, it's broken. Fix the electrical panel in cargo → intercom activates → all zones can communicate clearly. If electrical shorts again → intercom dies → back to muffled zone chat.
This creates natural communication comedy: "WHAT?" / "I SAID THE ENGINE IS—" / "THE WHAT?" / "THE ENGINE" / "I CAN'T HEAR YOU THE WIND IS—"
11.2 Sound Design
- Ambient: Engine drone, cabin hum, wind, passenger murmur — all reactive to plane state
- Crisis audio: Alarms (distinct per crisis type), metal groaning, fire crackling, wind rushing through breaches
- Physics audio: Object impacts, sliding, rolling, character footsteps on tilted floor
- PA system: Pre-recorded announcements, call button dings
- Music: Minimal. Light muzak in the terminal lobby. No music during flights — the chaos IS the soundscape. The "ding" at landing is the musical punctuation.
11.3 Lip Sync
Basic mouth movement synced to voice chat audio (amplitude-based). Standard friendslop approach — not realistic, just enough to see who's talking.
12. VISUAL STYLE
12.1 Art Direction
Style: Chunky, stylized, low-poly with personality. Flat-shaded surfaces. Saturated color palette. Rounded shapes. NOT realistic. Think Overcooked meets Airplane! meets a Playmobil set.
Characters: Chunky humanoids. Oversized heads. Expressive faces (visible from gameplay camera distance). Customizable outfits (Hawaiian shirt, business suit, tourist gear, pilot costume). Safety vests/helmets available as unlockables.
The Plane: Slightly exaggerated proportions. Wider than real aisles (for gameplay readability) but still narrow enough to create bottleneck comedy. Bright interior colors. Visible wear and tear (duct tape, stains, scratched windows). Damage is VISIBLE — charring from fires, dents from impacts, missing panels.
Lighting: Warm interior lighting (functional overhead lights). Dynamic — lights flicker during electrical issues, go dark during blackout. Emergency red lighting during depressurization. Wing exterior: sky/cloud lighting, dramatic during storms.
VFX: Stylized smoke, fire, sparks, steam. Not realistic — readable and colorful. Duct tape application has a satisfying visual effect. Repair completion has a small celebration particle.
12.2 Camera
Third-person, over-the-shoulder. Close enough to feel the claustrophobia of the cabin. Wide enough to see immediate surroundings and read the plane's condition.
Camera reacts to turbulence — shakes, tilts with the plane. Intensity scales with turbulence severity.
13. TECHNICAL SPECIFICATION
13.1 Engine & Version
Unity 6.3 LTS (6000.3.x — released December 2025)
- Current Long-Term Support release
- Stable for production shipping
- 6.4 is in beta (since Oct 2025), 6.5 in alpha — do NOT ship on beta/alpha
- Upgrade path: can migrate to 6.4 LTS when it stabilizes if needed mid-development
13.2 Render Pipeline
Universal Render Pipeline (URP)
- Default pipeline in Unity 6
- Best for stylized/low-poly art (our target aesthetic)
- Wide hardware compatibility (runs on low-end PCs — critical for friendslop audience)
- HDRP is overkill and being deprioritized by Unity (per Feb 2026 render pipeline strategy announcement)
- Custom toon/flat shader for the Fly-By-Night aesthetic — simple to create in URP Shader Graph
13.3 Networking
Primary: Netcode for GameObjects (NGO) — Unity's built-in networking
- Designed for 2-16 player co-op — exactly our use case
- Deep Unity 6 integration:
- Multiplayer Center — guided setup, genre-based configuration
- Multiplayer Playmode — test multiplayer IN-EDITOR with virtual players (massive dev speed boost)
- Distributed Authority support (optional, can use host-based initially)
- Supports host-based P2P (no dedicated server needed at launch)
- Integrates with Unity Relay for NAT punchthrough (free tier available, scales with UGS)
- NetworkRigidbody component for physics object sync
Alternative considered: FishNet (free, open-source, good physics support, PredictionV2). Would choose FishNet if NGO proves insufficient for physics sync during prototyping. FishNet requires more manual setup but offers finer control.
Decision: Start with NGO. The Multiplayer Playmode alone justifies this — being able to test 4-player physics in the editor without building and launching 4 clients will save weeks of development time. Switch to FishNet only if NGO's physics sync proves inadequate.
13.4 Physics Architecture
Host-Authoritative Physics:
- ALL gameplay-affecting physics simulated on the host
- Host runs Unity PhysX for: plane tilt, object movement, player collisions, crisis physics
- State synced to clients via NetworkRigidbody / NetworkTransform (NGO components)
- Sync rate: 30Hz for moving objects, 10Hz for stationary objects
Ragdoll Strategy:
- Ragdoll activation is a network event (host tells all clients "Player X is ragdolling")
- Ragdoll SIMULATION is cosmetic per-client — each client runs its own ragdoll physics
- Only sync the root/hip bone position from host. Clients simulate limb physics locally.
- Result: ragdolls look slightly different per client (acceptable — this is comedy, not esports) but feel responsive with zero ragdoll latency
- Ragdoll → recovery transition synced via network event
Plane Tilt:
- The plane's rotation is the MASTER physics input
- Host updates plane rotation based on: flight controls, damage state, turbulence events
- Synced to all clients at 30Hz
- Gravity vector for interior objects rotates WITH the plane — objects (and players) slide toward the low side
- Implementation: the plane interior is a kinematic rigidbody. All interior physics objects are children of the plane transform OR affected by a custom gravity system that respects the plane's rotation
13.5 Voice Chat
Dissonance Voice Chat (Unity Asset Store — $50 one-time)
- Peer-to-peer — no ongoing server costs
- Built-in 3D positional audio with distance falloff
- Proximity voice with configurable attenuation curves
- Integrates with any Unity networking solution (NGO compatible)
- Used by Lethal Company — proven in the genre
- Zone-based attenuation: custom trigger volumes per zone that modify Dissonance's positional settings
Why not Vivox? Vivox (Unity's own service) offers 3D positional voice and is free up to 5K PCU. However:
- Cloud-dependent (adds latency, requires internet for voice even on LAN)
- More complex setup
- Ongoing cost risk at scale
- Dissonance is P2P and proven in this exact genre
13.6 Steam Integration
Steamworks via Facepunch.Steamworks (C# Steamworks wrapper)
- Steam Lobbies for matchmaking/friend invites
- Steam Relay as transport layer for NGO (NAT punchthrough, no port forwarding needed)
- Steam Rich Presence ("Playing Turbulence — Flight 7: The Budget Liner — IN CRISIS")
- Steam Achievements (per-flight awards, total flights, milestones)
- Steam Cloud for save data (unlockables, progress)
- Steam Workshop (post-launch — community plane mods, custom crises)
13.7 Minimum / Recommended Specs
| Minimum | Recommended | |
|---|---|---|
| OS | Windows 10 64-bit | Windows 10/11 64-bit |
| CPU | Intel i5-6600 / AMD Ryzen 3 1200 | Intel i5-9600 / AMD Ryzen 5 3600 |
| RAM | 8 GB | 16 GB |
| GPU | GTX 960 / RX 470 (2GB VRAM) | GTX 1660 / RX 580 (4GB VRAM) |
| Storage | 2 GB | 2 GB |
| Network | Broadband internet | Broadband internet |
Target: 60 FPS on minimum spec. Friendslop audience plays on potatoes. Performance is a feature.
14. UI / UX
14.1 HUD Philosophy
Minimal HUD. The plane IS the UI.
- No health bars. Player condition is visual/audio (limping, blurred vision, panting).
- No crisis indicators on-screen. You SEE the fire. You HEAR the alarm. You FEEL the tilt.
- No minimap. The plane is a tube — you can see from one end to the other (mostly).
The only persistent UI elements:
- Proximity voice indicator (small icon showing who's talking)
- Interaction prompt (when looking at a fixable/grabbable object)
- Duct tape counter (small icon, bottom corner — how many rolls you have)
14.2 Menus
Terminal Lobby (Main Menu):
- Physically walk around the airport terminal
- Departure board = flight selection
- Clothing kiosk = character customization
- Fly-By-Night gift shop = unlockables viewer
- Vending machine = settings (comedy framing)
- Join/Host through Steam overlay or in-terminal flight board
Pause: ESC opens a settings overlay. No gameplay pause (online co-op).
Flight Recorder: Post-flight screen showing awards, stats, replay highlights. "Fly Again" / "Return to Terminal" / "Quit to Desktop."
15. PROGRESSION & RETENTION
15.1 Flight Progression
Flights unlock in order of difficulty:
- Puddle Jumper flights (3 variants — easy)
- Budget Liner flights (5 variants — medium)
- Red Eye flights (3 variants — hard)
Each variant = same plane type but different route/weather/crisis pool. Completing a flight unlocks the next. Stars (1-3) based on performance (plane condition, passenger satisfaction, player contributions).
15.2 Unlockables
- Character cosmetics: Hats, outfits, accessories. Earned through flight milestones.
- Fly-By-Night memos: Lore documents. Earned by discovering hidden items in planes.
- Flight Recorder titles: Custom titles based on achievements ("Certified Duct Tape Technician," "Wing Walking Champion," "Professional Unconscious Person")
- No microtransactions. All unlockables earned through play.
15.3 Replayability
- Procedural crisis combinations: No two flights are identical
- Difficulty scaling: Same plane, harder crises, faster escalation
- Social replay: Different friends = different experience
- Awards competition: Beat your friends' scores
- Speedrun potential: Fastest flight completion times (community-driven)
16. DEVELOPMENT PLAN
16.1 Team
Solo developer (you) with potential contract work for:
- Character art / plane models (if not using Asset Store + custom)
- Sound design (can use royalty-free + custom recording)
- Voice lines for PA announcements (can be self-recorded with effects)
16.2 Timeline (16 Weeks — 4 Months)
Weeks 1-2: PROTOTYPE
- Grey-box plane interior (one tube with zones)
- Player movement + grab/carry + throw
- Basic plane tilt physics (manual for testing)
- NGO networking setup — 2 players in the same plane
- Multiplayer Playmode for rapid iteration
- MILESTONE: Two players walking around a tilting tube, grabbing and throwing objects. If this isn't fun, stop and reassess.
Weeks 3-4: CORE SYSTEMS
- Flight controls (yoke + throttle in cockpit)
- Crisis Manager v1 (spawn crises on timer, basic fix interactions)
- 3 crisis types working (engine fire, turbulence, electrical short)
- Duct tape mechanic
- Ragdoll system (trigger on turbulence, recover after)
- MILESTONE: A playable flight loop. Takeoff, crises, fix them, land. Ugly but functional.
Weeks 5-6: PHYSICS POLISH
- Object physics refinement (drink cart, luggage, bins)
- Aisle bottleneck tuning (how tight? how much comedy?)
- Turbulence feel (how hard, how frequent, how long)
- Carry/throw physics feel (weight, momentum, collision)
- Wing exterior zone + wind physics
- MILESTONE: The physics feel FUN. Objects behave in ways that create emergent comedy. Internal playtest with friends.
Weeks 7-8: CONTENT PASS 1
- All 12 crisis types implemented
- Cascade system (unfixed crises trigger new ones)
- Crisis Manager difficulty curve tuned
- Puddle Jumper plane (tutorial plane)
- Budget Liner plane (main plane — full detail)
- NPC passengers (basic — sit, react to crises, panic)
- MILESTONE: Two distinct planes, full crisis roster, 5-8 minute flights feel complete.
Weeks 9-10: VOICE + AUDIO + PERSONALITY
- Dissonance Voice Chat integration
- Zone-based voice attenuation
- Intercom system (repairable)
- Sound design pass (engine, alarms, wind, impacts, PA system)
- PA announcements recorded and triggered
- Safety cards, boarding passes, branding elements
- MILESTONE: The game has PERSONALITY. The Fly-By-Night brand is present throughout.
Weeks 11-12: ART + POLISH
- Character models + customization
- Plane art pass (materials, textures, details, wear and tear)
- Damage VFX (fire, smoke, sparks, duct tape visuals)
- Terminal lobby (main menu space)
- URP shader polish (toon/flat shading)
- Lighting pass (cabin lighting, emergency lighting, exterior)
- MILESTONE: The game LOOKS like a game. Screenshots are shareable.
Weeks 13-14: FLIGHT RECORDER + PROGRESSION
- Post-flight replay system (track key moments, generate awards)
- Award UI + animations
- Flight progression system (unlock flow)
- Red Eye plane (night variant)
- Unlockable cosmetics + lore memos
- Steam integration (achievements, rich presence, cloud saves)
- MILESTONE: Full game loop from terminal → flight → recorder → next flight.
Weeks 15-16: TESTING + LAUNCH PREP
- Extensive 4-player playtesting (friends, community)
- Bug fixing, netcode edge cases, physics exploits
- Performance optimization (target 60fps min spec)
- Steam store page (trailer, screenshots, description)
- Streamer key distribution (2 weeks pre-launch)
- Press kit, social media assets
- MILESTONE: SHIP IT.
16.3 Risk Mitigations
| Risk | Mitigation |
|---|---|
| Flying doesn't feel fun | Week 1-2 prototype validates this. If yoke controls aren't satisfying in grey-box, redesign immediately. The plane must feel like a CHARACTER, not a tool. |
| Physics sync is janky over network | NGO's NetworkRigidbody should handle object sync. Ragdoll is cosmetic-per-client (no sync needed). If NGO fails, FishNet is the fallback. Budget 1 week for potential networking pivot. |
| Not enough for 4 players to do simultaneously | Crisis Manager must generate overlapping multi-zone crises. Playtest at week 4 with 4 people. If players are idle, increase crisis frequency or add more concurrent crisis slots. |
| Scope creep | MVP is 3 planes, 12 crises, core loop. EVERYTHING else is post-launch. The game must be fun with ONE plane and FIVE crises. If it's not, more content won't save it. |
| Art takes too long for solo dev | Use Asset Store base models + customize. Synty Studio packs for props. Character models can be simple — friendslop audience expects stylized, not detailed. |
| Voice chat issues | Dissonance is proven. Fallback: Steam Voice API (free, built into Steamworks, less featured but functional). |
17. MARKETING & LAUNCH
17.1 Pre-Launch (4-6 weeks before release)
- Steam store page live: Capsule art, screenshots (in-game comedy moments), short description, wishlist button
- Announcement trailer: 60 seconds. Fly-By-Night Airlines branding. Show: plane chaos, ragdoll physics, player screaming moments, the ding at the end. Tone: comedy, not action.
- TikTok/Short-form: 15-30 second clips from playtesting. No context needed — just physics comedy. "POV: you're the only one who can fly the plane" / "the drink cart has chosen violence"
- Streamer keys: Distribute to 50-100 mid-tier streamers 2 weeks before launch. Target: friendslop streamers who play REPO/Peak/RV/Lethal Company.
- Consider Next Fest: If timing aligns with a Steam Next Fest, release a demo (one Puddle Jumper flight). Massive wishlist conversion potential.
17.2 Launch
- Early Access: Frame as "Fly-By-Night Airlines is OPEN for business. More planes, more chaos, more flights coming throughout Early Access."
- Launch discount: 20% off ($6.39) for first week
- Day-one patch: Monitor for critical networking/physics bugs. Hot-fix within 24 hours if needed.
- Community engagement: Steam Discussions, Discord server. Listen for: "this crisis is too hard/easy," "the plane needs X," "please add Y plane type"
17.3 Post-Launch Roadmap
| Month | Content |
|---|---|
| Month 1 | Bug fixes, balance tuning based on player data |
| Month 2 | New plane: The Cargo Hauler. 3 new crisis types. |
| Month 3 | New plane: The Double Decker. Flight Recorder improvements. New awards. |
| Month 4 | Versus mode: 2 teams, 2 planes, same storm. First to land wins. |
| Month 5+ | Community-driven: Steam Workshop for custom planes/crises. New planes based on requests. |
17.4 Revenue Targets
| Scenario | Units (First Month) | Gross Revenue | Net (after Steam 30%) |
|---|---|---|---|
| Conservative | 30,000 | $240,000 | $168,000 |
| Moderate | 100,000 | $800,000 | $560,000 |
| Viral | 500,000+ | $4,000,000+ | $2,800,000+ |
For context: RV There Yet hit $36M gross on a 3-month dev cycle. Peak hit $17M in its first month. Battle Golf hit 100K units in 48 hours. The friendslop market rewards quality entries aggressively.
18. SELF-REVIEW — IS THIS SPEC VIABLE?
Strengths
✅ Empty lane — no friendslop physics game in an airplane ✅ Every verb is proven in the genre (drive, carry, fix, ragdoll) ✅ Fly-By-Night brand gives it personality that most friendslop games lack ✅ Contained environment = manageable scope for solo dev ✅ Crisis system is data-driven and modular — easy to add content ✅ Clip density is extremely high (4-8 clip moments per 5-8 min flight) ✅ Tech stack is current and appropriate (Unity 6.3 LTS, URP, NGO, Dissonance) ✅ $7.99 price point proven in the market ✅ "Airplane! the game" cultural touchstone is massive and immediately understood
Risks I'm Honest About
⚠️ Flying controls MUST feel good — this is a week-1 validation or kill decision ⚠️ Physics networking is always harder than you think — budget for iteration ⚠️ Solo dev + 4 months is tight — ruthless scope discipline required ⚠️ The friendslop market is getting crowded — timing matters, don't delay ⚠️ The "one environment" concern — mitigated by plane variety and procedural crises, but worth monitoring player feedback on repetition
The Kill Criteria
If ANY of these are true at week 2, pivot or kill:
- Flying the plane isn't fun with a controller/keyboard
- Two players in a tilting tube with physics objects isn't inherently funny
- The grab/carry mechanic feels frustrating rather than satisfying
If those three things work in grey-box, the rest is content and polish. The prototype proves or kills the game.
This document is the blueprint. Every decision made during development should reference it. When in doubt, return to the core fantasy: four idiots on the world's worst airline, screaming together, barely surviving, and having the time of their lives.
Fly-By-Night Airlines is now accepting applications.
🛫