SYSTEM_FEATURES
// The core components of your combat suite.
OPERATOR_MANUAL
// INITIALIZATION
Launch `CABLE.exe`. The primary interface will connect you to the Grid. Set your callsign in the designated field. From the server browser, select an open combat simulation or create your own private room.
// I/O CONTROLS
- LOCOMOTION: W, A, S, D
- AIM: MOUSE_INPUT
- FIRE_WEAPON: MOUSE_BTN_1
- CHAT_INTERFACE: ENTER/RETURN
// COMBAT_PROTOCOL
Objective: De-rez opposing operators. Your structural integrity (health) is monitored on your HUD. System failure (health at 0) results in a temporary de-rez, followed by a reboot at a random grid coordinate. Your starting hardware is basic; superior hardware must be acquired on-site.
DEV_CONSOLE
// CORE_MODULES
System architecture is modular for efficient debugging and expansion.
- LobbyManager: Manages Photon server handshake, room instantiation, and player identity (`NickName`).
- WeaponManager: Syncs weapon state across the network using `RPC_EquipWeapon`.
- Shooting: Handles client-side raycasting and triggers network-wide VFX via `RPC_PlayMuzzleFlash`.
// WEAPON_SYNC_LOGIC
Weapon equipping is broadcast to all clients to ensure visual consistency. The master client's state is law.
[PunRPC]
void RPC_EquipWeapon(string weaponName)
{
if (currentWeapon != null) { Destroy(currentWeapon); }
GameObject newWeapon = Instantiate(Resources.Load<GameObject>(weaponName), weaponHolder.position, weaponHolder.rotation);
newWeapon.transform.SetParent(weaponHolder);
currentWeapon = newWeapon;
}
// VFX_BROADCAST
Visual effects like muzzle flash are triggered via an `All` RPC call. This is efficient as it doesn't require constant state synchronization, only a one-time event broadcast.
void Shoot()
{
// ...
photonView.RPC("RPC_PlayMuzzleFlash", RpcTarget.All);
// ...
}
[PunRPC]
void RPC_PlayMuzzleFlash()
{
currentWeapon?.muzzleFlash?.Play();
}