eXec.plMAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA
Logowanie
MAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA

niedziela, 23. kwietnia, 2017, 15:51

Dodano: 2014-11-15, Autor: Czesław Mnich, Kategoria: Gry, Liczba wyświetleń: 2854

A A A

Gloom - tworzenie postaci i nie tylko

Wstęp

Zanim przejdę do szczegółowego opisu jak tworzyć krok po kroku własne postacie, bronie do gry Gloom oraz jak podmieniać obrazki czy efekty dźwiękowe na własne najpierw opiszę jak można rozpakować i przeglądać oryginalne obiekty z Gloom Deluxe.

Wszystkie pliki w grze spakowane są za pomocą pakera o nazwie "CrM2". Autorzy zdecydowali się na tek krok tylko po to żeby upchać grę na dwóch dyskietkach. Aby rozpakować dowolny plik "CrM2" musimy użyć specjalnego programu, który poradzi sobie z tym formatem. Idealnie do tego celu nadaje się niezarejestrowana wersja programu o nazwie "Crunch-Mania", którą możemy pobrać z Aminetu tutaj.

Jak używać programu "Crunch-Mania"?

Programu "Crunch-Mania" możemy używać do pakowania oraz rozpakowywania wszelakich plików. Jest bardzo prosty w obsłudze, cechuje się wysokim współczynnikiem kompresji i dużą szybkością działania. Samo rozpakowanie plików "CrM2" sprowadza się do kilku kroków opisanych w poniższych punktach.

  • Otwieramy program Crunch-Mania V1.91t
  • Wciskamy przycisk "DATA" zamiast domyślnie ustawionego "RELOC"
  • Klikamy na "Load File" i wybieramy dowolny obiekt z gry Gloom, który został spakowany za pomocą pakera "CrM2" np. "baldy"
  • Następnie klikamy na przycisk "Save File", wybieramy zapis do RAM DYSKu i wpisujemy nazwę dla rozpakowanego pliku np. "baldy"

Od teraz możemy cieszyć się rozpakowanym obiektem o nazwie "baldy". Co od razu może rzucać się w oczy to to, że plik po rozpakowaniu zwiększył kilkukrotnie swoją objętość. Jak już wspomniałem wcześniej jedną z zalet programu jest duża kompresja danych. Nikt nie powinien mieć już wątpliwości dlaczego autorzy zdecydowali się na spakowanie wszystkich plików tym pakerem, jest po prostu świetny!

Tworzenie postaci Tworzenie postaci

Pakowanie plików przebiega w podobny sposób co rozpakowywanie. Czyli najpierw wciskamy przycisk "DATA" potem "Load File" i wybieramy dowolny rozpakowany plik. Następnie klikamy na "Crunch" i dajemy "Save File" podając nazwę dla spakowanego pliku. Program Crunch-Mania oferuje również pakowanie wielu plików na raz będących w tym samym katalogu. Po kliknięciu na przycisk "DIR" znajdujący się obok przycisku "Load File" wybieramy folder z plikami do spakowania. Teraz klikamy na "DIR" znajdujący się obok przycisku "Save File" i zaznaczamy miejsce gdzie mają zostać zapisane spakowane pliki. Możemy wybrać ten sam katalog zastępując zarazem stare pliki nowymi. Na sam koniec klikamy na "Load File" by uruchomić procedurę zapisu.

Podgląd i zapis obiektów

Jako, że autorzy nie dołączyli do Glooma dodatkowego narzędzia umożliwiającego podgląd istniejących już obiektów czy chociażby specyfikacji z ilu klatek składa się każda z postaci trudno byłoby bez tej wiedzy stworzyć nową postać do gry nie znając tak podstawowych informacji.

Na szczęście nad tym problemem pochylił się znany w polskim środowisku programista Robert Szacki, który napisał specjalne narzędzie służące do przekształcania rozpakowanych obiektów z gry Gloom zapisanych w formacie "chunky" na "planar". Czyli potocznie mówiąc na obrazek bitmapowy. Opisywany program dostępny jest do pobrania na naszej stronie. Cechuje się łatwością obsługi a do działania wymaga Amigi z chipsetem AGA.

Po przekopiowaniu narzędzia "ShowGloomObj" do RAM DYSKu wraz z rozpakowanym obiektem np. o nazwie "baldy" wpisujemy w oknie Shella polecenie "RAM:" i wciskamy "ENTER", następnie wpisujemy "ShowGloomObj baldy" i ponownie wciskamy "ENTER". Jeżeli zrobiliśmy wszystko prawidłowo to powinniśmy zobaczyć na ekranie wszystkie klatki postaci o nazwie "baldy".

Program "ShowGloomObj" oferuje tylko podgląd obiektów "chunky" zamieniając je na "planar". Niestety aby zapisać wyświetlony obrazek musimy użyć osobnego programu, który umożliwia zrobienie zrzutu ekranu. Idealnie do tego celu nadaje się narzędzie o nazwie "SGrab".

Tworzenie postaci

Od czego zacząć?

Na początku musimy zastanowić się czy:

  • będziemy rysować naszą postać na programie graficznym umożliwiającym edycję grafiki rastrowej,
  • użyjemy gotowych sprite'ów dostępnych na wielu stronach internetowych na przykład tutaj,
  • użyjemy do tego celu dowolnego programu do tworzenia grafiki 3D lub dostępnych obiektów online,
  • posłużymy się gotowymi figurkami z ruchomymi rękami i nogami dostępnymi w sklepach z zabawkami.

W tym miejscu zaznaczę, że najbardziej pracochłonne jest narysowanie naszej postaci "od zera" na programie graficznym. Szczególnie mając na uwadze rysowanie postaci w 8 kierunkach. O wiele łatwiejsze jest wklejenie gotowych sprite'ów pochodzących z innych gier 3D np. z Wolfa czy Dooma o czym wspomnę w dalszej części artykułu. Dla tych co nie czują się na siłach aby stworzyć przestrzenny obiekt na programie 3D typu "LightWave 3D", "Imagine" czy "Real 3D" polecam pobrać z internetu gotowy obiekt dla naszego programu 3D, wczytać go do naszego programu, porobić zrzuty ekranu obiektu w 8 kierunkach by na końcu z tych klatek stworzyć obrazek z klatkami animacji, który przekształcimy za pomocą narzędzia o nazwie "makeanim".

