• Hlavní stránka
  • Články
  • Archiv
  • iNform
    • Kalendář akcí CB
  • Audio
  • Pexeso
  • Předplatné
  • Kontakty

Aktuální tištěné číslo

  • ČISTOTA - Nezbytnost v církvi špinavců

    2023–3

    Objednat Bránu

Podpořte nás!

Chtěli byste podpořit naši práci? Budeme rádi za jakýkoliv finanční příspěvek.

Číslo účtu: 1938904339/0800

Zpráva pro příjemce: Dar pro časopis BRÁNA

Poslechněte si Bránu

  • JAK CHUTNÁ MOC V CÍRKVI

    2022–10

Inzerce

Rubriky

  • Téma
  • Slovo
  • Rozhovory
  • Reportáže
  • Rodina – příběhy
  • Věda
  • Hovory nad Biblí
  • Glosy
  • Ohlasy čtenářů
  • Kultura
  • iNform
  • Novinky
  • Ježíš byl tesař
  • Diskuse
  • Svědectví
  • Akce
  • Svátosti
  • P.S.
  • Zápisník
  • Ekologický speciál
  • Inspirace
  • Video
  • Povídky
  • Povídky
  • Misie
  • Okamžiky
  • Válečný deník

  • Hlavní stránka
  • Články
  • Archiv
  • iNform
    • Kalendář akcí CB
  • Audio
  • Pexeso
  • Předplatné
  • Kontakty

Programátor je malý, omezený bůh

Od Eva Čejchanová 9. 10. 2022 Komentáře

Programátor počítačových her Daniel Čejchan

Kdy jsi vyrobil první program?

Můj nejstarší výtvor, na který si vzpomínám, je „hra“ udělaná ve Wordu. Fungovala na tom principu, že jsem do dokumentu rozmístil obrázky kamenů a pak doprostřed obrázek auta. Jak asi víte, když se ve Wordu označí obrázek, tak se jím pak dá šipkami na klávesnici hýbat. Nu, a tak se řídilo to auto. „Hra“ spoléhala na to, že byl řidič ohleduplný a dodržoval pravidla provozu, protože posun obrázku šipkami samozřejmě nebral v potaz nějaké kameny kolem, takže byste se překážkami prostě prosunuli, čímž by se zhroutila jakákoli iluze realističnosti (která tam tedy ani tak nebyla). To mi mohlo být tak šest let.

Jako diplomovou práci na VUT jsi vyráběl „engine pro Minecraft-like hru“. Jak jsi se k tomuto tématu dostal? Můžeš ji čtenářům přiblížit?

Předmětem mé bakalářské práce bylo vytvoření vlastního programovacího jazyka. To se také stalo, udělal se nějaký proof of concept (demonstrace konceptu) a v diplomové práci jsem v tom pak chtěl pokračovat a své myšlenky dotáhnout zase o něco dále. Bylo to domluvené, ale v půlce předposledního semestru si ke mně můj vedoucí práce přisedl v jídelně a řekl mi, že se mé zadání vedoucímu ústavu nelíbí a že mi ho nenechá. Tak jsem se pustil do hledání nového zadání. V dětství jsem strávil spoustu času hraním Minecraftu (byl jsem dokonce u jeho úplných začátků, kdy se například vyhozením krumpáče a jeho opětovným sebráním krumpáč sám záhadně opravil) a dlouho jsem měl chuť pokusit se udělat něco podobného (dokonce jsem se o to už i párkrát pokusil, ale nikdy to nedošlo moc daleko). Vlastní programovací jazyk se fakultě nelíbil, ale Minecraft mi vzali… Tak jsem dělal Minecraft.

Jak se stalo, že teď tě programování počítačových her živí?

Stalo se to právě díky té diplomové práci. Asi rok po tom, co jsem ji dokončil a odpromoval, mě zkontaktoval můj budoucí zaměstnavatel, že ho diplomka zaujala a že chce, abych z toho udělal hru.

