← Zpět na přehled VGA / 02 Úvod

Úvod

Od nuly k enginům

ANI-VGA · 02

Od elektromechanické logiky k programovatelným počítačům, herním enginům a technické herní smyčce.

Původní ilustrace z PDF, strana 1, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 1
Původní snímek · 1Původní PDF strana 1

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 1

Nejstarší počítačové hry

Nejstarší počítačové hry

Původní snímek · 2Původní PDF strana 2

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 2

Nejstarší počítačové hry

Kdy vznikla první počítačová hra?

Původní snímek · 3Původní PDF strana 3

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 3

Nejstarší počítačové hry

Kandidáti na první počítačovou hru

Tipy

  • Pong – listopad 1972, Allan Alcorn, Atari
  • Odyssey – září 1972, Ralph H. Baer, Sanders Associates, Magnavox
  • Spacewar! – duben 1962, Steve Russell a další, MIT
  • Tennis for Two – říjen 1958, William Higinbotham
  • OXO – 1952, Alexander Shafto Douglas
  • Checkers – 1952, Christopher Strachey
  • Bertie the Brain – srpen 1950, Josef Kates
  • Turochamp – 1948, Alan Turing a David Champernowne (dobově nerealizovatelný)
  • Cathode-ray tube amusement device - 1947, Thomas T. Goldsmith Jr. a Estle Ray Mann (patent)
  • Nimatron - duben 1940, Edward Condon, Westinghouse Electric Company A co bylo předtím? Nedohledáme.
Původní snímek · 4Původní PDF strana 4

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 4

Nejstarší počítačové hry

Jak se takové hry vytvářely?

Původní snímek · 5Původní PDF strana 5

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 5

Nejstarší počítačové hry

Elektromechanické hry

Elektromechanické „počítačové“ hry – 1940s

  • Využívaly relátek, přepínačů a žárovek.
  • Logika hry byla určena zapojením součástek.

Obrázek 1: Edward U. Condon a další, Nimatron, 1940 – fotografie a výřez schématu

Původní ilustrace z PDF, strana 6, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 6
Původní ilustrace z PDF, strana 6, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 6
Původní snímek · 6Původní PDF strana 6

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 6

Nejstarší počítačové hry

Vlk, koza, zelí: zapojení logiky

Elektromechanické „počítačové“ hry – 1940s

Obrázek 2: Vlk, koza, zelí – příklad jednodušší elektromechanické hry A je to ještě počítačová hra?

Původní ilustrace z PDF, strana 7, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 7
Původní snímek · 7Původní PDF strana 7

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 7

Nejstarší počítačové hry

Elektronkové hry

Elektronkové „počítačové“ hry – 1950s

  • Využívaly elektronek, přepínačů, žárovek a katodových trubic (obrazovek).
  • Specializované počítače s velmi jednoduchými programy.
  • Logika hry stále určena zapojením součástek.

Obrázek 3: Josef Kates, Bertie the Brain, 1950

Původní ilustrace z PDF, strana 8, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 8
Původní snímek · 8Původní PDF strana 8

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 8

Nejstarší počítačové hry

Nimrod: algoritmus řízení

Elektronkové hry · Nimrod (1951)

1. Examine the column specified by the column
counter. If this is even transfer control to 7.
2. Examine the digit specified by the column and heap
counters. If this is 1 transfer control to 4.
3. Add 1 to heap counter. Transfer control to 2.
4. Examine heap selected memory. If a heap has
previously been selected transfer control to 6.
5. Operate heap selected memory.
6. Substitute modifying number in heap specified by
heap counter.
7. Deduct 1 from column counter. If this does not
complete examination of columns transfer control to
1.
8. STOP.

Obrázek 4: John Makepeace Bennett, Raymond Stuart-Williams, Nimrod, 1951

Původní ilustrace z PDF, strana 9, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 9
Původní snímek · 9Původní PDF strana 9

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 9

Nejstarší počítačové hry

Analogové hry

Analogové „počítačové“ hry – okolo 1950

  • Využívaly elektronek, relátek, přepínačů, žárovek a katodových trubic (obrazovek).
  • Na principu analogových počítačů.
  • Logika hry stále určena zapojením součástek.

Obrázek 5: William Higinbotham, Tennis for Two, 1958

Původní ilustrace z PDF, strana 10, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 10
Původní snímek · 10Původní PDF strana 10

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 10

Nejstarší počítačové hry

Programovatelné sálové počítače

Hry na elektronkových sálových počítačích – 1950s

  • Počítače už byly univerzální, programovatelné.
  • Omezená interakce s uživatelem – terminál měl (nejprve) jen teletype.
  • Typicky ale existovala ladicí obrazovka.

