MilsimGame is a macOS tactical sandbox prototype built for Xcode with:
- SwiftUI for the app shell and HUD
- Metal for rendering
- C for the gameplay and simulation core
The current build is a playable tactical slice with completed Cycle 2 environment systems, persistence foundations, a broader Cycle 3 combat pass, a deeper First-Person Presentation cycle, and an expanding Cycle 4 command layer: run four mission seeds, move through terrain tiles and compounds, use stance and lean to manage exposure, switch fire modes, vault low cover, collect military gear, work gates/crates/radios/emplaced guns, recover objective packages, and extract while a three-operator fireteam follows, holds, or assaults on command. Weapons, pickups, mission loot placement, and mission-script text load from bundled JSON, while the tactical map tracks discovered markers, live radio reports, authored mission phases, outcome branches, friendly positions, enemy alert/search states, and a command route through the battlefield. The SwiftUI shell can also save and reload live campaign archives from Alpha, Bravo, or Charlie slots via the HUD or menu bar, score completed operations across stealth, tempo, casualties, and recovered materiel, and surface a mission debrief after success or failure. Firefights now show head and limb wounds, fractures, stamina shock, splint treatment, enemy fallback reactions, search behavior off the last known contact, broader penetration behavior through select cover, vegetation damping, stronger weapon-signature feedback, and a toggleable first-person view with a depth-tested 3D world pass, terrain-aware skyline layers, richer terrain and prop breakup, warmer/cooler atmospheric lighting, more cohesive field palettes for terrain and props, world-hit sight and laser alignment, depth-aware focus prompts, muzzle flashes, material-specific impact bursts, smoother viewmodel transitions, reload and melee presentation beats, spring-driven recoil recovery, and visible friendly operators over the same tactical simulation.
W,A,S,D: moveShift: sprint- Mouse: aim
- Left mouse or
Space: fire / attack For right mouse: use or recover nearby equipmentR: reload current firearmH: treat wounds / use combat gauze or splintsT: cycle fireteam order (Follow,Hold,Assault)B: toggle fire modeC: crouch toggleZ: prone toggleQ/E: lean left / rightV: vault low coverTabor mouse wheel: cycle equipment1: primary weapon2: sidearm3: blade weaponP: toggle first-person presentation or tactical overhead viewM: expand or collapse the tactical mapCommand+S: save the current campaign archiveCommand+L: load the latest campaign archiveControl+Command+F: toggle full screen
- Four mission seeds: cache raid, hostage recovery, recon-and-exfil, convoy ambush
- Tiled terrain metadata in the C engine with materials, concealment, and movement costs
- Navigation nodes and gate-aware route metadata for patrols and tactical planning
- Layered battlefield structures rendered in Metal: ridges, roads, compounds, low walls, towers, convoy hulks, gates, and concealment foliage
- Interactable gates, supply crates, dead drops, radios, and emplaced weapons
- SwiftUI tactical map with grid references, compass heading, discovered markers, command route overlays, radio reports, and radio-gated hostile intel
- Lightweight fireteam command layer with three AI teammates, cycleable
Follow/Hold/Assaultorders, and friendly tactical-map tracking - Mission scoring and debrief presentation built around stealth, tempo, casualties, and recovered materiel, with best-score tracking stored in campaign progress
- Enemy awareness reporting with patrol/alert/search/engaged/fallback state changes driving tactical-map labels, route pressure summaries, radio chatter, and debrief stealth pressure
- Mission, operator, tactical map, controls, and loadout now run as independent macOS windows so they can be moved and resized separately from the game view, with a
Panelsmenu to reopen or refocus them if closed - Toggleable first-person presentation pass with a depth-tested 3D battlefield layer for terrain, structures, pickups, enemies, and projectiles, plus separated skyline/backdrop rendering, richer terrain material breakup, more detailed prop silhouettes, an authored dust-and-olive field palette, warmer sun / cooler shadow atmospheric fog, overlay reticle, held-weapon view models, cover-based occlusion, world-hit sight alignment, active laser/light overlays, projected close-range focus cues, renderer-driven muzzle flashes, material-specific impact bursts, weapon swap transitions, reload/melee presentation beats, and spring-driven recoil/viewmodel animation over the live C simulation
- Bundled JSON item definitions and mission loot tables loaded into the C engine at startup
- Bundled JSON mission scripts for phase-driven briefs, objective/event overrides, route/intel callouts, and mission-outcome branches
- C simulation support for stance, lean, vaulting, fire modes, chamber-aware reloads, drag-affected projectiles, selective cover penetration, vegetation damping, suppression, bleeding, pain, head and limb wound zones, fractures, stamina shock, gauze-and-splint treatment, suppressor and passive attachment mounting, enemy fallback reactions, and objective extraction
- Collectible attachment expansion with PEQ-15 lasers, weapon lights, and vertical grips alongside existing rifles, pistols, blades, magazines, suppressors, and medical gear
- SwiftUI HUD support for mission briefs, authored phase/branch readouts, posture, chamber status, wound state, suppression, interaction hints, inventory state, weapon-signature summaries, fireteam status, debrief scoring, first-person assist cues, presentation-mode status, operation cycling, and manual campaign save/load across Alpha, Bravo, and Charlie archive slots
MilsimGame.xcodeproj: Xcode projectMilsimGame/Engine: C simulation coreMilsimGame/Content: bundled JSON item definitions, loot tables, and mission scriptsMilsimGame/Rendering: Metal view, renderer, and shadersMilsimGame/UI: SwiftUI game interfaceplan.md: researched multi-cycle roadmap toward a deeper ARMA-like milsim