Harold Serrano

Toto jsou kroky:

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ů.

Krok 6: Naučte se návrhové vzory

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

  1. 3D Math Primer For Graphics and Game Development

Renderovací engine

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.