WDI2015 – Podsumowanie warsztatów z UE4 i projekt do pobrania

W środę 25 marca 2015, podczas drugiego dnia konferencji Warszawskie Dni Informatyki członkowie naszego Koła prowadzili warsztaty z Unreal Engine 4 (ja i Kacpi) i Unity 3d (Kijek i PanDenat). Opowiem parę słów o tych pierwszych, a na dole znajdziecie link do skończonego projektu, którym się zajmowaliśmy. Dorzuciłem jeszcze w gratisie system cząsteczkowy, którego niestety nie udało się nawet zacząć na warsztatach, miał być z resztą dodatkiem na wypadek, gdyby poszło szybciej, niż przewidywaliśmy.

A oto jak było…


(link do projektu znajduje się na dole strony)


Już tydzień po rozpoczęciu zapisów na WDI okazało się, że mamy komplet chętnych – jako maximum ustaliliśmy 20 osób – ucieszyliśmy się, że jest zainteresowanie i nie musimy pozyskiwać uczestników na własną rękę. W dniu konferencji weszliśmy do gmachu MiNI i trafiliśmy na ścianę ludzi – WDI najwyraźniej cieszy się ogromnym zainteresowaniem. Rozpychając łokciami tłum dotarliśmy do wolontariuszy, którzy zaprosili nas w miejsce, gdzie prelegenci mogli pojeść za darmo – niestety nie skorzystaliśmy z tego przywileju chociaż byliśmy baaardzo głodni. Pewnie wygrał lekki stres – w dodatku na ostatnią chwilę wprowadzaliśmy zmiany kosmetyczne do projektu ‚rozruchowego’ i nawet nie miałbym czym trzymać widelca. Wzięliśmy tylko po wodzie, która później ratowała nam życie. Wreszcie z 10 minut przed rozpoczęciem warsztatów poszliśmy na trzecie piętro i udaliśmy się w kierunku wyznaczonej sali.

wdi

Zastaliśmy taki obrazek – zdjęcie zostało zrobione po godzinie trwania warsztatów.

Dotarliśmy do drzwi i zorientowaliśmy się, że chyba jeszcze trwają jakieś zajęcia, dlatego zapytaliśmy przypadkowej osoby, czy tak rzeczywiście jest, na co otrzymaliśmy odpowiedź ‚nie, zaraz się zaczynają’ – przeraziliśmy się, bo frekwencja znacznie przewyższała zakładane 20 osób – ale cóż.. Popatrzyliśmy po sobie i weszliśmy do sali. Od razu uczestnicy zaczęli pytać, czy mamy przedłużacze – okazało się, że na około 60 osób, przypada około 6 gniazdek… Na szczęście Kacper stanął na wysokości zadania, a wydział MiNI był na to przygotowany – szybko zorganizowaliśmy kilka listew. Był też problem z dostępem do internetu, co ani trochę nie dziwi przy takiej liczbie ludzi wpiętych do konferencyjnej sieci, dlatego nasz projekt ‚rozruchowy’ głównie dystrybuowaliśmy przy użyciu pendrive’ów (swoich i uczestników). Mimo wszystkich problemów udało się rozpocząć zajęcia dosyć szybko.

Zanim wszyscy zdążyli skopiować potrzebne pliki Kacper powiedział parę słów o samym silniku i zrobiliśmy wprowadzenie do obsługi edytora. Kiedy wszyscy byli gotowi przystąpiliśmy do dzieła. Założeniem warsztatów było zrobienie podstawowej mechaniki dla gry z widokiem z trzeciej osoby, w której możemy chodzić, biegać, skakać i strzelać kulami ognia, które po zderzeniu z przeszkodą eksplodują.

wdiblueprint

Programowaliśmy używając blueprintów – wizualnego języka skryptowego.

Zaczęliśmy od ustawienia sterowania dla naszej gry i stworzenia blueprintu naszej postaci. Potem zaprogramowaliśmy poruszanie postacią i mogliśmy zobaczyć pierwsze efekty pracy. Następnym krokiem było podpięcie animacji do modelu gracza – poznaliśmy BlendSpace i zasadę działania maszyny stanów animacji. Kolejnym krokiem było stworzenie pocisku – kuli ognia, która po zderzeniu miała wybuchnąć – nauczyliśmy się jak stworzyć klasę pocisku, jak potem taki pocisk wystrzelić, jak obsłużyć kolizje, uruchomić w danym miejscu efekt cząsteczkowy eksplozji i odegrać dźwięk tegoż zjawiska.

Może się wydawać, że to mało, ale Unreal Engine 4 to potężny silnik, w którego możliwościach bardzo łatwo się pogubić. Każdy z opisanych przeze mnie kilkoma słowami kroków, w rzeczywistości był dosyć złożony i składał się z szeregu mniejszych kroczków, z których każdy musieliśmy wytłumaczyć, zaprezentować, a potem poczekać na wszystkich uczestników, aż będą gotowi, żeby kontynuować. Za każdym razem cierpliwie czekaliśmy, aż wszyscy zrozumieją dane zagadnienie i każdemu uda się osiągnąć zadowalające rezultaty – przy takiej liczbie ludzi całość zajęła nam 3 godziny, ale myślę, że udało nam się w tym zawrzeć całą masę wiedzy na temat silnika i jego możliwości.

wdifireball

Po lewej widać lecący fireball, a po prawej wybuch w momencie zderzenia.

Słowem podsumowania – jesteśmy zadowoleni z przebiegu warsztatów, z tego, że poradziliśmy sobie z wszystkimi problemami i przeciwnościami losu, na które natknęliśmy się zarówno my jak i uczestnicy. Bardzo cieszymy się też z tego, że idealnie zmieściliśmy się w czasie z zaplanowanym materiałem. Nauczyliśmy się przy tej okazji dużo o prowadzeniu tego typu zajęć, z czego chyba najważniejszym wnioskiem jest to, że rozmiar grupy ma ogromny wpływ na sprawne prowadzenie warsztatów. Następnym razem postaramy się przypilnować limitu, a w przypadku równie dużego zainteresowania otworzyć więcej grup. Gdy przekraczamy granicę 20 osób zaczyna to być trochę uciążliwe zarówno dla prowadzących, jak i uczestników – wydłuża się oczekiwanie po każdym z kroków, aż wszyscy skończą, a dodatkowo komunikacja prowadzący – uczestnik jest bardzo utrudniona. Na szczęście praca z uczestnikami tych warsztatów była dla nas czystą przyjemnością!

Dalton (czyli ja hehe) tłumaczy co i jak…

Chętnie przeczytamy recenzje i wysłuchamy krytyki, jeżeli któryś z uczestników zechce napisać parę zdań w komentarzu – jeżeli macie jakiekolwiek uwagi albo coś Wam się podobało, koniecznie podzielcie się tym z nami!

A tak wygląda taki mały dodatek:

wdiparticle

System cząsteczkowy w całości renderowany na GPU (to znaczy, że prawdopodobnie możesz zwiększyć ilość spawnowanych cząsteczek na dziesiątki tysięcy i wciąż będzie działać płynnie!), który do liczenia kolizji i odbić wykorzystuje bufor głębi.


*** Aby pobrać skończony projekt kliknij: POBIERZ ***