Gdyby ktoś nie miał ochoty instalować takiego programu to bardzo dobrym rozwiązaniem jest możliwość wczytywania obiektów 3D online. Powstało już wiele stron internetowych dających taką możliwość. Jedną z nich jest strona o nazwie sketchfab.com. Ostatnim ciekawym sposobem na stworzenie własnej postaci do gry "Gloom", jest użycie gotowych figurek, które możemy dostać w dowolnym sklepie z zabawkami. Tę oto metodę tworzenia obiektów mam przyjemność teraz opisać.

Czego będziemy potrzebować?

  • figurki, które umożliwiają poruszanie rękami oraz nogami,
  • obrotową scenę z podziałką dla 8 kierunków,
  • jednolite tło dla sceny

Na początku musimy zaopatrzyć się w figurki, które umożliwiają poruszanie rękami oraz nogami. Postacie nie muszą ruszać każdą częścią ciała wystarczy, że poruszają kończynami górnymi i dolnymi. Idealnie nadają się do tego postacie z gwiezdnych wojen, żołnierze lub dinozaury. Oczywiście nie musimy ograniczać się do samych ludzi czy zwierząt, możemy z równym powodzeniem używać jako obiekty wszelakie pojazdy czy statki.

Trzeba pamiętać o tym aby figurki były jak najmniejszych rozmiarów dzięki temu nie będziemy musieli budować dużej sceny dla nich. Ważne jest również aby nasza figurka nie była zbyt kolorowa oraz zbyt ciemna. Szczególnie jeśli wybierzemy ciemniejsze tło dla niej. Poza tym ciemniejszy obiekt będzie słabo widoczny w grze. Jeśli chodzi o kolory to najlepiej nie szukać zbyt kolorowych figurek a to dlatego, że nasz obiekt będziemy musieli ostatecznie przygotować w 16 kolorach.

Obrotowa scena może wyglądać różnie w zależności od naszych potrzeb. Można takową nabyć lub samemu stworzyć. Ja posłużyłem się obrotową sceną zabawką służącą do modelowania garnków dla dzieci.

Tworzenie postaci Tworzenie postaci Tworzenie postaci

Jak można zauważyć na powyższych zdjęciach na czerwonej obrotowej platformie dorysowałem 8 kresek symbolizujących 8 kierunków postaci. Każda rozmieszczona jest co 45 stopni. Dzięki tym znacznikom jestem w stanie dokładnie obrócić figurkę w celu wykonania odpowiedniego zdjęcia.

Figurkę ustawiamy zawsze na samym środku tarczy w pozycji wyprostowanej dla wszystkich ujęć, przyda się tutaj plastelina. Jeśli do tego się nie zastosujemy to podczas chodzenia postać będzie się garbić lub chodzić kulawo gdy źle ustawimy położenie nóg co ładnie jest zobrazowane na poniższych animacjach postaci.

Oświetlenie najlepiej aby było zamontowane nad naszą sceną, zlikwidujemy w ten sposób niepotrzebny cień. Naszej figurki nie musimy koniecznie fotografować, możemy zamiast aparatu użyć kamery by później z filmu powycinać interesujące nas klatki.

Najważniejsze jest przygotowanie odpowiedniej sceny, mam na myśli jednolitego koloru dla niej oraz tła. Pozwoli nam to na łatwiejsze wycinanie klatek bez żmudnej obróbki jednej po drugiej. Jako, że trudno znaleźć scenę oraz tło w kolorze niebieskim czy zielonym postanowiłem poszukać odpowiednika w kolorze czarnym który również znakomicie będzie się do tego nadawał.

Tworzenie sceny

Zbudowanie własnej sceny jest bardzo proste i tanie. Potrzebować będziemy następujących rzeczy:

  • papierowy kubek do kawy lub herbaty,
  • plastelina najlepiej koloru czarnego,
  • czarna skarpetka lub farba,
  • monitor lub telewizor służący za tło

Po obróceniu kubka do góry nogami wypełnij denko/podstawę plasteliną oraz załóż na niego czarną skarpetkę. Zamiast skarpetki można użyć czarnej farby do pomalowania kubka. Efekt pracy można zobaczyć poniżej na lewym zdjęciu, na prawym zaś można zobaczyć jak sprawuje się wyłączony monitor użyty jako tło.

Tworzenie postaci Tworzenie postaci

Teraz jak mamy już przygotowaną scenę z tłem to możemy zabrać się za robienie zdjęć naszej postaci. Zanim jednak je zrobimy warto zapoznać się wcześniej z podstawowymi informacjami odnośnie tworzonych obiektów.

Podstawowe informacje o obiektach

Każda postać może poruszać się w ośmiu kierunkach, a każdy kierunek składa się z czterech klatek animacji. Sposób w jaki porusza się każda z postaci (oraz jej schemat ataku) jest zaprogramowana w wykonywalnym pliku "Gloom" i nie może być zmieniona (chyba, że jesteś koderem). Na poniższych obrazkach można zobaczyć jak zbudowane są dwa obiekty "Assassin" oraz "Robo". Podczas tworzenia własnych postaci najlepiej abyś podążał zgodnie z tym wzorem umieszczając po 8 klatek animacji na wiersz. Jest on o tyle wygodny, że będziesz w stanie z łatwością zauważyć źle wklejone klatki w przeciwieństwie gdybyś zdecydował się na umieszczanie wszystkich klatek w np. 3 wierszach.