Obrázek 6: A. S. Douglas, OXO, 1952

Obrázek 7: C. Strachey, Checkers, 1952

Původní ilustrace z PDF, strana 11, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 11
Původní ilustrace z PDF, strana 11, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 11
Původní snímek · 11Původní PDF strana 11

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 11

Nejstarší počítačové hry

TX-0 a světelné pero

Hry na počítači TX-0 – 1955/1956

  • Tranzistorový sálový počítač zkonstruovaný v Lincoln Laboratory, MIT.
  • Levnější provoz, používán při výuce a výzkumu; komercializován jako PDP-1.
  • Terminál měl i monochromatickou obrazovku a světelné pero (light pen).
  • Výzkum počítačové grafiky

Obrázek 8: kolektiv programátorů MIT, Tic Tac Toe, 1958

Původní ilustrace z PDF, strana 12, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 12
Původní snímek · 12Původní PDF strana 12

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 12

Nejstarší počítačové hry

PDP-1, TX-2 a interakce

Průlomy na počítačích PDP-1 a TX-2 – 1960s

  • Spacewar! – První šířená počítačová hra.
  • Sketchpad – První program s GUI, vynález architektury ECS.

Obrázek 9: Steve Russell, Spacewar!, 1962

Obrázek 10: Ivan Sutherland, Sketchpad, 1963

Původní ilustrace z PDF, strana 13, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 13
Původní ilustrace z PDF, strana 13, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 13
Původní snímek · 13Původní PDF strana 13

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 13

Nejstarší počítačové hry

Ukázka: kód hry Spacewar!

Původní snímek vyhrazuje prostor pro živý rozbor kódu; samotný kód v PDF není. Odkaz níže je převzat z jeho závěrečné bibliografie.

Spacewar! — navazující autorský odkaz ↗

Původní snímek · 14Původní PDF strana 14

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 14

Nejstarší počítačové hry

Textové hry

Textové hry – 1960s

  • Textová komunikace se sálovými počítači přirozeně vedla k textovým hrám.

Obrázek 11: M. Addis, W. McKay, The Sumerian Game, 1964

Obrázek 12: D. Rawitsch et al., The Oregon Trail, 1971

Původní ilustrace z PDF, strana 15, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 15
Původní ilustrace z PDF, strana 15, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 15
Původní snímek · 15Původní PDF strana 15

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 15

Nejstarší počítačové hry

Ukázka: kód hry The Oregon Trail

Původní snímek vyhrazuje prostor pro živý rozbor kódu; samotný kód v PDF není. Odkaz níže je převzat z jeho závěrečné bibliografie.

The Oregon Trail — zdrojový BASIC z roku 1975 ↗

Původní snímek · 16Původní PDF strana 16

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 16

Nejstarší počítačové hry

Arkádové videohry

První arkádové videohry – 1970s

  • Nižší cena i rozměry součástek umožňují instalaci mimo odborná pracoviště.
  • Musela se obětovat programovatelnost. Logika her je napevno.

Obrázek 13: N. Bushnell, T. Dabney, Computer Space, 1971

Obrázek 14: Allan Alcorn, Pong, 1972

Původní ilustrace z PDF, strana 17, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 17
Původní ilustrace z PDF, strana 17, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 17
Původní snímek · 17Původní PDF strana 17

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 17

Nejstarší počítačové hry

První herní konzole

První herní konzole – 1970s

  • Televizor byl běžnou výbavou americké domácnosti.
  • První generace konzolí nebyla programovatelná.

Obrázek 15: Ralph H. Baer, Odyssey, 1972

Obrázek 16: A. Alcorn, H. Lee, Home Pong, 1975

Původní ilustrace z PDF, strana 18, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 18
Původní ilustrace z PDF, strana 18, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 18
Původní snímek · 18Původní PDF strana 18

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 18

Mikroprocesorová éra

Mikroprocesorová éra

Původní snímek · 19Původní PDF strana 19

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 19

Mikroprocesorová éra

Konzole druhé generace

Konzole druhé generace - okolo 1980

  • 1975 – první mikroprocesory. Programovatelnost se dostává do domácností.
  • Malé množství operační paměti. Nižší stovky B RAM.
  • Grafický výstup generován po řádcích, fenomén racing the beam.

Obrázek 17: Atari VCS/2600, 1977/1982

Obrázek 18: R. Milner, S. Mayer, J. Decuir, L. Wagner, Combat, 1977

Původní ilustrace z PDF, strana 20, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 20
Původní ilustrace z PDF, strana 20, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 20
Původní snímek · 20Původní PDF strana 20

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 20

Mikroprocesorová éra

Racing the beam

