Powrót do fundamentów?

Robiąc swój silnik 3D, stwierdziłem, że tych obliczeń matematycznych nie ma zbyt wiele. Co nie znaczy, że należy je lekceważyć. Wystarczy, żeby mieć z jednym obliczeniem problem i już jest blokada. To było tak, że chciałem zamienić widok z typowego 3D (perspektywa) na widok izometryczny (używając projekcji ortograficznej). I myślałem, że to będzie drobnostka, w końcu biblioteka do macierzy glmatrix sama mi generuje macierz projekcji, jaką chcę. Schody zaczęły się, jak chciałem to potem zoomować, obracać, wykrywać kliknięcia myszy itp. Okazało się, że nie rozumiem, jak działa projekcja ortograficzna! Więc trochę w ciemno to robiłem, a frustracja narastała. Aż w końcu doznałem blokady i przerwałem prace nad projektem. Potem wróciłem do nauki Rusta i paru innych rzeczy, żeby cokolwiek robić konstruktywnego.

Ale w końcu wróciłem do tamtego projektu gry (i silnika do niej), ale już bardziej fundamentalnie. Czyli zacząłem oglądać na Youtube materiały o macierzach, jak to dokładnie wygląda, mnożenie macierzy, macierz translacji, rotacji, projekcji... I teraz w zasadzie trochę bardziej to rozumiem, ale dalej jeszcze nie chcę wracać do robienia 3D, póki tego nie zrozumiem do końca. W końcu to fundamenty bez których ciężko być produktywnym, bo co chwila będę miał takie problemy (co ciekawe nawet używając gotowej biblioteki do 3D - Three.js, zacinałem się właśnie przy operacjach na macierzach, szczególnie przy projekcji ortograficznej. Więc gotowa biblioteka do WebGL dalej wymaga fundamentów z matmy, a co dopiero własny silnik).

Jednak to, że odszedłem od 3D to też w pewnym sensie dobrze, bo zacząłem zamiast robić grę w 3D, to robić jej prototypy w 2D (używając zwykłego kontekstu 2D w Canvas), więc mogę sobie przetestować różne rzeczy np. teraz kombinuję, jak zrobić ruch pociągów po krzywie Beziera. Oczywiście najpierw musiałem się dowiedzieć, jak krzywe Beziera działają. Więc generalnie jest trochę zabawy z tym, ale i rozwój. No ale chcę wreszcie umieć robić gry i zrobić większą grę do końca.

Komentarze

Popularne posty z tego bloga

Ściemy z ogłoszeń o pracę

Zostać programistą (2) - czy się nadajesz?

Czego się nauczyłem w 2021?