Jak dlouho na ní už pracuješ?

Už to budou dva roky, zatím na ní pracuju sám.

Co na tvorbě hry dá nejvíc práce?

Já nedělám hru od začátku do konce, zaměřuji se hlavně na vývoj enginu, takže nejsem schopen posoudit celý proces vývoje. Kromě toho hry jsou do jisté míry také uměleckým dílem, někdo za pět minut nakreslí na plátno trojúhelník, někdo stráví dva roky malováním realistické scény na plátno dvacet na dvacet metrů. Podobně je to i s hrami.

Daniel Čejchan (1995)

Že se stanu programátorem, věděli mí rodiče asi dříve než já, a to proto, že jsem v té době ještě ani nebyl schopen obsáhnout koncept zaměstnání. Já si to nepamatuji, ale mamka mi vyprávěla, že už když jsem byl batole, tak jsem jí sedával na klíně, když pracovala, a sloužil jsem jako hlasem aktivovaný asistent pro mačkání klávesových zkratek. S programováním jsem pak koketoval už od základní školy, nejdřív formou přetahování ikonek, později už psaní v programovacím jazyku. Takže – tak nějak jsem v tom měl jasno vždycky.

Jaké technické zázemí potřebuješ?

Počítač, monitor, míček na pohazování si a gumovou kačenku, se kterou bych konzultoval chyby ve svém kódu.

Ve hře si hraješ se světelnými efekty dne a noci, se stíny pohybujícího se slunce, počítáš s větrem v obilí, horizont tvého světa se ztrácí v „atmosférickém efektu“... Je to práce „stvořitele“, nebo tvoříš „plagiát“? Kolik času ti zabere „stvořit svět“, aby fungoval?

Některé hry se snaží co nejvíce podobat realitě, některé se zase naopak těší z prapodivných světů, kde věci fungují a vypadají úplně jinak. Naprostá většina her se však ani nechce chovat realisticky, ale správně – totiž tak, jak hráč očekává. To je ale mnohdy jinak, než jak by se věci chovaly ve skutečnosti. Ve výsledku se tedy i ty „realistické“ hry nutně nesnaží kopírovat realitu, ale uspokojit zákazníka.

Kromě toho se musí dělat spousta kompromisů, realistické hry jsou samá zrcadla a kouř; kdyby se měl svět simulovat podle našich aktuálních nejpřesnějších fyzikálních modelů, tak počítače zvládnou v reálném čase simulovat snad ani ne pár atomů, natož nějaké krajinky.

Ve světě počítačů je každý programátor takový malý, omezený bůh. My opravdu můžeme říct „budiž to a to“ a tak se stane (místo „budiž“ v naší mluvě ale používáme spíš středníky). Můžeme vytvořit několik virtuálních buněk, říct jim, jak se mají chovat, vpustit je do virtuálního světa a sledovat, co se děje (jako takový jednoduchý elegantní příklad může posloužit Conway’s Game of Life). V tomto ohledu mají programátoři možnost unikátního vhledu do práce Stvořitele.

Co je podle tvých měřítek tvůj „majstrštyk“?

Za svůj „majstrštyk“ bych asi považoval funkci kopírování akordů mezi slokami pomocí počítání slabik v programu Straw Lumen.

Svůj program Straw Lumen jsi volně poskytl chválicím skupinkám sborů. Sám se ve sboru zapojuješ jako muzikant. Čím tento program pomáhá službě hudebníků?

Straw Lumen se snaží být takovou lepší alternativou programu OpenSong, který jistě spousta křesťanských muzikantů zná. Umožňuje jednak jednoduché promítání písní, powerpointových prezentací, biblických veršů, videí, obrázků apod. Má v sobě ale i editor písniček s akordy, ze kterého jdou lehce vytvářet i tištěné zpěvníky. Nejvíc hrdý jsem na funkci, která umožňuje jedním kliknutím kopírovat akordy mezi slokami. To dělá tak, že v jednotlivých verších počítá slabiky od začátku řádku a akordy se tak při kopírování vkládají na správné místo; a pokud slabiky mezi slokami nesedí, lze akordy jednoduše po slabikách posouvat pomocí klávesové zkratky.

