...: Strona :...
News
Archiwum
Redakcja
Chat ( 11 )
Forum
Księga Gości
Imprezy
Linki
Wymiana
Radio

- Download -
Programy
Gry
Zasoby
Music
Sound
Inne

- RPG Maker -
RPGUNITE
RPGMZ
RPGMV
RPGVXAce
RPGVX
RPGXP
RPGME
SimRPG95
RPG95
WRPGE

- Projekty -
Commander
Eden Universe
Pogromca II
Virtua Twierdza

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Goniec RM (Archiwum)
Dragon Ball Nao
M.U.G.E.N Samouczek
Pokemon Crystal PBF
Pillars of Eternity POLSKA - największy portal Pillars of Eternity (Project Eternity)
Kroniki Fallathanu - Prawdziwy mmoRPG w przeglądarce



Modules -  the greatest and ultimate place for every tracked-music sympathizer
Dragon Ball Great


Informacje || Problemy z RPG95 || Zgłoś nowe materiały
RPG Maker :: RPG Maker 95

Zmiana tilesetu


Tak to odwlekam i odwlekam, no ale kiedyś musiał wreszcie przyjść taki czas, że opiszę dokładnie wszystko to, co opisane być powinno w temacie różnych kafelków na mapach w RM95.
No więc pora zacząć. Sam początek tego poradnika jest luźnym tłumaczeniem oryginalnego poradnika napisanego w języku angielskim przez The Brain. Link tutaj.

1. Przygotowanie zestawów.
Przed przystąpieniem do robienia map, warto przygotować sobie zestawy tilesetów. Niestety, to jest trochę skomplikowane, ale po kolei.
Domyślnie mamy cztery tilesety (MCHIP0 - MCHIP3) i ich blokowanie. Należy pamiętać, że o ile grafika się zmienia, to blokowanie zostaje cały czas to samo. A więc jeśli podmieniamy na jakiejś mapie MCHIP0, to nasz nowy zestaw musi się z nim zgadzać. Czyli tam, gdzie mamy przejście, to i na nowym musi być przejście, a tam, gdzie mamy blokowanie, to i na nowym musi być blokowanie. Jest to trochę pokomplikowane. Dodam, że blokowanie też można ustawiać eventami, ale tę metodę odradzam, bo sprawdza się tylko wtedy, gdy dany tiles występuje rzadko na mapie.

Jeśli już mamy przygotowane nasze grafiki, to zapisujemy je w formacie BMP w 8 bitowej palecie w dokładnie 6 znakowej nazwie (odradzam używanie polskich liter, najlepiej używać znaków ASCII) np. MCHIP4, albo las001 itp. Następnie kopiujemy oryginalny plik atr. i zmieniamy jego nazwę na nazwę naszej nowej grafiki. Na przykład, jeśli nasz "las001.bmp" będzie zastępował "MCHIP0.bmp", to kopiujemy "MCHIP0.atr" i zmieniamy jego nazwę na "las001.atr".

2. Podmiana tilesetu.
Robimy kopię zapasową naszego pliku .rpg (tak na wszelki wypadek, gdyby coś poszło nie tak). RM podczas tego zabiegu musi być zamknięty.
Otwieramy naszym hex-edytorem (musi mieć koniecznie funkcję wyszukiwania, polecam program "HexEdit") plik o rozszerzeniu .rpg z folderu naszej gry. W wyszukiwarce wpisujemy nazwę mapy, dla której chcemy dokonać podmiany grafik. Po odnalezieniu, kilka linijek poniżej, powinniśmy ujrzeć nazwy oryginalnych plików z tilesetami. Wystarczy, że podmienimy odpowiednią nazwę na tą, którą posiada nasz nowy tileset. Zapisujemy i możemy wyłączyć hex-edytora.

Ważne: gdy tworzymy nowe mapy w makerze, przyjmują one nazwy tilesetów od mapy, którą mamy zaznaczoną przy tworzeniu, więc chcąc mieć np. kilka map o podmienionym tile, wystarczy, że podmienimy nazwy jednej mapy, a następne będziemy tworzyć od niej. Niestety, to nie działa, gdy mapy juz są stworzone, w takiej sytuacji musimy wszędzie nazwy grafik zmienić ręcznie.

Teraz możemy otworzyć makera i wybrać naszą mapę. Prawdopodobnie, aby zobaczyć nowe kafelki, będzie trzeba odświeżyć zakładkę, wystarczy, że na nią powtórnie klikniemy.

