Marek Winiarski

Joseph Hocking – Unity w Akcji

Dzisiaj zobaczymy czy warto sięgnąć po książkę Unity w Akcji autorstwa Jospeha Hockinga.

Tradycyjnie w każdej recenzji książki poświęconej GameDevowi zacznę od tego jak biedny jest nasz polski rynek w świeże publikację. Ta również nie jest bardzo nowa, bo wydana w Polsce w zeszłym roku (2017) natomiast oryginalnie ukazała się w 2015. W książce autor pracuje na Unity w wersji piątej, więc nie jest to najnowsza odsłona, jednak większość tematów których dotyka nie zmieniła się do czasów dzisiejszych.

W przeciwieństwie do wielu podobnych publikacji, autor nie stara się łączyć Unity z Blenderem i innymi cudami, a skupia się na samym silniku, a szczególnie na programowaniu. Pozycja ta może być trochę zbyt skomplikowana dla osób które z programowaniem styczności nie miały w ogóle. Ale od początku.

O Autorze

Autorem książki jest Joseph Hocking. Inżynier Oprogramowania z Chicago, który pracuje w Synapse Games. Firma specjalizuje się w produkcji gier mobilnych i internetowych. Jednym z większych tytułów studia jest Tyrant Unleashed, którego można ograć na Kongregate. Ponadto Joseph jest wykładowcą na Columbia College Chicago gdzie prowadzi zajęcia z produkcji gier.

O czym jest ta książka?

Jak już wspominałem książka traktuje o tworzeniu gier w Unity z mocnym naciskiem na programowanie. Autor przelatuje naprawdę wiele istotnych zagadnień omawiając je często bardzo szczegółowo. Wiele razy odnosi się do wiedzy spoza czystego GameDevu i omawia zagadnienia programistyczne czy nawet kwestie fizyki lub matematyki.

Sposób pisania sprawia, że po za wiedzą typowo o Unity wynieść można sporo informacji czy ciekawostek po prostu na temat informatyki. Joseph nie zostawia nas z pytaniami w głowie, bo często pokazane przykłady zgłębia dopowiadając pewne rzeczy na marginesie. Nie stroni też od szkiców i ilustracji tłumaczących omawiane zagadnienie.

Ilustracje prezentują efekty naszej pracy
Ilustracje prezentują efekty naszej pracy

Wiedza zawarta w książce porusza wiele tematów w tym nieco bardziej zaawansowane, rzadko poruszane w kursach dla początkujących – dostajemy tutaj metody zapisu gry, prosty inwentarz czy podstawowe AI. Całość oparta jest o budowanie prostych gier, które w finalnym rozdziale tworzą jedną, ale bardziej zaawansowaną produkcję. Przejdźmy sobie kolejno przez rozdziały książki aby mieć lepsze pojęcie czego możemy się dowiedzieć.

Pierwsze dwa rozdziały to raczej typowe przedstawienie silnika, opis interfejsu i podstawy skryptowanie. Pobieranie danych z klawiatury, poruszanie obiektem. Przydatne dla osób początkujących.

Wszystkie elementy są omawiane bardzo dokładnie

Trzeci rozdział wprowadza prostego przeciwnika oraz system strzelania. Poznamy tutaj prefaby, raycasting i podstawowe pojęcia z zakresu budowy AI. Czwarty rozdział omawia podstawy budowania poziomu. Omawiane jest pojęcie whiteboxingu, prototypowanie, skybox i kilka innych zagadnień bardziej graficznych, jednak z poziomu Unity.

Rozdziały pięć i sześć to budowanie nowej gry tym razem w 2D. Jest to prosta gra w znajdź pary. Pozawala dobrze zapoznać się ze spritami i obsługą grafiki 2D. Przy okazji budujemy też prosty interfejs gry wraz z menu.

Gdyby ktoś nie odróżniał rotacji od skalowania – jest obrazek.

Rozdział siódmy to kolejna gra, tym razem z widokiem z trzeciej osoby. Bawimy się odbiorem danych z myszki, animacją postaci i rozbudowujemy sterowanie. Rozdział ósmy to jeden z ciekawszych, gdzie podejmujemy tematykę zapisu stanu gry wraz z serializacją, dzięki czemu możemy zapamiętać uprzednio utworzony ekwipunek gracza. W tym też rozdziale zajmujemy się interakcją gracza z otoczeniem, co pozwala poznać collidery.

W rozdziale dziewiątym pojawia się PHP i HTML, a autor pokazuje jak połączyć grę z internetem. Czyli jak przesyłać dane między grą, a naszym serwerem. Coś podobnego realizowałem w jednym ze swoich poradników. Kolejna część w całości poświęcona jest audio. Dowiemy się jaka jest różnica między dźwiękiem 3D i 2D. Jak odtwarzać i odbierać dźwięk etc. Ostatnie dwa rozdziały pokazują jak zebrać wiedzę z wszystkich poprzednich rozdziałów w postaci jednej pełnej gry, oraz jak skompilować gotowy projekt.

Autor często prezentuje schematy poglądowe tego nad czym pracujemy

Dodam że skrypty prezentowane w książce są na wysokim poziomie. Nie ma skryptów pisanych na odwal się, a wszystko jest zgodnie ze sztuką programowania. Początkujący programiści mogą sporo podpatrzeć w kwestii elegancji i czystości kodu.

Jako dodatki do książki autor podaje nam krótką instrukcję po skrótach klawiszowych w Unity, opis zewnętrznych narzędzi przydatnych do pracy nad grami, krótki instruktaż z pracy w Blenderze oraz małą bazę stron internetowych z assetami.

Dla kogo jest ta książka?

Pierwszy raz nie jest to pozycja przeznaczona dla całkowitych amatorów. Dedykowana jest ona osobom nieznającym Unity, ale mających pojęcie o programowaniu. Skrypty nie są do bólu proste i uproszczone oraz pisane w łopatologiczny sposób, a prezentują dość wysoki poziom elegancji. Dlatego ktoś kto umie czytać skrypty odnajdzie się tutaj bardzo dobrze.

Dla osób nie znających w ogóle programowania ani trochę, może to być pozycja nieco za trudna. Natomiast osoby znające i programowanie i podstawy obsługi Unity zainteresowane mogą być ciekawostkami w ramkach i może ze dwoma rozdziałami.

Kod jest napisany bardzo ładnie, a do tego dobrze opisany

Jeżeli ktoś boryka się z pytaniem czy kod który piszę w Unity jest zgodny z kodową Kamasutrą, może tutaj zweryfikować swoje wątpliwości, bo powtórzę to jeszcze raz, kod jest bardzo elegancki i czytelności pisania kodu można się z książki uczyć.

Oczywiście książkę możecie kupić na stronie Helion, przy okazji wspierając mwin.pl.

Exit mobile version