Tworzenie postaci Tworzenie postaci

  • Pierwszy rząd klatek pokazuje pierwszą klatkę animacji dla wszystkich ośmiu kierunków. Zauważ, że postać obracana jest zawsze co 45 stopni w lewą stronę. W pierwszym rzędzie nasza postać stoi w miejscu i ma ustawione ręce oraz nogi wzdłuż jednej linii.
  • Drugi rząd klatek musi być umieszczany bezpośrednio pod pierwszym. W tym rzędzie przesuwamy lewą nogę i prawą rękę do przodu a prawą nogę i lewą rękę do tyłu.
  • Trzeci wygląda tak samo jak pierwszy i musimy go jedynie skopiować i umieścić pod drugim.
  • Czwarty wygląda odwrotnie niż drugi. W tym rzędzie przesuwamy prawą nogę i lewą rękę do przodu a lewą nogę i prawą rękę do tyłu.
  • Piąty reprezentuje klatki bólu czyli kiedy trafimy wroga.
  • Szósty to klatki ataku kiedy zostaniemy zaatakowani przez wroga.

Dla lepszego zobrazowania tego co napisałem powyżej warto zapoznać się z poniższym obrazkiem przedstawiającym widok postaci z profilu gdzie każda cyfra oznacza odpowiedni jej wiersz.

Tworzenie postaci

Tutaj ważna uwaga, nie każda postać w Gloomie posiada taką samą ilość klatek. Dlatego tworząc nową postać musimy zadbać o to aby nasz obiekt miał taką samą ilość klatek jak ten którego podmieniamy. W przeciwnym razie nasz oponent może pojawiać się i znikać na ekranie lub wokół niego mogą pojawiać się przekłamania w wyświetlaniu pikseli. Warto więc zapoznać się z dokładną liczbą klatek jaką posiada każda z postaci występująca w grze "Gloom Deluxe".

Poniżej tabela z klatkami animacji dla wszystkich postaci.

Nazwa obiektuKlatki ruchuKlatki bóluKlatki atakuRazem
BALDY328848
DEATHHEAD8-1624
DEMON328848
DRAGON--3232
GHOUL--2424
LIZARD328848
MARINE328-40
PHANTOM328848
PLAYER328-40
TERRA328-40
TROLL328848

Zauważyłem, że tworząc postać składającą się z 32 klatek ruchu i 8 klatek bólu w większości przypadków postać będzie poprawnie wyświetlana. Jedynie dla postaci "PHANTOM" i "DEMON" musimy dodatkowo dorysować 8 klatek ataku. Jeśli ich nie dołączymy to nasza postać będzie pojawiać się i znikać na ekranie. Podobny efekt z mrugającą postacią zauważymy gdy pozostawimy na obrazku z klatkami animacji walające się tu i ówdzie pojedyncze piksele. Podczas przekształcania tego obrazka narzędzie "makeanim" potraktuje te pojedyncze piksele również jako klatki animacji.

Pamiętajmy też o tym aby klatki się ze sobą nie stykały czy to w poziomie czy w pionie. W przeciwnym razie po przekształceniu takiego IFFa z powrotem na format "chunky" narzędziem "makeanim" podczas gry nasza postać będzie wyświetlana błędnie. Tzn. klatki, które były ze sobą połączone będą traktowane jako jeden obrazek. Można to dobrze zaobserwować na poniższym obrazku.

Tworzenie postaci

W celu uniknięcia tego błędu warto na wstępie stworzyć sobie taki "pusty" szablon tzn. szachownicę w rozdzielczości "512x384" (8x6 kratek) na której są narysowane kwadraty o wielkości "64x64" piksele każdy. Takie rozwiązanie pozwoli nam na precyzyjne wklejanie każdej z klatek animacji w określony róg kwadratu eliminując za razem niechciany błąd z wyświetlaniem dwóch klatek na raz. Dzięki tej metodzie łatwo możemy zaobserwować czy dana klatka nie łączy się z inną oraz czy nasza postać nie wychodzi poza określony kwadrat.

Warto jest na wstępie stworzyć sobie taki obrazek z klatkami w większej palecie kolorów np. 256 a dopiero później na potrzeby gry przekolorować go do 16 kolorów jak zresztą są przygotowane wszystkie obiekty w Gloomie. Taki obrazek z większą paletą kolorów możemy zawsze użyć w innej grze doomo-podobnej, nie musimy ograniczać się do samego Glooma. Gloom co prawda może używać obiektów w 256 kolorach, niestety podczas gry te obiekty są wyświetlane w nie więcej niż 16 kolorach.

Pamiętajmy również o tym, że przy redukcji palety kolorów obrazka z 256 do 16 na PPaincie wiele ciemniejszych odcieni zostanie zastąpionych kolorem czarnym, który powinien być zarezerwowany tylko dla tła. Jako, że na programie graficznym musimy ustawić pierwszy kolor palety obrazka jako czarny to wszystko w tym kolorze podczas gry będzie przezroczyste. Czasem bywa tak, że nasza postać w Gloomie ma przezroczyste oczy czy włosy a to dlatego, że był użyty w tym miejscu kolor 0. Nie pozostaje nam wtedy nic innego jak ponownie wczytać obrazek do programu graficznego i w miejscach gdzie został użyty kolor czarny wybrać inny kolor.

Po wklejeniu wszystkich klatek animacji do naszej szachownicy i ustawieniu pierwszego koloru palety obrazka jako czarny wypełniamy całe tło kolorem czarnym i zapisujemy obrazek. Taki oto przygotowany obrazek jest gotowy do konwersji.

Tworzenie postaci Tworzenie postaci Tworzenie postaci

Dodam, że szachownica może być większych rozmiarów a kwadraty mogą mieć wielkość nawet "80x80" pikseli. Niestety za pomocą narzędzia "makeanim" możemy konwertować obiekty tylko do określonej wielkości. Jeśli nasz obrazek z klatkami będzie za duży to po prostu program w trakcie przekształcania się zawiesi. Idealnym tego przykładem jest dołączony do gry obiekt o nazwie "dragon", który ma spore rozmiary. Narzędzie "makeanim" dostarczone przez autorów gry posiada kilka innych dokuczliwych błędów min. to, że program się wiesza gdy wpiszemy podczas konwersji złą nazwę dla pliku.

Na rozwiązanie tych problemów nie trzeba było długo czekać. Ponownie z pomocą przyszedł zdolny programista Robert, który tym razem napisał program o nazwie "MakeGloomObj", który eliminuje błędy występujące w powyższym programie. "MakeGloomObj" pozwala na konwersję bardzo dużych obiektów i idealnie nadaje się do pracy z Gloomem.