3. Problemy.
Oj, to będzie chyba najobszerniejszy punkt tego poradnika. Jeśli ktoś myślał, że wspólne blokowanie dla wszystkich zestawów jest wielkim problemem, to niech przeczyta to, co poniżej, a zmieni zdanie.

Otwierając grę i teleportując się z mapy z normalnymi tilesetami do mapy z nowymi, zauważycie na pewno, że coś jest nie tak - mianowicie kafelki wciąż są normalne, a gra nie wyświetla tych nowych. Co sprytniejszy pewnie zauważy, że zmiana trybu gry z okienka na pełny ekran i odwrotnie "naprawia" nasze kafelki, no ale nadal to jest bezużyteczne, bo co? Będziemy kazać graczowi zmieniać tryb ekranu podczas gry?

A więc istnieje inna metoda. Jest nią walka. Tak, walka odświeży nasze kafelki.

No, ale tu się pojawia kolejny problem. Np mając miasto zrobione na innym tilesecie niż wnętrza, musielibyśmy wywoływać walkę na teleporcie, a to jest dziwne, chyba się zgadzacie. Więc ta metoda raczej odpada. Opiszę teraz dwie metody, które pozwolą nam odświeżyć tiles (prawie) niezauważalnie.

- metoda walk losowych (użyta np w grze Stifa - Special S Forces)
Całość polega na tym, aby inteligentnie skleić tileset, tak by część płytek była taka sama na jednym i drugim tilesecie. Potem robimy dwie mapy korzystające z tych różnych tilesetów, ale w taki sposób, by obszar obok teleportu był wykonany właśnie z tych wspólnych płytek. Ustawiamy walkę losową i tileset nam się odświeży bez niczego dziwnego. Niestety, w przypadku potworków na mapie ten pomysł nie przejdzie, więc raczej tutaj odpada.

- metoda genialna, walka na teleporcie bez walczenia (nie publikowana nigdy wcześniej, wymyślona przeze mnie jakiś czas temu). Jest to metoda, która w pełni pozwoli nam korzystać z dobrodziejstwa podmiany grafik. Całość polega na tym, że wywołamy walkę, która od razu się skończy bez żadnej ingerencji gracza. Niestety, będziemy musieli poświęcić jednego przeciwnika z bazy danych i jedną grupę przeciwników. Co do przeciwnika, polecam wybrać pierwszego, ponieważ będziemy jeszcze grzebać w hexach, a tak będzie nam łatwiej znaleźć to, czego potrzebujemy. A więc, pierwsze co musimy zrobić, to edytować tego przeciwnika, usunąć mu wszystkie współczynniki (szczególnie ustawcie HP na 1), wywalić nagrodę i dawanie expa, i usunąć (zamienić na czarny kwadracik) grafikę. Potem wybieramy którąś grupę potworów (tu już nie ma znaczenia, którą) i ustawiamy naszego przeciwnika.
Polecam dać tu też czarne tło. Zapisujemy. Teraz najtrudniejsze. Wyłączamy makera i otwieramy naszym hex edytorem plik "chara.dat". W pierwszym wierszu w 6 kolumnie jest "01", musimy to zamienić na "00" i zapisać. Uwaga, tą operację będzie trzeba powtarzać za każdym razem, gdy przypadkiem otworzy nam się zakładka ze statystykami tego przeciwnika, więc polecam zrobić to przed samym wydaniem gry/przed generalnymi testami.

Teraz część najprostsza. Pierwsze musimy przygotować sobie puste, całe czarne mapy - po jednej na każdy rodzaj kombinacji tilesetów w naszej grze. Oczywiście to wymaga ustalenia sobie jednego czarnego tilesa w tym samym miejscu w np każdy tilesecie z zakładki D. Właśnie na tych mapach będziemy odświeżać tilesy, inaczej niestety występowały różne problemy jak migotanie itp. Można też w jednym rogu postawić zdarzenie które będzie się wyświetlać nad graczem, aby go nie było w tym czasie widać W naszym zdarzeniu teleportu musimy dokładnie zrobić tak: teleport do ciemnej mapy z nowymi tilesami, walka (nasza specjalna grupa), teleport do docelowej mapy. Efekt będzie taki, że walka mignie nam na około 2 sekundy, po czym sama się skończy, dając nam wyświetlanie prawidłowej grafiki. Nie musimy nic naciskać itp. Efekt jest szczególnie mało widoczny, gdy mamy ustawione półprzeźroczyste okno wiadomości, ale i z białym nie powinno być to aż tak widoczne.

