Ezek a lépések:
- 1. lépés: Tanulj lineáris algebrát
- 2. lépés: Tanulj meg C++-t (vagy bármilyen más nyelvet, amit akarsz)
- 3. lépés: Matematikai motor fejlesztése
- 4. lépés: Tanulj meg számítógépes grafikát
- 5. lépés: Tanulja meg az OpenGL-t és készítsen sok projektet
- 6. lépés: Tanulj meg tervezési mintákat
- 7. lépés: Egy renderelőmotor fejlesztése
- 8. lépés: Newton mozgástörvényeinek áttekintése
- 9. lépés: Ismerje meg a számítási geometriai algoritmusokat
- 10. lépés: Fizikai motor fejlesztése
- 11. lépés: Játék fejlesztése, tesztelés & Ismétlés
- Könyvek a kezdéshez
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
- 3D Math Primer For Graphics and Game Development
Rendering Engine
.