Story Mode Reference
Dolmexica Infinite, presented by Dogma 2018-2023
Documentation for release version (2023)
Updated 30 June 2023
Story mode is a mode in which players can create scenarios using advanced storyboards and fights. Storyboards can be either storyboards from the original M.U.G.E.N or Dolmexica Infinite storyboards, which contain more advanced text boxes, animations and character inclusion.
Similar to characters and stages, stories consist of a .def file which declares further files to be used.
Files used for a story:
- .def file: The aforementioned definition file. Contains header info and story steps.
- .sff file: Sprite file used in the story select screen. Can be set in the [Info] group of the definition file with the select.spr attribute. It follows the same rules as character portraits (e.g. expecting sprites 9000,0 and 9000,1).
- Storyboard files: Optionally used during story steps. Defined by definition files too, which can be either M.U.G.E.N or Dolmexica Infinite versions. Dolmexica Infinite uses the [SceneDef] group to differentiate between storyboard types. If it is included in the storyboard file, Dolmexica Infinite will try to load the storyboard as a M.U.G.E.N storyboard.
Stories are added via the select.def, just like characters and stages. To add a story, add the [Stories] group to the file and add the path to the story file to it. For example, if your file is located at story/file.def, add story/file.def. If multiple stories are present, the select screen is shown. If only one story is present, that story is started is automatically.
The story definition consists of two main parts. The header defined under the group [Info] and the following groups, which each define a single story step. Story steps can have different types, which are explained below. Step group names are irrelevant, they are ordered zero-based based on definition order. So the first group after [Info] will be step 0, the one after that step 1, and so on.
Story steps can be set via the type parameter. The following story step types are possible:
This step starts a fight with the corresponding parameters.
- Parameters:
- player1 = path (string)
- Name of character 1 in chars folder. Set to select to show the select screen.
- player2 = path (string)
- Name of character 2 in chars folder.
- stage = path (string)
- Path to stage.
- win = step_no (int)
- Story step to enter if character 1 wins.
- Optional parameters:
- bgm = path (string)
- Optional path to custom bgm for fight. If no bgm is provided, the one in the stage file is used.
- lose = step_no (int)
- Story state to enter if character 1 loses. Set to continue to just show continue option if the player loses (this is default).
- mode = mode_name (string)
- Possible values: story for regular player vs CPU fight or Osu for osu fight. Defaults to story.
- palette1 = palette_no (int)
- Set palette for player 1. Defaults to 1.
- palette2 = palette_no (int)
- Set palette for player 2. Defaults to 2.
- life1 = life_percentage (float)
- Set start life percentage for player 1. Defaults to 1.0.
- life2 = life_percentage (float)
- Set start life percentage for player 2. Defaults to 1.0.
- ailevel = round_amount (int)
- Set AiLevel (from 0, no AI, to 8, hardest). Defaults to difficulty selected in options.
- rounds = ai_level (int)
- Set amount of rounds. Default is 2.
- round.time = round_duration (int)
- Set duration of round timer. -1 is infinite time. Default is round duration set in options.
- selectname = select_name (string)
- If Select screen shown for player 1, adjust text shown on select screen. Otherwise "Select your fighter!" is used.
- selectfile = path (string)
- Path to custom select.def if select screen shown for player 1. Otherwise regular select screen is used.
- p1.name = name (string)
- Set optional custom display name for player 1 character.
- p2.name = name (string)
- Set optional custom display name for player 2 character.
- fight.motif = path (string)
- Set optional motif to be used in the fight.
- storyhelper = path (string)
- Set story helper to run in parallel to the fight.
This step starts a storyboard.
- Parameters:
- file = path (string)
- Path to storyboard file. If the storyboard contains a [SceneDef] group, it is loaded as a M.U.G.E.N storyboard, otherwise it is loaded as a Dolmexica Infinite storyboard.
This step returns to the title screen.
- Parameters:
- none
This step starts a story mode file as a sub-story. You can return from the sub-story using the return type below.
- Parameters:
- file = path (string)
- Path to story mode file. Can be relative or based on dolmexica root dir.
- Optional parameters:
- startstate = state_no (int)
- Zero-indexed state to start in. Defaults to 0.
This step returns from a sub-story to the parent story. In case the current story is the root story, returns to the title screen.
- Parameters:
- value = return_value (int)
- Story state to enter when returning from current sub-story. Defaults to 0.
Similar to the story mode files, storyboard files contain a header, the [Info] group, and states. In that way, the storyboard state machine can be thought of as similar to the character state machine. There is one root instance that starts in state 0. It can spawn more helpers though, which can run concurrently to the root instance.
States work the same as M.U.G.E.N character state machines, using the [Statedef X] format. Like characters, states have different state controllers. The state controllers for Dolmexica Infinite storyboards are outlined in storysctrls.html. The corresponding Dolmexica Infinite storyboard triggers are outlined in storytrigger.html.