import type { GameConfig } from "../schemas"; /** Default tuning. All numbers are first guesses until balancing in Phase 12. */ export const gameConfig: GameConfig = { // 1 real minute = 1 game hour. timeCompression: 60, // Placeholders: the design docs do not fix an in-game start date yet. epoch: { realStart: "2026-01-01T00:00:00Z", ephemerisDate: "2100-01-01T00:00:00Z", }, // A small cushion: a couple of Courier fuel loads from Earth (CR-001). startingCredits: 500, tutorialPayoutShare: 0.5, contractBoardSize: 8, // One tutorial contract per mass tier (CR-001). tutorialBoardSize: 3, tutorialLoanerShipModelId: "company-courier", tutorialRunsBeforeDeal: 4, tutorialMassTonnes: { light: 5, medium: 12, full: 20 }, // 20 t adds 0.4 game hours (24 real seconds) of loading and unloading. handlingGameHoursPerTonne: 0.02, loanRepaymentShare: 0.3, // Courier price + Earth bay lease. dealLoanAmount: 5000, contractBoardPeriodRealMinutes: 60, firstContactChance: 0.1, firstContactPayoutMultiplier: 2, contractMassTonnes: { min: 5, max: 400 }, // Mars at its closest needs no Long Haul; Jupiter at its farthest needs level 5. longHaulCutoffsMillionKm: [100, 250, 400, 600, 800], xpPerDelivery: { base: 10, perMillionKm: 0.2, perCargoTier: 5 }, pilotLevelXpThresholds: [100, 250, 450, 700, 1000, 1400, 1900, 2500, 3200, 4000], // Ten levels × 2 points = enough to max all four skills (4 × 5 levels). skillPointsPerLevel: 2, pilotHireCost: 2000, pilotPayPerDelivery: 100, };