Jako, że narzędzie "MakeGloomObj" pojawiło się stosunkowo niedawno a do tworzenia moich obiektów używałem wyłącznie programu "makeanim" postanowiłem poniżej w skrócie opisać działanie tego drugiego. Zaznaczę, że obydwa programy obsługuje się tak samo z Shella i można ich używać zamiennie. Jedyna między nimi różnica jest taka, że w przypadku programu Roberta nie podajemy na końcu polecenia cyfry 1 lub 2 a to dlatego, że program tworzy obiekty o jednej wielkości.

Tworzenie obiektów za pomocą "makeanim"

Zanim przekształcisz obrazek za pomocą "makeanim" sprawdź czy:

  • pierwszy kolor palety obrazka jest koloru czarnego,
  • tło dla całego obrazka jest koloru czarnego,
  • nie pozostały gdzieś na ekranie pojedyncze piksele,
  • zachowana jest odpowiednia odległość pomiędzy klatkami animacji,
  • nasza postać nie jest zbyt dużych rozmiarów (dotyczy tylko "makeanim")

Jeżeli wszystko jest dobrze to możesz śmiało przekopiować do RAM DYSKu narzędzie "makeanim" oraz stworzony obrazek z klatkami. Następnie zmieniamy nazwę obrazka na np. "robo.iff" a w oknie Shella wpisujemy polecenie "RAM:" i wciskamy ENTER. Teraz w zależności co wpiszemy w Shellu to taki uzyskamy efekt końcowy dla obiektu.

Przykładowo wpisując polecenie "makeanim robo.iff marine 1" zostanie utworzony obiekt o nazwie marine, który po przekopiowaniu do katalogu "objs" za obiekt marine będzie się zachowywał w trakcie gry dokładnie tak jak żołnierz (marine) a jedynka na końcu polecenia będzie oznaczać utworzenie obiektu dwa razy mniejszego niż oryginał zaś gdy damy na końcu cyfrę 2 to nasza postać będzie miała taką samą wysokość jaką ma oryginalny żołnierz (marine).

Tworzenie postaci

Niestety nie można zrobić tak aby zapisana postać jako marine była dwukrotnie większa w grze niż oryginał i sięgała aż pod sam sufit czy żeby do nas nie strzelała a to dlatego że każda postać w Gloomie ma zaprogramowaną na sztywno charakterystykę postaci czyli min: prędkość poruszania, użycie broni oraz rozmiary. Krótko mówiąc jeżeli chcemy aby nasz obiekt był wysoki aż pod sam sufit tak jak prezentuje się obiekt "demon" to musimy w Shellu wpisać polecenie "makeanim robo.iff demon 2" i zastąpić oryginalny plik "demon" naszym obiektem.

Pamiętajmy, że za pomocą narzędzia "makeanim" możemy tylko wybrać rozmiar dla naszej postaci. Czyli czy nasz obiekt ma mieć połowę wysokości (wpisując 1) czy pełną wysokość oryginalnej postaci (wpisując 2). To jaką nazwę wpiszemy dla naszego obiektu w "makeanim" nie ma żadnego znaczenia. Dopiero gdy przekopiujmy do katalogu "objs" nasz obiekt zastępując jeden z dostępnych wtedy dopiero nasza postać przyjmie jego charakterystykę. Czyli jeśli chcemy aby wróg mógł do nas strzelać to musimy zapisać nasz obiekt jako "demon", "marine", "phantom", zaś jeśli chcemy go pozbawić strzelania to zapisujemy go jako" "baldy", "lizard", "troll".

Tworzenie postaci

Przygotowanie flaków

Wszystkie obiekty występujące w grze zapisane są w katalogu "objs". Każda z postaci zapisana jest za pomocą dwóch plików np: "marine" zawiera klatki animacji, bólu i ataku, zaś "marine2" posiada części postaci nazwijmy je flakami, które będą widoczne po zabiciu wroga.

Od nas zależy na jak wiele kawałków ma rozpaść się dana postać, maksymalnie można ustawić rozpad na 16 części. Kiedy będziesz rysował na programie graficznym te kawałki to upewnij się, że nie są one zbyt dużych rozmiarów, ponieważ po zabiciu wroga mogą zasłonić cały ekran. W menu "VIOLENCE MODEL" możemy ustawić czy po zabiciu wroga flaki mają znikać, tryb "MEATY" czy pozostać na ekranie "MESSY".

Jeżeli wszystko już wiemy to możemy zabrać się za przygotowanie obrazka z flakami. Na programie graficznym wklejamy klatki z flakami jedna obok drugiej pozostawiając wolne miejsce pomiędzy nimi. Następnie sprawdzamy czy na ekranie nie pozostały gdzieś pojedyncze piksele. Kolejnym krokiem jest przekolorowanie flaków do palety kolorów postaci z którą mają być wyświetlane. Na samym końcu wycinamy całość i zapisujemy jako wycinek pod nazwą flaki. W Shellu pozostaje nam już tylko wpisać polecenie: "makeanim flaki marne2 2" i gotowe. Po tej czynności plik "marine2" jest gotowy do podmiany.

Tworzenie postaci

Zmiana grafiki "tokens"

Podobnie tworzy się grafikę dla przedmiotów bonusowych występujących w grze. Mam na myśli tutaj termowizor oferujący widzenie wrogów przez ściany (THERMO), niewidoczność (INVISIB), butelkę dodającą energię (HEALTH), oraz (BOUNCYS), który pozwala kulom odbijać się od ścian. Wszystko zapisane jest w jednym pliku graficznym pod nazwą "tokens". Każdy obiekt poza "BOUNCYS" składa się z jednej klatki. Wspomniany obiekt "BOUNCYS" składa się z trzech klatek a w trakcie gry jego animacja odtwarzana jest w trybie "pingpong". Poniżej można zobaczyć jak wygląda to w praktyce w różnych wersjach gry.

Tworzenie postaci

