[DEVLOG] Core Milsim Framework (CMF)

Hey,

I am developing the Core Milsim Framework (CMF) from scratch to provide a modern, highly advanced alternative to the stagnant, “arcade-like” Roblox Milsim scene currently dominated by fragmented systems like ACS and A-Chassis. My goal is to deliver a fully unified, deeply realistic tactical ecosystem, high and easily customizable.

1. Advanced Ground Vehicle Engineering

  • Custom Physics & 0ms Latency: Suspension and drivetrain mechanics are entirely programmed and calculated on the client side, completely bypassing the limitations of default Roblox physics. This guarantees zero latency for the driver.
  • High-Fidelity Dynamic Audio: Vehicles feature a highly advanced, integrated sound system. It dynamically mixes multiple raw audio samples in real-time, calculating pitch and volume based on the specific engine type chosen and the current physical RPMs and load.
  • Deep Modularity: The architecture allows for extreme customization of physical parameters without relying on basic Studio part manipulation, ensuring a professional workflow for configuring complex vehicles.


2. Custom Aviation & Aerodynamics

  • Calculated Flight Dynamics: The flight model does not use default Roblox body movers or physics constraints. It runs entirely on custom code that simulates genuine aerodynamic properties in real-time.
  • Realistic Behaviors: The system constantly calculates drag, lift, and weight distribution for authentic flight behavior, heavily inspired by high-fidelity simulators like War Thunder. Currently successfully tested on a fully functional A-10 aircraft.



(This third-person camera will not be part of the framework.)

3. Tactical FPS, Ballistics & Medical Interface

  • True First Person & Weapon Mechanics: The camera provides a full-body view on the client with a clean, arms-only viewmodel. Weapons are highly dynamic, and all projectiles feature simulated gravity and drag rather than instantaneous hitscan.
  • Shrapnel-Based Explosions: Explosion damage calculation heavily prioritizes realism. It completely discards basic radial raycasts in favor of simulated physical shrapnel projection.
  • Client-Side VFX: Heavy visual effects for explosions run entirely on the client, guaranteeing zero server-side lag. Additionally, explosions simulate the speed of sound, dynamically delaying the audio blast based on player distance.
  • Advanced Triage System: Pressing ‘M’ opens a dedicated limb-specific UI. Players must manage physical resources, dragging and dropping bandages, tourniquets, and blood bags to treat specific injuries.

Technical Architecture & Open Source Vision
CMF is built to be strictly modular. The FPS, ground, and air systems work independently but integrate seamlessly.
This project aims to elevate the standard of Roblox development. I am completely open to community contributions, and absolutely none of the framework’s assets will be used for personal profit.

2 Likes

[DEVLOG #1]

I have recently finalized the CombatObserver module for the Core Milsim Framework. It is an event-driven system designed to handle for example, reactive killfeeds, combat history and reward systems, with a built-in memory cap (MAX_LOGS) to maintain stable server performance during long sessions. Since the framework automatically handles kill registrations internally, it provides a clean API for developers to simply listen to and query the data.

Here are practical examples of how you can use the API to interact with the combat data:

Powering a Reactive Killfeed Using the OnLogAdded event allows other systems (like UI components or score managers) to instantly react whenever the framework registers a kill, without tight coupling to the combat system itself.

local CombatObserver = require(path.to.CombatObserver)

CombatObserver.OnLogAdded:Connect(function(logData)
    -- logData is the instance returned by LogClass.new
    local instigatorName = game.Players:GetNameFromUserIdAsync(logData.InstigatorId)
    local victimName = game.Players:GetNameFromUserIdAsync(logData.VictimId)
    
    print(string.format("[KILLFEED]: %s eliminated %s using %s", instigatorName, victimName, logData.Source))
end)

Fetching Player Combat History This is useful for end-of-match statistics or player profile panels. It retrieves all recent engagements where a specific user was either the instigator or the victim.

local CombatObserver = require(path.to.CombatObserver)

local function PrintPlayerStats(userId)
    local playerHistory = CombatObserver.GetPlayerLogs(userId)
    
    print("Combat History for UserId: " .. tostring(userId))
    print("Total recent engagements: " .. #playerHistory)
    
    for i, log in ipairs(playerHistory) do
        if log.InstigatorId == userId then
            print(string.format("%d: Scored a kill with %s", i, log.Source))
        elseif log.VictimId == userId then
            print(string.format("%d: Eliminated by %s", i, log.Source))
        end
    end
end
1 Like

looks really nice, does it have a system for helicopters aswell?

1 Like

I have a helicopter system in a very early stage, started a few months ago, but very incomplete, and yes, helicopters will be part of it.

Meanwhile, we have drones!


(Sorry for the splendid failure xD)

1 Like

will this framework ever be available for others, or is this for a game your making? :thinking:

Think of this system as the A-Chassis and the ACS.
There might eventually be a game, as I will need the experience of a user using the system to create one.
The system will be completely free.