Jump to content

Main Page: Difference between revisions

From CMM Wiki
Tag: Reverted
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 7: Line 7:
= Standard Users -> [[CMM_Map_Marker_Commands|CMM Map Marker Commands]] =
= Standard Users -> [[CMM_Map_Marker_Commands|CMM Map Marker Commands]] =


= Developers    -> [[Category:CMM|CMM Command Reference]] =  
= Developers    -> [[:Category:CMM|CMM Functions]] =  


== Core Design Principles & Requirements ==  
== Core Design Principles & Requirements ==  

Latest revision as of 08:36, 20 October 2025

Welcome to the Campaign Mission Mechanics (CMM) Wiki

Campaign Mission Mechanics (CMM) is a Lua-based framework designed to bring structure and reusability to mission building in Digital Combat Simulator (DCS World). It provides mission designers and scripters with a library of functions and utilities that simplify the creation and management of complex dynamic scenarios.

CMM is intended to serve as the foundation for larger dynamic campaigns, persistent multiplayer servers, or heavily scripted single-player missions. By abstracting common tasks into reusable mechanics, it lets mission creators focus on designing gameplay rather than constantly rewriting boilerplate scripts.

Standard Users -> CMM Map Marker Commands

Developers -> CMM Functions

Core Design Principles & Requirements

  1. DCS API & MIST
    • CMM leverages the full range of the native DCS World scripting API and augments it with community-established libraries like MIST (Mission Scripting Tools).
    • This ensures compatibility, reliability, and access to powerful pre-built functions while keeping the framework aligned with the broader DCS scripting ecosystem.
  2. Redundancy for the Mission Editor Trigger System
    • CMM must function without reliance on the Mission Editor’s trigger system.
  3. Terrain-Agnostic Static Templates
    • Static object templates must be defined in a terrain-agnostic way, meaning they can be re-used across different maps without breaking.
    • Templates must be capable of being applied dynamically at runtime, making it possible to port campaigns between theatres with minimal re-work.
  4. Meaningful Visual Markers & Map Data
    • Custom visual markers should not just give visual reference to players, but also at a glance allow additional information to be inferred.
    • Production of a Points of Interest system that will allow Mission Designers to be able to reliably place units in areas that are clear of buildings and other obstacles without the need for additional checks.
  5. Player Commands
    • Player markers serve as inputs for bot Admin/Game Master commands and player based commands. These commands should give players clear and immediate feedback and be as simple to use as possible.
  6. Customisability
    • CMM should be easily modified or extended based on Mission Designer Needs
    • Mission creators must be able to adjust parameters, swap behaviours, or add entirely new layers of logic without breaking the framework.
    • CMM must not break or otherwise limit the use of additional custom code from other frameworks (Moose, CTLD, CSAR)
  7. XP and Points System
    • CMM must provide a consistent XP system that also tracks players airframe time and meaningful statistics
    • CMM must provide a points system that allows the players to interact and help shift the battle based on decisions on their points expenditure.

History

The CMM Framework was officially started on the 11th of August 2024. The Framework was seeded from a previous codebase developed by OzDeaDMeaT. One of the early goals of CMM was to normalize the code of these initial seed scripts into a more consistent and coherent style. What started out as a general script tidy-up has now as of September 2025 culminated in over 21,000 lines of lua.

Dedications

I dedicate CMM to my nan Shirley and my son Lincoln.

My Nan's love, compassion and fortitude is in large part what has made me successful in my life. Her encouragement is what has made me so tenacious in everything I do and so resilient to the obstacles I face. She is the one to which all others are measured. I will miss you forever Nan. x0x0 <3

And to my son Lincoln. Someday you will hopefully read this and realise just how impactful you have been to me in the 6 years we have known each other. You have taught me compassion and understanding. It has been a wonderful experience being your Dad, watching in amazement as you learn new things and growing into that massive brain of yours. Your creativity and imagination inspire me to make sure I remove as many road-blocks stopping you from unleashing your potential on this Earth. I am proud of you for all the times you pick yourself up and keep moving forward. I love you my son, <3 Dad x0x0


Special Thanks to my small yet mighty Inner-Circle:

- RaDDaD55 - my father, for being my hero my entire life, for never giving up on me when it felt like everyone else had. I love ya Dad x0x0

- Dagi - for his unwavering encouragement and support when no-one else thought what I was doing was worth anything.

- Looney (a.k.a.) OfficialyInsane - for not being a cunt, your banter and general coding knowledge and life advice, thank you mate.

- Gadget - for being that steady hand helping me work through my demons and hopefully become a better person for it.

- Panthro - for being one of the greatest example of being a good Dad, and a good mate.