Po przygotowaniu grafiki kopiujemy ją wraz z narzędziem "makeanim" do RAMu, następnie w shellu wpisujemy proste polecenie "makeanim tokens.iff tokens" by po chwili cieszyć się nowym plikiem "tokens". Po przekształceniu bitmapy na "chunky" możemy ją przekopiować do katalogu z obiektami "objs". Grafiki mogą być różnych wielkości, najważniejszy jest odstęp pomiędzy nimi oraz to aby na obrazku poza rysunkami nie było tzw. śmieci czyli walających się pikseli. Tło obrazka jak i pierwszy kolor palety najlepiej aby był koloru czarnego.

Tworzenie postaci

Tworzenie postaci ze sprite'ów

Dla tych co nie mają cierpliwości oraz nadmiaru czasu by tworzyć z figurek obiekty do Glooma postanowiłem opisać szybszy sposób tworzenia postaci polegający na wklejaniu gotowych sprite'ów pochodzących z różnych gier. Dodatkowo zamiast przygotowywać postać poruszającą się w 8 kierunkach skupimy się na stworzeniu postaci poruszającej się tylko w 1 kierunku czyli inaczej mówiąc idącej cały czas w naszą stronę. Jedną z gier, która oferuje takie rozwiązanie jest dołączona gra "8Bit Killer".

Na wstępie otwórzmy stronę ze sprite'ami - może być ta. Po znalezieniu odpowiedniej grafiki zapisujemy ją na dysku a następnie wczytujemy gotową szachownicę na programie graficznym np. PPaint. Po wciśnięciu klawisza "j" otworzy nam się pusta strona gdzie ładujemy pobrany wcześniej obrazek z klatkami animacji. Do pierwszej kolumny szachownicy wklejamy 4 klatki ruchu, 1 klatkę bólu oraz 1 ataku. Kolejnym krokiem jest skopiowanie całej zawartości z 1 kolumny do następnych 7 kolumn z klatkami oraz ustawienie jednolitego tła dla wszystkich klatek. Na samym końcu ustawiamy aby pierwszy kolor palety oraz tło obrazka było koloru czarnego. Tak oto w szybki sposób stworzyliśmy nowy szablon postaci do Glooma.

Tworzenie postaci Tworzenie postaci Tworzenie postaci

Przygotowanie nowej broni

Za pomocą narzędzia "makeanim" możemy tworzyć nie tylko obiekty ale również nowe bronie. Poniżej opiszę dokładnie krok po kroku jak to wygląda w praktyce. Zanim jednak do tego przejdę podam kilka ważnych informacji.

Nasza broń może przyjąć dowolne rozmiary oraz paletę kolorów choć lepiej nie przesadzać z ich ilością, ważne jest to aby składała się z 5 klatek a nie z dwóch. Wyeliminuje to błędne jej wyświetlanie podczas strzelania z lepszej broni.

Na programie graficznym musimy narysować broń w stanie spoczynku jak i podczas oddania strzału. Kolejne 3 klatki to efekty wizualne widoczne podczas strzelania z różnych broni. Jeśli chcemy aby podczas strzelania były one widoczne to musimy dorysować 3 duże kolorowe kule jak na poniższym zdjęciu. Jeśli zaś nie chcemy widzieć efektów towarzyszących podczas strzelania to zamiast 3 dużych kul rysujemy 3 małe kropki. Jako, że kropki są mniejszych rozmiarów niż broń to podczas strzelania nie uświadczymy ich na ekranie bo będą wyświetlane za bronią.

Tworzenie postaci Tworzenie postaci Tworzenie postaci

Wracając do kolorowych kul. Pierwsza pomarańczowa kula reprezentuje wystrzał z podstawowej broni oznaczonej w edytorze "Maped" cyfrą 1. Druga zielona kula dotyczy wystrzału z broni 2 i 3, zaś trzecia kulka niebieska będzie widoczna podczas strzelania z broni 4 i 5.

Teraz najważniejsze może się okazać, że w trakcie gry nasza broń znajduje się za nisko na ekranie. Wtedy musimy dorysować pod nią prostokąt o wysokości np. 16 pikseli. Jeśli dalej jest za nisko to dorysowujemy linie aż do skutku. Pamiętajmy, że podczas chodzenia nasza broń również się porusza i raz widzimy mniejszą a raz większą jej część. Może się okazać, że po dołożeniu zbyt wielu linii uświadczymy na ekranie nie tylko całą broń ale także dorysowany prostokąt.

Obrazek z bronią możemy stworzyć w dowolnej rozdzielczości choć ja użyłem standardowego formatu "320x256". Nic nie stoi na przeszkodzie aby przygotować grafikę w 256 kolorach. Tło oraz pierwszy kolor palety najlepiej mieć w kolorze czarnym.

Po przygotowaniu naszego obrazka zapisujemy go pod nazwą "gun.iff" do RAM DYSKu oraz kopiujemy do RAMu plik o nazwie "makeanim". Teraz w Shellu wpisujemy polecenie: "ram:" dajemy "ENTER" a następnie wpisujemy: "makeanim gun.iff gun.bin 2" Ta dwójka na końcu odpowiada za wycentrowanie broni na środku ekranu. Narzędzie "makeanim" stworzy dla nas plik "gun.bin", który musimy przekopiować do katalogu "misc". Jak już wcześniej wspomniałem "makeanim" jest uniwersalnym narzędziem służącym nie tylko do tworzenia postaci ale również dowolnej broni.

Podmiana obrazków

Istnieją dwa sposoby na dołączenie do gry własnych grafik:

  • poprzez ręcznie modyfikowanie plików graficznych,
  • używając do tego specjalnego programu o nazwie "IFF2Gloom"

Jako, że metoda wymieniona w pierwszym podpunkcie jest bardzo pracochłonna zajmiemy się drugim rozwiązaniem. Tutaj muszę ponownie wspomnieć o rodzimym programiście, który napisał rewelacyjną "pchełkę" o nazwie "IFF2Gloom". Umożliwia ona łatwe przenoszenie obrazków do gry nawet w 256 kolorach! Narzędzie nie dość, że jest proste w obsłudze to rewelacyjnie nadaje się do swojego zadania.

