Introduction

  1. What is MOOSE?
  2. What is Lua?
  3. What are scripts, frameworks and classes?
  4. What can MOOSE do for me?
  5. What if I don’t want to learn scripting?
  6. Next step

This very short chapter is for people identifying as a consumer of MOOSE and not wishing to learn to script. This is a condensed FAQ and set of links to get you up and running. It specifically avoids any complexity.

What is MOOSE?

DCS has included a Simulator Scripting Engine (short SSE). This SSE gives mission designers access to objects in the game using Lua scripts.

Mission Object Oriented Scripting Environment, is a scripting framework written in Lua that attempts to make the scripting of missions within DCS easier, simpler and shorter than with the standard methods.

MOOSE is over 5 MB of code, with as many words as the Bible and the core of it was written over several years by one person.

MOOSE is the brain-child of an talented programmer with the alias FlightControl. If you want to know more about this topic, check out FC’s MOOSE for Dummies videos on YouTube.

We recommend video playback at 1.5x speed, as FC speaks slowly and distinctly.

What is Lua?

Lua is a lightweight, programming language designed primarily to be embedded in applications. It’s main advantages are:

  • It is fast,
  • it is portable (Windows, Linux, MacOS),
  • it is easy to use.

Lua is embedded in DCS, so we can use it without any modification to the game.

What are scripts, frameworks and classes?

A script is a set of instructions in plain text read by a computer and processed on the fly. Scripts do not need to be compiled before execution, unlike exe files.

A framework is a structure that you can build software (or in this case missions) on. It serves as a foundation, so you’re not starting entirely from scratch. It takes a lot of work off your hands because someone else has thought about it and provides ready-made building blocks for many situations.

These building blocks are called classes in object oriented programming.

What can MOOSE do for me?

Whilst MOOSE can be used to write customised Lua scripts, you are probably not caring for learning Lua right now. Instead you can use a MOOSE script written by someone else by just copy and paste it. You can configure the basic settings of the classes to fit your needs in your mission.

Here are a few suggestions for well-known and popular classes:

  • Ops.Airboss manages recoveries of human pilots and AI aircraft on aircraft carriers.
  • Functional.RAT creates random airtraffic in your missions.
  • Functional.Range (which counts hits on targets so you can practice),
  • Functional.Fox to practice to evade missiles without being destroyed.
  • and many more!

You will need to look through examples to know what functionallity you want to add to your missions.

What if I don’t want to learn scripting?

The good news for you: You don’t need to become a professional Lua programmer to use MOOSE. As explained already, you can copy and paste the code from example missions. You need some basics how to add triggers in the mission editor. But we will cover this later.

If you want to modify the behaviour of the classes slightly, some basics about the Lua synthax (the rules how to write the code) will help you to avoid errors.

The more customizations you want to make, the more knowledge about Lua you will need. But you can learn this step by step.

Next step

We will start with a very simple demonstartion of MOOSE in the next section Hello world mission.