Racing the beam

  • Mezi řádky obrazu malý prostor pro herní logiku.
  • Speciální registry pro části herní scény – pozadí, sprajty hráčů atd.
  • Triky: zdvojené řádky, vynechání řádku, vynechání části řádku.

Obrázek 19: David Crane, Pitfall, 1982

Obrázek 20: I. Bogost, N. Motfort, Racing the Beam, 2009

Původní ilustrace z PDF, strana 21, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 21
Původní ilustrace z PDF, strana 21, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 21
Původní snímek · 21Původní PDF strana 21

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 21

Mikroprocesorová éra

Ukázka: kód hry Combat

Původní snímek vyhrazuje prostor pro živý rozbor kódu; samotný kód v PDF není. Odkaz níže je převzat z jeho závěrečné bibliografie.

Combat — komentovaný zdrojový kód ↗

Původní snímek · 22Původní PDF strana 22

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 22

Mikroprocesorová éra

První domácí počítače

První domácí počítače - okolo 1980

  • Přepisovatelná média (kazety a diskety) místo ROM cartridgí.
  • Programovat mohli i domácí uživatelé.
  • Operační paměť jednotky, později desítky kB.

Obrázek 21: „Svatá trojice roku 1977“ – Commodore PET 2001-8, Apple II, TRS-80 Model I

Původní ilustrace z PDF, strana 23, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 23
Původní snímek · 23Původní PDF strana 23

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 23

Mikroprocesorová éra

Hry v textovém režimu

Hry na prvních domácích počítačích - okolo 1980

  • Stále příliš málo paměti na každý bod obrazovky v barvě.
  • Existoval textový režim; byly převedeny mnohé textové hry ze sálových počítačů.
  • I s textovým režimem ale šlo „kreslit“.

Obrázek 22: M. Toy, G. Wichman, Rogue, 1980

Obrázek 23: D. Major et al., Snipes, 1983

Původní ilustrace z PDF, strana 24, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 24
Původní ilustrace z PDF, strana 24, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 24
Původní snímek · 24Původní PDF strana 24

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 24

Mikroprocesorová éra

Domácí počítače v 80. letech

První domácí počítače - 1980s

  • Vývoj byl překotný. Namátkou:
  • 1981 – IBM PC – modulární architektura hardware, ale příliš drahý.
  • 1982 – ZX Spectrum – nejprodávanější britský počítač.
  • 1982 – Commodore 64 – vlastní grafické obvody, nejprodávanější počítač.
  • 1985 – Atari ST, Amiga 1000 - počítače pod 1000 $, 16bitové, GUI. Technická vylepšení:
  • Zvětšuje se paměť (stovky kB, jednotky MB), objevuje se rastrová grafika.
  • Objevují se pomocné obvody pro zvuky, grafiku, počítačovou síť atd.
Původní snímek · 25Původní PDF strana 25

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 25

Éra osobních počítačů

Éra osobních počítačů

Původní snímek · 26Původní PDF strana 26

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 26

Éra osobních počítačů

První herní enginy

První herní enginy

  • Domácí uživatelé se na počítačích učili také programovat.
  • Chtěli tvořit i hry, ale vývoj hry začal být stále složitější.
  • Na některé problémy existovala ověřená řešení a vznikaly univerzální hry.

Obrázek 24: Stuart Smith, Adventure Construction Set, 1984

Obrázek 25: Garry Kitchen, GameMaker, 1985

Původní ilustrace z PDF, strana 27, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 27
Původní ilustrace z PDF, strana 27, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 27
Původní snímek · 27Původní PDF strana 27

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 27

Éra osobních počítačů

Modulární architektura

Modulární architektura

  • Objevila se spousta výrobců komponent IBM PC.
  • Problém: Každý uživatel má jiný počítač. Ale chceme mu prodat hru.
  • Potřeba modularity herního softwaru, vznik API, ovladačů a knihoven.

Obrázek 26: Typická konfigurace hry v systému MS DOS

Původní ilustrace z PDF, strana 28, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 28
Původní snímek · 28Původní PDF strana 28

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 28

Éra osobních počítačů

3D grafika v 90. letech

3D grafika v 1990s

  • 3D grafika je stále technicky náročný a algoritmicky komplexní problém.
  • Autoři her museli být velmi zdatní programátoři a výzkumníci.
  • Rostoucí potřeba modifikovatelnosti a znovupoužitelnosti částí her.

Obrázek 27: John Carmack, id Software, Doom, 1993

Obrázek 28: Ken Silverman, 3D Realms, Duke Nukem 3D, 1996

Původní ilustrace z PDF, strana 29, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 29
Původní ilustrace z PDF, strana 29, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 29
Původní snímek · 29Původní PDF strana 29

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 29

