Editor v Cities: Skylines dokáže posloužit i k programování

Hráč ze soustavy elektráren a potrubí vytvořil funkční binární kalkulačku

18. 7. 2019
Název hry: Cities: Skylines Vývojář: Vydavatel: Datum vydání: 10. 3. 2015 Platformy: , , , , , Žánr:
Cities: Skylines

Co byste dělali v případě, že byste chtěli sečíst dvě binární čísla o čtyřech bitech? Ať je vaše odpověď jakákoli, ve srovnání s hráčem Danielem Balim je bezesporu nudná. Tento chlapík si totiž vzal do ruky Cities: Skylines a naprogramoval si “jednoduchou” binární kalkulačku. Po ukázce funkčního Pac-Mana vytvořeného ve Factoriu a v témže článku citovaném osmibitovém procesoru vytvořeném v Minecraftu vám tak můžeme předvést další bizarní výtvor lidské fantazie. Tím je mapa vytvořená v nijak modifikované základní verzi Cities: Skylines, jež má sloužit právě jako kalkulačka.

Na začátku bylo údajně prohlášení Daniela Baliho, že Cities: Skylines jsou komplexním nástrojem, v němž jdou vytvářet i logické struktury a dokonce skládat i Turingovy stroje splňující takzvanou turingovskou úplnost. Své tvrzení se rozhodl dokázat sestrojením kalkulačky určené ke sčítání binárních vstupů, a to za pomocí simulace vody, elektřiny a odpadních vod.

A odkud se vlastně bere všechna ta energie?

V článku se píše o tom, že část energie tato kalkulačka bere z odpadních vod, jako zdroj energie tedy musel Daniel Bali vedle této mapy postavit rovnou celé město, které svými splašky tento sčítací stroj zásobuje. Bez nadsázky se tedy dá mluvit o tom, že celý projekt je pravděpodobně z hlediska ekologické zátěže a celkové efektivity asi ta nejhorší kalkulačka na celém světě.

Bali využil mechaniky toho, že města ve hře vyžadují vodu a elektřinu a obě tyto veličiny jsou ve hře příhodným způsobem simulované. Vytvořit ale bylo zapotřebí nejprve funkční logické operace. K tomu posloužilo několik málo budov. Olejové elektrárny produkující elektřinu potřebují ke své funkci odpadní a čistou vodu. Vodní věže produkují čistou vodu a na závěr odpadní potrubí se odpadní vody zbavuje. Vodní věže i odpadní potrubí ale vyžaduje elektřinu. A právě tato vzájemná závislost umožňuje vybudování funkcí AND a NOT, z jejichž kombinace je nakonec celá kalkulačka sestrojena.

Vezmeme-li to popořadě, tak funkce AND vyžaduje dva vstupy a poskytuje jeden výstup. Vstupy v této hře zajistila elektřina směřující do vodní věže a do odpadní výpusti. Výstup poskytuje elektrárna, jež leží mezi těmito prvky a která reaguje na to, zda jsou oba vstupy zapnuté. Jinými slovy – funkce AND vrací hodnotu “1” za předpokladu, že oba vstupy mají tutéž hodnotu, tedy pokud jsou zapnuté. Jestliže je vodní věž či odpadní výpust vypnutá, elektrárna mlčí a výsledek se dá přeložit jako hodnota “0”. Schéma zapojení přímo ve hře můžete vidět na obrázku níže.

Funkce NOT je už z principu o něco jednodušší, jelikož vyžaduje pouze jeden vstup a poskytuje rovněž právě jeden výstup. Ve své podstatě jde o obrácení vstupní hodnoty, kdy „1“ na vstupu znamená výstup “0” a naopak. Schéma zapojení ve hře je následující: výpust odpadní vody je buďto zapnutá (“1”) a zaplaví níže položenou elektrárnu (a ta tímto vypne svoji činnost a zastaví dodávku proudu, tedy “0”), anebo je vypnutá. V takové situace elektrárna pracuje a vrací hodnotu “1”. Níže opět můžete vidět nikterak komplikované schéma tohoto konkrétního uzlu.

Princip fungování jednotlivých sekcí komplikované mapy (neboli vlastně jednoho velkého plošného spoje) je tedy v zásadě jednoduchý, provedení a nakombinování příkazů je už ale velmi složitá věc a k tomu autor jen dodal následující: „Musel jsem to několikrát předělat kvůli chybným výpočtům.“ Praktickou ukázku fungování rozsáhlé mapy jakožto celku můžete vidět v přiloženém videu a odkázat vás mohu určitě také na web Medium, kde Daniel Bali přináší popis své kalkulačky. Jedním dechem ale přiznává, že nejde o příliš efektivní stroj a tento není ani moc rychlý.

Sečtení dvou cifer o čtyřech bitech zabere úctyhodných 15 měsíců herního času, což v reálném čase znamená zhruba 20 minut. Jednou z příčin je i to, že mapa nemůže být menší, neboť napájení probíhá na základě blízkosti prvků (elektrárna poblíž vodní věže by ji automaticky zásobovala a funkcionalita by se tímto zhroutila) a že například elektrárny pomaleji reagují na odstavení přísunu surovin. Velikost mapy následně může také za menší rychlost zaplavování jednotlivých úseků buďto odpadní nebo čistou vodou, ale to jsou všechno prosté detaily. Důležitý je celek a ten je v tomto případě přinejmenším úctyhodný.

# budovatelská # real-time # strategie

Nahlásit chybu v článku

2

Napsat komentář

Mohlo by vás zajímat

Nahoru