Harold Serrano

Tässä ovat vaiheet:

Vaihe 1: Opi lineaarialgebra

Opi ensin lineaarialgebra. Ei, en tarkoita yläasteella opetettua algebraa. Tarkoitan lineaarialgebran käsitteitä, kuten vektoreita ja matriiseja. Keskity vektorien ja matriisien operaatioiden oppimiseen, erityisesti pistetuotto, ristituotto ja avaruusmuunnokset.

Vaihe 2: Opettele C++ (tai mikä tahansa kieli haluat)

Seuraavaksi opettele ohjelmoimaan. Suosittelen C++:n opiskelua. Tässä vaiheessa sinun ei tarvitse olla koodauksen asiantuntija. Tutustu kuitenkin luokkiin, metodeihin, periytymiseen, polymorfismiin ja kapselointiin.

Vaihe 3: Kehitä matematiikkamoottori

Käytä sitten tietämystäsi vektoreista, matriiseista ja koodauksesta kehittääksesi matematiikkamoottorin. Operaatioita, kuten pistetuotosta, ristituloa ja avaruusmuunnosta, käytetään laajasti pelimoottorin kehityksessä.

Vaihe 4: Opi tietokonegrafiikkaa

Nyt tulee hauska osa. Tutustu tietokonegrafiikan käsitteisiin, erityisesti renderöintiputkeen ja varjostimiin. Vältä toistaiseksi koodaamista ja OpenGL API:n käyttöä. OpenGL API on hämmentävä ymmärtää, jos sinulla on vain vähän tietoa tietokonegrafiikan käsitteistä.

Vaihe 5: Opettele OpenGL ja tee paljon projekteja

Kun tunnet olosi mukavaksi tietokonegrafiikan käsitteiden kanssa, tutustu OpenGL API:han ja OpenGL Shadereihin. Tee mahdollisimman paljon projekteja. Opi, miten hahmoja renderöidään, miten hahmoja pyöritetään ja käännetään. Opettele, miten teksturointi ja valaistus toimivat OpenGL:llä. Tämäkin on hauska osuus, ja suosittelen tekemään mahdollisimman paljon projekteja.

Vaihe 6: Opi suunnittelumalleja

Seuraava askel pelimoottorin kehittäjäksi on API-arkkitehtuurin oppiminen. Pelimoottori on yksinkertaisesti API, kehys, joka huolehtii kaikista renderöinnistä, fysiikasta ja matemaattisista operaatioista. On ensiarvoisen tärkeää, että kehität API:n, joka on modulaarinen, joustava, ylläpidettävä ja mukautettava.

Kehittääksesi API:n sinun on opittava suunnittelumalleja. Yleisimpiä suunnittelumalleja ovat muun muassa Singleton, Observer, Strategy, Composite ja Factory.

Vaihe 7: Kehitä renderöintimoottori

Tässä vaiheessa olet valmis yhdistämään tietosi lineaarialgebrasta, tietokonegrafiikasta, OpenGL:stä ja suunnittelumalleista kehittäessäsi renderöintimoottoria.

Vaihe 8: Käy läpi Newtonin liikkeen lait

Kun olet saanut renderöintimoottorin valmiiksi, on aika työstää moottorin vaikeinta osaa, ts, fysiikkamoottoria.

Hyvä uutinen on se, että sinun ei tarvitse olla fyysikko kehittääksesi fysiikkamoottoria, mutta sinun on tunnettava Newtonin liikkeen lait ja se, miten ne toteutetaan algoritmeilla, kuten Runge-Kutta-algoritmilla.

Vaihe 9: Opi laskennallisen geometrian algoritmit

Pelimoottori ei ole pelimoottori ilman törmäystunnistusta. Kehittääksesi törmäystunnistusjärjestelmän sinun täytyy oppia laskennallisen geometrian algoritmeja, kuten GJK, BVH ja Sutherland-Hodgman. Näitä algoritmeja käytetään havaitsemaan, onko törmäys tapahtunut, missä se tapahtui ja mitkä objektit todennäköisimmin törmäävät.

Vaihe 10: Kehitä fysiikkamoottori

Kun olet tutustunut edellä mainittuihin algoritmeihin, sinun pitäisi pystyä kehittämään fysiikkamoottori, jossa on törmäystunnistusjärjestelmä.

Vaihe 11: Kehitä peli, Testaa & Toista

Onnittelut, sinulla on nyt pelimoottori. Kehitä mahdollisimman monta peliä ja testaa pelimoottoria mahdollisimman paljon. Korjaa virheitä, toteuta uusia ominaisuuksia, kehitä pelejä ja toista. Usko minua; tämä on kaikista paras osa.

Kirjoja alkuun

Tässä on luettelo kirjoista, jotka auttavat sinua pääsemään alkuun:

3D-matematiikka

  1. 3D-matematiikan alkeisopas grafiikkaa ja pelikehitystä varten

Renderöintimoottori

Vastaa

Sähköpostiosoitettasi ei julkaista.