Éra osobních počítačů

Případová studie: Doom versus Build

  • příběh různě schopných programátorů

PDF obsahuje pouze uvedení případové studie. Doplňující autorský výklad není rekonstruován.

Doom · odkaz ze zdroje · Build · odkaz ze zdroje

Původní snímek · 30Původní PDF strana 30

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 30

Éra osobních počítačů

Moderní enginy

Moderní enginy

  • 1995 – 3Dfx Voodoo – první grafická karta s 3D akcelerací.
  • Vzniká stále větší množství her a různé enginy.
  • Nejprve byly enginy interní nebo draze licencované.

Obrázek 29: John Carmack, id Software, Quake, 1996

Obrázek 30: Tim Sweeney, Epic Megagames, Unreal, 1998

Původní ilustrace z PDF, strana 31, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 31
Původní ilustrace z PDF, strana 31, obrázek 2
Ilustrace ze zdroje Jana Matouška · strana 31
Původní snímek · 31Původní PDF strana 31

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 31

Éra osobních počítačů

Enginy dnes

Enginy dnes

  • Dnes existuje velké množství enginů k dispozici volně nebo za relativně nízký poplatek.
  • Enginy dnes poskytují komfort pro vývojáře (editory, ladicí nástroje, základy projektů).
  • Ne vždy jsou enginy vhodné; stále existují různá API a „částečné“ enginy – frameworky.

Obrázek 31: Gamalytic, podíly enginů ve vydaných hrách

Původní ilustrace z PDF, strana 32, obrázek 1
Ilustrace ze zdroje Jana Matouška · strana 32
Původní snímek · 32Původní PDF strana 32

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 32

Shrnutí

Shrnutí

Původní snímek · 33Původní PDF strana 33

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 33

Shrnutí

Technická herní smyčka

Technická herní smyčka

  • 1 „tik“ hry. Řeší interakci hráče a hry. Typické složení:
  • Zjisti vstup od hráče.
  • Aktualizuj stav hry (pozice objektů apod.).
  • Předej hráči nový stav hry.
  • Opakuje se dokola.
  • V závislosti na typu hry a architektuře počítače běží i několikrát za sekundu (např. 60×)
Původní snímek · 34Původní PDF strana 34

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 34

Shrnutí

Časové podmínky herní smyčky

Technická herní smyčka

  • U čistě textových her je smyčka pomalá, každá iterace čeká na vstup uživatele.
  • Můžeme si dovolit provádět složité výpočty při změně stavu hry.
  • U starších konzolí je smyčka synchronizovaná se signálem televize/obrazovky
  • Pro vlastní logiku, zvuky atd. máme velmi omezený čas mezi řádky a snímky, i jednodušší logika se musí rozložit mezi více vykreslovaných řádek.
  • U novějších živě interaktivních her máme na iteraci čas jednoho snímku.
  • Složitější logiku je nutno rozložit do více snímků nebo volit efektivní struktury a algoritmy. Typické jsou záseky při načítání a ukládání scén.
  • Posledních 20 let máme běžně vícejádrová CPU, ale pořád musíme počítat s omezenými možnostmi stroje a s potřebami komunikace s GPU a dalšími komponentami a periferiemi.
Původní snímek · 35Původní PDF strana 35

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 35

Shrnutí

Architektura softwaru

Architektura softwaru

  • Kvůli různému hardwaru a různým platformám je dnešní architektura her modulární.
  • Je snaha oddělovat herní logiku, herní data a technické řešení.
  • Ve velké míře se uplatňují objektově orientované programování a separation of concerns.
  • Typicky bývá přítomno několik oddělitelných / vyměnitelných komponent:
  • grafika
  • zvuky
  • fyzika
  • pathfinding
  • síťová komunikace
  • GUI
  • skriptování
  • animace
  • ovládání
  • …
Původní snímek · 36Původní PDF strana 36

Jan Matoušek · podklad 1. 10. 2026 · export PDF 6. 10. 2026 · PDF, strana 36

Obsah přednášky

Poznámky

Původní text PDF

Časový rozpočet snímku · GRAFIT

Rozdělte herní logiku do více snímků a sledujte rozpočet i dobu dokončení.

Didaktický doplněk GRAFIT. Zadané časy jsou syntetické, nejsou měřením enginu. Model sčítá sériové časy logiky a vykreslení, zanedbává další práci i souběh CPU/GPU. Dělení práce na stejné díly je zjednodušení; vhodnost a závislosti skutečných úloh je nutné posoudit. Nižší špička může znamenat delší dobu do dokončení úlohy. Nejde o emulaci Atari ani „racing the beam“.