Skip to main content

πŸš† Multi-Carriage Node-Based Train System

Client-side simulation, path-tangent bogey alignment, BulkMoveTo movement
Stable at high refresh rates and supports any number of carriages.

This document explains how the new train system works internally, how the client simulation stays perfectly smooth, and how bogeys, carriages, and route segments interact.

🧠 High-Level Architecture​

Our train system is built around three key principles:

  1. The server controls only the lead bogey
  2. The client runs a continuous simulation
  3. All geometry is placed from path distances

πŸ—ΊοΈ Route Representation​

Each train route is represented as a list of segments.

πŸ“‘ Server Responsibilities​

  • Moves the lead bogey
  • Sends periodic updates (updateLead)

πŸ–₯️ Client Responsibilities​

  • Converts server CFrame β†’ route distance
  • Simulates continuous movement
  • Computes all bogey/carriage CFrames
  • Moves everything using BulkMoveTo

πŸ“ Bogey & Carriage Geometry​

Spacing rules for bogeys and carriages.

🧩 Components Overview​

Server path motion + syncing.

πŸ› Common Issues & Fixes​

FAQ & troubleshooting.