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í.
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
Video
Pouze audio
[soundcloud url=”https://api.soundcloud.com/tracks/326751167?secret_token=s-GRTVp” params=”color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false” width=”100%” height=”166″ iframe=”true” /]
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