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