Laik by se divil, proč počítání slabik co do obtížnosti předčí stvoření světů…

Jádro není v obtížnosti, ale právě v jednoduchosti (ono teda snažit se automaticky dělit česká slova na slabiky taky není vyloženě triviální). To je právě podstata elegance. I co se týče našeho světa, kde můžeme obdivovat rozmanitost a komplexitu stvoření – celé to lze popsat několika rovnicemi. A vědci pátrají po jedné teorii všeho, která by shrnula veškerou zákonitost zemskou do jediného, kondenzovaného budiž.

Co podle tebe dělá programátora opravdu dobrým programátorem? Musí být pro programování nějaké specifické předpoklady, bez kterých by se člověk do této profese vůbec neměl pouštět?

Pro programátora je důležité analytické a algoritmické myšlení, tedy schopnost formulovat problém a pak ho umět převést na jednotlivé počítači srozumitelné kroky. Je potřeba umět googlit a dobře rozumět anglicky – prakticky celá oblast programování je v angličtině. Dobrý programátor by také měl být líný – čím kratší (funkční) kód, tím lépe.

Kdybys jako Bůh každý den měl říct svoje „budiž“ (pondělí – světlo, úterý – voda a obloha, středa – flora, čtvrtek – hvězdy, pátek – fauna, sobota – člověk, neděle – volno), který den by byl tvým nejoblíbenějším?

Neděle. Jak jsem říkal, dobrý programátor musí být tak trochu lenoch.

Máš technické myšlení s potřebou jasně definovaných pojmů – a jsi věřící. Jak bys definoval svůj vztah s Bohem?

Boha vnímám jako velkého Pana Inženýra, který tenhle náš velký cirkus vymyslel a řídí. Tu před jeho designérskou činností uznale smeknu, tu mu ublíženě vyčtu, že člověk přece nepotřebuje nervy v zubech.

Programátor Programátor je člověk, který vysvětluje počítačům, co mají dělat. K tomu používá řeč, které počítače rozumějí, tedy nějaký programovací jazyk (např. C++, Java, C#, …). Není to ale jen otázka překladu z lidské řeči do řeči počítačů, protože často lidé ani ve své lidské řeči neumí pořádně popsat, co od počítače vlastně chtějí. Na programátorovi pak tedy je, aby problém správně formuloval a potom zapsal pomocí programovacího jazyka.

Ježíš byl tesař 2022-8: PARALELNÍ SVĚTY - Kde žiju své skutečné já?
Sdílet na facebooku Sdílet na Twitteru

Aktuální tištěné číslo

  • ČISTOTA - Nezbytnost v církvi špinavců

    2023–3

    Objednat Bránu

Podpořte nás!

Chtěli byste podpořit naši práci? Budeme rádi za jakýkoliv finanční příspěvek.

Číslo účtu: 1938904339/0800

Zpráva pro příjemce: Dar pro časopis BRÁNA

Poslechněte si Bránu

  • JAK CHUTNÁ MOC V CÍRKVI

    2022–10

Inzerce

Straw Lumen je freeware česká alternative pro OpenSong s několika dalšími funkcemi.

Rubriky

  • Téma
  • Slovo
  • Rozhovory
  • Reportáže
  • Rodina – příběhy
  • Věda
  • Hovory nad Biblí
  • Glosy
  • Ohlasy čtenářů
  • Kultura
  • iNform
  • Novinky
  • Ježíš byl tesař
  • Diskuse
  • Svědectví
  • Akce
  • Svátosti
  • P.S.
  • Zápisník
  • Ekologický speciál
  • Inspirace
  • Video
  • Povídky
  • Povídky
  • Misie
  • Okamžiky
  • Válečný deník
  • Administrace

© 2017 Rever Magazine Theme.