Wstęp
W tym artykule opisane są foldery i pliki które możesz spotkać w Mugenie. Opisane są sprawy związane z konfiguracją oraz konstrukcją różnych elementów wchodzących w skład Mugena, takich jak: postacie, areny, motywy, itd.
Po przeczytaniu tego artykułu nie będziesz mieć problemu z określeniem, który plik warto edytować i który zawiera szukane przez Ciebie informacje.
Po więcej informacji zajrzyj do działu Pytania i odpowiedzi - F.A.Q., oraz do poszczególnych wyznaczonych artykułów na stronach.
; (średnik) - Znak który możesz spotkać we wszystkich plikach tekstowych, oznacza wiersz komentarza i wszystko co jest w całym wierszu po tym znaku Mugen nie bierze pod uwagę. Nowy wiersz komentarza wymaga nowego znaku ;.
Opis folderów
Opisuje tu w uproszczeniu foldery które możesz spotkać w Mugenie. Wygląd folderów może różnić się zależnie od wersji silnika ale tylko szczegółami. Wykorzystałem tu układ folderów z Win Mugena i Mugena 1.0.
Główny folder Mugena
Główny folder zawiera pliki EXE uruchamiające silnik, to jeden z najważniejszych elementów. Do tego pojawiają się tu biblioteki DLL i kolejne foldery. Jak widać główne foldery nieco się różnią. W wypadku Mugena 1.0 w głównym folderze standardowo umieszczono podstawowe Mugenowe narzędzia.
Folder CHARS
Folder w którym umieszcza się postacie do gry, mogą to być foldery z plikami lub pliki ZIP. Jak dodawać postacie opisano w innym tekście: Dodawanie postaci.
Folder DATA
Najważniejszy folder Mugena, zawiera w sobie pliki konfiguracji i wyglądu całego silnika. Jeżeli chcesz zmienić wygląd pasków życia, głównego menu itd. to wszystko znajdziesz właśnie tam. Na załączonej grafice widać dodatkowe dwa motywy: big i kfm. W zależności od wersji Mugena dostępne mogą być inne motywy.
Folder DOCS
Możesz trafić na ten folder lub nie. Znajduje się tu cała dokumentacja związana z Mugenem jak i tutoriale, oczywiście wszystko w języku angielskim.
Folder Elecbyte.MUGEN.libs
Możesz trafić na ten folder w nowym Mugenie od wersji 1.0. Znajdują się tu biblioteki używane przez nowy silnik, jak widać też biblioteki SDL.
Folder FONT
Folder ten zawiera wykorzystywane czcionki, zobacz do artykułu: Czcionki.
Folder Microsoft.VC90.CRT
Folder ten i jego kopie mogą pojawić się w nowym Mugenie od wersji 1.0, są wynikiem użycia Visual C++ do pisania Mugena. Możesz je usunąć jeżeli masz zainstalowanego Visual C++ 2008 SP1 Redistributable Package (x86) lub wyższy. Jednak jeżeli je usuniesz i swojego Mugena przekażesz komuś kto nie ma zainstalowanego tego Visual C++ to mogą pojawić się problemy.
Folder OLD_TOOLS
Folder nie musi się pojawić, w wypadku Mugena 1.0 zawiera stare narzędzia dostarczone przez autorów silnika, które wcześniej były w folderze tools. Jeżeli używasz też Win Mugena możesz aktualizować tamtejsze pliki tymi.
Folder PLUGINS
Dodaje się tu pluginy potrzebne do odtwarzania muzyki w określonym formacie, czyli np. do odtwarzania MP3 potrzebny jest odpowiedni plugin. Win Mugen obsługuje pluginy z Winampa, więc możesz sobie zrobić paczkę pluginów ręcznie lub pobrać ją z Samouczka. W wypadku Mugena 1.0 który poprawił swoje pluginy nie ma już potrzeby aby specjalnie dodawać pluginy z Winampa.
Folder SOUND
Przeznaczony jest na wszelkiego typu pliki z muzyką, którą potem można wykorzystać w Mugenie, chociażby na arenach na których się walczy.
Folder STAGES
Folder w którym umieszcza się areny, jak je dodawać opisano w innym tekście: Dodawanie aren. Jak widać na załączonej grafice z reguły areny są wrzucane do tego folderu bez dodatkowego podziału.
Folder TOOLS
Podobnie jak folder docs nie musi się on pojawić. W tym wypadku zawiera standardowe narzędzia dostarczone przez autorów silnika, grafika przedstawia Win Mugena.
Folder WORK
Folder który zawiera zebrane wszystkie sprity wykorzystane przez twórców Mugena i nie tylko, po to abyś sam nie musiał ich wyciągać z plików SFF.
Opis plików
Mugen obsługuje kilka rodzajów plików, spora ilość z nich, mimo różnych rozszerzeń to pliki tekstowe. Więc można podzielić pliki na dwie grupy: pliki tekstowe i inne. Jak pewnie wiesz z własnego doświadczenia, bardzo często rozszerzenie pliku nie ma większego znaczenia. Jeżeli tylko można programowi wskazać jakiego pliku ma użyć to jeżeli oczekuje pliku tekstowego i podajemy mu plik tekstowy to zostanie on potraktowany jak tekstowy bez względu na rozszerzenie. Rozszerzenia często mają za zadanie nakierować użytkownika na to do czego służy dany plik.
EXE - Plik wykonywalny, standardowo w Mugenie znajdziesz przynajmniej jeden taki plik służący do odpalenia silnika w głównym folderze.
DLL - Plik biblioteki, z reguły wymagany przez EXE, w innym wypadku mogą to być pliki pluginów np. z Winampa, dodawanych w odpowiednim folderze.
SFF - Plik z grafiką wykorzystywaną przez Mugena (spritami). Postacie, areny i cały wygląd Mugena są oparte na tych plikach. Ten plik zawiera "suchą" grafikę bez efektów i udziwnień, tak samo nie zawiera w sobie animacji tylko wszystkie klatki osobno. Więcej o nim w artykule: Grafika i paleta kolorów.
SND - Plik z dźwiękami wykorzystywany analogicznie jak SFF, więcej o nim w artykule: Dźwięki i muzyka.
FNT - Plik czcionki, zawiera charakterystykę czcionki wraz z jej grafiką, więcej o nim w artykule: Czcionki.
ACT - Plik palety kolorów, wykorzystywany w postaci może zmienić paletę kolorów używaną przez plik SFF, może to dać efekt zmiany stroju, np. przy innej palecie zielony ubiór może zmienić kolor na czerwony, itd. Więcej o nim w artykule: Grafika i paleta kolorów.
CFG, DEF, CNS, CMD, ST, TXT i inne - Pliki tekstowe, wszystkie można otworzyć najprostszym edytorem tekstowym. Więcej o nich w kolejnych artykułach.
AIR - Plik tekstowy, zawiera zapis sekwencji animacji. Jest to specyficzny plik tekstowy bo tworzenie go ręcznie jest bardzo trudne i wykorzystuje się do tego odpowiednie programy, z reguły służą do tego programy od plików SFF. Więcej o nim w artykule: Animacje i efekty animacji oraz Plik AIR - plik z animacjami.
MP3, WAV, MID i inne - Pliki muzyki, Mugen może odtworzyć plik dźwiękowy w zależności od użytego pluginu.
W skrócie: pliki można podzielić na dwie grupy: pliki tekstowe i inne.
Przykładowe programy
Pliki mają swoje właściwości ale niezależnie od nich, obsługa plików zależy od oprogramowania. Podaje tu tylko przykłady programów które można wykorzystać. Wiele programów można znaleźć w bazie danych Samouczka lub samodzielnie w internecie. Najlepiej jest przetestować ich jak najwięcej bo każdy ma swoje wady i zalety. Twórcy Mugena udostępnili też swoje narzędzia, jednak te stworzone przez fanów silnika często są lepsze. Stworzono też programy ułatwiające konfigurację Mugena, dodawanie postaci i aren, itd.
Trzeba pamiętać że przykładowe programy nie muszą być kompatybilne z daną wersją silnika Mugena.
Klika przykładowych programów:
Pliki tekstowe - Fighter Factory, Mugen Editing Ensemble. Wszystkie można edytować najprostszym edytorem tekstowym, jednak nie polecam pracy w takim programie jak np. Notatnik. Jego ograniczenia tylko utrudnią pracę, bardziej już polecam programy takie jak: OxEdit, Notepad++, Notepad2.
SFF - Fighter Factory, Mugen Editing Ensemble, Mugen Character Maker.
SND - Fighter Factory, Mugen Editing Ensemble, Mugen Character Maker.
FNT - Font Factory.
ACT - Act File Editer, Fighter Factory.
AIR - Fighter Factory, Mugen Editing Ensemble, Mugen Character Maker.
Przykład wyglądu kilku programów:
Konfiguracja Mugena
Ważnym elementem dla każdego jest możliwość konfiguracji. Mugena można konfigurować w samym programie wchodząc w opcje co zostało opisane w artykule: Menu i ustawienia gry, ale tam nie ustawisz wszystkiego, więcej na ten temat zostało opisane w artykule: Konfiguracja Mugena.
Plik MUGEN.CFG - Folder data zawiera plik mugen.cfg w którym możesz ustawić rozdzielczość, efekty, opcje związane z wykorzystaniem pamięci i wiele innych, możliwości tego pliku poruszono w artykule: Konfiguracja Mugena. Plik ten przechowuje wszystko to co możesz ustawić w opcjach Mugena i poza nimi.
Przykładowe fragmenty pliku mugen.cfg dla Win Mugena:
; Team-only config Team.1VS2Life = 150 Team.LoseOnKO = 0 ; Not accessible in options screen motif = data/system.def ;MP3Volume = 50 ;Not yet implemented ;------------------------------------------------------- ... ;------------------------------------------------------- [Video Win] ;Enter the width and height of the resolution you want to set here. ;The optimal resolution is 320x240, but if your video card has problems ;You may want to try 640x480. Width = 640 Height = 480 ;This is the color depth at which to run MUGEN. You should set it to ;16 bit color unless your video card has problems with it. ;16-fastest, 24,32-slower, 8-slowest/worst Depth = 16 ;Set this parameter to 0 to disable screen stretching, and set it to 1 if ;you want to scale it up to fit the current resolution. Stretch = 0 ;Set this parameter to use a resolution-doubling filter. You will ;need a fast machine to use these filters. You will need to increase ;the screen resolution to at least 640x480 for these modes. ;0 - off ;1 - diagonal edge detection ;2 - bilinear filtering ;3 - horizontal scanlines DoubleRes = 2 ;DirectX mode ;Choose from Hardware, Software, Windowed, Overlay, Safe and None ;Hardware and Software run in full-screen. Windowed and Overlay ;run in a window. The windowed modes require you to set Depth to ;whatever color depth you are using for you desktop. The best results ;are when you run in 16-bit color. There is no advantage to running ;in 32-bit color. If Hardware, Software and Windowed fail, try Safe. ;None uses GDI to draw, so it's very slow. Use None only if ;you cannot get anything else to work. ;Overlay is not supported by all video cards, but can be faster than ;Windowed if it works. DXmode = Windowed ;Set to 1 to enable vertical retrace synchronization. Do not enable ;if BlitMode = PageFlip. VRetrace = 0 ;Drawing mode ;Choose from Normal and PageFlip BlitMode = PageFlip ;-------------------------------------------------------
Przykładowe fragmenty pliku mugen.cfg dla Mugena 1.0
;------------------------------------------------------- ; Game options configurable in M.U.G.E.N's options screen go here. ; Does not include key config. [Options] ; Basic options Difficulty = 4 Life = 100 Time = -1 GameSpeed = 0 ; Team-only config Team.1VS2Life = 150 Team.LoseOnKO = 1 ; Set the motif to use. ; Motifs are themes that define the look and feel of MUGEN. ; This is not accessible in options screen. ; Note: If you install a motif that overwrites system files (not recommended) ; you may need to set the motif line to use data/system.def instead. ; motif = data/system.def ;Use this line if using a motif that overwrites system files. motif = data/mugen1/system.def ;------------------------------------------------------- ... ;------------------------------------------------------- [Config] ;Set the game speed here. The default is 60 frames per second. The ;larger the number, the faster it goes. Don't use a value less than 10. GameSpeed = 60 ;Game native width and height. ;Recommended settings are: ; 640x480 Standard definition 4:3 ; 1280x720 High definition 16:9 ; 1920x1080 Full HD 16:9 GameWidth = 640 GameHeight = 480 ;Preferred language (ISO 639-1), e.g. en, es, ja, etc. ;See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes Language = "en" ;Set to 1 to draw shadows (default). Set to 0 if you have a slow ;machine, and want to improve speed by not drawing shadows. DrawShadows = 1 ;Number of simultaneous afterimage effects allowed. ;Set to a lower number to save memory (minimum 1). AfterImageMax = 16 ;Maximum number of layered sprites that can be drawn. ;Set to a lower number to save memory (minimum 32). LayeredSpriteMax = 256 ;Size of sprite decompression buffer in KB. Increasing this number may help ;if you experience slow performance when there are many sprites and/or large ;sprites shown over a short period of time. ;Minimum 256 for acceptable performance. ;If you set this too large you may also experience performance degredation. SpriteDecompressionBufferSize = 16384 ;Maximum number of explods allowed in total. Note that hitsparks ;also count as explods. ;Set to a lower number to save memory (minimum 8). ExplodMax = 256 ;Maximum number of system explods allowed. ;Set to a lower number to save memory (minimum 8). SysExplodMax = 128 ;Maximum number of helpers allowed in total. ;Set to a lower number to save memory (minimum 4, maximum 56). HelperMax = 56 ;Maximum number of projectiles allowed per player. ;Set to a lower number to save memory (minimum 5). PlayerProjectileMax = 32 ;This is 1 the first time you run MUGEN. FirstRun = 1 ... ;-------------------------------------------------------
Konstrukcja areny
Arena to jedna z nazw, chodzi tu o przestrzeń na której walczą postacie. Arena ma bardzo prostą konstrukcję, składa się z 2 lub 3 plików: DEF, SFF i ostatecznie pliku z muzyką (MP3, MID, itd.)
Plik DEF - Zawiera w sobie podstawowe informacje i ustawienia jak chociażby nazwę, ale też opis jakiej grafiki, w którym momencie i w jaki sposób należy użyć. W tym pliku jest też ścieżka do pliku SFF i pliku z muzyką która zostanie odtworzona podczas walki. Więcej o tym w artykule: Plik DEF - plik z kodem areny.
Plik SFF - Plik z grafiką wykorzystywaną przez arenę, więcej w: Grafika i paleta kolorów, Plik SFF - plik z grafiką.
Przykładowy fragment pliku DEF:
;-------------------------------------------------------- [Info] ;Name of the stage. name = "Training Room" displayname = "Training Room" ;Name to display versiondate = 09,30,2009 ;Version date of stage (MM,DD,YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N stage works on (X.XX) author = "Elecbyte" ;Stage author name ;-------------------------------------------------------- ... ;-------------------------------------------------------- [PlayerInfo] ;--- Player 1 --- ;Player 1 starting coordinates. ;p1startx is typically -70 and p2startx is 70. ;p1starty should be 0. p1startx = -70 ;Starting x coordinates p1starty = 0 ;Starting y coordinates p1facing = 1 ;Direction player faces: 1=right, -1=left ;--- Player 2 --- p2startx = 70 p2starty = 0 p2facing = -1 ;--- Common --- ;Don't change these values. leftbound = -1000 ;Left bound (x-movement) rightbound = 1000 ;Right bound ;-------------------------------------------------------- ... ;-------------------------------------------------------- [Reflection] ;Intensity of reflection (from 0 to 256). Set to 0 to have no ;reflection. Defaults to 0. intensity = 0 ;-------------------------------------------------------- [Music] ;Put a filename for a MOD, MP3 or MIDI here, or just leave it ;blank if you don't want music. If an invalid filename is ;given, then no music will play. To play CD audio, put ;the track number followed by ".da". Using a track number of ;0 will play a random audio track. For example, to play ;track 3 from a music CD, use: ; bgmusic = 3.da bgmusic = ;bgmloopstart = ;bgmloopend = ;Adjust the volume. 100 is for 100%. bgmvolume = 100 ;========================================== ; Main background definition [BGdef] ;Filename of sprite data spr = stage0.sff ;Set to 1 if you want to clear the screen to magenta before ;drawing layer 0 (the default background). Good for spotting "holes" ;in your background. ;Remember to turn this off when you are done debugging the background, ;because it slows down performance. debugbg = 0 ;---------------------------- ; Start each background element with the following: ; Make sure it's "[BG n]", where n is anything you like (it's only used to ; report errors.) For example, you could use: [BG TheFloor] ; Specify as many as you like. This is an example of a normal background: [BG 0] type = normal spriteno = 0, 0 layerno = 0 start = 0, 0 delta = 1, 1 trans = none ;alpha = 256,0 mask = 0 tile = 1, 0 tilespacing = 0,0 ;window = 0,0, 319, 239 ;windowdelta = 0,0 ;---------------------------- [BG 1] type = normal spriteno = 0, 1 start = 0, 185 delta = 1, 1 mask = 0 velocity = 0, 0 tile = 1, 0 tilespacing = 0, 0 ;----------------------------
Konstrukcja postaci
Postać jest nieco bardziej skomplikowana niż arena, głównym plikiem jest też plik DEF, ale ma inną konstrukcję. Innymi spotykanymi plikami są też: SFF, CMD, CNS, ST, AIR, SND i ACT. Oczywiście nie wszystkie muszą się pojawić i nie koniecznie z tymi rozszerzeniami.
Poza głównym plikiem DEF mogą się pojawić też dodatkowe pliki DEF razem z plikami SFF i muzyką, odpowiedzialne za wstęp i zakończenie (intro i ending) wyświetlane na początku i końcu gry w trybie Arcade: Wstęp i zakończenie.
Plik DEF - Zawiera podstawowe informacje o postaci i autorze, dodatkowo posiada spis wszystkich plików, które mają zostać użyte przez postać. Więcej: Plik DEF - główny plik postaci.
Przykładowy fragment pliku DEF dla Win Mugena:
[Info] name = "Kung Fu Man" displayname = "Kung Fu Man" versiondate = 04,14,2002 mugenversion = 04,14,2002 author = "Elecbyte" pal.defaults = 6,3,4,2 [Files] cmd = kfm.cmd cns = kfm.cns st = kfm.cns stcommon = common1.cns sprite = kfm.sff anim = kfm.air sound = kfm.snd pal1 = kfm6.act pal2 = kfm4.act pal3 = kfm2.act pal4 = kfm5.act pal5 = kfm3.act pal6 = kfm.act [Arcade] intro.storyboard = intro.def ending.storyboard = ending.def
Plik SFF - Plik z grafiką wykorzystywaną przez postać, więcej: Grafika i paleta kolorów, Plik SFF - plik z grafiką.
Plik CMD - Plik który zawiera wszystkie kombinacje klawiszy odpowiedzialne za sterowanie postacią i ciosy, zawiera też kod wywołujący odpowiednie stany postaci. Więcej: Plik CMD - kombinacje przycisków.
Przykładowy fragment pliku CMD:
[Command] name = "TripleKFPalm" command = ~D, DF, F, D, DF, F, x time = 20 [Command] name = "TripleKFPalm" ;Same name as above command = ~D, DF, F, D, DF, F, y time = 20 ... ;---------------------------- [Statedef -1] [State -1, Triple Kung Fu Palm] type = ChangeState value = 3000 triggerall = command = "TripleKFPalm" triggerall = power >= 1000 trigger1 = statetype = S trigger1 = ctrl trigger2 = statetype != A trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [3000,3050) trigger2 = movecontact ... ;----------------------------
Plik CNS - Plik z tzw. stałymi postaci, czyli: wysokość, skala, szybkość, życie, energia itd. Dodatkowo bardzo często jest to plik który zawiera stany postaci. Więcej: Plik CNS - poziom życia i energii.
Przykładowy fragment pliku CNS:
[Data] life = 1000 power = 1000 attack = 100 defence = 100 fall.defence_up = 50 liedown.time = 60 airjuggle = 15 sparkno = 2 guard.sparkno = 40 KO.echo = 0 volume = 0 IntPersistIndex = 60 FloatPersistIndex = 40 [Size] xscale = 1 yscale = 1 ground.back = 15 ground.front = 16 air.back = 12 air.front = 12 height = 60 attack.dist = 160 ...
Plik ST - Plik ze stanami postaci, czyli wszystkimi ciosami, atakami specjalnymi, itd. Stany postaci to wszystko co robi postać, począwszy od chodzenia po wszelkie ataki, przyzywanie pomocników w walce i transformacje. Jak napisałem wyżej taki plik jak ST może się pojawić lub nie, wszystko zależy od wpisu w pliku DEF. Więcej: Plik ST - stany postaci [StateDef].
Przykładowy fragment pliku ST:
; Win state decider [Statedef 180] type = S [State 180, 1] type = ChangeState trigger1 = Time = 0 value = 181 ;---------------------------- ; Win pose 1 - Bow [Statedef 181] type = S ctrl = 0 anim = 181 velset = 0,0 [State 181, 1] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;---------------------------- ; Taunt [Statedef 195] type = S ctrl = 0 anim = 195 velset = 0,0 movetype = I physics = S sprpriority = 2 [State 195, 1] type = CtrlSet trigger1 = Time = 40 value = 1 [State 195, 2] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ...
Plik AIR - Plik ten zawiera zapis sekwencji wszystkich animacji takich jak ruchy postaci ale też wszelkie efekty itp. Więcej: Plik AIR - plik z animacjami.
Przykładowy fragment pliku AIR:
; Turning [Begin Action 5] Clsn2Default: 2 Clsn2[0] = -10, 0, 10,-79 Clsn2[1] = -4,-92, 6,-79 5,0, 0,0, 4, H 5,0, 0,0, 4 ; Crouch Turning [Begin Action 6] Clsn2Default: 3 Clsn2[0] = 10, 0,-10,-47 Clsn2[1] = 5,-47, -5,-60 Clsn2[2] = 10,-39, 15, 0 6,0, 0,0, 4, H 6,0, 0,0, 4 ...
Plik SND - Plik z dźwiękami postaci, więcej: Dźwięki i muzyka.
Plik ACT - Plik z paletą dla grafiki, jak wspomniałem może zmienić paletę kolorów używaną przez plik SFF, co może dać efekt np. zmiany stroju. Takiej zmiany palety dokonuje się podczas wyboru postaci jednym z przypisanych do tego przycisków. Więcej: Grafika i paleta kolorów.
Konstrukcja motywu i screenpacka
Motyw odpowiada za cały wygląd Mugena i jest to nazwa wzięta prosto z silnika. Jednak istnieje też inna nazwa: ScreenPack. Tak właściwie są to tylko nazwy, wielu kreatorów i graczy przyjęło nazwę ScreenPack na wszystko, jednak ja osobiście staram się to nieco rozgraniczyć.
W wypadku ScreenPacka z reguły masz do czynienia z grupą nowych plików którymi trzeba zastąpić stare pliki w Mugenie, więc musisz wykonać kopię swoich plików itd. Najczęściej są to małe zestawy nowych efektów lub czcionek.
Motyw można łatwo dodać do Mugena za pomocą np. wypakowania odpowiedniego folderu z plikami do folderu data i dodania takiego wpisu w pliku konfiguracyjnym mugen.cfg.
[Options] ... ; motif = data/system.def ; motif = data/kfm/system.def ; motif = data/big/system.def motif = data/odpowiedni_folder/system.def ...
O nic więcej nie trzeba się martwić. Oczywiście, do instalacji i uruchamiania motywu, można użyć między innymi odpowiednich programów lub odpowiednich skrótów do pliku EXE. Takie rozwiązanie jest dość wygodne, bo możesz sobie np. złożyć Mugena mającego 10GB i w zależności od dnia możesz uruchomić inny motyw z odpowiednio przygotowanym zbiorem postaci i aren. Mugen od samego początku używa swojego bazowego motywu na który można wpłynąć.
Plik SYSTEM.DEF - Główny i wymagany plik motywu. Tak jak w pozostałych przypadkach jest to plik definiujący, zawierający podstawowe informacje takie jak: nazwa, lista plików które wchodzą w skład motywu i główna część wyglądu motywu. Istotną i często poszukiwaną częścią tego pliku jest definicja głównego menu np. w [Title Info] można między innymi znaleźć wpis: menu.itemname.versus ="VS MODE" co odpowiada za wyświetlony tekst na ekranie. W [Select Info] można wpłynąć na ilość wierszy i kolumn wybierania postaci, w innych poszczególnych działach decyduje się o tym czy motyw ma zawierać jakąś dodatkową animację zakończenia gry, itd.
Przykładowy fragment pliku SYSTEM.DEF:
[Info] name = "Default" author = "" ;---------------------------- [Files] spr = system.sff snd = system.snd logo.storyboard = intro.storyboard = select = select.def fight = fight.def font1 = font/f-4x6.fnt font2 = font/f-6x9.fnt font3 = font/jg.fnt font4 = font/jg2.fnt ;---------------------------- [Music] title.bgm = title.bgm.loop = 1 ...
Plik FIGHT.DEF - Na samym początku pliku system.def w [Files] znajduje się odpowiedni wpis fight = fight.def kierujący Mugena do pliku tzw. pasków życia, czyli pasków pokazujących podczas walki poziom życia i energii postaci. Jednak w skład pasków życia wchodzi wszystko to co jest wyświetlane podczas walki a nie jest częścią postaci i areny, jak np. tzw. Hit Spark'i czyli różne efekty pojawiające się podczas uderzeń postaci.
Przykładowy fragment pliku FIGHT.DEF:
[Files] sff = fight.sff snd = fight.snd font1 = font/jg.fnt font2 = font/num1.fnt font3 = font/name1.fnt fightfx.sff = fightfx.sff fightfx.air = fightfx.air common.snd = common.snd ;---------------------------- [Lifebar] ; Player 1 p1.pos = 140,12 ; p1.bg0.anim = 10 p1.bg1.spr = 11,0 p1.bg1.layerno = 1 ; p1.mid.spr = 12,0 p1.front.spr = 13,0 p1.front.layerno = 1 p1.range.x = 0,-127 ; Player 2 p2.pos = 178,12 p2.bg0.anim = 10 p2.bg0.facing = -1 ...
Plik FIGHTFX.AIR - Na samym początku pliku fight.def w [Files] znajduje się odpowiedni wpis fightfx.air = fightfx.air, jest to plik z zapisem sekwencji animacji, które postać może wykorzystać podczas walki. Rodzaje animacji są ogólnie przyjęte, więc po zmianie odpowiednich plików w motywie nic się z postacią nie stanie poza samą zmianą używanych efektów. Z tym plikiem powiązany jest fightfx.sff, wpis do niego znajduje się na początku pliku fight.def w [Files].
Przykładowy fragment pliku FIGHTFX.AIR:
; Light hit spark [Begin Action 0] 0,0, 0,0, 2,, A 0,1, 0,0, 2,, A 0,2, 0,0, 2,, A 0,3, 0,0, 2,, A 0,4, 0,0, 2,, A 0,5, 0,0, 2,, A ; Medium hit spark [Begin Action 1] 1,0, 0,0, 2,, A 1,1, 0,0, 2,, A 1,2, 0,0, 2,, A 1,3, 0,0, 2,, A 1,4, 0,0, 2,, A 1,5, 0,0, 2,, A ...
Plik COMMON.SND - Podobnie jak to jest z plikami fightfx, plik ten zawiera dźwięki które postać w odpowiedni sposób może wykorzystać podczas walki jak np. odgłosy uderzeń. Wpis do niego znajduje się na początku pliku fight.def w [Files]. Więcej: Dźwięki i muzyka.
Plik SELECT.DEF - Na samym początku pliku system.def w [Files] znajduje się odpowiedni wpis select = select.def kierujący Mugena do pliku z listą postaci i aren. Więcej o tym pliku: Dodawanie postaci, Dodawanie aren, Ustalanie kolejności walk.
Przykładowy fragment pliku SELECT.DEF:
[Characters] kfm, stages/kfm.def, includestage=0 kfm, stages/kfm.def, music=sound/song.mp3 kfm, stages/stage0.def, music=sound/song.mp3, includestage=0 kfm, stages/stage0.def, order=3 ... ;---------------------------- [ExtraStages] stages/kfm.def stages/stage0.def ...
Plik DEF - Powyżej wymieniono kilka podstawowych i bardzo charakterystycznych plików DEF, w większości przypadków dla ułatwienia, ich nazwy są takie same. Ale jak zauważyłeś historia motywu zaczyna się od pliku konfiguracyjnego i tak potem od pliku do pliku, Mugen kierowany jest po odpowiednich wpisach, i te wpisy mogą się zmieniać. Poza głównymi mogą pojawić się też inne pliki DEF do konkretnych celów np. logo.def, intro.def, gameover.def. Wpisy kierujące do nich umieszczane są w system.def.
Plik SFF - Plik z grafiką wykorzystywaną przez konkretne pliki DEF lub AIR. Często dla ułatwienia pliki SFF dla konkretnych plików DEF noszą tę samą nazwę np. system.def i system.sff, natomiast wpisy do plików SFF znajdują się głownie w pliku DEF dla którego są utworzone. Więcej: Grafika i paleta kolorów.
Plik SND - Plik z dźwiękami używanymi przez pliki DEF, wpis do niego znajduje się głownie w pliku DEF dla którego jest utworzony. Więcej: Dźwięki i muzyka.
Plik FNT - Plik czcionki, może pojawić się osobno, w folderze motywu lub w konkretnym folderze jak folder font, wpis do niego znajduje w pliku dla którego jest utworzony. Więcej: Czcionki.
W skrócie: ScreenPack to grupa nowych plików którymi trzeba zastąpić stare pliki w Mugenie.
W skrócie: Motyw to grupa plików, najczęściej w osobnym folderze, głównym i wymaganym plikiem jest system.def.
Opisałem tu z grubsza tylko część podstawowych plików żeby ukazać ogólny zarys konstrukcji motywu, nie ma sensu opisywania wszystkiego bo o tym jest konkretny tekst a większość działa analogicznie.
Jak widać Mugen standardowo narzuca pewne nazwy plików ale można je zmieniać wedle uznania, trzeba jednak pamiętać o całej drodze kolejnych powiązań plików. Jeżeli chcesz zrobić prostego ScreenPacka i nie chcesz żeby osoba która go ściągnie miała jakieś problemy, najlepiej trzymaj się standardu lub dołączaj zawsze stosowny opis.
Elementy używane przez postacie
Plik COMMON1.CNS - Plik ten znajduje się w folderze data, zawiera podstawowe i najważniejsze stany postaci. W pliku DEF postaci, odpowiedni zapis i sama obecność pliku common1.cns w folderze postaci, ma wpływ na to czy i jakie stany zostaną wykorzystane z tego standardowego zestawu. Po co taki plik ? Otóż większość z zawartych tu stanów jest wykorzystywana przez postać bez jakichkolwiek modyfikacji a sam plik ma ponad 2500 linijek kodu co daje ponad 55 KB samego tekstu. Niby plik nie wielki, ale po co go bez potrzeby powielać. Dodatkowo, nawet korzystając z tego pliku, jeżeli chcesz użyć tylko jednego zmodyfikowanego stanu, to wystarczy że go użyjesz w postaci, a ten z common1.cns zostanie zignorowany.
Przykładowy fragment pliku COMMON1.CNS:
; Stand [Statedef 0] type = S physics = S sprpriority = 0 [State 0, 1] type = ChangeAnim trigger1 = Anim != 0 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 ; Turn anim over value = 0 [State 0, 2] type = VelSet trigger1 = Time = 0 y = 0 [State 0, 3] ; Stop moving if low velocity or 4 ticks pass type = VelSet trigger1 = abs(vel x) < 2 trigger2 = Time = 4 x = 0 [State 0, 4] ; Are you dead? type = ChangeState trigger1 = !alive value = 5050 ...
Pliki FIGHTFX.AIR i COMMON.SND - Pliki te są częścią motywu ale zawarte w nich elementy mogą zostać użyte przez postacie.
Od czego zacząć w Mugenie ?
Mugen jest pełen podobieństw, nie jest tak że arena, postać lub motyw to zupełnie coś innego. Wszędzie pojawiają się podobne pliki i podobna konstrukcja. Oczywiście postać ogólnie różni się od reszty Mugena ale można do niej dodać odpowiednie dodatki jak np. intro lub ending, które są identyczne jak dodatki do motywu. Mogą się w nich pojawiać (lub nie) specjalne obiekty pojawiające się na arenach, a areny swoją konstrukcją bardzo przypominają wymienione dodatki.
Według mnie dobrym startem jest zrobienie areny. W ten sposób opanujesz podstawy związane z grafiką, zapoznasz się z obsługą plików SFF, nauczysz się konstruować animacje i poznasz obiekty które pojawiają się w całym Mugenie. Co najważniejsze, stworzenie areny jest bardzo proste i nie zajmuje zbyt wiele czasu.