Pull It Together

Project Overview

Pull It Together is an online cooperative survival adventure where teams haul a wagon through a procedurally generated wilderness with dynamic encounters while outrunning a massive superstorm.

This page serves as an overview of our major systems with highlights on the wagon, team stress director, level generation, multiplayer framework, and more! For more information on the design and development process:

  • Core concept: cooperative traversal + survival under escalating chase pressure
  • Our focus:cooperative coordination, adaptive pacing, deterministic procedural worlds, multiplayer stability
  • Tech: Godot + C#/GDScript/Shaders + custom tools/pipelines
Pull It Together wagon friend screenshot

Wagon Friend

The wagon as the core element uses a custom physics-based system where handling, condition, interactions, and visual feedback are tightly controlled to produce intuitive, cooperative coordination under stress.

  • Fake-but-stable physics: linear and angular velocity are constrained to mimic wheels while using easy to manage sphere colliders
  • Impulse-aware wear: progressive wear and terrain impacts damage individual wheels and increase pulling friction once destroyed
  • Audio-Visual Proxy Feedback: wheel rotation and damage states are driven by velocity, health, and interactions allowing clarity for players
  • World Inventory: tools, trinkets, and items move through physical hooks, shelves, and space keeping wagon supported actions diagetic and intuitive
  • Pull It Together: coordinate and synchronize your heaves with the team to pull the wagon with even more efficiency
Extended Abstract video as gif

Stress-Aware AI Director for
Level Generation &
Dynamic Event Control

A unified pacing system where a designer-authored target curve drives both procedural level generation and real-time gameplay control to maintain a consistent dramatic arc.

  • Single source of truth: a target pacing curve defines both terrain difficulty and runtime encounter pressure
  • Segmented generation: trails are built from difficulty profiles mapped directly from the pacing curve
  • Constraint-driven terrain: elevation, curvature, and obstacles are generated to reinforce intended difficulty progression
  • Stress feedback loop: observed team stress is continuously compared against the target curve
  • Event alignment: encounters are selected based on their ability to correct deviation from the desired pacing
  • Environmental control: systems like storm speed dynamically adjust to apply pressure or allow recovery
  • Deterministic + reactive: structure is pre-shaped at generation, then refined through runtime adaptation
  • Extended Abstract: Google Drive
Item replication stability example

Multiplayer Item Replication &
Authority Framework

Host-authoritative framework for items, entities, and dynamic events: spawning, ownership, movement/state replication, and stable interactions.

  • Auto registration: ItemSpawnRegistry scans folders and prepares/registers .tscn items for designers
  • Deterministic IDs: synchronized dictionaries prevent desync and ghost references
  • Validated interactions: pickup/drop/inventory/rope/tool usage run through host logic
  • Proxies: local visual proxies reduce jitter for held items
  • Join-in-progress: full state reconstruction for new peers
  • Cleanup: authority resets, proxies freed, dictionaries trimmed on disconnect
status effect icons

Status Effects

This system turns many gameplay modifiers into a compact, extendable layer that supports flexible systemic balancing and unique mechanic designs.

  • Data-driven effects: each effect is defined as a resource with tunable duration, stat changes, multipliers, icons, etc.
  • Broad coverage: effects can modify health, stamina, movement, resources, and other game mechanics
  • Expandable: trinkets, consumables, and others can apply effects through the same framework allowing special-case logic and avoiding many separate systems
  • Repeatable: one-time, recurring, and stacked effects are all handled with this framework
Synchronized player animations across the network

Networked Synchronized
Animation System

Multiplayer animation layer that replicates parameter values (not frames) so clients reconstruct motion locally with identical animation graphs.

  • Replicated values: movement blend vectors, interaction indices, action speed multipliers
  • State blends: aiming, inventory state, item usage blends
  • Benefits: low bandwidth, predictable interactions, stable group animations
Additional gameplay and tech art systems

Additional Systems

  • NPC AI: animal behavior trees and encounter logic
  • Tech art: terrain heightmaps, storm clouds, weather event visuals, biome blending
  • Multiplayer/backend: Steamworks integration, LAN support