Ta metoda niestety też powoduje to że muzyka przestaje grać, to znaczy sama walka i tak by powodowała że muzyka by się resetowała, więc myślę że to mały problem aby po prostu w zdarzeniu po teleporcie dać odtwarzanie jej od nowa... Niestety ten problem uniemożliwia w sumie odtwarzanie tej samej muzyki na wcześniejszej i późniejszej mapie, bo to może być zauważalne, ale gdy muzyka i tak ma się zmienić między lokacjami to w sumie i tak nic nie szkodzi.

Kolejny problem jest z zapisem gry. Wczytując grę tileset automatycznie ustawia się na ten, który jest na mapie zawierającej start gry. Jedyny wyjątek to ten, że jeśli wczytujemy grę w trakcie gry, wtedy tileset zostaje taki, jak na ostatniej wyświetlanej mapie.

Niestety, najlepszy sposób na pozbycie się tego problemu, to zrezygnowanie z zapisu w menu i ustawienie save pointów. Event takiego save pointa powinien wyglądać następująco (wykorzystam metodę genialną):
1 zdarzenie (save point)
zmień przełącznik jakiś na ON
wywołaj zapis gry
zmień przełącznik jakiś na OFF

2 zdarzenie (odświeżanie tila po wczytaniu) - start na autostart, warunek - przełącznik jakiś jest ON.
walka - nasza specjalna grupa
usuń obraz - natychmiast : jeśli gra przed zapisem miała zmienione kolory ekranu za pomocą polecenia z efektami, to to polecenie pozwoli je przywrócić po wczytaniu, nie wiem czemu tak jest, ale działa, a o to chodzi.
zmień przełącznik jakiś na OFF

Przy wczytywaniu nie ma problemu z muzyką - bo i tak gra się od nowa. Nie trzeba jej też od nowa wywoływać - przy teleporcie trzebabyło - musi to być jakieś dziwne zachowanie teleportu i walki obok siebie w jednym zdarzeniu...

Istnieją też inne metody, które pozwoliłyby nam zachować zapis non stop (np. przez przedmioty), ale jest problem z ich działaniem na większych mapach. Może kiedyś je opiszę, ale to raczej w innym poradniku, trochę szerszym na temat specjalnych przedmiotów.

Ostatni problem to zmiana blokowania. Może się nam trafić tak, że już po wszystkich podmiankach, nagle będziemy potrzebowali zmienić blokowanie tilesetu. Musimy zrobić to bardzo uważnie, a więc po kolei. Otwieramy 1 mapę gdzie jest używany normalny tileset, zmieniamy blokowanie i ZAPISUJEMY GRĘ, potem otwieramy mapę gdzie mamy inny tileset, zmieniamy blokowanie na to samo co poprzednio i znowu ZAPISUJEMY GRĘ, powtarzamy tak, aż nie zmienimy wszędzie blokowania, w każdej wersji innego tilesetu.

Na koniec, pamiętajcie, że nasze zestawy grafik powinny mieć wspólną paletę z plikiem chara, inaczej niektóre kolory mogą zostać przekształcone w grze.

To wszystko, mam nadzieję, że się wam przyda. No i mam nadzieję, że nie będzie problemów. Ale jeśli jakieś będą, to wiecie, gdzie mnie szukać.

Możesz też pobrać demko. Jest to mała niespodzianka gdyż postanowiłem przetłumaczyć i poprawić pierwsze demo jakie powstało do tej sztuczki - zrobione przez samego legendarnego Don Miguela. Demko jest trochę wulgarne i ma specyficzny humor, ale po za tłumaczeniem i zaimplementowaniem w nim metody genialnej nie chciałem w nim niczego zmieniać - więc możecie obadać tą sztuczkę na już prawie 20 letniej mini gierce.

PS: Jeśli zamierzasz używać bardzo dużo tilesetów to istnieje prosta metoda aby schować je wszystkie do jednego folderu np o nazwie "t" - od tilesetów. Pierwsze należy utworzyć taki folder w plikach gry i wrzucić do niego wszystkie MCHIPy i ich blokowania i potem poskracać ich nazwy do 4 znaków. W pliku rpg. należy zmienić odpowiednio wszystkie nazwy tilesetów na ich nową wersję z dodatkie "t\" na początku każdej nazwy np MCHIP0 (.bmp i .atr) zmieniamy nazwę na MCH0 i wkładamy do folderu t, więc w pliku .rpg zmieniamy wszystkie MCHIP0 na t/MCH0. Wsio, taka drobna ciekawostka.




Autor: Dragon Kamillo
Email: k.maciejewski@poczta.onet.pl
Pobierz:
  • Podmiana tilestów - demo


  • Twierdza RPG Maker || RPG Maker Polska
    2002-2024