Toto jsou kroky:
- Krok 1: Naučte se lineární algebru
- Krok 2: Naučte se C++ (nebo jakýkoli jiný jazyk, který chcete)
- Krok 3: Vyvíjejte matematický engine
- Krok 4: Naučte se počítačovou grafiku
- Krok 5: Naučte se OpenGL a dělejte spoustu projektů
- Krok 6: Naučte se návrhové vzory
- Krok 7: Vyvinout vykreslovací engine
- Krok 8: Zopakovat si Newtonovy pohybové zákony
- Krok 9: Naučte se algoritmy výpočetní geometrie
- Krok 10: Vývoj fyzikálního enginu
- Krok 11: Vyvíjejte hru, testujte & Opakujte
- Knihy do začátku
Krok 1: Naučte se lineární algebru
Nejprve se naučte lineární algebru. Ne, nemyslím tím algebru vyučovanou na střední škole. Mám na mysli pojmy lineární algebry, jako jsou vektory a matice. Zaměřte se na učení operací s vektory a maticemi, zejména na tečkový součin, křížový součin, prostorové transformace.
Krok 2: Naučte se C++ (nebo jakýkoli jiný jazyk, který chcete)
Dále se naučte programovat. Doporučuji naučit se jazyk C++. V této fázi nemusíte být odborníkem na kódování. Ale naučte se něco o třídách, metodách, dědičnosti, polymorfismu a zapouzdření.
Krok 3: Vyvíjejte matematický engine
Poté využijte své znalosti o vektorech, maticích a kódování a vytvořte matematický engine. Operace jako tečkový součin, křížový součin a prostorová transformace se při vývoji herního enginu hojně využívají.
Krok 4: Naučte se počítačovou grafiku
Teď přichází zábavná část. Seznamte se s koncepty počítačové grafiky, zejména s vykreslovací potrubím a shadery. Kódování a používání rozhraní OpenGL API se prozatím vyhněte. Rozhraní OpenGL API je matoucí na pochopení, pokud máte omezené znalosti konceptů počítačové grafiky.
Krok 5: Naučte se OpenGL a dělejte spoustu projektů
Jakmile se budete cítit dobře s koncepty počítačové grafiky, seznamte se s rozhraním OpenGL API a shadery OpenGL. Udělejte co nejvíce projektů. Naučte se vykreslovat znaky, otáčet a překládat znaky. Naučte se, jak funguje texturování a osvětlení v OpenGL. Opět je to zábavná část a doporučuji dělat co nejvíce projektů.
Dalším krokem k tomu, abyste se stali vývojářem herního enginu, je naučit se architekturu API. Herní engine je jednoduše API, framework, který se stará o veškeré vykreslování, fyziku a matematické operace. Je nanejvýš důležité, abyste vytvořili API, které je modulární, flexibilní, udržovatelné a přizpůsobitelné.
Pro vývoj API se budete muset naučit návrhové vzory. Mezi nejběžnější návrhové vzory patří mimo jiné Singleton, Observer, Strategy, Composite, Factory.
Krok 7: Vyvinout vykreslovací engine
V této fázi jste připraveni spojit své znalosti lineární algebry, počítačové grafiky, OpenGL a návrhových vzorů a vyvinout vykreslovací engine.
Krok 8: Zopakovat si Newtonovy pohybové zákony
Jakmile dokončíte vykreslovací engine, je čas pracovat na jeho nejtěžší části, tj, fyzikálním enginu.
Dobrou zprávou je, že k vývoji fyzikálního enginu nepotřebujete být fyzikem, ale musíte znát Newtonovy pohybové zákony a jejich implementaci pomocí algoritmů, jako je například algoritmus Runge-Kutta.
Krok 9: Naučte se algoritmy výpočetní geometrie
Herní engine není herním enginem bez detekce kolizí. Chcete-li vyvinout systém detekce kolizí, musíte se naučit algoritmy výpočetní geometrie, jako jsou GJK, BVH a Sutherland-Hodgman. Tyto algoritmy slouží k detekci toho, zda došlo ke kolizi, kde k ní došlo a které objekty se s největší pravděpodobností srazí.
Krok 10: Vývoj fyzikálního enginu
Jakmile se seznámíte s výše uvedenými algoritmy, měli byste být schopni vyvinout fyzikální engine se systémem detekce kolizí.
Krok 11: Vyvíjejte hru, testujte & Opakujte
Gratulujeme, nyní máte herní engine. Vyvíjejte co nejvíce her a herní engine co nejvíce testujte. Opravujte chyby, implementujte nové funkce, vyvíjejte hry a opakujte. Věřte mi; tohle je ta nejlepší část ze všech.
Knihy do začátku
Tady je seznam knih, které vám pomohou začít:
3D matematika
- 3D Math Primer For Graphics and Game Development
Renderovací engine