Zanim przejdę do opisu programu wspomnę o tym, że "Gloom" rezerwuje 2, 3 i 4 kolor palety obrazka do wyświetlania napisów w intrze, nie zależnie od tego w ilu kolorach będzie nasz docelowy obrazek. Oznacza to tyle, że na programie graficznym musimy przekolorować nasz obrazek tak by nie korzystał z tych 3 zarezerwowanych kolorów. Jak tego dokonać jeśli obrazek używa wszystkich 256 kolorów? Nic prostszego, zazwyczaj jest tak, że na początku palety każdego obrazka są umieszczone kolory najczęściej używane, zaś na końcu te najmniej. Musimy więc ostatnie 3 kolory palety zmienić na kolor, który nie występuje na obrazku w moim przypadku wybrałem różowy. Następnie wybierając z górnego menu opcję "Kolor -> Przekoloruj" program PPaint przekoloruje nasz obrazek do nowej palety pomijając ostatnie 3 kolory palety.

Teraz klikając prawym przyciskiem myszy na prostokąt znajdujący się nad paletą kolorów wywołamy menu z kolorami i używając ikony z dwoma strzałkami musimy przenieść ostatnie 3 kolory palety w miejsce 2, 3 i 4 koloru. Po tej czynności wybieramy ponownie z górnego menu opcję "Kolor -> Przekoloruj" i zapisujemy obrazek jako IFF-ILBM z włączoną kompresją na przykład pod nazwą "matrix.iff". Dodam, że grafika musi być przygotowana w rozdzielczości "320x240" lub "320x256" inaczej w trakcie wyświetlania mogą pojawić się przekłamania obrazu.

Tworzenie postaci

Teraz kopiujemy nasz obrazek oraz narzędzie "IFF2Gloom" do RAMu. W Shellu wpisujemy polecenie "IFF2Gloom matrix.iff matrix" i wciskamy klawisz "ENTER". Po ułamku sekundy zostaną utworzone dwa pliki, "matrix" zawierający grafikę oraz "matrix.pal" paletę kolorów. Na sam koniec musimy obydwa utworzone pliki przekopiować do katalogu "pics" w Gloomie a w pliku "script" znajdującym się w katalogu "misc" wpisać nazwę dla naszego nowego obrazka. Czyli przykładowo jeśli chcemy aby nasz nowy obrazek pojawiał się przed pierwszym poziomem to musimy zamiast "pict_spacehulk" wpisać "pict_matrix".

Jeśli zaś planujemy podmienić obrazek tytułowy o nazwie "title" to musimy koniecznie zamienić też obrazek przedstawiający zielony napis Gloom, który korzysta z tej samej palety kolorów i wyświetlany jest w dolnej części ekranu. Warto na programie graficznym utworzyć wycinek o rozmiarach kropki "1x1", przekonwertować go za pomocą "IFF2Gloom" i podmienić w miejsce oryginalnego pliku "gloom." Ułatwi to nam podmianę obrazków tytułowych na których również możemy umieścić tytuł dla naszej gry.

Tworzenie postaci

Obróbka sampli

Gloom obsługuje sample tylko i wyłącznie w formacie "Interchange File Format" (IFF) wymyślonym w 1985 roku przez Electronic Arts przy współpracy z Commodore. Wiele starszych programów muzycznych nie tylko na Amidze obsługuje ten standard. Świetnym programem do edycji sampli i zapisu do IFFa na PC jest płatna wersja CoolEdit Pro 2.1. Często za jego pomocą przetwarzam próbki dźwiękowe. Jako, że artykuł jest o amigowej tematyce postanowiłem opisać jak można tego samego dokonać używając do pracy tylko Amigi.

Do przekształcania sampli używam na Amidze narzędzia "SoundBox", które można pobrać wraz z kluczem z aminetu tutaj: (prg) (klucz).
Program obsługuje wiele znanych formatów takich jak IFF, VOC, WAVE, AIFF, AIFC czy RAW.

Po wczytaniu naszej próbki dźwiękowej zmieniamy w lewym dolnym rogu okna ustawienia na:

  • Format - IFF,
  • Mode - Mono,
  • Resn. - 8 bit

Tworzenie postaci Tworzenie postaci

Zapisujemy nasz sampelek klikając na przycisk "Save". Jeśli próbka jest stereofoniczna to przy zapisie wybieramy jaki kanał chcemy zapisać lewy, prawy lub po zmiksowaniu obydwóch. Następnie wczytujemy próbkę IFF do innego programu o nazwie "AudioMaster IV". Tutaj już możemy zrobić znacznie więcej z naszym samplem. Po zaznaczeniu fragmentu próbki na biało możemy ją zapisać jako wycinek (Project-> Save-> Ranged Data), odsłuchać (Range) czy przetworzyć dodając przy okazji jakieś ciekawe efekty z menu. Nie będę zbytnio się rozpisywał o tym co można osiągnąć za pomocą tego programu ale wierzcie mi, że naprawdę sporo. Teraz skupię się jedynie na redukcji jakości sampla tak aby brzmiał dobrze i zajmował jak najmniej miejsca na dysku.

Wczytujemy plik IFF wybierając z górnego menu (Project-> Load -> To Edit Window), następnie po kliknięciu na (Effects-> Duration -> Pitch -> All) pojawi się okno, w którym będziemy operowali na całej próbce. Przy "Sample Rate" wpisujemy częstotliwość dla sampla np. 11047 i dajemy "ENTER". Jeśli wpiszemy mniejszą lub większą liczbę to program sam za nas ustawi odpowiednią wartość. Teraz po kliknięciu na "Resample Data" AudioMaster dostosuje naszą próbkę do wybranej przez nas częstotliwości.

Tworzenie postaci Tworzenie postaci

Pewnie wielu z Was zastanawia się dlaczego zredukowałem częstotliwość próbki do 11KHz jak można używać w Amidze sampli w lepszej jakości. Powodów jest wiele jednak głównym jest brak miejsca na dyskietce czy w pamięci RAM.

Edycja sampli w HEXie

