Harold Serrano

Ezek a lépések:

1. lépés: Tanulj lineáris algebrát

Először is, tanulj lineáris algebrát. Nem, nem a középiskolában tanított algebrára gondolok. Olyan lineáris algebrai fogalmakra gondolok, mint a vektorok és mátrixok. Koncentrálj a vektor- és mátrixműveletek megtanulására, különösen a pont- és keresztszorzatra, a térbeli transzformációkra.

2. lépés: Tanulj meg C++-t (vagy bármilyen más nyelvet, amit akarsz)

Ezután tanulj meg programozni. Javaslom a C++ megtanulását. Ezen a ponton nem kell szakértőnek lenned a kódolásban. De tanulj az osztályokról, metódusokról, az öröklésről, a polimorfizmusról és a kapszulázásról.

3. lépés: Matematikai motor fejlesztése

Ezután használd a vektorokról, mátrixokról és a kódolásról szerzett tudásodat egy matematikai motor fejlesztéséhez. Az olyan műveleteket, mint a pontszorzat, a keresztszorzat és a térbeli transzformáció széles körben használják a játékmotorok fejlesztésében.

4. lépés: Tanulj meg számítógépes grafikát

Most jön a szórakoztató rész. Ismerkedj meg a számítógépes grafika fogalmaival, különösen a renderelési csővezetékkel és a shaderekkel. Egyelőre kerüld a kódolást és az OpenGL API használatát. Az OpenGL API-t zavaros megérteni, ha korlátozott ismeretekkel rendelkezik a számítógépes grafikai fogalmakról.

5. lépés: Tanulja meg az OpenGL-t és készítsen sok projektet

Ha már otthonosan mozog a számítógépes grafikai fogalmakkal, ismerkedjen meg az OpenGL API-val és az OpenGL Shaderekkel. Végezzen el minél több projektet. Tanuld meg, hogyan kell karaktereket renderelni, hogyan kell karaktereket forgatni és fordítani. Tanulja meg, hogyan működik a textúrázás és a világítás az OpenGL segítségével. Ismétlem, ez a szórakoztató rész, és javaslom, hogy minél több projektet csinálj.

6. lépés: Tanulj meg tervezési mintákat

A játékmotor-fejlesztővé válás következő lépése az API-architektúra megtanulása. A játékmotor egyszerűen egy API, egy keretrendszer, amely gondoskodik az összes renderelésről, fizikáról és matematikai műveletről. Rendkívül fontos, hogy olyan API-t fejlessz, amely moduláris, rugalmas, karbantartható és adaptálható.

Az API fejlesztéséhez meg kell tanulnod a tervezési mintákat. A leggyakoribb tervezési minták többek között a Singleton, Observer, Strategy, Composite, Factory.

7. lépés: Egy renderelőmotor fejlesztése

Ebben a szakaszban készen áll arra, hogy a lineáris algebra, a számítógépes grafika, az OpenGL és a tervezési minták ismereteit kombinálva egy renderelőmotort fejlesszen.

8. lépés: Newton mozgástörvényeinek áttekintése

Ha már elkészült a renderelőmotor, itt az ideje, hogy a motor legnehezebb részével foglalkozzon, azaz, a Fizikai motorral.

A jó hír az, hogy nem kell fizikusnak lenned ahhoz, hogy fizikamotort fejlessz, de ismerned kell Newton mozgástörvényeit, és azt, hogyan valósítják meg azokat olyan algoritmusokkal, mint például a Runge-Kutta algoritmus.

9. lépés: Ismerje meg a számítási geometriai algoritmusokat

Egy játékmotor nem játékmotor ütközésérzékelés nélkül. Az ütközésérzékelő rendszer kifejlesztéséhez meg kell ismerned a Számítási geometria algoritmusokat, például a GJK, a BVH és a Sutherland-Hodgman algoritmusokat. Ezeket az algoritmusokat arra használják, hogy felismerjék, történt-e ütközés, hol történt, és mely objektumok ütközése a legvalószínűbb.

10. lépés: Fizikai motor fejlesztése

Ha már megismerte a fent említett algoritmusokat, képesnek kell lennie egy ütközésérzékelő rendszerrel ellátott fizikai motor fejlesztésére.

11. lépés: Játék fejlesztése, tesztelés & Ismétlés

Gratulálunk, most már van egy játékmotorod. Fejlessz minél több játékot, és teszteld a játékmotort, amennyire csak tudod. Javítsd ki a hibákat, implementálj új funkciókat, fejleszd a játékokat és ismételd. Hidd el, ez a legjobb része az egésznek.

Könyvek a kezdéshez

Itt van egy lista azokról a könyvekről, amelyek segíthetnek a kezdésben:

3D Math

  1. 3D Math Primer For Graphics and Game Development

Rendering Engine

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.