Cel eksperymentu:
Sprawdzenie, ile danej postaci zajmuje (w klatkach) poruszenie się o jedną kratkę (tile) w RPG Makerze, wykrycie ewentualnych zależności i regularności z tym związanych.
- almostnoruby
Wstępniak
Niektórzy mają obsesję na temat ilości klatek. Używają monitorów z odświeżaniem 144Hz, w kieszeni mają urządzenia, które klatek potrafią wyświetlić
dziewięćdziesiąt, i jak coś im się nie wyświetla w tej ultra płynności to od razu mają ból... wiadomo czego, nie będę się tu wyrażał. W tym eksperymencie
właśnie trzeba będzie pobawić się w takiego "marudę", który liczy klatki na nagraniu żeby wypatrzeć czy wszystko współgra z jego wizją. Jak recenzent
gier na Youtube, który liczy klatki na nagraniu, by tylko trochę pomarudzić, że jedna-dwie klatki spadają mu na nagraniu. Na szczęście tutaj ten zabieg będzie
potrzebny do bardziej szczytnego celu. W RPG Makerze, przy wyborze prędkości zdarzenia czy bohatera podczas ruchu, nie ma jakiejś konkretnej jednostki, w
której można byłoby dowiedzieć się, ile danemu dajmy na przykład NPC-owi zajmie przejście z punktu A do punktu B. Po prostu masz do wyboru prędkości
odnoszące się do innej prędkości, a dokładniej - domyślnej prędkości chodzenia głównego bohatera na mapie. Tak więc masz 1/2 prędkości bohatera
albo 2x szybciej... tylko... ile to jest? W nowszych Makerach to widać jeszcze gorzej, gdy podawana jako normalna prędkość nie jest
za bardzo normalną prędkością, bo domyślnie ustawiana jest jej połowa. To powoduje drobny koszmarek na przykład przy tworzeniu cutscenek.
Musisz wybierać na chybił-trafił, ile dany ruch może potrwać. Oczywiście - można to obejść albo po prostu posiedzieć te kilkanaście minut dłużej,
by w końcu trafić z czasem, który nam odpowiada. Ale ten problem może wystąpić również przy innych rzeczach. Tak więc, co należy zrobić, by sprawdzić,
ile klatek zdarzeniu zajmuje jeden krok?
Przygotowania
Do eksperymentu będą potrzebne:
Oczywiście, dowolnie wybrany RPG Maker;
Program do nagrywania wideo z ekranu - na przykład darmowy oCam, który zostanie tutaj omówiony;
Program, w którym można odtworzyć wideo klatka po klatce - na przykład Media Player Classic, który też zostanie tutaj omówiony.
Następnie, trzeba będzie przygotować mapkę z "poligonem doświadczalnym", na którym będziemy liczyć klatki. Powinien on mniej-więcej tak wyglądać:
Mapka, na której będzie przeprowadzany eksperyment. Więcej szczegółów poniżej.
Wszystkie postacie stojące w rządku dwa pola przed tym specjalnie zaznaczonym to są zdarzenia poruszające się każde z inną prędkością. Z czysto praktycznego
punktu widzenia są posegregowane według prędkości - ta najwyżej porusza się najszybciej, ta najniżej - najwolniej. Łącznie reprezentują one wszystkie sześć
prędkości, które są dostępne normalnie w RPG Makerze. Bohater stoi obok kryształu. W momencie, gdy gracz naciśnie przy krysztale Enter, ten zaświeci się,
a postacie wykonają dwa kroki w prawo. Później ilość potrzebnych do przejścia klatek podzieli się przez dwa. Tylko kryształ trzeba odpowiednio zaskyptować
(i tak, to jest prawidłowe określenie, słowo skrypty można odnieść również do zdarzeń). Chociaż to nie jest konieczne, na początku przydatnym bajerem jest
zaświecenie tym kryształem, zmiana jego koloru czy coś w tym guście, żeby łatwo było można było zauważyć, przewijając klatki, w której zaczyna się ruch.
Wybrany przeze mnie Maker (VX) ma o tyle fajną grafikę kryształu, że wystarczy ją obrócić, a zaczyna świecić, stąd ta część kodu. Ważne jest, aby fajeczka
w opcjach przy "czekaj na koniec ruchu" nie była odhaczona (nie szukać tej opcji na siłę, jest ona dopiero od RPGXP w górę...). Po tym, należy
poruszyć wszystkimi testowymi zdarzeniami na raz. Czyli, z tym samym wymaganiem, co wcześniej (żeby nie czekać na koniec ruchu), należy przesunąć wszystkie
postacie o dwa kroki w prawo.
Przebieg
Następnie trzeba nagrać wideo z tego fantastycznego wydarzenia jakim jest ruch zdarzeń o dwa kroki. Po odpaleniu programu do rejestracji wideo trzeba ustawić
liczbę klatek na sekundę, w której działa RPG Maker. Zazwyczaj nie jest to problemem, a prawie wszystkie działają zgodnym chórem w 60 klatkach, z wyjątkiem...
RPGXP. Tam jest klatek na sekundę czterdzieści (po ustawieniu opcji Smooth w menu dostępnym pod klawiszem F1, tak jest 20...). W oCam jest ta opcja dostępna
pod kartą Menu => Options (Opcje) i jest pierwszą funkcją, jaka nam wyskoczy po otwarciu tego okna.
Jakby ktoś z jakiegoś powodu szukał.
Potem należy wybrać obszar, który zawiera okno z projektem, po czym nacisnąć Record. Podczas nagrania wystarczy kliknąć głównym bohaterem kryształu i
poczekać chwilę, po czym można skończyć nagranie. Po skończeniu plik wyląduje (w przypadku omawianego programu) - w Dokumentach, w podfolderze prawidłowo
nazwanym oCam. Teraz należy odtworzyć film w wybranym odtwarzaczu - omawiany tutaj będzie MPC-HC, ale za pomocą
popularnego VLC też da się to sprawdzić. Po odpaleniu filmu należy spauzować go gdzieś blisko momentu
odpalenia ruchu postaci. Następnie, za pomocą kombinacji klawiszy CTRL+Strzałka w lewo można przejść klatkę wideo wcześniej, a CTRL+Strzałka w prawo
- klatkę później. Dzięki temu można znaleźć klatkę, która jest pierwszą, w której zaczyna się ruch (i zaświeci się kryształ):
Okno z pierwszą klatką ruchu w odtwarzaczu MPC-HC.
Po wykonaniu przesunięcia jeszcze o siedem klatek (jakby nie patrzeć, ta pierwsza która została znaleziona to jednak pierwsza...) postać na samym dole skończy
swój ruch. W ciągu łącznie 8 klatek przesunęła się o dwa pola, czyli w ciągu 4 klatek przesunie się ona o cztery. Postać wyżej jest dopiero w połowie,
potrzebuje dodatkowych ośmiu klatek. Można zauważyć, że ten cykl powtarza się w pewien sposób. Za każdym razem postaci zajmuje dwa razy więcej dojście do
"mety". Czyli, przejście jednej kratki zajmuje postaci o prędkości 5 (2x szybciej) zajmuje 8 klatek , 4 (normalnie) - 16 klatek, i tak dalej...
Wynik
Dla większości RPG Makerów (testowałem na RPGVX, Sozan - na RPGMV) powinno wyjść:
Prędkość
Ilosć klatek
1 (1/8 prędkości)
128 (27)
2 (1/4 prędkości)
64 (26)
3 (1/2 prędkości)
32 (25)
4 (normalnie)
16 (24)
5 (2x szybciej)
8 (23)
6 (4x szybciej)
4 (22)
Wzór ogólny - t = 28-v, gdzie t to jest czas w klatkach, a v - prędkość od 1 do 6.