Skip to content

Screenpack features

K4thos edited this page Dec 19, 2025 · 16 revisions

There are many new screenpack parameters, but they won’t be documented until the engine stabilizes feature-wise. Until then, everything related to these parameters may change without notice.

In the meantime, you can reference parameter names (with comments describing new features) for all parameters available in data/system.base.def, which is copied directly from src/resources/defaultMotif.ini (the default motif config loaded before system.def).

The default screenpack in data/mugen1/system.def can also be used as a showcase of many new features, and it is ready to be copied/adapted into other screenpacks.

Refer to this article for information on how to update MUGEN screenpacks to use Ikemen GO features.

All itemname elements that existed in MUGEN and are also enabled by default in Ikemen can be disabled by adding their respective parameter without a value assignment in the screenpack DEF file. The order in which menu items are displayed can be changed by adjusting the itemname order in the screenpack.

All new game and team modes added by Ikemen GO use empty itemname entries by default (meaning they won’t be rendered at all unless the motif/screenpack author adds their respective itemname parameters to the screenpack DEF file).

Ikemen GO uses a flexible submenu grouping system for the main menu and options items (backward compatible with MUGEN screenpacks). The general syntax looks as follows:

menu.itemname.optional_submenus.item = "displayed text"

Where:

  • optional_submenus: a combination of one or more strings, separated by dots. Each string refers to an additional level of nested menus. For example, menu.itemname.menuextras = "EXTRAS" displays an EXTRAS option on the screen (in this case, on the main menu) that opens an additional submenu with items using menuextras as a prefix (e.g. menu.itemname.menuextras.freebattle).

  • item: strings used to start modes, change settings, and control menus. The list below contains all item names reserved by the engine.

    All menus

    • back: back to the previous menu
    • spacer: empty spacer line (adds extra space between options). Use it with a value if you need more than one spacer per menu level (e.g. spacer1, spacer2, ...). Assign any value to make it active.

    Main menu

    These are default MUGEN items, loaded by default if the screenpack does not override them with custom menus:

    • arcade: Arcade Mode
    • versus: Versus Mode
    • teamarcade: Team Arcade
    • teamversus: Team Versus
    • teamcoop: Team Cooperative
    • survival: Survival
    • survivalcoop: Survival Cooperative
    • training: Training Mode
    • watch: Watch Mode
    • options: Options
    • exit: Exit the game

    The items listed below can be added to implement Ikemen GO exclusive modes in the menu system:

    • versuscoop: Versus Cooperative

    • freebattle: Quick Match

    • storymode: Story Mode

    • serverhost: Host Game

    • serverjoin: Join Game (reserved submenu)

    • server: opened automatically by serverhost/serverjoin (reserved submenu)

    • joinadd: New IP Address

    • netplayversus: Online Versus

    • netplayteamcoop: Online Cooperative

    • netplaysurvivalcoop: Online Survival

    • timeattack: Time Attack

    • bonusgames: Bonus Games (reserved submenu)

    • replay: Replay

    • back: back to the previous menu

    • bonus: used internally (reserved)

    • connect: used internally (reserved)

    New game modes can be added via external modules. In this repository, we share the following extra modes as a reference for how to use this feature:

    • bossrush: Boss Rush
    • vs100kumite: VS 100 Kumite
    • timechallenge: Time Challenge
    • scorechallenge: Score Challenge
    • randomtest: Endless Watch

    Options

    • language: Language
    • difficulty: Difficulty Level
    • roundtime: Time Limit
    • lifemul: Life
    • singlevsteamlife: Single VS Team Life
    • gamespeed: Game Speed
    • roundsnumsingle: Rounds to Win (Single)
    • maxdrawgames: Max Draw Games
    • credits: Credits
    • aipalette: Arcade Palette
    • aisurvivalpalette: Survival Palette
    • airamping: AI Ramping
    • quickcontinue: Quick Continue
    • autoguard: Auto-Guard
    • dizzy: Dizzy
    • guardbreak: Guard Break
    • redlife: Red Life
    • teamduplicates: Team Duplicates
    • teamlifeshare: Team Life Share
    • teampowershare: Team Power Share
    • roundsnumtag: Rounds to Win (Tag)
    • losekotag: Partner KOed Lose
    • mintag: Min Tag Chars
    • maxtag: Max Tag Chars
    • roundsnumsimul: Rounds to Win (Simul)
    • losekosimul: Player KOed Lose
    • minsimul: Min Simul Chars
    • maxsimul: Max Simul Chars
    • turnsrecoverybase: Turns Recovery Base
    • turnsrecoverybonus: Turns Recovery Bonus
    • minturns: Min Turns Chars
    • maxturns: Max Turns Chars
    • ratiorecoverybase: Ratio Recovery Base
    • ratiorecoverybonus: Ratio Recovery Bonus
    • ratio1life, ratio2life, ratio3life, ratio4life: Ratio life adjustment
    • ratio1attack, ratio2attack, ratio3attack, ratio4attack: Ratio damage adjustment
    • gl32: OpenGL 3.2 Renderer
    • gl21: OpenGL 2.1 Renderer
    • vk13: Vulkan 1.3 Renderer
    • resolution: Resolution (reserved submenu)
    • resolution.WxH: Resolution is assigned based on values used in the itemname suffix (e.g. 320x240)
    • resolution.customres: Allows setting a custom resolution by typing values
    • fullscreen: Fullscreen
    • vsync: VSync
    • aspectratio: Aspect Ratio (reserved submenu)
    • aspectratio.defaultaspect: Default Aspect Ratio
    • aspectratio.stageaspect: Stage Aspect Ratio
    • aspectratio.customaspect: Custom Aspect Ratio (manually entered)
    • aspectratio.WxH: Aspect Ratio assigned based on values used in the itemname suffix (e.g. 3x4)
    • keepaspect: Keep Aspect Ratio
    • windowscalemode: Window Scale Mode
    • msaa: MSAA
    • shaders: Shaders (reserved submenu; this list is populated automatically with shaders in the external/shaders directory)
    • noshader: Disables the selected shader
    • enablemodel: 3D Model
    • enablemodelshadow: 3D Model Shadow
    • mastervolume: Master Volume
    • bgmvolume: BGM Volume
    • sfxvolume: SFX Volume
    • audioducking: Audio Ducking
    • stereoeffects: Stereo Effects
    • panningrange: Panning Range
    • keyboard: Key Config
    • gamepad: Joystick Config
    • inputdefault: Reset Key/Joystick settings
    • players: Max Players
    • debugkeys: Debug Keys
    • debugmode: Debug Mode
    • helpermax: HelperMax
    • projectilemax: PlayerProjectileMax
    • explodmax: ExplodMax
    • afterimagemax: AfterImageMax
    • palettemax: PaletteMax
    • textmax: TextMax
    • portchange: Port Change
    • default: Default Values
    • savereturn: Save and Return
    • return: Return Without Saving

    Key menu

    • configall: Config All
    • up: Up
    • down: Down
    • left: Left
    • righ: Right
    • a: A
    • b: B
    • c: C
    • x: X
    • y: Y
    • z: Z
    • start: Start
    • d: D
    • w: W
    • menu: Menu
    • rumble: Rumble
    • bac: Back
    • page: Page

    Pause menu

    • keyboard: Key Config
    • gamepad: Joystick Config
    • inputdefault: Reset Key/Joystick settings
    • commandlist: Movelists
    • characterchange: Back to select screen
    • exit: Back to main menu
    • reset: Round Reset
    • reload: Rematch

    Training menu

    Same as the Pause menu, with a few additional training-specific items:

    • dummycontrol: Dummy Control
    • ailevel: AI Level
    • dummymode: Dummy Mode
    • guardmode: Guard Mode
    • fallrecovery: Fall Recovery
    • distance: Distance
    • buttonjam: Button Jam

You can mix and move items into different submenus (including nested ones) without any limitations. The order in which menu items appear on the screen depends on their order in the screenpack DEF file. Submenus should be declared before parameters that refer to items grouped inside those menus. For the Main Menu, if there is only one valid option in a submenu (back does not count), then that option will be triggered and the submenu display will be skipped. Itemnames added via external modules also work with this system.

Refer to the data/system.base.def file distributed with the engine for an example of how to use submenus in your screenpack.

The easiest way to disable the default options menus completely and start from scratch is to disable the original submenus like this:

menu.itemname.menugame =
menu.itemname.menuvideo =
menu.itemname.menuaudio =
menu.itemname.menuinput =
menu.itemname.menuengine =
menu.itemname.spacer1 =
menu.itemname.portchange = Port Change
menu.itemname.default = Default Values
menu.itemname.spacer2 =
menu.itemname.savereturn = Save and Return
menu.itemname.return = Return Without Saving

Refer to the default select.def file distributed with the engine for details and guides regarding new character and stage parameters, as well as new mode options that can be set via select.def.

Clone this wiki locally