{
  "slug": "game-dev-budget",
  "title": "Indie Game Development Budget Calculator",
  "heading": "Game Dev Budget Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/game-dev-budget",
  "summary": "Total build cost, burn rate, and units needed to break even.",
  "description": "Price a project from team size, salaries, and timeline, add tooling and marketing, then find how many copies must sell at your price after storefront cuts to recoup it.",
  "formula": "Units to break even = total budget ÷ (price × (1 − store cut) × (1 − refund rate)).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=game-dev-budget",
  "inputs": [
    {
      "id": "devs",
      "label": "Team size",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "salary",
      "label": "Average annual cost per person",
      "kind": "number",
      "hint": null,
      "default": 85000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "months",
      "label": "Development months",
      "kind": "number",
      "hint": null,
      "default": 18,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "tools",
      "label": "Tools, art, audio, contractors",
      "kind": "number",
      "hint": null,
      "default": 60000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "marketing",
      "label": "Marketing budget",
      "kind": "number",
      "hint": null,
      "default": 45000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "price",
      "label": "Launch price",
      "kind": "number",
      "hint": null,
      "default": 24.99,
      "unit": "$",
      "min": 0.99,
      "max": null
    },
    {
      "id": "storeCut",
      "label": "Storefront cut",
      "kind": "number",
      "hint": null,
      "default": 30,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "refunds",
      "label": "Refund rate",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "%",
      "min": 0,
      "max": 30
    }
  ],
  "outputs": [
    {
      "id": "units",
      "label": "Units to break even",
      "format": "number",
      "hint": null,
      "primary": true
    },
    {
      "id": "total",
      "label": "Total project budget",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "burn",
      "label": "Monthly burn rate",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "netPerUnit",
      "label": "Net revenue per copy",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "labor",
      "label": "Labor cost",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Team size: 4",
      "Average annual cost per person: 85000 $",
      "Development months: 18",
      "Tools, art, audio, contractors: 60000 $",
      "Marketing budget: 45000 $",
      "Launch price: 24.99 $",
      "Storefront cut: 30 %",
      "Refund rate: 8 %"
    ],
    "outputs": [
      "Units to break even: 38,214",
      "Total project budget: $615,000",
      "Monthly burn rate: $34,167",
      "Net revenue per copy: $16.09",
      "Labor cost: $510,000"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter team size.",
      "Enter average annual cost per person ($).",
      "Enter development months.",
      "Enter tools, art, audio, contractors ($).",
      "Enter marketing budget ($).",
      "Enter launch price ($).",
      "Enter storefront cut (%).",
      "Enter refund rate (%).",
      "Read your units to break even on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "devs": 2,
        "salary": 50000,
        "months": 11,
        "tools": 35000,
        "marketing": 25000,
        "price": 15,
        "storeCut": 18,
        "refunds": 5
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "devs": 4,
        "salary": 85000,
        "months": 18,
        "tools": 60000,
        "marketing": 45000,
        "price": 25,
        "storeCut": 30,
        "refunds": 8
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "devs": 6,
        "salary": 135000,
        "months": 29,
        "tools": 95000,
        "marketing": 70000,
        "price": 40,
        "storeCut": 48,
        "refunds": 13
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why is the break-even count so high?",
      "a": "Because a $25 game nets roughly $16 after the store cut and refunds. Budgets scale linearly, sales rarely do."
    },
    {
      "q": "Should I include my own salary?",
      "a": "Yes. Solo devs who exclude their time convince themselves a project was profitable when it paid less than minimum wage."
    }
  ],
  "related": [],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Indie Game Development Budget Calculator (https://www.revenuelab.fyi/toolbox/game-dev-budget)"
}