Druhý díl našeho rozhovoru s Honzou Zeleným o Mashinkách jsme plně věnovali technologickému pozadí hry. Dozvíte se, že hra je napsaná v C++, má miliony řádků kódu a má minimum externích závislostí (not invented here syndrom se ve hrách docela nosí).
Hra využívá DirectX, ale Honza již má zprávy, že se podařilo spustit hru pod Wine. Pro mě zajímavá informace je například to, že DirectX lze abstrahovat do izolované vrstvy, kterou lze v rámci migrace na jinou platformu portovat třebas na OpenGL.
Hodně času jsme věnovali tématice herního engine, z čeho se skládá a proč si ho Honza psal sám a nelituje toho. I laikovi musí být jasné, že napsání podobného enginu vyžaduje obrovské množství znalostí a zkušeností. Zeptali jsme se Honzy, co on považuje za důležité znalosti herního vývojáře, kde tyto informace hledá a jak se vzdělává.
Ladění hry je úplně jiná úloha, než na jakou jsme zvyklí my - weboví vývojáři. Honza se s námi podělil o své zkušenosti s debuggingem a nástroji, které pro to používá.
Rozebírali jsme i plánovač úloh a multi-threading ve hře. Plánování, synchronizaci a sdílení dat mezi vlákny. Skriptování ve hře používá jazyk Lua, což je dost častá volba pro tyto účely. Je zajímavé, že ačkoliv se jedná o interpretovaný jazyk, tak prý v některých úlohách má i lepší výkonnostní charakteristiky jak naivní C++.
Zkrátka a prostě tenhle díl bude určitě bavit všechny programátory.
Pokud vás Kafemlejnek.TV baví sdílejte nás na sociálních sítích, doporučte kamarádům, lajkujte. Vaše podpora nám pomáhá a dává sílu pokračovat dál!
view more