⚔️ My First Fighting Game · Episode 5 of 5 · See All Episodes
👑 Episode 5 · Series Finale · Ship a Complete Game

Grand Finale!
Complete Game Setup

Turn your MUGEN folder into YOUR fighting game: a custom screenpack, authored roster and arcade ladder, boss and hidden characters, lifebars, music per screen, packaged to share.

👶 Ages 10+ ⏱️ ~2 Hours ⚔️ MUGEN ✓ Free
🎨 Screenpacks 📋 Roster design 🪜 Arcade ladder 👹 Boss & secrets ❤️ Lifebars 📦 Packaging
⭐
0 XP
Level 1
🔥0
Your Progress 0 / 6 steps
Build it in our MUGEN Studio too: set up a fighter, add sprites and poses, place hitboxes and export a real fighter folder in the browser, with no install. Open the MUGEN Mod Studio →
💻
How to run: Save your files, open WinMUGEN, and test your full game!
Reference project: download the finished setup files used in this workshop (mugen.cfg, select.def, system.def and a README): mugen-game-setup-workshop-reference.zip. Every code block also has a Copy button.
1
🎨
Screenpacks: Your Game’s Face
Install a custom motif, menus, select, versus screens
Active
🎯
Goal for this step

Replace the default look with a custom screenpack.

  • 1A screenpack (motif) reskins everything: title, select grid, versus splash, win screen. This is what makes it YOUR game, not "MUGEN with extras".
  • 2Download one matching your MUGEN version (1.0/1.1) AND your roster size (a 50-slot pack with 8 fighters looks empty, size matters!).
  • 3Screenpacks install into data/ (usually data/PackName/).
  • 4Activate in data/mugen.cfg: the motif line → point it at the pack’s system.def.
  • 5IMPORTANT: each screenpack has its OWN select.def, re-add your roster there (copy your lines across).
data/mugen.cfg
[Options]
 ;difficulty, rounds, etc.

[Config]
 ;...
motif = data/MyPack/system.def   ; <- your game's face
✏️
Fill in the Blanks
+15 XP
A (motif) reskins every menu. It is activated by pointing the line in mugen.cfg at its system.def, and its own .def needs your roster re-added.
🧠
Knowledge Check
+15 XP
After installing a screenpack your roster "vanished" because…
AThe characters were deleted
BThe active select.def changed, the new pack ships its own, waiting for your roster lines
CMUGEN reset itself
2
📋
The Final Roster & Select Grid
Order, stages and a select screen with intent
Locked
🎯
Goal for this step

Author the final roster layout like a shipped game.

  • 1Fill the select grid with INTENT: main cast top rows, your Ep 2 custom fighter front and centre (earned!), heavies flanking.
  • 2Give every character their themed stage: Ryu, stages/dojo.def, arcade runs then travel through your stage collection (including your Ep 4 stage!).
  • 3Tune the grid in the screenpack’s system.def ([Select Info]: rows, columns, cell size) if your pack allows, match grid size to roster size.
  • 4Add one randomselect slot, small feature, arcade soul.
data/MyPack/select.def
[Characters]
kfm, stages/dojo.def
MyFighter, stages/rooftop.def    ; your Ep 2 + Ep 4 work!
Ryu, stages/beach.def
randomselect
✏️
Fill in the Blanks
+15 XP
The syntax "name, stages/x.def" assigns each fighter a themed . One slot adds the classic arcade random pick. Grid dimensions live in the screenpack’s .def.
🧠
Knowledge Check
+15 XP
Pairing each character with a home stage matters because…
AMUGEN requires it
BAn arcade run becomes a TOUR, each fight feels authored, like a real fighting game’s world
CIt loads faster
3
🪜
The Arcade Ladder
Order, difficulty curve and match structure
Locked
🎯
Goal for this step

Design the arcade mode’s difficulty progression.

  • 1select.def’s [Options] section controls the ladder: arcade.maxmatches = how many fights per difficulty order.
  • 2Characters get an order number: order=1 early fights, order=2 mid, order=3 late. Put weak fighters at 1, strong at 3.
  • 3The line arcade.maxmatches = 4,3,1,0,0,... means: 4 fights from order 1, then 3 from order 2, then 1 from order 3 (the boss slot!).
  • 4A good ladder TEACHES then TESTS: easy openers, rising mid-run, a spike at the end. Playtest your full arcade and feel the curve.
data/MyPack/select.def
[Characters]
kfm, stages/dojo.def, order=1
Ryu, stages/beach.def, order=2
MyFighter, stages/rooftop.def, order=2

[Options]
arcade.maxmatches = 4,3,1,0,0,0,0,0,0,0
⌨️
Code Challenge
+20 XP
Set a ladder of 4 easy, 3 medium, 1 final fight:
select.def
arcade.maxmatches = ,,,0,0,0,0,0,0,0
💡 Hint: Each position is how many matches come from that order tier: four from tier 1, three from tier 2, one from tier 3.
🧠
Knowledge Check
+15 XP
The order system exists so that…
ACharacters load alphabetically
BArcade difficulty is DESIGNED: early fights teach, later fights test, the final slot is reserved for a climax
CThe grid sorts itself
4
👹
Boss & Hidden Characters
A final boss and an unlockable secret
Locked
🎯
Goal for this step

