Kursów na Udemy jest dużo, przeznaczonych dla różnego stopnia zaawansowania, zwłaszcz w Unity. By ułatwić ci wybór przydatnych materiałów do nauki, postanowiłam sprawdzić dwa kursy od Penny de Byl, Penny @Holistic3D.com. Dzisiaj chcę ci przedstawić “matematykę dla gamedeveloperów”, czyli “Mathematics for Computer Games Development using Unity”.

O czym jest kurs?
Kurs jest wstępem do matematyki wykorzystywanej przy tworzeniu gier: struktur danych, algorytmów, operacji przestrzennych i wektorów. Składa się z siedmiu sekcji:
- powtórzenie podstaw trygonometrii,
- operatory bitowe,
- lokalizacja, lokacja, m.in. układ kartezjański, 2D, 3D, działania na punktach
- wektory
- przecięcia, proste, promienie, połproste, odcinki
- macierze
- kwaterniony, rotacje, translacje
Dla kogo ?
Poziom zaawansowania kursu “Mathematic for…” jest oznaczony jako “początkujący” — i tak też jest. Kilka tematów pokrywa się z lekcjami ze szkoły średniej, kilka z matematyki pierwszego roku studiów, osoba po studiach informatycznych nie znajdzie w kursie nowych informacji – może poza angielskimi nazwami właściwości matematycznych. Dla osób młodszych, które wielu tematów w szkole mogły nie mieć, jest ciekawym wstępem i przystępnie tłumaczy zagadnienia. Minusem jest pominięcie dowodów na wzory, są one tylko podane do wiadomości przy danym temacie.
Nie jest przeznaczony dla osób, które chciałyby się nauczyć dobrych praktyk w tworzeniu skryptów. Etapy tworzenia projektów są pokazane tutorialowo, krok po kroku; oglądając filmiki miałam wrażenie, że są przeznaczone dla osób już zaznajomionych z Unity. Nic dziwnego, gdyż filmik w żadnym kroku nie tłumaczy nic z silnika gry — dodatkowo metody, które już są zaimplementowane w silniku Unity, tu zostały wytłumaczone od zera na strukturach danych. Jest to plus: gdyż wiadomo co się dzieje przy wywołaniu takiej metody, i minus, gdyż nie wskazuje na to, że dana metoda już znajduje się w silniku. (Tutaj wypada zaznaczyć, że takie struktury i właśne skrypty obliczeniowe mogą bardzo się przydać przy korzystaniu z ECS’a)
Struktura
Kurs składa się z 7 sekcji i trwa ponad 15h. Lekcje są prowadzone w czystym i zrozumiałym angielskim, przyjemnym kobiecym głosem. Duży nacisk położono na długość ich trwania, żaden filmik nie trwa dłużej niż 20 minut, co sprawia że lekcje są zwięzłe i na temat, a po każdym zamkniętym aspekcie następuje też prosty quiz sprawdzający wyniesione informacje.
W kursie znajdziemy mini projekty, które pokazują wykorzystanie zdobywanej wiedzy w praktyce i w kontekstach. Dużym plusem jest to, że nawet tak podstawowe zagadnienia jak operatory bitowe, zostają przedstawione w środowisku Unity. Mam jednak pewne zastrzeżenia —owszem, pokazują w całkiem sprawny sposób wykorzystanie matematyki w projekcie, lecz kod, który jest pokazywany, nie jest reprezentantem dobrych praktyk.
Dobrze są wytłumaczone zagadnienia macierzy, wektorów oraz kwaternionów (ang. quaternions). Bardzo podobały mi się zagadnienia o planach, liniach, odbiciach i promieniach – mam wrażenie, że często się zapomina o matematyce stojącej za tymi zagadnieniami i w projektach możnaby korzystać z optymalizacji pod tym względem.
Podsumowanie
Kurs kosztuje w promocyjnej cenie do 40zł, jednak ceny na Udemy są dosyć płynne. Warto zainwestować jeśli szuka się zwięzłej powtórki matematyki przestrzennej. Udemy dodatkowo zapewnia 30 dniowy zwrot kwoty, jesli kurs nie spełni naszych oczekiwań.
Czy poleciłabym ten kurs? Tak, szczególnie osobom, które dopiero zaczynają przygodę z programowaniem gier i dla których tematy takie jak:
- poruszanie się obiektów,
- odległości między obiektami,
- logika oraz operacje bitowe,
- działania na macierzach,
- raycasting,
- działania na wektorach
wymagają obszernego i merytorycznego wyjaśnienia. W tym kursie go znajdą.
+ Plusy | – Minusy |
przystępnie wytłumaczone zagadnienia matematyczne | skrypty wymagałyby doszlifowania |
mini projekty, pozwalające przetestować wiedzę | brak wyprowadzenia dowodów na poszczególne własności, wzory |
zrozumiały, |
wykorzystanie własnych struktur danych do obliczeń, pominięcie już istniejących metod w Unity |
przekrój zagadnień: od bitów do macierzy i kwaternionów | brak podsumowania wszystkich własności oraz wzorów matematycznych |
wykorzystanie własnych struktur danych do obliczeń (przydatne przy ECS) | |
niska cena w promocji | |
poprawne dopasowanie poziomu jako “początkujący” w unity |