Difference between revisions of "Room Tuning"

From Superboss Games Wiki
Jump to navigation Jump to search
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Template:Stub}}
+
= Overview =
  
= Overview =
+
Tuning in [[Intruder]] refers to a server or [[Custom Maps|Custom Map]] that uses a JSON script to change the rules of the game. Tuning scripts can modify various gameplay elements, including movement speed, health, clip size, gravity, and more. These Scripts can be pasted into the "Tuning" box in the [[Server Browser#Creating a Server|Create Room]] page, or placed into a [[TuningProxy]] element while [[IntruderMM|creating a map]]. Entering the Tuning into a TuningProxy will automatically apply the settings each time the map is used. If a server applies Tuning settings on a map with settings already applied, the server options take priority.
 +
 
 +
==Formatting==
 +
The formatting for the Tuning JSON file is broken down into multiple sections, each relating to a separate section of gameplay:
 +
1. Match
 +
2. Guard
 +
  1. Weapon
 +
  2. Motor
 +
    1. Jumping
 +
    2. Speed
 +
    3. Sliding
 +
  3. Health/Balance/Energy
 +
  4. Movement
 +
  5. View
 +
3. Intruder
 +
  1. Weapon
 +
  2. Motor
 +
    1. Jumping
 +
    2. Speed
 +
    3. Sliding
 +
  3. Health/Balance/Energy
 +
  4. Movement
 +
  5. View
 +
4. Global
 +
In each of these sections, multiple values can be changed to alter how they operate in-game. If a given value is not different from the default settings, then it does not need to be included in the Tuning JSON. For instance, if we just wanted to allow same-team arresting, then the Tuning settings would look like this:
 +
{
 +
  "MatchMode": {
 +
    "canArrestTeammates": true
 +
  },
 +
}
  
Tuning in [[Intruder]] is when a server runs a custom script to change the rules of the game. These Scripts can be pasted into the ''Tuning'' Box in the Create Room page.
+
===Default Tuning Settings===
 +
In the table below, every setting available is listed at its default value. To change weapon variables, rename the "weapon" tag to the desired item and input numbers or 'true'/'false' into the float or bool labels respectively.
 +
'''NOTE:''' The table below (with the 'weapon' sections removed) will not alter any in-game settings. It is simply a list of all possible variables for reference.
  
 +
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 +
| <strong>Default Tuning JSON </strong>
 +
|-
 +
|
 +
{
 +
  "MatchMode": {
 +
    "element1Name": "",
 +
    "element2Name": "",
 +
    "roundsToWin": 3,
 +
    "setsToWin": 2,
 +
    "scrambleAfterXMatches": 1,
 +
    "nextMapAfterXMatches": -1,
 +
    "randomMapChange": false,
 +
    "timerEnabled": true,
 +
    "swapTeamsEverySet": true,
 +
    "canArrestTeammates": false,
 +
    "pingLimit": 1200,
 +
    "pingLimitCheckTimes": 10
 +
  },
 +
  "GuardTuning": {  ''To edit multiple weapons, copy and paste the 'Weapon' section and rename it to the corresponding weapon''
 +
    "Weapon": {    ''After renaming, you can change each 'bool' or 'float' to your desired value''
 +
      "canUseOnLadder": bool,
 +
      "canUseInWater": bool,
 +
      "canUseUnderWater": bool,
 +
      "canUseOnZipline": bool,
 +
      "dropWhenRagged": bool,
 +
      "hideOnRagdoll": bool,
 +
      "fireRate": float,
 +
      "fireRecoverRate": float,
 +
      "fireDelayTime": float,
 +
      "hasSemiAuto": bool,
 +
      "hasFullAuto": bool,
 +
      "hasBurstShot": bool,
 +
      "maxClipAmmo": float,
 +
      "reloadTime": float,
 +
      "autoReload": bool,
 +
      "reloadOnEquip": bool,
 +
      "hasScope": bool,
 +
      "canJumpFire": bool,
 +
      "unequipOnEmpty": bool,
 +
      "unequipDelay": float,
 +
      "removeFromInventoryOnEmpty": bool,
 +
      "equipTime": float,
 +
      "advancedRecoil": bool,
 +
      "hasStockRecoil": bool,
 +
      "stockRecoilRecoverySpeed": float,
 +
      "recoilBalance": float,
 +
      "precoilBalance": float,
 +
      "canFocusShot": bool,
 +
      "noPrecoilZoomed": bool,
 +
      "medHighEnergy": float,
 +
      "lowMedEnergy": float,
 +
      "aimDownSightsFov": float,
 +
      "extraZoomingFov": float
 +
    },
 +
    "CharacterMotor": {
 +
      "jumping": {
 +
        "baseHeight": 1,
 +
        "extraHeight": 4.1,
 +
        "perpAmount": 0,
 +
        "steepPerpAmount": 0.5
 +
      },
 +
      "movement": {
 +
        "maxForwardSpeed": 10,
 +
        "maxSidewaysSpeed": 10,
 +
        "maxBackwardsSpeed": 10,
 +
        "maxGroundAcceleration": 30,
 +
        "maxAirAcceleration": 20,
 +
        "gravity": 20,
 +
        "maxFallSpeed": 20
 +
      },
 +
      "sliding": {
 +
        "slidingSpeed": 15,
 +
        "sidewaysControl": 1,
 +
        "speedControl": 0.4
 +
      }
 +
    },
 +
    "PlayerLife": {
 +
      "afkTime": 120,
 +
      "defaultHP": 100,
 +
      "defaultEnergy": 70,
 +
      "defaultBalance": 100,
 +
      "shouldRagdoll": true,
 +
      "canRespawn": false,
 +
      "defaultUnragTime": 3,
 +
      "lowStamina": 40,
 +
      "superLowStamina": 25,
 +
      "lowStaminaUnragMod": 0.85,
 +
      "superLowStaminaUnragMod": 1.6,
 +
      "breathingThreshold": 15,
 +
      "jumpBalance": 5,
 +
      "standBalance": 50,
 +
      "crouchBalance": 80,
 +
      "proneBalance": 100,
 +
      "standMoveBalance": 30,
 +
      "standAimMoveBalance": 49,
 +
      "crouchMoveBalance": 60,
 +
      "crouchMoveAimBalance": 70,
 +
      "proneMoveBalance": 90,
 +
      "ziplineBalance": 50,
 +
      "balanceDownSpeed": 10,
 +
      "balanceUpSpeed": 2,
 +
      "stanceEnergyEffect": [
 +
        3,
 +
        3,
 +
        3,
 +
        -10,
 +
        -25,
 +
        0,
 +
        0,
 +
        3,
 +
        -25,
 +
        0
 +
      ],
 +
      "explosionAirKillDistance": 3,
 +
      "bloodDripRate": 0.9,
 +
      "bloodHPThreshold": 30
 +
    },
 +
    "PlayerMovement": {
 +
      "leanAmount": 0.35,
 +
      "speedWalk": 2.8,
 +
      "speedStand": 3.4,
 +
      "speedCrouch": 2.5,
 +
      "speedProne": 1,
 +
      "speedAim": 2.1,
 +
      "speedAimCrouched": 1.75,
 +
      "speedAimProne": 0.95,
 +
      "runAnimSpeed": 1.1,
 +
      "walkAnimSpeed": 0.6,
 +
      "feignSpeed": 1,
 +
      "stompHeight": 4,
 +
      "canStomp": true,
 +
      "fallHeightDeath": 13,
 +
      "fallHeightFall": 4.3,
 +
      "fallHeightCrouchMod": 2.3,
 +
      "fallHeightLand": 1.9,
 +
      "goombaMultiplier": 3,
 +
      "jumpEnergyEffect": -20,
 +
      "longJumpMaxSpeed": 5.5,
 +
      "longJumpVelMultiplier": 3,
 +
      "aimBobMod": 0.3,
 +
      "crouchBobMod": 0.5,
 +
      "proneBobMod": 0.5,
 +
      "walkBobMod": 0.3,
 +
      "runFootStepRate": 0.315,
 +
      "walkFootStepRate": 0.5,
 +
      "walkSoundMod": 0.5,
 +
      "walkVolumeMod": 0.5,
 +
      "walkDistanceMod": 0.5,
 +
      "runVolumeMod": 1,
 +
      "runDistanceMod": 1,
 +
      "rigidGravity": 9.81,
 +
      "allowFeignDeath": true
 +
    },
 +
    "PlayerView": {
 +
      "aimBobMod": 0.3,
 +
      "crouchBobMod": 0.5,
 +
      "proneBobMod": 0.5,
 +
      "walkBobMod": 0.3,
 +
      "lerpSpeed": 30
 +
    }
 +
  },
 +
  "IntruderTuning": {  ''To edit multiple weapons, copy and paste the 'Weapon' section and rename it to the corresponding weapon''
 +
    "Weapon": {    ''After renaming, you can change each 'bool' or 'float' to your desired value''
 +
      "canUseOnLadder": bool,
 +
      "canUseInWater": bool,
 +
      "canUseUnderWater": bool,
 +
      "canUseOnZipline": bool,
 +
      "dropWhenRagged": bool,
 +
      "hideOnRagdoll": bool,
 +
      "fireRate": float,
 +
      "fireRecoverRate": float,
 +
      "fireDelayTime": float,
 +
      "hasSemiAuto": bool,
 +
      "hasFullAuto": bool,
 +
      "hasBurstShot": bool,
 +
      "maxClipAmmo": float,
 +
      "reloadTime": float,
 +
      "autoReload": bool,
 +
      "reloadOnEquip": bool,
 +
      "hasScope": bool,
 +
      "canJumpFire": bool,
 +
      "unequipOnEmpty": bool,
 +
      "unequipDelay": float,
 +
      "removeFromInventoryOnEmpty": bool,
 +
      "equipTime": float,
 +
      "advancedRecoil": bool,
 +
      "hasStockRecoil": bool,
 +
      "stockRecoilRecoverySpeed": float,
 +
      "recoilBalance": float,
 +
      "precoilBalance": float,
 +
      "canFocusShot": bool,
 +
      "noPrecoilZoomed": bool,
 +
      "medHighEnergy": float,
 +
      "lowMedEnergy": float,
 +
      "aimDownSightsFov": float,
 +
      "extraZoomingFov": float
 +
    },
 +
    "CharacterMotor": {
 +
      "jumping": {
 +
        "baseHeight": 1,
 +
        "extraHeight": 4.1,
 +
        "perpAmount": 0,
 +
        "steepPerpAmount": 0.5
 +
      },
 +
      "movement": {
 +
        "maxForwardSpeed": 10,
 +
        "maxSidewaysSpeed": 10,
 +
        "maxBackwardsSpeed": 10,
 +
        "maxGroundAcceleration": 30,
 +
        "maxAirAcceleration": 20,
 +
        "gravity": 20,
 +
        "maxFallSpeed": 20
 +
      },
 +
      "sliding": {
 +
        "slidingSpeed": 15,
 +
        "sidewaysControl": 1,
 +
        "speedControl": 0.4
 +
      }
 +
    },
 +
    "PlayerLife": {
 +
      "afkTime": 120,
 +
      "defaultHP": 100,
 +
      "defaultEnergy": 70,
 +
      "defaultBalance": 100,
 +
      "shouldRagdoll": true,
 +
      "canRespawn": false,
 +
      "defaultUnragTime": 3,
 +
      "lowStamina": 40,
 +
      "superLowStamina": 25,
 +
      "lowStaminaUnragMod": 0.85,
 +
      "superLowStaminaUnragMod": 1.6,
 +
      "breathingThreshold": 15,
 +
      "jumpBalance": 5,
 +
      "standBalance": 50,
 +
      "crouchBalance": 80,
 +
      "proneBalance": 100,
 +
      "standMoveBalance": 30,
 +
      "standAimMoveBalance": 49,
 +
      "crouchMoveBalance": 60,
 +
      "crouchMoveAimBalance": 70,
 +
      "proneMoveBalance": 90,
 +
      "ziplineBalance": 50,
 +
      "balanceDownSpeed": 10,
 +
      "balanceUpSpeed": 2,
 +
      "stanceEnergyEffect": [
 +
        3,
 +
        3,
 +
        3,
 +
        -10,
 +
        -25,
 +
        0,
 +
        0,
 +
        3,
 +
        -25,
 +
        0
 +
      ],
 +
      "explosionAirKillDistance": 3,
 +
      "bloodDripRate": 0.9,
 +
      "bloodHPThreshold": 30
 +
    },
 +
    "PlayerMovement": {
 +
      "leanAmount": 0.35,
 +
      "speedWalk": 2.8,
 +
      "speedStand": 3.4,
 +
      "speedCrouch": 2.5,
 +
      "speedProne": 1,
 +
      "speedAim": 2.1,
 +
      "speedAimCrouched": 1.75,
 +
      "speedAimProne": 0.95,
 +
      "runAnimSpeed": 1.1,
 +
      "walkAnimSpeed": 0.6,
 +
      "feignSpeed": 1,
 +
      "stompHeight": 4,
 +
      "canStomp": true,
 +
      "fallHeightDeath": 13,
 +
      "fallHeightFall": 4.3,
 +
      "fallHeightCrouchMod": 2.3,
 +
      "fallHeightLand": 1.9,
 +
      "goombaMultiplier": 3,
 +
      "jumpEnergyEffect": -20,
 +
      "longJumpMaxSpeed": 5.5,
 +
      "longJumpVelMultiplier": 3,
 +
      "aimBobMod": 0.3,
 +
      "crouchBobMod": 0.5,
 +
      "proneBobMod": 0.5,
 +
      "walkBobMod": 0.3,
 +
      "runFootStepRate": 0.315,
 +
      "walkFootStepRate": 0.5,
 +
      "walkSoundMod": 0.5,
 +
      "walkVolumeMod": 0.5,
 +
      "walkDistanceMod": 0.5,
 +
      "runVolumeMod": 1,
 +
      "runDistanceMod": 1,
 +
      "rigidGravity": 9.81,
 +
      "allowFeignDeath": true
 +
    },
 +
    "PlayerView": {
 +
      "aimBobMod": 0.3,
 +
      "crouchBobMod": 0.5,
 +
      "proneBobMod": 0.5,
 +
      "walkBobMod": 0.3,
 +
      "lerpSpeed": 30
 +
    }
 +
  },
 +
  "staminaDrainModifier": 0.5,
 +
  "gunSwerveThreshold": 20,
 +
  "updateStaminaRate": 0.1,
 +
  "rigidGravity": 2.2,
 +
  "energyToSwayOnMove": 70,
 +
  "shouldCheckLives": false,
 +
  "tuningMessage": ""
 +
}
 +
|}
  
==Tutorial==
+
==Tuning Generators==
 +
To avoid having to manually type each Tuning variable, a [https://dukeofsussex.dev/projects/itg/ Tuning Generator] is available that allows you to easily edit each setting and compile a Tuning JSON automatically.
  
'''Creating the Script'''
+
===Using a Tuning Generator===
:*The easiest way to create a script is by using the [https://drive.google.com/file/d/0B-Qn3CV9joa_WWlDS09sd0NKNTA/view Intruder Tuner]. You can use this to edit specific statistics of Guards and Intruders. Simply run the .exe to start creating a script.
+
*Navigate to: https://dukeofsussex.dev/projects/itg/
::'''Note:''' Changing the items Guards/Intruders spawn with is handled by the map, not the tuning script.
+
**If you are editing an existing JSON, click 'IMPORT' at the top of the page and upload the JSON file or paste it manually into the dialog box.
 +
*Edit the Tuning settings as desired.
 +
*After finishing editing the values, click 'EXPORT' at the top and either copy or download the compiled script.
 +
**After you copy/download the script, you can paste it into the "Tuning" box in the [[Server Browser#Creating a Server|Create Room]] page, or into a [[TuningProxy]] element in [[IntruderMM]].
  
:*After finishing editing the values, press ''Compile'' under the '''General''' tab to display the script, or press ''Copy'' to copy it directly to the keyboard. After you copy the script, you can paste it into the ''Tuning'' box in the Create Room page of the [[Server Browser]].
+
[[Category: Intruder]]

Latest revision as of 11:02, 29 August 2023

Overview

Tuning in Intruder refers to a server or Custom Map that uses a JSON script to change the rules of the game. Tuning scripts can modify various gameplay elements, including movement speed, health, clip size, gravity, and more. These Scripts can be pasted into the "Tuning" box in the Create Room page, or placed into a TuningProxy element while creating a map. Entering the Tuning into a TuningProxy will automatically apply the settings each time the map is used. If a server applies Tuning settings on a map with settings already applied, the server options take priority.

Formatting

The formatting for the Tuning JSON file is broken down into multiple sections, each relating to a separate section of gameplay:

1. Match
2. Guard
  1. Weapon
  2. Motor
    1. Jumping
    2. Speed
    3. Sliding
  3. Health/Balance/Energy
  4. Movement
  5. View
3. Intruder
  1. Weapon
  2. Motor
    1. Jumping
    2. Speed
    3. Sliding
  3. Health/Balance/Energy
  4. Movement
  5. View
4. Global

In each of these sections, multiple values can be changed to alter how they operate in-game. If a given value is not different from the default settings, then it does not need to be included in the Tuning JSON. For instance, if we just wanted to allow same-team arresting, then the Tuning settings would look like this:

{
  "MatchMode": {
    "canArrestTeammates": true
  },
}

Default Tuning Settings

In the table below, every setting available is listed at its default value. To change weapon variables, rename the "weapon" tag to the desired item and input numbers or 'true'/'false' into the float or bool labels respectively. NOTE: The table below (with the 'weapon' sections removed) will not alter any in-game settings. It is simply a list of all possible variables for reference.

Tuning Generators

To avoid having to manually type each Tuning variable, a Tuning Generator is available that allows you to easily edit each setting and compile a Tuning JSON automatically.

Using a Tuning Generator

  • Navigate to: https://dukeofsussex.dev/projects/itg/
    • If you are editing an existing JSON, click 'IMPORT' at the top of the page and upload the JSON file or paste it manually into the dialog box.
  • Edit the Tuning settings as desired.
  • After finishing editing the values, click 'EXPORT' at the top and either copy or download the compiled script.