| Input Field | Example Value | Purpose | |-------------|--------------|---------| | Heist name | "Hoxton Breakout" | Looks up base value, length, expected time | | Difficulty | Death Wish (3.0x) | Multiplier | | Stealth / Loud | Loud | Affects civilian kill penalty | | Number of bags secured | 8 of 8 | Checks “all bags” bonus | | How many times did you run this heist today? | 2 times before | Determines heat multiplier | | Infamy level | 10 | Adds +50% XP | | Did you complete within expected time? | Yes | Adds up to +25% | def calculate_xp(heist, difficulty, runs_today, infamy_lvl, all_bags, time_bonus): # Step 1: Lookup constants base = heist.base_xp diff_mult = DIFFICULTY_MAP[difficulty] length_mod = heist.length_modifier expected_time_min = heist.expected_time_min # Step 2: Raw XP raw = base * diff_mult * length_mod

= (Raw_XP × Heat_Reduction × Difficulty_Bonus_Items) × (1 + Infamy_Bonus) 3. Calculator Design & Inputs A usable calculator must capture the player’s state. We propose a web or command-line interface with the following inputs:

# Step 4: Bag & time bonus bag_bonus = 1.10 if all_bags else 1.0 time_bonus_mult = 1.0 + (0.25 * time_bonus) # time_bonus = 0..1

Author: [Your Name] Date: April 18, 2026 Subject: Game Mechanics & Applied Mathematics 1. Introduction Payday 2 (Overkill Software, 2013) is a cooperative first-person shooter centered around executing heists. Unlike traditional linear shooters, Payday 2 employs a complex, non-linear experience points (XP) system influenced by difficulty, heist length, stealth bonuses, infamy levels, and a unique “XP diminishing returns” mechanic for repeated heists.

Raw = 4000 × 3.0 × 1.8 = After heat = 21,600 × 0.25 = 5,400 Bags & time = 5,400 × 1.1 × 1.2 = 7,128 Infamy = 7,128 × 1.25 = 8,910 XP (final).

| Heist | Base XP | Length Mod | Expected Time (min) | |--------------------|---------|------------|---------------------| | Jewelry Store | 1000 | 1.0 | 3 | | Bank Heist | 2200 | 1.2 | 8 | | Hoxton Breakout | 6000 | 1.8 | 22 | | The Diamond | 4000 | 1.8 | 15 | | Big Bank | 5500 | 1.8 | 25 | Would you like a working Python script, an Excel template, or an HTML/JavaScript version of this calculator based on the paper above?