Crown the ladder with a boss and hide a secret fighter.

  • 1The boss: a strong character at order=3 (the ladder’s final slot). Boss-ify a copy via Ep 1 skills: raise life/attack in its .cns, bosses SHOULD be a bit unfair.
  • 2Keep it beatable: buffed stats + your Ep 3 AI knowledge beats invincible spam. A boss that never loses is a wall, not a climax.
  • 3Hidden character: exclude=1 on its select.def line, playable in Versus via random or code, absent from the grid. Arcade secrets!
  • 4Bonus lore: name the boss folder and displayname to fit your game’s theme, this is YOUR canon now.
select.def + boss.cns
; in select.def:
DarkKFM, stages/throne.def, order=3
SecretNinja, exclude=1

; in chars/DarkKFM/DarkKFM.cns [Data]:
life = 1400        ; boss health
attack = 115       ; hits harder
defence = 110      ; takes less
✏️
Fill in the Blanks
+15 XP
The boss occupies order=, the ladder’s final reserved slot. A hidden character uses =1 to vanish from the grid. Boss stats are buffed in its [Data] block.
🧠
Knowledge Check
+15 XP
A good final boss is "a bit unfair but beatable" because…
AFairness is boring
BThe climax should demand everything the ladder taught, but a literally unwinnable fight is a design failure
CBosses cannot be tuned
5
❤️
Lifebars & Audio Identity
Custom fight UI and per-screen music
Locked
🎯
Goal for this step

Install custom lifebars and give every screen its soundtrack.

  • 1The in-fight UI (health bars, portraits, timer, combo counters) is the fight.def, often separate from the screenpack, so you can mix and match!
  • 2Install lifebars into data/, activate via the fight line in your motif’s system.def (or mugen.cfg depending on pack).
  • 3Match lifebar localcoord to your screenpack resolution (240p packs + 720p lifebars = misaligned chaos, version notes matter).
  • 4Music per screen: system.def’s [Music] section, title.bgm, select.bgm, vs.bgm. Drop tracks in sound/, wire each screen. Menu music is 50% of arcade nostalgia.
  • 5Full pass: title → select → versus → fight → win, every screen should now look AND sound like yours.
data/MyPack/system.def
[Files]
fight = data/MyBars/fight.def     ; custom lifebars

[Music]
title.bgm  = sound/title-theme.mp3
select.bgm = sound/select-theme.mp3
vs.bgm     = sound/versus-theme.mp3
✏️
Fill in the Blanks
+15 XP
The in-fight UI is defined by .def, separate from the screenpack. Each menu screen’s track is set in system.def’s ] section.
🧠
Knowledge Check
+15 XP
Lifebars being separate from screenpacks means…
AThey cannot be changed
BYou can mix your favourite menus with your favourite fight UI, modularity again
CLifebars are optional
6
📦
Package & Ship
Test matrix, clean-up, zip and release notes
Locked
🎯
Goal for this step

Package the complete game into a shareable folder.

  • 1The full test matrix: every character in Versus (both sides), a complete Arcade run to the boss, every stage loads, Watch mode sanity, Training mode.
  • 2Clean up: delete unused characters/stages (dead weight), remove downloaded .zips, check select.def has no dead lines.
  • 3Optional identity: rename mugen.exe to MyFightingGame.exe, it still works, and the taskbar says your title!
  • 4Zip the ENTIRE folder. Include a README.txt: game name, controls, roster, YOUR credits, and credits to every character/stage/screenpack author, the MUGEN community runs on credit. Always give it.
  • 5Send it to a friend. Watch them fight your boss on your stage under your menus. Five episodes → one shipped fighting game. 👑
✏️
Fill in the Blanks
+15 XP
Because MUGEN is , zipping the folder IS packaging. The README must credit every content , the community’s golden rule.
🧠
Knowledge Check
+15 XP
The MUGEN community norm you must never skip when sharing is…
AUsing default menus
BCrediting every creator whose characters, stages or packs you included
CIncluding 100 characters
🎉🏆🎮✨🎉
Workshop Complete!
Screenpack, ladder, boss, lifebars, packaging, five episodes and you SHIPPED a fighting game. Hand someone the folder and say "I made this." 👑
0
Total XP
1
Level
0
Best Streak
0%
Accuracy
⭐ View My Progress & Certificates

This workshop was free and took many hours to build. If it helped you learn something new, consider supporting the project.

☕ Support on Ko-fi

🧩 MUGEN Character Setup Order

Drag the MUGEN character creation steps into the correct order:

Add the character to select.def
Write state controllers in the CNS file
Define animations in the AIR file
Set up sprites in the SFF file
Create the DEF file with character info