[PRO] Multi-Table Carrom Board Game System
Physics-Simulated, Animated AI Bots, & Proximity-Synced Spectator View (Commercial-Grade)
The most complete and premium Carrom Board Game system on Roblox, engineered specifically for commercial integration in game hubs, arcades, or metaverses. Built with a fully modular, object-oriented architecture, this system supports multiple independent tables running simultaneously within a single server instance with zero performance degradation or physics interference.This package is built to the highest code standards: 100% modular, secure against network exploits, highly optimized, and ready for drag-and-drop deployment!
Core Product Features
1.
Precision Local Physics Solver (Relatively-Mapped Physics)
- Relative Calculations: All disk-on-disk collisions, rail bounces, friction damping, and pocketing checks are calculated in the local coordinate space of the active board.
- Infinite Placement & Rotation: Tables can be cloned, rotated at any angle, or placed anywhere in the workspace without affecting the simulation.
- Sub-Stepped Physics Loop: Runs 8 sub-steps per physics tick to prevent coins from tunneling through rails or overlapping at high velocities.
2. Adaptive R15 Animated AI Bot Rigs
- Realistic Seated Animation: Bots use standard R15 rigs loaded with a custom looping sitting animation
- Auto-Join & Dynamic Cleanup: Bots spawn dynamically to fill empty slots and are automatically destroyed when a real player takes the seat, or when the game lobby resets.
- Mid-Game Bot Takeover: If a player disconnects or leaves mid-match, an AI Bot instantly takes over their seat and turns to ensure game continuity.
3. Proximity-Synced Spectator & Overhead Camera
- Spectator Proximity Sync: Spectators walking around the game will automatically see their screen HUD and scores update in real-time to display the status of the closest active table.
- Overhead Camera Lock: Seated players have their camera locked to an overhead projection, aligned relative to their respective seat orientation (P1-P4).
4. Dynamic 3D Neon Trajectory Guides (Aim Assist)
- Real-time Trajectories: A glowing neon yellow path shows the striker's projection and its precise impact point on target coins.
- Reflection Visualizers: Neon orange and green lines display the rebound paths of both the striker and the target coin after collision.
5. High-Fidelity Spatial 3D Audio & VFX
- Velocity-Scaled Sound: Positioned impact sounds (wood clacks, rail thuds, pocket drops) scale their playback volume dynamically based on the impact velocity.
- Roblox Safety Compliant: Uses 100% public, verified Creator Store audio assets to avoid permission errors.
- Wood Dust & Sparks: High-speed collisions trigger realistic wood dust and golden spark particle bursts.
6. Hardened System Modularity & Stability
- Anti-Asynchronous Lock: Features status guards that prevent the lobby state from freezing if a player leaves the table exactly while the striker is in motion. The server resets cleanly and immediately clears physics objects.
- CPU Throttle Optimization: The server shuts down the physics update thread completely when all coins on a table come to a halt.
System Architecture & File Structure
The system separates its backend and frontend logic cleanly across Roblox's services:- Workspace.CarromSystem: Holds the physical board models (e.g. CarromTable, CarromTable2), seating, overhead light rigs (BoardLamp), and the folder for active coin parts.
- CarromConfig (ModuleScript inside each table): Defines rules (minimum player count), geometry dimensions (coin/striker radii), coefficients of bounce/friction, and maximum speed.
- ServerScriptService.CarromServer (Script): Serves as the central network router. Scans workspace tables, instantiates managers, and directs incoming requests.
- ServerScriptService.CarromTableInstance (ModuleScript): The core OOP table manager. Handles turn rotations, bots, scores, physics step calculations, and cleanups.
- StarterPlayerScripts.CarromClient (LocalScript): Controls local aiming input (mouse drag, touch swipe, spacebar charge), camera interpolation, and localized visual effects.
- StarterPlayerScripts.CarromUI (ModuleScript): Controls UI transition tweens, mobile button visibilities, and Turn HUD updates.
- StarterGui.CarromHud (ScreenGui): The responsive dark glassmorphic user interface containing the lobby menus, scoreboard, mobile controls, and turn alerts.
- ReplicatedStorage.CarromRemotes: The network events bridging client input and server state broadcasts.
Configuration Module (CarromConfig)
Developers can easily customize the feel of the game on a per-table basis:
Easy Installation & Setup Guide
- Copy Assets to Services:
- Drop the CarromSystem folder into Workspace.
- Move CarromServer and CarromTableInstance to ServerScriptService.
- Move CarromClient and CarromUI to StarterPlayer.StarterPlayerScripts.
- Move CarromHud to StarterGui.
- Place the CarromRemotes folder in ReplicatedStorage.
- Adding More Tables:
- Duplicate Workspace.CarromSystem.CarromTable to CarromTable2, CarromTable3, etc.
- Shift the new model's position (e.g., offset by 28 studs along the X-axis) to prevent overlaps.
- Duplicate BoardLamp and position it directly above the center of the new board at Y = 22.
- Playtest & Enjoy:
- Start a 2-player local test server in Roblox Studio.
- Sit at different tables to play independent matches, or stand near any table to spectate active games instantly.
