MA:CE Tutorial Builder

Overview

Midair Ingame Tutorials are created from a series of Steps that are in turn based on Drills

A tutorial may be ‘basic movement’, wherein you have steps for ‘jetting up’, ‘skiing forward’, ‘skiing and jetting’. 

To open the tutorial menu, the default bind is ctrl-t. This is changeable in the settings menu. Tutorial data can be saved and loaded from the practice menu, defaulting to ctrl-p. Both menus are intertwined and data is shared. Press the ‘Create Tutorial’ header button in the tutorial menu to begin creating a tutorial. Individual tutorial steps are saved based on their names, and are contained within a parent tutorial, also saved via name. You can clone steps by saving an existing step with a new name, and remove undesired steps with the ‘remove’ button when that step is selected.

To playtest a tutorial, go to the ‘Play Tutorial’ Menu, select the desired tutorial and tutorial step, and hit ‘start step’. If a recording of the step is available, you can also hit the ‘Watch Step’ button to watch the step be performed.

Displaying Key Binds

It is important in the tutorial descriptions to include the actual user keys to perform various actions — telling them to jet without telling them the associated keybind is pointless. 


Several automatic text -> keybind conversions have been added to facilitate this. 

Available are:

  • JumpJet
  • Skate
  • ThrowGrenade
  • Suicide
  • TossFlag

In the tutorial step description, Add text like ‘When you are low health, throw the flag to a teammate with [TossFlag]’, which will be auto translated to ‘When you are low health, throw the flag to a teammate with [T]’

If you need one that isn’t here, message DL

Tutorial Hierarchy:

  • Tutorial
    • Tutorial Name
    • Tutorial Author
    • Tutorial Description
    • (One or Multiple) Tutorial Steps
      • Step Name
      • Step Description
      • Associated Drill – The drill being performed as a tutorial step. Functions as a normal drill, set up in the drill menu. Includes things like starting location, how to ‘win’ the tutorial step (be in a particular location, kill X bots, return a flag, etc), what bots are involved.
      • Associated Route – A recorded ‘route’ of the drill being performed to allow the player to watch the tutorial step being performed.
      • Display Route Trail – If a route recording is selected, this will display the route trail for it while the tutorial step is loaded.

Drill Creation

Each tutorial step points to a drill that contains most of the logic for the scenario presented to the player. Drills are highly configurable, but their core is simply a Victory Type. This specifies the condition that will end the drill successfully. If a drill length other than 0 is specified, the drill will also end after that many seconds in failure if the win condition has not already been met.

Drill Hierarchy:

  • Drill Name
  • Drill Description
  • Bots in Drill — all bots that have been added to the drill. Configure bots in the ‘bot’ menu, all bot behavior is wrapped up in the bot itself.
  • Available Bots — bots that have been configured and saved, but not yet added to this particular drill
  • Spawn Location — when the drill is triggered, it will warp the player to this spawn location. How much health, any movement speed, etc, is configured in the Locations menu.
  • Victory Type – Will trigger the end of the drill/tutorial step when this condition is met. Can also have a Victory Amount, for thinks like # of kills or movement speed.
  • Drill Length – Time at which to end the drill/tutorial step if no victory condition has been met.
  • Number of bots – will randomly choose bots added to the drill to spawn, up to this number. 
  • Can Repeat Bots – If yes, it will allow the same bot to be spawned multiple times in the drill. If you want each bot once, choose FALSE for this and set the number of bots equal to the number of bots you added to the drill.
  • Reset Flags — if true, will reset the flags to stands when the drills starts.

Bot Creation

Bots are created in the ‘bot’ sub-menu in the practice menu. You can configure what type of bot it is (Offense, Stay At Home, only runs assigned routes with no AI, etc), what routes it knows how to run (only matters if it is offense or route runner bot), and a number of other properties for how the bot behaves.

Bot Properties:

  • Bot Name
  • Bot Description
  • Known Routes – All routes the bot knows how to execute. It will randomly choose one of these options. Only matters if it is a route runner (follows route with no AI), or if it is Offense.
  • Available Routes — any configured routes not yet added to the bot.
  • Bot Type – Determines the AI to run. Route Runner will just follow the configured route path (good for defensive drills), Stationary Defense will aim and shoot but not move, all others just try to play their LT position. LO will not run routes.
  • Accuracy – Dictates how much the bots will intentionally miss their shots, and time between shots.
  • Spawn Location – if not specified, will spawn at a standard spawn point. Otherwise, choose from configured locations to dictate how and where the bot spawns.
  • Bot Spawn Type – Can specify at what point of a route the bot will spawn, if it runs routes.
  • Shoots – If false, bot doesn’t shoot.
  • Takes Damage – if true, bots following a route will not reset their health at each route waypoint.
  • Loops – If true, at the end of a route path, the bot will restart the path
  • Respawns — will respawn after dying.
  • Movable — if true, once a bot following a route path has been damaged, it will no longer auto-warp to the route markers
  • Swap Team — if true, will spawn as an enemy

Making Tutorials

Using these building blocks, you can make tutorials for many situations. A demo tutorial can be found in the ‘Movement’ section of the ‘How To Play’ menu in the main menu.

Load this in the practice menu.

Some examples:

Flag stand defense combo tutorial – add a bot that is a route runner that knows 1 route, set to spawn 5 seconds before grab. Make them movable and take damage. Set a spawn location for the player near their flag stand, and a win condition of NoFlagCarrier. Run the drill as a drill, and record yourself completing it by successfully using the stand combo. Save that recording as a route, and set that route into the drill to show players how to use the stand combo. 

Basic Movement Tutorial – Add a Location for a target area, and a location to spawn the player at. Give them X seconds to go from the spawn location to the target, longer than it would take to walk, so they need to skii.

Combat practice – Create 3 bots in the Stay At Home role, and spawn the player near the enemy flag. Have a victory type of total kills, with a victory amount of 2, and a duration of 10 seconds.

Flag Catching – Record yourself grabbing the enemy flag and throwing it back to your stand. Add that recording to a Route Runner bot, which spawns on your team. Set a spawn location near where the flag lands. Add in additional recordings of tosses to add some variety to the drill. Use the flag caught victory type.