Kafemlejnek.TV 22. - Hra Factorio z technického pohledu
V minulém díle jste mohli slyšet historii a příběh o vzniku hry Factorio. Techničtější otázky jsme si nechali do dnešního druhého dílu s Michalem Kovaříkem.
Ptali jsme se ho, co obnáší portace hry na různé operační systémy a jestli se to vyplatí. V čem spočívá integrace na platformu Steam, jestli hru chrání proti pirátskému kopírování a hodně času věnujeme programování multiplayer části hry.
Jako programátor jsem si tento díl moc užíval a líbí se mi realistický přístup kluků k programování. Jak je vidno, lze udělat díru do světa i bez použití milionu buzzwordů a "hypovaných" technologií.
Kompletní obsah zde: https://kafemlejnek.tv/dil-22-hra-factorio-z-technickeho-pohledu/
Zdroje
- C++ knihovna pro vývoj her Allegro
 - Statistiky používání operačních systémů
 - [World Record] Factorio Speed Run (multiplayer)
 - IDE pro jazyk C od JetBrains: C-Lion
 - Přiložený obrázek pochází od umělce SmokedShip
 
Obsah
- Portovali jste brzy na všechny hlavní OS. Vyplatí se to? 0:40
 - Co používáte za knihovnu grafického engine? 1:55
 - Na jakých platformách se hra prodává nejvíc? 3:45
 - V čem spočívá integrace hry do Steam platformy? 5:06
 - DRM free a přístup k pirátství 6:14
 - Jaký byl úplný začátek programování, s čím jste začali? 7:42
 - Narazili jste na nějaké koncepční limity, které vás donutily k refaktoringu? 8:42
 - Jaké byly největší technologické oříšky? 9:51
 - Jak se programuje multiplayer? 10:50
 - Jak se deterministicky řeší prvek náhody (Mr. Obvious question)? 13:50
 - Heavy mód pro analýzu rozdílů mezi různými instancemi hry 17:50
 - Jak funguje synchronizace stavů mezi hráči v multiplayeru 20:30
 - Peer to peer architektura vs. server client architektura multiplayeru 23:40
 - Na kolik hráčů cílíte? 27:50
 - Co je vlastně motivem k hraní multiplayeru? Hrají hráči proti sobě nebo spolu? 30:07
 - Co jste se naučili od svých hráčů? 31:11
 - AI ve hře (v kódu máme adresář AI :) 33:35
 - Jak dalece se dá vyvíjet hra pomocí testů? 35:17
 - Postupy optimalizace 40:07
 - Používáš profiler? 44:14
 - Jak měříš dopad optimalizací? 44:55
 - Úvahy nad prací ve více vláknech 46:20
 - Plánujete migraci hry na tablety nebo telefony? 51:44