MediEvil w Unreal Engine 4, czyli radosnej twórczości ciąg dalszy
Czas płynie, kolejne gry z dawnych lat dostają swoje remastery, a niektóre wyglądają na zapomniane. Może są za mało popularne, może za mało lubiane? A może nie mogą domagać się swoich praw, bo nie mają dolnej szczęki? No ale od czego są fani?
Ktoś zamawiał MediEvila na E3? Proszę uprzejmie, jednookiego Ci u mnie pod dostatkiem :P
Może część z Was jeszcze pamięta, może już nie, ale jakiś czas temu opisywałem tutaj swoje pierwsze próby zagłębienia się w tajniki silnika Unreal Engine 4. Za królika doświadczalnego wybrałem sobie poziom "Professor's Lab" z drugiej części przygód sepleniącego bohatera z Gallowmere. Projekt zakładał odtworzenie owego poziomu na tyle dobrze, na ile pozwolą umiejętności, i przy okazji nabycie wiedzy o samym silniku. Krótko mówiąc - łączenie przyjemnego z pożytecznym :D
Jeśli ktoś jest zainteresowany, to więcej opisałem w poprzednim blogu.
No ale do rzeczy. Przyszedł czas, na raport taktyczny i zaprezentowanie postępu z prac. A właściwie to finalnego produktu, bo raczej nie będę już więcej dłubał przy tej scenie. Chciałbym się teraz zająć swoją własną gierką, choć nie wykluczone, że kiedyś w napływie nostalgii jeszcze do tego wrócę. Na początek takie małe porównanie wersji 1.0 i 2.0:
Głównie starałem się popracować nad światłem i mam nadzieję, że teraz wygląda to lepiej. Tak na marginesie oświetlenie w tej scenie dało mi trochę w kość. Brak jakichkolwiek okien, czy lamp na ścianach, czyli widocznych źródeł światła w oryginalnej scenie dość znacząco utrudniał sprawę. Jest niby rzutnik, ale na główne źródło oświetlenia się niestety nie nadawał. Na szczęście nie było też sufitu, co zostawiło pewne pole do manewru.
Tekstury też uległy poprawie. Nie wszystkie, ale jednak sporo z nich zrobiłem zupełnie od nowa. Tak samo zresztą jak niektóre obiekty. Zależało od konkretnego elementu. Dla przykładu biurko, tory czy szyby wentylacyjne to wciąż te same modele, tylko inaczej pomalowane, ale już chatka Hamiltona Kifta została zrobiona zupełnie od zera. Niektóre obiekty są te same tylko w swojej wersji low poly, a high poly do wypalenia tekstur robiłem od nowa. Różnie bywało, w zależności od potrzeb i konkretnego przypadku.
No ale nie samymi poprawkami człowiek żyje. Jednym z ważniejszych elementów, jakie chciałem dodać w wersji 2.0, była księżniczka Kiya. W internecie nie znalazłem dostatecznie dużo materiałów na jej temat, więc co rusz odpalałem drugiego MediEvila tylko po to, by przyjrzeć się bliżej tej postaci. Co prawda było to trochę upierdliwe, ale koniec końców i tak naprawdę bardzo przyjemnie mi się przy niej pracowało. Na początku planowałem zrobić jej w pełni animowalną twarz, ale później doszedłem do wniosku, że nie ma to większego sensu,. Byłoby to tylko dla mnie, bo sama Kiya w laboratorium tylko stoi i się rozgląda, więc robienie jej mimiki mijało się trochę z celem, nikt i tak by tego nie zauważył. Jedynie pokusiłem się prostą fizykę włosów. Nie są to żadne fajerwerki, ale tak tylko mówię ;)
Nie obyło się też bez kilku mniejszych nowości. Zielona łapa, do której sir Fortesque przyczepiał swoją makówkę zyskała nową teksturę. Nie tylko ze względu na chęć poprawy jej wyglądu. Chciałem, żeby po planszy, tak jak w oryginale plątała się druga rączka i co rusz wchodziła w drogę graczowi, gdziekolwiek pójdzie. Trochę to wkurzające szczerze mówiąc, ale to nawet dobrze, przynajmniej coś się dzieje na tej jakby nie patrzeć - statycznej scenie.
Dorobiłem też sakiewki ze złotem, dostępne w menu pauzy, w zakładce CHEATS. Nie są co prawda do niczego potrzebne, ale zrobiłem już wcześniej cały działający system liczenia monet, więc dlaczego by nie dać możliwości pojawiania na mapie sakiewek? Pewnie mało kto zauważy, ale zadbałem też o to, żeby po zdobyciu takiej sakiewki, tak jak w oryginale, wylatujące monety leciały w stronę ikony z ich liczbą w rogu ekranu. Bez względu na to, czy gracz się ruszy czy nie, monety będą wylatywały dokładnie z punktu w którym została zebrana sakiewka. Wydaje się, że to nic, ale mówię o tym, bo wymagało to trochę kombinowania. Zebrany obiekt znajduje się w przestrzeni trójwymiarowej, a wylatujące monety są tylko elementem interface'u 2D, więc wyliczenie na płaskiej przestrzeni tego punktu na podstawie tego, jak gracz go widzi, wymagało trochę kombinowania. Tym bardziej, że gra może być wyświetlana w różnych rozdzielczościach, co dodatkowo komplikuje sprawę. No ale się udało :D
Cóż, była to dla mnie całkiem fajna okazja do nauczenia się podstaw tego silnika. Czasem było łatwo i przyjemnie, a czasem trzeba się było nieźle nagłówkować, bijąc głową w ścianę i zadając sobie pytanie "czemu to nie działa"... No ale ze wszystkim tak bywa, Koniec końców, myślę, że całkiem sporo się dzięki temu projektowi nauczyłem i zamierzam tę wiedzę w przyszłości wykorzystać. Ale jeszcze nie teraz. Na razie w wolnych chwilach rysuję komiks. Dopiero po nim zabiorę się za własną gierkę. Ale na wszystko przyjdzie pora. Tyle by się chciało zrobić, ale czasu zawsze na wszystko brakuje :/
Jeśli ktoś chciałby pochodzić sobie po laboratorium, to pliki do pobrania znajdziecie tutaj
A skoro już mam swoje 5 minut czasu antenowego, to na koniec taki drobny concept do przyszłego projektu: