Alt-F4 #3 - Tronpárty  04-09-2020

Napsal JD-Plays, T-A-R, Raiguard, upravil Therenas, nicgarner,
přeložil xXmirechekXx

Obsah

Vítejte u třetího dílu Alt-F4. O tomto víkendu proběhne pokus o překonání rekordu v počtu najednou připojených hráčů na jednom Factorio serveru; čtěte dál, a dozvíte se, jak se k téhle srandě přidat. Dále tu je akční zpráva o oslavách vydání plné verze hry Big Community Games, která se měla objevit již v prvním díle. Kompletně má (Therenasova) chyba. A nakonec se s námi Raigurd podělí o pohled na jeho úžasný mod. Dejme se tedy do toho!

PS: Hledáme motivované lidi, kteří by nám pomohli překládat každý díl Alt-F4. Pokud máte zájem, více informací najdete na konci tohoto dílu. Díky!

Akce: Molten Silicon JD-Plays

Víkend je tady, máte nějaké plány? Zapnete si na 25 minut Factorio, abyste si později uvědomili, že už vychází Slunce? Nebo si prostě chcete zahrát Factorio s pár kamarády?

No, v tom případě pro vás máme dobré zprávy. Tento víkend se několik přátel sejde, aby vykonali něco jednoduchého: kompletně roztavili křemík v našem serveru! Přidejte se k nám na akci Molten Silicon, kde je naším jediným cílem dostat co nejvíce hráčů najednou na jeden server, a poté vypustit raketu. Ach, a ještě mezitím roztavit procesor serveru, samozřejmě! Nejspíše se najde práce pro každého hráče, od stavby základny po genocidu na broucích, společně s ostatními Rudými plášti. Náš odvěký nepřítel bude pravděpodobně také přítomen, takže budeme potřebovat a několik Dřevorubců!

Takže pokud máte o tomto víkendu pár hodin navíc, a chcete pomoci překonat předchozí rekord, který činí 521 zároveň připojených hráčů, připojte se, prosím, na náš server v 11 dopoledne UTC tuto sobotu, 5. září. Najdete ho jednoduše, protože to bude ten největší server vůbec!

Odpočet skončil


Informace o serveru budou poskytnuty chvíli před začátkem v kanálu #information na našem Red Circuit Discordu. Pro obecnější informace, prosím, navštivte naši webovou stránku.

Nezničte nové hračky, prosím T-A-R

První Alt-F4 bylo vzrušujícím překvapením, když mé tvrdohlavé já zašlo 21. srpna na factorio.com, přestože vědělo, že tam nebude čekat žádné čerstvé FFF #361. Rozhodl jsem se, že tuto iniciativu podpořím, a nejlépe jsem tak mohl učinit rychlým jednáním. Takže tady je hlášení o jednom 1.0 “není-to-chyba”-chybovém hlášení.

Druhou nejlepší věcí po release párty v Praze by byl starý dobrý multiplayer server. Ve Factorio lobby ten pátek vzklíčilo několik oslav vydání plné verze, přičemž každá z nich hostovala čerstvé mapy se spousty inženýrů z celého světa, kteří se sešli zkonstruovat ambiciózní main busy. Discord Big Community Games se této vlny chytil nejvíce, a v maximu bylo na serveru přítomno 201 hráčů, což je dobré číslo, protože potřebujete uvařit opravdu hodně toho vědeckého sajrajtu, abyste získali tu nejlepší věc z verze 1.0. (Nápověda: Je to Spidertron!)

S požehnáním bohatých ložisek surovin a chytrými poznámkami na mapě (které popisovali barvy týmů a jejich povinnosti), se server začal podobat hyperaktivnímu kolektivu mravenců, kteří mají žvláštní instinkt pro stavbu rudy tavících sloupců. Zpráva na mapě kolem místa zrození odvedla svou práci dokonale, a zorganizovala neustále se zvětšující skupinu inženýrů. Brzy byla vystavěna vedle vědecké továrny továrna izolovaná, která zajistila “Červeným trikům” dostatek vybavení a munice. To zajistilo jak vojákům, tak stavitelům dostatečný přísun potřeb k obraně a rozšiřování továrny.

A továrna rostla. Trvalo 11 hodin vyprodukovat raketu, společně s 20 Spidertrony, obří dávkou vybavení a brnění a tunami výbušnin. Mezitím byli Bilka Bay, Italy a Lake Twinsen pokřteni, tedy alespoň podle značek na mapě, které tam zanechali ostřílení inženýři.

Jakmile se do výroby dostal Spidertron, bylo jasné, že všechny ty nohy budí nevšední dojem, který byl ale zároveň dojmem moci. Fascinující pohled na to, jak se lze pomocí dlouhých nohou jednoduše dostat přes rybníčky a stroje, brzy proměnil obyčejnou průzkumnou výpravu v test schopností naší nové hračky. Pásy začali velmi brzy některé bloumající pavouky zajímat. Společné nadšení dovedlo adminy k přidání jejich vlastního příspěvku k oslavám, a postavit tak Spidertrony ultimátnímu testu: proměnili release party na pavoučí rave. Barevné podloží bylo brzy teraformováno, takže si pavouci mohli pořádně protáhnout nohy:

Kombinace pásů, které se pohybovaly opačným směrem, a mezer v mapě donutila pavouky ke zvláštnímu, nekonečnému protažení nohou. Byl nejvyšší čas informovat vývojáře o tomto nálezu čerstvým 1.0 náhlášením chyby. Toto nahlášení se stalo nejzobrazovanějším nahlášením chyby, ale bylo brzy označeno jako duplikát: not-a-bug (“není-to-chyba”). Vývojář V453000 již totiž odpověděl na jedno z prvních nahlášení chyby v 1.0 (30 minut po vydání), aby nám objasnil, že zákaz pohybu pavouků by nebylo žádoucí, a že Spidertrony si vlastně vedly dobře. Ale fakt, že jsme “mohli” ještě neznamená, že bychom “měli”…

Nakonec byl playthrough absolutní bomba, a my všichni jsme si Spidertrona zamilovali. Je nyní jedním z nás.

Ukázka modu: Editor Extensions Raiguard

Všichni ví o modifikaci Creative Mod. Poskytuje vám mnoho různých ‘podvodných’ předmětů, které můžete použít ke zkoušce vaší továrny. Creative Mod byl venku nějaký ten čas, a lidem po ta léta dobře sloužil.

Ale přesto, pokud budete používat Creative Mod nějakou dobu, si sem a tam všimnete lagů. Čím déle budete Creative Mod používát, tím častější lagy budou. Eventuelně začne vaše hra, zatímco používáte víc a víc Creative Mod nástrojů, zpomalovat.

Před rokem a půl jsem začal na svém ‘pískovišti’ pociťovat záseky. V tu dobu jsem zrovna vydal svůj první mod, takže jsem měl s API trochu zkušeností. Ze zvědavosti jsem se ponořil do kódu Creative Modu, abych se pokusil zjistit o co jde.

Výsledkem bylo: Creative Mod byl velmi dobře udělán… na svou dobu. Mod byl vytvořen v době, kdy byla aktuální verze hry 0.13, kdy bylo modovací API mnohem limitovanější. Creative Mod dokázal přinést obrovskou spoustu užitečných věcí pomocí velmi limitovaných nástrojů. Nyní je ale API mnohem vyzrálejší a schopnější. Rozhodl jsem se využít těchto nových výhod a aktualizovat Creative Mod, a snížit tak jeho dopad na výkon.

Eventuelně jsem si ale uvědomil, že aktualizace Creative Modu by byla neuskutečnitelná. Vyžadovalo by to příliš mnoho zničujících změn, takže jsem se místo toho rozhodl vytvořit samostatný mod. Tento mod byl vydán pod názvem Infinity Mode, ale byl brzy nahrazen modem Editor Extensions, a to z mnoha důvodů.

Editor Extensions nenahrazuje herní editor map tak, jak to dělal Creative Mod a Infinity Mode — pouze ho upravuje. Tudíž EE nemá ‘podvodné’ okno jako Creative Mod a Infinity Mode. Místo toho jsou tyto funkce - a mnoho dalšího - skryto v jeho mnoha rozhraních.

Nejsilnější stránkou modu Editor Extensions je výkon — je o několik řádů rychlejší než Creative Mod. Ukážu vám několik metod, pomocí kterých jsem toho dosáhl.

Elektřina

První cesta, kterou jsem se vydal, byla ta, na které jsem musel vytvořit zdroje a zániky energie. Creative Mod toho docílil tak, že vytvořil bojlery, které pomocí skriptu naplnil elektřinou. Nyní má ale hra vestavěnou entitu, která toto dokáže automaticky: Electric Energy Interface (EEI). Tato entita dokáže magicky produkovat a spotřebovat elekřinu jen tak, a její parametry jsou konfigurovatelné za chodu.

Na EEI jsou dvě věci, které jsem chtěl zlepšit — rozhraní a priorita využití. Rozhraní EEI je funkční, ale matoucí, a entita k sobě může mít přiřazenou jen jednu prioritní spotřebu. Samozřejmě, mohu opravit první problém vytvořením vlastního rozhraní, ale problém druhý je o něco záludnější záležitost.

To, co vidíte jako infinity accumulator, je ve skutečnosti jedna z pěti možných entit, z nichž každá má jinou spotřební prioritu. V závislosti na tom, jak v rozhraní entitu nastavíte, skript rychle vyměníne entitu za jinou, která sice vypadá identicky, ale má jinou spotřební prioritu. Toto umožňuje jediné entitě produkovat, spotřebovávat a uchovávat nastavitelné množství energie (až 999 yottawattů!).

Truhly

Dalším problémem byly truhly. Creative Mod obsahuje velké množství truhel, které tvoří, duplikují nebo mažou předměty. Toho ale dosahuje pomocí skriptu, čímž dává výkonu vašeho počítače pořádnou ránu pod pás, a to jen položením několika truhel.

Ve verzi 0.16 byla základní hra obohacena o nekonečnou truhlu, která dokázala všechno tohle, a ještě víc. Funguje nastavováním nekonečných filtrů, které mají módy “alespoň”, “maximálně” a “právě tolik”. Tohle přenese tíhu na bedra hry, a přetížení skripty se sníží na absolutně nulovou hodnotu!

EE rozšiřuje nekonečné truhly přidáním logistických variant a přidáním speciálního druhu nekonečné truhly, agregátovou truhlou. Agregátová truhla je nejvíce podobná entitě creative chest — skladuje stack každého předmětu ve hře. Malý skript ji při položení nastaví nekonečné filtry, a o zbytek se postará hra. Existují také klasické a pasivně poskytovací varianty této truhly.

Používáním nekonečných a agregátových truhel můžete dosáhnout takového chování, jaké pro své plány potřebujete.

Pásy

Často potřebujete rychle dostat na pásy nějaký předmět, abyste svou stavbu otestovali. V základní hře toho dosáhnete nekonečnou truhlou a loaderem (skrytou entitou, kterou můžete získat v editoru map). Loadery jsou ale celkem jednoduché, nezvládnou například na každou polovinu pásu jiný předmět, toho byste docílili dvěmi truhlami a pomocí dvou loaderů. To jsou čtyři entity, a to neuvažujeme čas, který strávíte nastavováním truhel.

Abych vyřešil tento problém, vzal jsem si jako základ jiný mod — Miniloader. Mezi Miniloaderem a nekonečným loaderem je mnoho společných konceptů, takže tohle vysvětlení vám dá představu i o fungování modu Miniloader.

Nekonečný loader je vlastně pět entit v jednom:

Zleva doprava máme samotný loader, nekonečnou truhlu, dva zásobníkové překladače a konstantový kombinátor. Všechny tyto entity hrají svou roli v tom, že nekonečný loader funguje.

Když položíte nekonečný loader, vlastně pokládáte “kombinátorového panáka”. To je konstantový kombinátor, který je převlečen za loader. Při položení skript okamžitě zničí kombinátor a vymění ho za neviditelný. Tento kombinátor je v podstatě to, s čím interagujete, a je uložen v plánech, takže filtry mohou být zachovány. Poté je přidána entita loaderu, společně s neviditelnou nekonečnou truhlou a minimálně dvěma zásobníkovými překladači s maximální rychlostí.

Když nastavujete filtry loaderu v rozhraní, v podstatě je nastavujete neviditelným zásobníkovým překladačům, a stejně tak nekonečné truhle. Tyto překladače vyloží předměty z truhly na pás extrémně rychle, takže to vypadá, jako by se prostě objevovaly jen tak odnikud.

Naopak to platí také — pokud nastavíte loader ke konzumaci předmětů, překladače vezmou vše z pásu a vhodí to do nekonečné truhly tak rychle, že to vypadá, jako by prostě magicky mizely. Všechno tohle se děje za oponou a využívá chování základní hry. Skript “nastavuje” loader, ale od té chvíle všechno dělá hra.

Samozřejmě, abych udělal vše co nejjednodušší, existuje jen jeden předmět nekonečného loaderu, který pokládáte. Loader změní svůj typ pásu podle toho, k čemu je připojen, a uzpůsobí rychlost překladačů podle rychlosti pásů, na které vykládají. A protože pracujeme s více překladači, můžeme jiné filtry pro každou ze stran pásu.

Výsledkem je pohodlná, jednoduše použitelná entita, která produkuje i spotřebovává předměty, zatímco je extrémně nenáročná na výkon.

Režim postavy

Přestože EE je primárně myšleno k použití v editoru map, neznamená to, že ho nelze používat jakožto hráč. Použitím podvodného módu (do kterého se dostanete příkazem /cheat nebo /cheat all ), získáte přístup ke všem výše zmíněným nástrojům.

Jedním z nástrojů, které jsem výše nezmínil, je supernabité vybavení:

Použitím tohoto vybavení se stanete nesmrtelnými, budete běhat super-rychle a uvidíte ve tmě. Super-roboport, v kombinaci se super-konstrukčními roboty, vám umožňuje velmi rychle konstruovat a dekonstruovat. Výsledkem je použití božské moci EE, zatímco jste pořád ve svém pohodlném těle. A pokud někdy odstraníte EE z vaší hry, vybavení vám prostě zmizí, a zanechá vám pouze dlouhý dosah jako památku na mod, který jste mívali.

Závěr

Editor Extensions je výsledkem přes rok dlouého testování, jak základní hry, tak modů. Je zde spousta, spousta věcí, které jsem tu nepokryl - například zkratka ‘zapnout/vypnout editor’, synchronizace inventáře, nekonečné trubky a speciální testovací scénář — ale to by tento již dlouhý příspěvek ještě prodloužilo (‘děkuji za tvou empatii’, pozn. překladatele (-:). Doufám, že jste si čtení užili, a doufám, že jste se mnou nakouknuli pod pokličku modovacího API Factoria.

Vývojáři Factoria nás rozmazlují tím, co všechno nám dovolují dělat s jejich hrou, a API se zlepšuje každou aktualizací. Děkuji za přečtení, a hlavně děkuji vývojářům za to, že tohle všechno uskutečnili!

Přispívání

Vždy hledáme lidi, kteří mají něco zajímavého, co by chtěli sdílet s komunitou Factoria. Pokud jste to právě vy, prosím, připojte se na náš Discord (nebo na GitHub projekt) a začněte nyní. Téměř každé téma je vítáno, takže se nebojte přispět!

Také plánujeme tento týden zahájit komunitní překlady Alt-F4, což by rozšířilo tento projekt dále za hranice angličtiny. Už jsme tomu přizpůsobili webovou stránku, tudíž už potřebujeme jen lidi, kteří by na překladech pracovali. Pokud jste pro, připojte se na náš Discord a hledejte kanál #translation.