Do edycji plików potrzebne nam będzie narzędzie, które oferuje wycinanie fragmentów oraz zapis w HEXie. Jeśli nie mamy takiego programu to możemy użyć w ramach testów menadżera plików o nazwie "Filemaster". Co prawda nie posiada on opcji wycinania ale do testów z próbkami jest w sam raz. Po uruchomieniu programu zaznaczamy plik do edycji i klikamy na przycisk "FileEdit".

Po chwili na ekranie powinniśmy zobaczyć dwa okna. W lewym zapisane są informacje w HEX a w prawym te same informacje wyświetlane są w ASC. Teraz w lewym oknie w nagłówku musimy wpisać odpowiedni ciąg 6 znaków dla naszego sampla. W zależności od tego jaką częstotliwość oraz długość ma nasza próbka wpisujemy inne wartości w nagłówku pliku. Przykładowo dla sampli 22095 Hz możemy wpisać początkową wartość "00AF", dla 11047 Hz - "0144", zaś dla 5523 Hz - "0266".

Jeśli w trakcie gry nasza próbka będzie odtwarzana z inną prędkością niż powinna to możemy łatwo to zmienić wpisując inną wartość w miejsce 3 i 4 znaku. 5 i 6 znak odpowiada za długość sampla i jest inny dla sampli o różnych częstotliwościach. Dla 11047 Hz wynosi w przybliżeniu: "30"=2s, "55"=4s, "80"=6s, "AA"=8, "D1"=10s, "FF"=12s. Wynika z tego, że najdłuższa próbka użyta w grze może mieć długość do ok. 12 sekund.

Podsumowując dla monofonicznej próbki 11047 Hz o czasie odtwarzania 12 sekund wpisujemy taki oto ciąg 6 znaków: "0144FF". Ważne jest aby nie przypisywać większej długości dla sampla niż posiada ponieważ po odtworzeniu całego dźwięku zaraz po nim usłyszymy inne dźwięki pochodzące z gry. Zaś w przypadku wpisania mniejszej wartości nie zostanie on odtworzony do końca.

Na samym końcu zmodyfikowany plik kopiujemy do katalogu "sfxs" w którym znajdują się wszystkie próbki dźwiękowe występujące w grze Gloom. Nasze sample muszą mieć takie same nazwy jak oryginalne w przeciwnym razie nie zostaną odtworzone. Podsumowując jeśli chcemy usłyszeć jak nasz bohater strzela z domyślnej broni to musimy zapisać nową próbkę pod nazwą "shoot3.bin". Polecam przygotować za pomocą narzędzia "Maped" prostą mapę i tam testować nasze sampelki.

Tworzenie postaci Tworzenie postaci

Gloom Deluxe: lista sampli

Nazwa sampla JakośćOpis
DIE.BIN11 kHzŚmierć nasza lub wroga
DOOR.BIN5 kHzOtwierające się drzwi
DRAGON.BIN11 kHzAtak smoka (DRAGON)
FOOTSTEP.BIN11 kHzOdgłos kroków
GHOUL.BIN5 kHzAtak upiora (GHOUL)
GRUNT.BIN11 kHzLosowy dźwięk po trafieniu wroga
GRUNT2.BIN11 kHzLosowy dźwięk po trafieniu wroga
GRUNT3.BIN11 kHzLosowy dźwięk po trafieniu wroga
GRUNT4.BIN11 kHzLosowy dźwięk po trafieniu wroga
LIZARD.BIN5 kHzAtak zielonej jaszczurki (LIZARD)
LIZHIT.BIN5 kHzOdgłos po trafieniu jaszczurki (LIZARD)
ROBODIE.BIN11 kHzŚmierć robota (TERRA)
ROBOT.BIN11 kHzAtak robota (TERRA)
SHOOT.BIN11 kHzStrzał z broni nr.3
SHOOT2.BIN11 kHzOdgłos po trafieniu robota (TERRA)
SHOOT3.BIN11 kHzStrzał z broni nr.1
SHOOT4.BIN11 kHzStrzał z broni nr.4
SHOOT5.BIN11 kHzStrzał z broni nr.2 i 5
SPLAT.BIN11 kHzOdgłos flaków, działa po włączeniu w menu "VIOLENCE MODEL: MESSY"
TELEPORT.BIN5 kHzTeleportacja postaci
TOKENS.BIN11 kHzDźwięk po zebraniu broni, termowizora, energii, niewidzialności
TROLLHIT.BIN11 kHzOdgłos po trafieniu trola (TROLL)
TROLLMAD.BIN11 kHzAtak trola (TROLL)

Zmiana muzyki w grze

W katalogu "sfxs" poza samymi samplami znajdują się jeszcze dwa utwory muzyczne, "med1" oraz "med2". Zostały one zapisane w formacie MMD1 za pomocą programu "OctaMED". W Gloomie plik "med1" odtwarzany jest na ekranie tytułowym zaś "med2" występuje przed poziomami oraz po ukończeniu całej gry. Własną oprawę muzyczną możemy przygotować na dowolnym trackerze muzycznym chociażby w popularnym Protrakerze. Ważne jest aby na samym końcu przekształcić takiego MODa na format "MMD1" bez kompresji.

Idealnie do tego zadania nadaje się dostępna na aminecie specjalna wersja programu Octamed SoundStudio_1.03c. Po uruchomieniu programu wybieramy z górnego menu "Project -> Open" i klikamy na plik z rozszerzeniem mod. Po załadowaniu możemy sprawdzić czy prawidłowo się odtwarza klikając na przycisk "Play". Teraz aby go zapisać w odpowiednim dla Glooma formacie wybieramy z górnego menu "Project -> Save". W nowym oknie, które się pojawi musimy wybrać trzy rzeczy: nazwę dla naszego pliku, zaznaczyć "File format MMD1" oraz wyłączyć kompresję przy zapisie "No Compression". Po tych wszystkich czynnościach możemy śmiało przekopiować naszą muzykę do katalogu "sfxs". Jeśli planujemy umieścić utwór na dyskietce warto go jeszcze przed wrzuceniem spakować pakerem "CrM2". Do OctaMEDa możemy wczytywać moduły z rozszerzeniem "MOD" niezależnie czy są spakowane czy rozpakowane, najważniejsze aby przy zapisie do "MMD1" ustawić opcję bez kompresji "No Compression". To by było na tyle odnośnie muzyki.

