Možná si vzpomenete na soutěžní pořad, který vysílali v tuzemské TV a který se snažil soutěžící zaskočit otázkami z učiva 1.stupně ZŠ. Fuze4 je programovací aplikace pro Nintendo Switch určená dětem pro výuku programování, ale učit se s ní mohou i dospělí.
Co se dozvíte v článku
Ta výzva spočívá v tom, že se vám dostane do ruky nástroj, ve kterém můžete poměrně jednoduše pochopit základy programování, naučit se a pobavit se u tvorby nějaké počítačové hry, kterou si pak můžete spustit na vaší herní konzoli Nintendo Switch. Ano, čtete dobře – je to vlastně IDE speciálního programovacího jazyka navrženého pro snadnou tvorbu her a programů pro herní konzoli přímo na konzoli samotné. A nemusím zdůrazňovat, že ve světě herních konzolí se jedná o něco velmi unikátního.
IDE
Když jsem před nějakou dobou připravoval recenzi na Nintendo Switch (hardware a software) zmínil jsem, že pokud chcete vaše dítě s herní konzolí nejenom zabavit, ale i poučit, máte unikátní možnost – pořiďte si aplikaci Fuze4 Nintendo Switch od FUZE Technologies. Své počátky programování datuji do osmdesátých let minulého století, konkrétně k programovacímu jazyku Karel, později k jazyku BASIC a zejména k jeho variantě známé jako Atari BASIC. Dnešní „potěr“ má spoustu jiných možností, jak se naučit základům programování a Fuze je jedním z nich. Když se začnete zabývat tím, co je k dispozici, asi skončíte u platformy Scratch (alias Snap), SGP Baltík 3 nebo zkuste něco z Kids Codr.
My ale máme před sebou herní konzoli, se kterou se nedá nic kloudného dělat. Tedy do jisté chvíle se s ní nedalo nic kloudného dělat (pokud jako zodpovědný rodič nepovažujete neustále „paření“ za skvělý rozvoj svého dítěte), což se změnilo v srpnu 2019. To se totiž objevila první verze již zmiňované aplikace Fuze4 Nintendo Switch (dále jen F4NS). Když jsem se na konci roku 2019 pídil po tom, jak to celé funguje a jestli to má nějaký význam, poměrně rychle jsem skončil u toho, že aplikace je placená a úplně nevím, jestli chci „utratit“ skoro třicet britských liber (nebo skoro 40 amerických dolarů) za něco, co nebude úplně ono.
Začal jsem zkoumat celé podhoubí a zjistil, že jde o poměrně dobře propracovaný záměr, který čítá kompletní prostředí v konzoli, s mnoha výukovými materiály ať již v psané formě nebo i formou video tutoriálů pokrývající standardní programátorské „špílce“ typu Hello world! aplikace až po poměrně sofistikovaný návrh plošinovky. Navíc je to společnost se sídlem ve Spojením království, která část svého businessu točí na spolupráci s britskými školami, kam dodává komplety Nintendo Switch + předinstalovaný Fuze4 Nintendo Switch včetně lektorských materiálů a plné podpory a poměrně obsáhlým diskuzním fórem. Tohle mi v podstatě potvrdilo, že to nebude jen nějaká aplikace, která je jen jakýmsi experimentem s jepičím životem.
Jsem člověk poměrně zvědavý a rozhodl jsem se, že do nákupu půjdu. K mému velkému překvapení jsem po vložení aplikace do košíku zjistil, že od počátku února došlo k poměrně zásadní změně – k redukci ceny. Aplikaci tak pořídíte za fajnových skoro třináct liber (tj. necelých 400 Kč) a tohle pro mne byl ten poslední impulz.
Poznámka: Pro nákup herního/aplikačního obsahu na Nintendo Switch můžete využít klasické herní cartridge zakoupené v kamenných obchodech nebo klasických internetových obchodech s IT nebo digitální nákup skrz Nintendo e-shop. A to jak v libovolném internetovém prohlížeči na PC nebo mobilu ale i pohodlně přímo z prostředí herní konzole.
Za svých třináct liber si domů přinesete zhruba 4 GB dat, ze kterých ihned po nainstalování můžete začít tvořit. Buď úplně od začátku, nebo si můžete vzít jako základ jednu z již hotových aplikací a začít se zkoumáním zdrojového kódu.
První šťouravci hned poznamenají, že je to přece fajn, ale jak chcete na herní konzoli psát nějaký kód, když máte k dispozici jen herní ovladače, zde zvané Joy-Con? A tady se ukázala genialita tvůrců aplikace, kteří si byli vědomi toho, s jakým zařízením mají tu čest. Jakkoliv se vám to může zdát divné, ovládání aplikace je velmi dobře promyšlené. Pokud si vyndáte konzoli z docku, máte k dispozici dotykovou obrazovku a aplikace vám zobrazí virtuální klávesnici, na které můžete začít psát. Navíc jde řada funkcí ovládat i skrz ovladače!
A šťouravá duše zase začne hlodat – já nechci klepat na dotykovou obrazovku a na virtuální klávesnici! Já chci psát na klávesnici jako každý normální programátor! Navíc špatně vidím, takže výstup na monitor/TV se hodí. Teď je tedy ten správný čas podívat se na dokovací stanici, kterou u Nintenda Switch máte. Jsou na ní celkem tři USB sloty (dva přístupné zvenku a jeden schovaný v útrobách). Pokud do jednoho z nich připojíte libovolnou drátovou USB klávesnici, můžete ji použít s F4NS. A dokonce mi fungují i bezdrátové klávesnice, tedy poté co vložím jejich dongle do příslušného USB slotu. Nedokážu říct, jestli mám tolik štěstí, ale zkoušel jsem dvě a obě fungovaly. Bohužel ale nemám možnost otestovat klasickou Bluetooth klávesnici, ale papírově by také měla fungovat.
Integrovaný jazyk obsahuje funkce pro práci s 2D a 3D grafikou, ambientním osvětlením a třeba s 3D kamerou. Samozřejmostí jsou funkce pro používání a monitorování Joy-Conů. Skrz virtuální nebo fyzicky připojenou USB klávesnici můžete psát kód. Fungují klávesové zkratky a všechny moduly jsou pěkně propojené. Jednoduše vytvoříte obrázek a rovnou jej použijete v kódu. Pokud kód píšete, můžete jej spustit.
Úvodní nabídka IDE
Editor kódu (Code editor)
Tohle bude asi nejvíce používaná část aplikace. Máte k dispozici editor, ve kterém můžete psát kód. Kód je ihned spustitelný, takže výsledek vidíte bez zbytečného prodlení. Struktura jazyka je poměrně přehledná a připomíná již zmiňovaný BASIC. K dispozici je rozsáhlá programátorská příručka s řadou ukázek kódu, několik tutoriálů a pokud se podíváte na YouTube, najdete zde spoustu kanálů zabývající se F4NS.
To je asi velká výhoda toho, že je projekt dobře saturovaný v anglickém školství. Z pohledu českých dětí je to trošku komplikovanější – české materiály vůbec neexistují. A tak nějak všeobecně se o F4NS v našich končinách moc nedočtete. Možná má tento článek ambice to trochu změnit.
Média (Media)
Tohle je taková malá lahůdka – zde je k dispozici „databanka“ obrázků a zvuků pro využití ve vašich výtvorech. Zvláště pro děti je to skvělé v tom, že se úplně nutně nemusí zabývat nějakým vytvářením obsahu jako jsou pozadí, postavičky zvuky apod. Prostě si jen vyberou z dostupných věcí a začlení je do své aplikace.
Programy (Programs)
Knihovna ukázkových zdrojáků k různým hrám či demo aplikacím. Najdete zde více či méně sofistikované hotové projekty, které vám ukáží, jak s F4NS pracovat a jak psát kód. Zároveň jsou některé projekty záměrně nedodělané, abyste si je mohli dodělat a vylepšit.
Projekty (Projects)
Vaše vlastní projekty, což je vždy sada nějakého kódu a příslušných medií a map, které v kódu používáte. V poslední verzi také přibyla nová možnost – sdílení projektu s komunitou. Můžete svůj vytvořený program sdílet s ostatními.
Přátelé (Friends)
Sdílení mezi „kamarády“ je vlastně to samé, jako sdílení s komunitou, jen můžete lépe ovládat, komu a co nasdílíte. Ve starších verzích, kdy nebylo možné sdílet projekty s komunitou, to bylo jediné místo, jak sdílet nějaký kód.
Nástroje (Tools)
V rámci F4NS je k dispozici několik nástrojů, které vám pomohou s tvorbou vašeho herního obsahu. K dispozici je editor obrázků a můžete tak přímo ve Switchi upravovat grafiku, kterou použijete ve hře či aplikaci. Také je zde nástroj na správu map, tzv. Map editor. Máte možnost tak definovat jednotlivé úrovně vaší hry apod.
Nastavení (Settings)
Různá nastavení prostředí, můžete si tak F4NS trochu přizpůsobit svým potřebám.
Nápověda (Help)
Tohle je velmi komfortně zpracovaná referenční příručka. Najdete zde kompletní popis jazyka s řadou tutoriálů, které můžete zkopírovat do svého projektu a tam je upravit. Tohle je skvělé místo, kde začít. Dokumentace patří k silným stránkám celého projektu.
Má to nějaké nevýhody?
Z předchozího popisu poměrně dost čiší nadšení a myslím si, že oprávněné. V diskuzích na uživatelském fóru jsem narazil na několik názorů, které souvisely s frustrací uživatelů kolem projektu jako takového. Zmíním tedy zásadní věci. Hlavní výtkou jsou chybějící funkce. Projekt je prostě příliš mladý a vývoj probíhá za běhu a s velmi omezeným počtem vývojářů. Pochopil jsem, že jsou dva. Nejčastěji zmiňovanou věcí je to, že člověk, který si nekoupí F4NS, nemůže vaše výtvory používat.
V plánu je vytvořit něco s pracovním názvem Fuze4 Player, tj. jakýsi runtime modul, který známe u jiných projektů. S tím se snoubí i nemožnost exportu/kompilace do samostatně stojící aplikace. Pokud byste se tedy chtěli stát vývojářem a vyvíjet své hry ve F4NS, máte v tuto chvíli smůlu. Zároveň pokud nyní využijete funkci pro sdílení, sdílíte svůj zdrojový kód a další zdroje a nemáte možnost kontrolovat, co se kódem děje. A samozřejmě nelze nic komercionalizovat.
Dosti často je zmiňováno, že chybí nativní aplikace pro Windows (a o Linuxu nemluvě). Když se proberete archivem na diskuzním fóru, narazíte na ještě dvě verze Fuze – jedna pro Windows a jedna pro Raspberry Pi. Sami autoři však říkají, že je to verze historická a s tou pro Switch už nemá nic moc společného. Zároveň je z projektu jasně vidět, že byl a je prezentován jako výuková pomůcka do školství, nicméně komunita se pokouší rozšířit působnost dál, ale autoři trochu neví, jak s tím naložit.
Poznámka: Důležitá poznámka pro českou kotlinu – česká dokumentace neexistuje, nějaké odkazy na české materiály také ne. Ale na druhou stranu by neměl být problém něco vytvořit. Ale dokážete „přemluvit“ svůj vzdělávací ústav, aby jako pomůcku koupilo herní konzole?
Pokud se na F4NS budeme dívat z pohledu učební pomůcky, je to skvělý nástroj se skvělou dokumentací. O příručce už byla řeč. Její součástí jsou tutoriály. Existují i velmi pěkně provedené video tutoriály. Pokud máte potřebu se ptát, navštivte uživatelské fórum. Navíc najdete i několik kanálů na YouTube, které se F4NS zabývají. Podívejte se na kanál Fuze Arena, Switched On a zde na pořad Fuze Fridays,
Programujte z postele
F4NS je skvělý nástroj pro někoho, kdo chce pochopit základy programování. Pro někoho, kdo chce studovat kód a kdo chce vědět, jak se změna v existujícím programu promítne dále. Jak vylepšit něco existujícího. Vše zabaleno do atraktivního prostředí herní konzole. Ne náhodou jsem narazil na titulek „Kódujte pro Nintendo Switch z pohodlí postele“, což je asi poměrně trefné.
V této chvíli ale asi Fuze 4 Nintendo Switch neosloví komerční sféru, protože zatím neexistuje možnost, jak své výtvory zpoplatnit. Určitě to není tím, že by aplikace byla ještě málo vyspělá, spíše naopak (podívejte se do sekce ukázkových her). Práce je zatím ještě dost. A asi i rozhodnutí o nějakém business modelu, zatím je jednoduchý – abyste mohli aplikaci používat, musíte zaplatit. Zatím to je jediná cesta, jak se autoři dostanou k penězům.
Já osobně to beru jako skvělý nástroj, který mi umožní si pohrát se Switchem i jinak než jen pasivním hraním. A zároveň mne poměrně dost překvapuje ta lehkost, jak se toho dá s Fuze4 dosáhnout. A hledím do budoucna k tomu, zda bude možné vlastní výtvory exportovat a používat pomocí nějakého runtime modulu, což popularitu aplikace určitě zvýší.
Pokud bych si chtěl dnes zakládat firmičku se zaměřením na volnočasové aktivity dětí, Fuze4 Nintendo Switch by určitě patřilo do okruhu kandidátů na kurzy programování pro děti.