Asset Review to nowa seria współtworzona z Ireneuszem Kołodziejczykiem. Zastanawialiście się kiedyś czy Assety w Unity Asset Store są warte swojej ceny? Irek specjalnie dla was to sprawdzi.
Dzisiejszy odcinek: Hack and Slash 2D Platformer Lost v.2.0
Pierwszy Kontakt
Z Hack and Slahs 2DPlatformer Lost miałem już styczność znacznie wcześniej. Ogarniałem realase, a teraz mam okazje zapoznać się z jego pierwszym i jedynym updatem do wersji 2.0. Już w pierwszej wersji miał on bolączki, które jak widzę, że nie zostały poprawione. Wymagałoby to napisanie skryptów od nowa, bądź po prostu udostępnieniu dokumentacji, której ani widu ani słychu.
Jednak po kolei. Jest to trzecie narzędzie które mam okazje recenzować i znów jest ono przeznaczone dla konkretnego grona developerów. Nie masz tu czego szukać, jeśli chcesz stworzyć platformówkę w stylu Mario, Spelunky HD, czy Raymana. Bowiem choć tytuł assetu sugeruje iż mamy kontakt z zasobem przeznaczonym do gier hack and slash tylko, że w 2D, to w praktyce jest to mylący tytuł. Jeśli znasz gry takie jak Lords of the Fallen czy Dark Souls to już wiesz na jakie klimaty jest nastawiony ten Starter Kit. Stworzysz za jego pomocą wymagającego przedstawiciela soulso podobnych gier, z tym, że w 2D.
Co ciekawe, przejście samego dema załączonego w projekcie dla laika to kompletny hardcore. Także jeśli chodzi o poziom trudności, jest on na wysoki, czego nie można powiedzieć o stronie domowej Studio HardCore. Nie to, że jest nieczytelne – ono po prostu nie istnieje. Koreański rodowód twórcy sprawia iż takim językiem posługuje się na swej stronie, która po prostu nie ma treści. Kilka pustych podstron i parę zdań nie wiadomo o czym. Nie znajdziesz tu nic, co by wiązało twórcę z tym zestawem skryptów.
Dokumentacja jak już pisałem nie istnieje, a jest ona bardzo potrzebna. Opisywany we wcześniejszej recenzji Platfrom Vania Engine ma dobrze napisaną dokumentacje, bez której można się obejść, gdyż większość rzeczy jest intuicyjna. Tutaj, to istna katastrofa. Odnoszę wrażenie iż twórca stworzył to narzędzie dla swoich potrzeb, a dopiero po jego wykonaniu pomyślał o sprzedaży. Nie rozwija go i odpisuje tylko na te komentarze, które uważa za wygodne dla siebie. Jeśli chodzi o kontakt mailowy… to daj znać jeśli będziesz tym szczęśliwcem, któremu odpisał. Ja wysłałem kilka wiadomości i cisza.
Wszystkie powyższe zarzuty są tym bardziej istotne im bardziej uświadomisz sobie jak chaotycznie są poopisywane parametry określające statystyki AL oraz gracza i innych istotnych elementów. W projekcie mamy folder “Help”, gdzie po angielsku można zobaczyć iż autor ma poczucie humoru. Co to w ogóle ma być? Jakiś dziwny opis, bez większego sensu i znaczenia dla kogoś kto uczy się narzędzia.
Jeśli jednak przymknie się oko na powyższe i zacznie przyglądać karcie sprzedażowej na Asset Store, o negatywnych emocjach nie może być mowy. Wystarczy się zapoznać z filmikami oraz screenami aby nabrać przekonania iż to Asset na naprawdę najwyższym poziomie. W czym dodatkowo utwierdzają pozytywne komentarze.
Pierwsze odpalenie demo sceny sprawia pozytywne wrażenie. Pierwszy kontakt z tym narzędziem jest bardzo pozytywny. Jak już pisałem demo jest piekielnie trudne dla laików i niedzielnych graczy za którego się uważam. Zaimplementowane tu jednak podstawy są na naprawdę wysokim poziomie.
Cały projekt jest ułożony estetycznie i bardzo intuicyjnie. Nie ma szans iż zgubisz się w gąszczu folderów. Nie ma ich co prawda dużo, ale na pewno jest to jeden z lepiej uporządkowanych projektów z jakim miałem do czynienia. Podzielenie prefabów na kategorię znacząco ułatwia odnalezienie potrzebnych pomimo ich dużej ilości. Nie musisz samemu nic składać, gdyż wystarczy przeciągnąć na scenę i skonfigurować do własnych potrzeb.
Dołączone do projektu trzy sceny omawiają zawartość całego projektu. Poczynając od naprawdę eleganckiego menu, na którym chce się zawieść oko, poprzez możliwość dodania własnego intra, na grze właściwej kończąc.
Wyłaniający się zatem obraz po pierwszym kontakcie z Hack and Slash 2DPlatfromer Lost mimo wspomnianych wad, jest bardzo pozytywny. Aż chce się pracować z tym zasobem dalej.
Praca wre, czyli niuanse
Niestety. W tym miejscu pojawiają się pierwsze zgrzyty i to bardzo dużego kalibru. Mój najpoważniejszy zarzut względem Starter Kita jest związany ze wspomnianym już na wstępie chaotycznym opisaniem statystyk w skrypcie. Skąd mam wiedzieć jak zmienić graczowi ilość życia, punkty staminy, czy obrażenia? Skrypt gracza jest ubogi w opcje, a manualna zmiana wartości nic nie daje, gdyż te i tak są uzupełniane automatycznie bazowymi wartościami. Jeśli nie jesteś programistą, to życzę powodzenia w szukaniu rozwiązania. Support milczy, a grzebanie w skrypcie bez minimalnej wiedzy nie daje efektów(*). Jest to straszna wada, pozostawienie której kompletnie nie rozumiem. Dlaczego z poziomu skryptu nie można zmienić statystyk gracza, czy też przeciwnika? Dlaczego wszystko i tak zostaje uzupełnione przez wartości podane na sztywno w skrypcie?
Nie jest przyjazne dla kogoś kto nie programuje. Widocznie skoro chcesz zrobić grę dla haardkorowców, to i poziom tworzenia gry musi być hardkorowy. Nie rozumiem, ale szanuje.
Idąc dalej, jest już lepiej. I to znacznie. Sposób przygotowania dema, ukazujący mechaniki oraz możliwości Starter Kita jest wręcz na genialnym poziomie. Efekty cząsteczkowe, tła, czy muzyka składa się na niesamowity klimat. Gdy doświadczycie deszczu z burzą, wsiąkniecie na amen. Piszę o tym nie bez kozery. To demo jak żadne inne, w testowanych przeze mnie frameworkach (a przecież mam ich więcej niż te, których recenzje przeczytaliście do tej pory) idealnie oddaje sposób budowy gry dla hardkorowców. Decydując się na ten zasób, na prawdę powinniście się zasugerować sposobem wykonania przykładowego poziomu gry. Dla mnie bomba, ale to tylko demo. Połączenie grafik, systemu cząsteczek oraz dźwięku, składającego się na klimat. Nie o to nam jednak chodzi.
Bohater
Pisałem już o tym iż miałem styczność z Hack and Slash 2DPlatformer Lost znacznie wcześniej i tak jak wtedy nie potrafiłem zmienić parametrów postaci w 100% wedle swoich potrzeb, tak nadal nie potrafię tego teraz. W teorii wiem co odpowiada za parametry siły, a w praktyce to nie działa.
Straciłem wiele czasu na analizę skryptów i odpuściłem. Miałem już okazje zlecać modyfikacje skryptu programiście i zrobił to idealnie. Stąd też skrypty nie są napisane runicznym językiem, a jedynie niezrozumiałe dla laika jakim jestem.
Wiedząc już iż nie można edytować parametrów skryptu z poziomu Inspectora obiektu, czym taka personifikacja gracza może się pochwalić w praktyce? Na pewno nie podwójnymi skokami, czy wyszukanymi metodami sterowania. Możesz obdarzyć postać gracza prostymi ruchami, skokiem oraz gardą, blokującą wrogi cios, ale pochłaniającą stamine. Gdy stamina zejdzie do zera, musisz odpocząć. Stąd też należy bardzo ostrożnie podchodzić do każdego wroga, gdyż dla początkujących jeden jest kłopotem, a trzech to 100% śmierć.
Ponadto postać potrafi opuszczać mosty zwodzone i wrzucać oponentów na pułapki, co jest ciekawym urozmaiceniem. Nie ma się co jednak oszukiwać. Takie rozwiązanie w tym narzędziu jest wynikiem oczywistych założeń. Masz na tym budować cholernie trudne gry, więc musisz sobie jakoś radzić. Jednak takie rozwiązanie, można wprowadzić w każdym frameworku.
Ciekawym w cudzysłowie natomiast rozwiązaniem jest animacja postaci, które tutaj osadza się nie w animatorze, a w skrypcie postaci. Ta ma wyznaczone miejsce na sprite, które musisz dodać. Jeśli chcesz użyć animatora, czy innej animacji szkieletowej, muszę Cię rozczarować. Bez grzebania w kodzie, nic nie osiągniesz. No, a przynajmniej mi się nie udało. Szczytem bowiem sukcesów w tej materii okazało się włączenie ciągle odtwarzającej się jednej i tej samej animacji. Bez względu na to co robiłem w danym momencie.
Interfejs użytkownika jest ograniczony do paska życia oraz staminy. Tak jedno, jak i drugie odnawia się w momencie, w którym staniesz w miejscu aby odpocząć. Możliwości edycji ograniczają się do standardowego zmieniania układu i tyle.
Nie będzie Ci dane odnajdywać w świecie gry broni, ani jej kupować, by potem zmieniać oręż do ciemiężenia wroga. Tego tutaj po prostu nie ma. To samo tyczy się itemów. Żadnych power-upów i innych obiektów, które można podnieść i zabrać. Jedynie checkpointy odnawiają graczowi część życia.
Wygląda to więc dość biednie. Pisałem jednak iż odniosłem wrażenie iż skrypty powstały najpierw dla potrzeb autora, a potem dopiero zaczął je sprzedawać. I gdy weźmie się pod uwagę jak dopracowane jest zaprezentowane demo, tylko co raz bardziej utwierdzam się w tym przekonaniu.
Przeciwnicy
Nie to, że są jakoś mocno rozbudowani. Masz trzy rodzaje plus bossa. Rycerz, włócznik oraz łucznik, no i badass na końcu levelu, który jest niczym innym jak połączeniem rycerza z łucznikiem. Jest zatem mocniejszy i dysponuje dwoma atakami: strzelanie z łuku i walka mieczem.
Od strony skryptowej, sprawa przedstawia się tak samo jak i z bohaterem. Wszystko co potrzebne do obsługi przeciwnika znajduje się w jednym skrypcie. Ciężko jednak go edytować z poziomu Inspectora, bo i tak żyje on własnym życie. Grzebanie w skrypcie, to konieczność. Zatem mamy powtórkę z rozrywki.
Poświęcając chwilę czasu na podmianę spriteów na swoje, możesz zyskać kilka rodzajów wrogów, z tym, że zawsze będą opierać się na tym samym szkielecie. Łucznik zawsze będzie łucznikiem i ciężko będzie Ci stworzyć na jego bazie kogoś z karabinem maszynowym. Jeśli zapytasz dlaczego, znów wspomnę o tym iż trzeba grzebać w skrypcie aby zmieniać wartości.
Kupować czy nie?
Przyznam zupełnie szczerze iż nie uważam Hack and Slahs 2DPlatfromer Lost za złe narzędzie, jednak jest strasznie upierdliwe. Jeśli nie jesteś programistą, po prostu lepiej dla Ciebie, jak oszczędzisz sobie czasu i od razu nawiążesz współprace z kimś, kto zerknie w skrypty i poprowadzi Cię krok po kroku przy edycji parametrów. Tak jest łatwiej i szybciej.
Wszystkie wspomniane w tekście bolączki doprowadziły do tego, że jestem naprawdę zmęczony testowaniem tego Starter Kita. Niemożność dostosowania parametrów do własnych potrzeb, owocujące długimi poszukiwaniami rozwiązania męczą. Tworzenie gry za pomocą frameworków powinno być przyjemnością, a nie katorgą. Stąd też należy przyzwyczaić się do wad tego narzędzia lub znaleźć inne.
Jeśli już przeskoczysz jego wady i dasz mu szansę, okazuje się, że można na nim zrobić na prawdę niezły prototyp gry. Nie ma się bowiem co oszukiwać. Nie ma w nim na tyle dużo, aby stworzyć pełnoprawną grę. Jest bardzo eleganckie menu, load screen, splash screen. Na koniec levelu masz podsumowanie poziomu (czas przejścia oraz zadane obrażenia i zabici wrogowie). Do tego komunikat o game over i możliwość wczytania gry, bądź powrotu do menu głównego.
Widać więc jak na dłoni iż otrzymujemy całkiem solidne narzędzie do zbudowania podwalin pod naszą grę. Jest kłopotliwe, lecz dla niektórych będzie przydatne. W dobie wypuszczania na steama strasznych gniotów, podmienienie grafiki na swoją i wypuszczenie tego na rynek z tagiem hardcore only postawi Cię nad setkami innych gier. To o czymś świadczy.
Nie chciałbym abyś odniósł mylne wrażenie mnogości możliwości oferowanych przez ten zestaw skryptów. Jest bowiem inaczej. Nie ma wiele możliwości, ale po prostu przyłożono się aby to co jest, działało należycie. Szkoda tylko, że działa wedle dziwnej i znanej tylko autorowi filozofii (vide niemożność edycji parametrów z poziomu Inscpectora).
Nie wiem zresztą czego oczekujesz pod narzędziach do tworzenia gier hardcorowych w środowisku 2D. Nie stworzysz tu Meat Boya, gdyż środek ciężkości jest położony gdzie indziej. Niemniej jednak, warto dać mu szansę, gdy chcesz zacząć szybko prototypować swoją grę.
Metryczka:
- Kategoria: Templates – Starter Kit
- Przydatne w: tworzeniu hardcorowych gier akcji 2D
- Link do sklepu: [Click Here]
- Cena: 13.40 Euro
- Ocena w sklepie: 5/5 – 15 głosów.
Plusy:
- cena względem możliwości budowy gry dla hardcorów;
- po przymknięciu oka na minusy, okazuje się że można zbudować solidne podstawy gry;
- develperzy, którzy chcą zrobić grę dla hardcorów będą zadowoleni;
- idealny do tworzenia prostych, ale trudnych gier;
Minusy:
- brak kontaktu z supportem;
- brak dokumentacji;
- brak wideo tutoriali
- nie można edytować parametrów gracza i przeciwników z poziomu Inscepctora. By to zrobić, trzeba grzebać w skryptach, aby zmienić parametry gry, a nie każdy jest programistą;
- nie stworzysz animacji szkieletowej;
- musisz tworzyć animacje po-klatkowe i dodać ją w ściśle określonym miejscu – inaczej nie zadziała;