Technical & Roblox Architecture
1. Network Ownership & Vehicle Replication
Section titled “1. Network Ownership & Vehicle Replication”To ensure smooth 60 FPS vehicle handling without perceptible network latency, the game uses Roblox’s native Network Ownership delegation:
sequenceDiagram
autonumber
actor Player
participant Client as Local Player Client
participant Server as Game Server
participant Storage as ProfileService Database
Player->>Client: Interacts with Vehicle Prompt
Client->>Server: RequestVehicleEnter(vehicleModel)
Server->>Server: Validate Distance & Ownership
Server->>Server: vehicleSeat:SetNetworkOwner(Player)
Server-->>Client: Network Ownership Granted
Note over Client: Physics calculated 100% locally with zero input lag!
Client->>Server: Periodic State Sync (Position, Speed, Fuel)
Player->>Client: Completes Delivery Job
Client->>Server: RequestJobCompletion(jobId)
Server->>Server: Validate GPS path & time delta
Server->>Storage: Increment Cash & Rep atomically
Server-->>Client: Payout Confirmed Toast
2. Server-Authoritative Anti-Cheat Boundaries
Section titled “2. Server-Authoritative Anti-Cheat Boundaries”- Transaction Integrity: The client never directly dictates currency or vehicle inventory. The server validates all job completions by checking reasonable minimum travel times between pickup and dropoff points.
- Physics Sanity Checks: If a client’s reported vehicle position moves faster than the theoretical top speed plus a tolerance margin, the server flags the session and snaps the vehicle back.
3. Data Persistence Schema (ProfileService)
Section titled “3. Data Persistence Schema (ProfileService)”local PlayerDataProfile = { Cash = 15000, Reputation = 0, CurrentVehicleId = "kanto_compact", OwnedVehicles = { ["kanto_compact"] = { Odometer = 0, Upgrades = { Engine = 1, Suspension = 1, Tires = 1, Turbo = 0, }, Customization = { BodyColor = "#F59E0B", WheelColor = "#1E293B", WindowTint = 0.2, } } }, DiscoveredPOIs = {}, Settings = { SpeedUnit = "MPH", SteeringSensitivity = 1.0, CameraDynamicTilt = true, }}4. StreamingEnabled & Mobile Performance Targets
Section titled “4. StreamingEnabled & Mobile Performance Targets”- StreamingEnabled: Active with
StreamOutBehavior = LowMemoryandTargetRadius = 512,MinRadius = 128. - LOD Models: Vehicles drop high-poly wheel meshes and interior trim when distance exceeds 100 studs.
- Draw Call Budget: Maximum 2,500 draw calls per frame on mobile screens.