Harold Serrano

To są kroki:

Krok 1: Naucz się algebry liniowej

Po pierwsze, naucz się algebry liniowej. Nie, nie mam na myśli Algebry nauczanej w gimnazjum. Mam na myśli koncepcje algebry liniowej, takie jak wektory i macierze. Skup się na nauce operacji na wektorach i macierzach, szczególnie na iloczynie kropkowym, iloczynie krzyżowym, przekształceniach przestrzeni.

Krok 2: Naucz się C++ (lub jakiegokolwiek innego języka, który chcesz)

Następnie, naucz się programować. Sugeruję naukę języka C++. W tym momencie, nie musisz być ekspertem w kodowaniu. Ale naucz się o klasach, metodach, dziedziczeniu, polimorfizmie i enkapsulacji.

Krok 3: Opracuj silnik matematyczny

Następnie, wykorzystaj swoją wiedzę o wektorach, macierzach i kodowaniu, aby opracować silnik matematyczny. Operacje takie jak iloczyn kropkowy, iloczyn krzyżowy i przekształcenia przestrzeni są szeroko stosowane w tworzeniu silnika gry.

Krok 4: Poznaj grafikę komputerową

Teraz nadchodzi część rozrywkowa. Zapoznaj się z koncepcjami grafiki komputerowej, szczególnie z Rendering Pipeline i Shaderami. Na razie unikaj kodowania i używania OpenGL API. API OpenGL jest mylące do zrozumienia, jeśli masz ograniczoną wiedzę na temat koncepcji grafiki komputerowej.

Krok 5: Naucz się OpenGL i wykonaj wiele projektów

Gdy już poczujesz się komfortowo z koncepcjami grafiki komputerowej, poznaj API OpenGL i Shadery OpenGL. Wykonaj tak wiele projektów, jak to tylko możliwe. Dowiedz się jak renderować postacie, jak obracać i tłumaczyć postacie. Dowiedz się jak teksturowanie i oświetlenie działa z OpenGL. Ponownie, to jest część zabawy, i sugeruję zrobienie jak największej ilości projektów.

Krok 6: Naucz się wzorców projektowych

Kolejnym krokiem do zostania programistą silników gier jest nauczenie się architektury API. Silnik gry to po prostu API, szkielet, który zajmuje się wszystkimi renderowaniem, fizyką i operacjami matematycznymi. Najważniejsze jest, abyś stworzył API, które jest modułowe, elastyczne, łatwe w utrzymaniu i adaptowalne.

Aby rozwinąć API, będziesz musiał nauczyć się wzorców projektowych. Najpopularniejsze wzorce projektowe to Singleton, Observer, Strategy, Composite, Factory między innymi.

Krok 7: Rozwinięcie silnika renderującego

Na tym etapie, jesteś gotowy połączyć swoją wiedzę z Algebry Liniowej, Grafiki Komputerowej, OpenGL i Wzorców Projektowych aby rozwinąć silnik renderujący.

Krok 8: Przegląd Praw Ruchu Newtona

Po ukończeniu silnika renderującego, nadszedł czas na pracę nad najtrudniejszą częścią silnika, tj, Silnik Fizyki.

Dobra wiadomość jest taka, że nie musisz być fizykiem, aby stworzyć Silnik Fizyki, ale musisz znać Prawa Ruchu Newtona i wiedzieć jak są one implementowane przy użyciu algorytmów takich jak algorytm Rungego-Kutty.

Krok 9: Poznaj Algorytmy Geometrii Obliczeniowej

Silnik gry nie jest silnikiem gry bez wykrywania kolizji. Aby stworzyć system wykrywania kolizji, musisz poznać algorytmy geometrii obliczeniowej, takie jak GJK, BVH i Sutherland-Hodgman. Algorytmy te są używane do wykrywania, czy doszło do kolizji, gdzie do niej doszło i które obiekty są najbardziej prawdopodobne do zderzenia.

Krok 10: Develop a Physics Engine

Po zapoznaniu się z wyżej wymienionymi algorytmami, powinieneś być w stanie opracować silnik fizyki z systemem wykrywania kolizji.

Krok 11: Stwórz grę, przetestuj &Powtórz

Gratulacje, masz teraz silnik gry. Opracuj tak wiele gier jak tylko możesz i przetestuj silnik gry tak bardzo jak to możliwe. Naprawiaj błędy, wdrażaj nowe funkcje, rozwijaj gry i powtarzaj. Zaufaj mi; to jest najlepsza część ze wszystkich.

Książki, aby zacząć

Tutaj jest lista książek, które pomogą Ci zacząć:

3D Math

  1. 3D Math Primer For Graphics and Game Development

Rendering Engine

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.