Tworzenie postaci Tworzenie postaci

Dyskietka startowa

Na sam koniec artykułu opiszę jak można przygotować dyskietkę startową z naszą grą.
Na wstępie musimy zaopatrzyć się w dowolną wersję gry "Gloom". Proponuję pobrać jedną z poniższych wersji:

Zombie Massacre (ADF)
Gloom Deluxe (DMS)

Obydwie podlinkowane wersje działają dokładnie na tym samym silniku, jedyna między nimi różnica jest taka, że posiadają odmienną oprawę audiowizualną.

Zanim zabierzemy się za kopiowanie naszych danych na dyskietkę z grą "Gloom" warto co nieco z niej usunąć. Na początku zróbmy porządek w katalogu "sfxs" z samplami, które zajmują ponad połowę dyskietki. Katalog ten nie musi zawierać plików z muzyką "med1", "med2" niestety muszą znajdować się w nim wszystkie sample których będziemy używać. Czyli np. chodzenie (footstep.bin), strzelanie z różnych broni (shoot.bin x5), śmierć (die.bin), teleport czy odgłosy użytych wrogów. Zawsze też możemy podłożyć inną próbkę dźwiękową o mniejszych rozmiarach w celu upchnięcia wszystkiego na jednej dyskietce.

W katalogu "pics" możemy zamiast pliku "blackmagic" stworzyć obrazek w "320x256" z czarnym tłem czy dać nasze logo oraz podmienić plik "gloom" (zawierający napis GLOOM) na wycinek o rozmiarach "1x1" o tej samej nazwie.

Z dyskietki możemy jeszcze skasować "hdinstall" wraz z ikoną, instrukcję "readme" oraz jeśli nie chcemy używać starego silnika z gry "Gloom" tylko nowszego z "Gloom Deluxe" to możemy skasować także plik "gloom" o rozmiarze 46696 bajtów.

Jak porządki mamy już za sobą to możemy zabrać się za kopiowanie naszych danych. Na wstępie zmień nazwę dyskietki startowej z "gloomprog" na "gloomdata". Jeżeli nasza gra nie mieści się na jednej dyskietce nawet po spakowaniu wszystkich plików pakerem "CrM2" to będziemy musieli przygotować osobną dyskietkę z danymi o nazwie "gloomdata" i tam trzymać wszystkie dane.

Kolejnym krokiem jest przekopiowanie katalogów "maps" zawierającego nasze mapy, "misc" wraz z plikiem "script" gdzie zapisane są nazwy dla obrazków, poziomów oraz jeśli stworzyliśmy własną broń również plik "gun.bin". Następnie kopiujemy katalogi "objs" - z obiektami, flakami, "pics" - z obrazkami wyświetlanymi przed poziomami oraz ekranem tytułowym "title", "sfxs" samplami oraz katalog "txts" z teksturami dla ścian, podłóg, sufitów.

Na samym końcu kopiujemy plik "gloomgame" odpowiedzialny za zapis stanu gry. Katalogu "ggfx" nie musimy kopiować, zawiera on grafikę używaną tylko przez program "Maped". Po tych wszystkich czynnościach możemy wystartować naszą grę z dyskietki i sprawdzić czy wszystko działa jak należy.

Tworzenie postaci Tworzenie postaci

Dodatki

Wiele dodatków do gry można pobrać nie tylko z aminetu ale także z różnych dedykowanych jej stronom w internecie. Poniżej opiszę kilka ciekawych miejsc w sieci.

  • nitta.sakura.ne.jp - strona stworzona przez Japończyka o imieniu Nitta, zawiera wiele map i opisów. Znajdziemy tutaj gry "Gloom3: Zombie Edition" oraz "Gloom4: Zombie Massacre" dostępne jako "public domain" z których można korzystać bez ograniczeń wynikających z uprawnień do praw autorskich. Po przełączeniu na zakładkę z językiem japońskim otrzymamy aktualną listę map do pobrania. Warto też prześledzić serwis YouTube prowadzony przez tą samą osobę.
  • cd.textfiles.com - jedna ze starszych stron poświęconych grze "Gloom". Znajdziemy tutaj różne ciekawe dodatki do gry, narzędzia, wersje demo, grafiki, mapy. Strona co prawda nie jest już aktualizowana od dłuższego czasu ale warta jest odwiedzenia.
  • aminet.net - archiwum stworzone na podstawy tego artykułu, zawiera nowe obiekty, mapy oraz pomocnicze narzędzia. Wiele z nich zostało opisanych i zaprezentowanych powyżej. Jeśli będzie zainteresowanie to postaram się regularnie je aktualizować o nowe przykłady.
  • 8 Bit Killer (ADF) - pod niniejszym linkiem znajduje się przygotowana przeze mnie testowa wersja gry zawierająca 3 poziomy, mieszcząca się na jednej dyskietce zapisanej jako obraz ADF.

Podsumowanie

Dołączone do Glooma narzędzia jak i sama gra oferują spore możliwości każdemu kto zdecyduje się za pomocą nich tworzyć nowe postacie, poziomy czy obiekty. Wierzę, że można zrealizować jeszcze wiele ciekawych pomysłów i kto wie czy w niedalekiej przyszłości nie doczekamy się nowych dodatków do gry. Wyżej wymienione przykłady pokazują jedno, że zainteresowanie Gloomem mimo 20 lat nie gaśnie i jest całkiem spore. Dobrą wiadomością jest również udostępnienie w 2013 roku na zasadach "public domain" gier "Gloom3: Zombie Edition" oraz "Gloom4: Zombie Massacre". Pozwala to bez przeszkód prawnych tworzyć na tym silniku własne gry. Życzę wszystkim fanom tej klasycznej gry miłej i owocnej pracy nad kolejnymi dodatkami do Glooma.

Czesław Mnich
zobacz inne nasze artykuły » komentarzy: 7



eXec.pl

AmigaOS.pl

Polecamy
Najpopularniejsze
eXec blog

Świat poza Amigą: