Masarykova univerzita Fakulta informatiky
Logická hra pro rozvoj dětí s poruchou autistického spektra Bakalářská práce
Petra Ambrozková
Brno, jaro 2016
Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracovala samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používala nebo z nich čerpala, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Petra Ambrozková
Vedoucí práce: RNDr. Barbora Kozlíková Ph.D. i
Poděkování Chtěla bych poděkovat vedoucí práce, RNDr. Barboře Kozlíkové, PhD., za cenné rady a připomínky. Dále bych chtěla poděkovat konzultantovi práce, Bc. Milanovi Doležalovi, za pomoc při řešení problémů v průběhu návrhu a vývoje hry. V neposlední řadě patří moje poděkování rodině, mému příteli, spolubydlícím, všem, co mě po celou dobu studia podporovali i těm, kteří se podíleli na testování. ii
Shrnutí Cílem této práce je navrhnout a implementovat logickou hru v prostředí Unity 3D, kterou bude možné ovládat pomocí zařízení Kinect. Hra bude začleněna do terapeutického software Newron zaměřeného na podporu rozvoje dětí s poruchou autistického spektra. Návrh hry se tedy bude řídit potřebami této cílové skupiny. V práci bude popsána implementace hry a její integrace do projektu. Výsledná hra postoupí uživatelské testování zaměřené na intuitivnost a celkovou uživatelskou přívětivost.
iii
Klíčová slova autismus, Unity 3D, logická hra, Microsoft Kinect, Newron, testování, terapeutický software
iv
Obsah 1 2
Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terapeutický software Newron . . . . . . . . . . . . . . . . 2.1 Děti s poruchou autistického spektra . . . . . . . . . . . . 2.2 Hra u dětí s PAS . . . . . . . . . . . . . . . . . . . . . . 3 Použité technologie . . . . . . . . . . . . . . . . . . . . . . . 3.1 Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Charakteristika Unity . . . . . . . . . . . . . . 3.1.2 Podporované programovací jazyky . . . . . . . 3.2 Autodesk 3ds Max . . . . . . . . . . . . . . . . . . . . . 3.3 Microsoft Kinect . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Technologie . . . . . . . . . . . . . . . . . . . . 3.3.2 Microsoft Kinect pro Windows SDK . . . . . . 4 Návrh hry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Princip hry . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Existující řešení . . . . . . . . . . . . . . . . . . . . . . . 4.3 Vzhled hry a hlavního charakteru . . . . . . . . . . . . . . 4.4 Návrh úrovní obtížnosti . . . . . . . . . . . . . . . . . . 4.5 Vliv hry na děti s poruchou autistického spektra . . . . . . 5 Implementace . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Struktura projektu . . . . . . . . . . . . . . . . . . . . . 5.2 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Tvorba jednotlivých úrovní . . . . . . . . . . . . . . . . . 5.4 Začlenění hry do projektu Newron . . . . . . . . . . . . . 5.4.1 Ovládání hry pomocí MS Kinect . . . . . . . . 6 Testování hry . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Testování prostřednictvím počítače . . . . . . . . . . . . . 6.1.1 Výsledky testování běžnými uživateli . . . . . 6.1.2 Výsledky testování osobami se zaměřením na oblast psychologie . . . . . . . . . . . . . . . . 6.2 Testování prostřednictvím Microsoft Kinect . . . . . . . . 6.2.1 Výsledky testování . . . . . . . . . . . . . . . . 6.3 Úpravy hry na základě uživatelského testování . . . . . . . 7 Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Přílohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
1 3 4 5 8 8 8 9 9 10 11 12 13 13 13 14 16 18 19 19 20 22 22 25 27 27 28
. . . . . . .
28 29 29 30 32 33 36 v
A.1 Tvorba jednotlivých úrovní hry . . . . . . . . . . . . . . . . 36 A.2 Dotazníky . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
vi
1 Úvod „Hra je různorodé a komplexní chování, které hraje v životě zdravého dítěte i dítěte s postižením klíčovou úlohu. Rozvoj hry a vývoj dítěte v jiných oblastech probíhají současně a jsou vzájemně propojeny. Jakékoliv narušení zdravého vývoje dítěte se zákonitě projeví i na jeho herních dovednostech a způsobu hry.“[1] Při péči o děti s poruchou autistického spektra (PAS) je nutné vždy pečlivě zvážit jejich specifika chování. U každého jedince se tato porucha projevuje velmi individuálně a je vhodné veškeré aktivity přizpůsobit jeho potřebám. V oblasti her je nezbytné se těmto dětem obzvláště věnovat. Musí se naučit mít chuť si hrát a také si osvojit základní herní dovednosti. A vždy to nemusí být jednoduchá úloha, protože pro práci s autistickými osobami neexistuje žádný přesný návod. Mnohdy může být náročné tyto děti hrou zaujmout, udržet si jejich pozornost. Právě za účelem rozvoje dětí s poruchou autistického spektra vznikl terapeutický software Newron ve spolupráci Fakulty informatiky MU a Psychologického ústavu Filozofické fakulty MU. Cílem bakalářské práce bylo navrhnout a vytvořit logickou hru pro rozvoj dětí s poruchou autistického spektra. Hra vytvořená v rámci této bakalářské práce byla navržena s ohledem na potřeby této cílové skupiny. Hra musela splňovat základní požadavky, jako je dobrá hratelnost, intuitivnost ovládání, či celková uživatelská přívětivost. U autistických dětí je navíc potřeba dbát na to, aby pro ně hra nebyla návyková. Práce je členěna do sedmi kapitol. Po úvodní kapitole následuje krátký popis projektu Newron. V rámci této kapitoly jsem se zaměřila také na stručný popis charakteristiky dětí s poruchou autistického spektra. Zmiňuji způsob, jakým tyto děti vnímají hru, jak jsou schopny jí porozumět a jak je hra může rozvíjet. Další kapitola seznamuje čtenáře s použitými technologiemi. Pro implementaci jsem využila velmi rozšířenou herní platformu Unity, která je použita i pro vývoj celého projektu Newron. Dalším použitým nástrojem byl 3ds Max od společnosti Autodesk, který sloužil k vytvoření jednotlivých herních objektů. V neposlední řadě je nutné zmínit zařízení Kinect od firmy Microsoft. Právě toto zařízení bude dětmi s PAS nejvíce používáno pro ovládání vytvořené hry. Čtvrtá kapitola už je zaměřena na návrh 1
1. Úvod hry a v páté kapitole je popsána její implementace, včetně popisu začlenění hry do projektu Newron. Předposlední kapitola se věnuje již vlastnímu uživatelskému testování, jednak osobami se zaměřením na oblast psychologie, tak i běžnými uživateli (v mém případě studenty). Na závěr je shrnut výsledek práce, její přínosy a možná rozšíření do budoucna.
2
2 Terapeutický software Newron Projekt Newron se zabývá problematikou, jak může hraní her s využitím MS Kinect podpořit specifické oblasti vývoje a zrání u dětí s poruchou autistického spektra a jaký to pro ně bude mít reálný přínos v jejich běžném osobním (školním, pracovním či společenském) životě. Součástí projektu je rovněž osvětová činnost (o PAS, ADHD1 apod.) a podpora dětí a dospívajících ve využívání informačních technologií tím nejvhodnějším možným způsobem (tedy nejen pro hru, ale jako nástroj pro osobní i sociální sebe/rozvoj) [3]. Newron je počítačová aplikace, která se skládá ze sady miniher rozdělených podle toho, kterou oblast u dětí rozvíjí. Pomocí her je možné trénovat motorické, kognitivní a komunikační dovednosti. Newron je šířen pod svobodnou licencí a je možné si jej stáhnout zdarma z oficiálních stránek Newronu (http://www.newron.cz). K dispozici je již několik verzí aplikace ke stažení. Je možné si zvolit verzi pro telefony či tablety s operačním systémem Android. Podporovány jsou zařízení s operačním systémem Android verze 4.1.2 nebo novější a jsou obsaženy všechny moduly, které nevyžadují snímač Kinect. Další možností je verze pro počítače s operačním systémem Windows. Zde je na výběr ze dvou variant a to kompletní balík nebo pouze modul řízené sociální interakce. Mimo to jsou dostupné i zdrojové kódy včetně dokumentace. Odbornými garanty projektu jsou PhDr. Pavel Humpolíček, Ph.D. (Psychologický ústav Filozofické fakulty MU), RNDr. Barbora Kozlíková, Ph.D. a Mgr. Jiří Chmelík, Ph.D. (Katedra počítačové grafiky a designu Fakulty informatiky MU) [4]. Nová verze Newron 2.02 vydaná na začátku března v roce 2016 se oproti té původní změnila především po vizuální stránce. Velkou změnu je možné vidět v menu aplikace. Nabídka her už není stylizována do podoby mozku, kdy tematický výběr her probíhal formou volby jednotlivých mozkových laloků. Nyní je menu rozděleno do čtyř oblastí přístupných pomocí ikon. Aktuální podoba menu je zachyce1. ADHD – jedná se o anglickou zkratkou neurovývojové poruchy s název Attention Deficit Hyperactivity Disorder, neboli hyperaktivita s poruchou pozornosti. V českém odborném tisku se setkáme s názvem hyperkinetická porucha [2]. 2. Původní verze NEWRON 0.97 byla vydána v roce 2014 [5].
3
2. Terapeutický software Newron
Obrázek 2.1: Aplikace Newron [5] – aktuální podoba hlavního menu hry. na na obrázku 2.1. Na obrázku 2.2 je možné vidět dva snímky z her projektu Newron – Emoce a pexeso Siluety. Newron je téměř jazykově nezávislý. To znamená, že se v aplikaci nevyskytují žádné psané texty (kromě již zmíněné minihry Emoce). Komunikace s uživatelem probíhá vizuálně, formou obrázků, piktogramů a animací. Přesně tato forma je pro děti s PAS nejvhodnější. Více je tato problematika rozebrána v sekci 2.2. Celou hrou uživatele provází postava Newronka, kterou je možné vidět na obrázku 2.3. Přes něj je možné se dostat k animované nápovědě, občas hráči zamává, popřípadě zareaguje na vítězství nebo prohru ve hře.
2.1 Děti s poruchou autistického spektra Autismus (porucha autistického spektra, PAS) je vývojové postižení známé jako kvalitativní vada komunikace, sociálních vztahů a představivosti. Na počátku tohoto postižení nacházíme dysfunkci mozku. Není možné přesně definovat tuto mozkovou vadu. Samotné vyšetření mozku neukazuje na autismus, ale při pozorování osob s autismem 4
2. Terapeutický software Newron
(a) Emoce
(b) Siluety
Obrázek 2.2: Aplikace Newron [5] – minihra Emoce, pexeso Siluety (přiřazování siluet k původnímu obrázku). se projeví tato vada zřetelněji. Osoby s autismem mají kognitivní styl odlišný od osob bez poruchy autistického spektra. Zpracovávají podněty a informace jiným způsobem. Tento odlišný kognitivní styl je typický všem autistickým osobám, ať už mají přidruženou mentální retardaci či nikoliv. Je charakteristický tím, že autistické osoby mají větší potíže rozeznat souvislosti mezi různými podněty. Velmi často vnímají různé části a prvky vjemu a nevidí ihned vazbu mezi nimi. Osoby s autismem vidí věci odlišně. Pro ně je svět rozdělen na různé fragmenty existující samy o sobě. Tento odlišný kognitivní styl (nazývaný jako nedostatek centrální koherence) vede k potížím na úrovni komunikace a sociálních vztahů, k jisté strnulosti myšlení a k omezení repertoáru zájmů a chování [1, s. 11-12].
2.2 Hra u dětí s PAS „Hra je pro zdravé dítě přirozená jako dýchání. Většina dětí dává přednost společnosti jiných před samotou. Už miminka preferují lidský hlas před jinými zvuky a lidský obličej před obrázky či předměty. Děti s autismem tyto vrozené priority postrádají. Pomocí hry se rozvíjejí poznávací schopnosti dítěte, od primitivního smyslového zkoumání okolí přes jednoduché repetitivní činnosti až k cílevědomému a účelovému řešení problémů se znalostí fyzikálních a funkčních vlastností předmětů. Sociální vztahy se vyvíjejí od uvědomění si sama sebe jako součásti určitého společenství přes hru vyžadující spolupráci s vrstev5
2. Terapeutický software Newron
(a) Newronek
(b) Odměna za úspěšně dokončenou hru.
Obrázek 2.3: Postava průvodce hrou. Převzato z [6]. níky až po aktivní účast ve složitých společenských vztazích. Hry jsou modelem pozdějších skutečných situací života ve společnosti.“ [7, s. 5] Autismus patří do pervazivních vývojových poruch, to znamená, že jsou narušeny všechny oblasti vývoje dítěte, tedy i oblast herních dovedností. Někteří autoři odborných publikací předpokládají, že dítě s autismem poznává svět odlišným způsobem než dítě zdravé, což může ovlivnit pozdější herní dovednosti hlavně v předstírané hře. Těžce postižené děti s autismem často zamrznou na stupni manipulační3 či kombinační hry4 . Tyto děti dávají přednost smyslovému vnímání, olizují hračky, mačkají kousky látky apod. Často se zaměří pouze na specifickou část hračky. V případě kombinační hry se děti s autismem věnují opakujícím se kombinacím, nevyužívají hraček kreativním způsobem, nezkoušejí nové a nové kombinace her [7, s. 6]. 3. Manipulační hra – jednoduchá manipulace s předměty (žmoulání, bouchání, házení s hračkou). Vztah příčina-následek hry je pro dítě zřejmý a jednoznačný (dotkne se chrastítka – ozve se zvuk) [7]. 4. Kombinační hra – vyžaduje schopnost jednoduchým způsobem smysluplně využívat předmětů a chápat určité souvislosti (kostičky se dají stavět na sebe, předměty zapadají do otvoru předlohy) [7].
6
2. Terapeutický software Newron Při návrhu her pro děti s PAS je dobré se zaměřit na tyto dvě zásady. Je vhodné používat alternativní komunikační systém. Pokyny, posloupnost jednotlivých kroků či pravidla znázorňujeme obvykle vizuálně (nápisy, piktogramy, předměty). Stejně jako zdravé děti i děti s autismem jsou rády úspěšné. Přizpůsobíme tedy pravidla hry jeho vývojové úrovni. Je potřeba chválit dítě nejen za každý úspěch, ale i za nepatrnou snahu zapojit se do hry. Je tedy nutné brát v potaz následující příčiny problémů v herních dovednostech a počítat s nimi při návrhu a vývoji her [7, s. 13-14]: • Dítě má problém s organizací hry. Hra není dostatečně strukturovaná, dítě nevidí začátek a konec hry, popřípadě nechápe posloupnost jednotlivých kroků. • Dítě používá hračky jiným než obvyklým způsobem. • Dítě nechápe symboly (někdy chybí schopnost chápat symboliku nebo funkčnost hry). • Dítě neumí napodobovat, proto je někdy potřeba fyzického vedení, pouhá demonstrace nestačí.
7
3 Použité technologie Tato kapitola představuje hlavní technologie, které byly při vývoji hry použity. Jedním z klíčových nástrojů při implementaci bylo vývojové prostředí Unity. Hlavním důvodem pro tuto volbu je fakt, že celý projekt Newron vznikl právě v tomto vývojovém prostředí. V rámci hry bylo potřeba vytvořit i několik 3D objektů, aby hra nebyla příliš jednotvárná, byla zajímavější. Pro tento účel byl použit software pro 3D modelování 3ds Max od Autodesku. Jelikož je Newron vyvinut především pro ovládání pomocí zařízení Microsoft Kinect, bylo po dokončení vývoje hry potřeba seznámit se s tímto zařízením a s principy vývoje her právě pro Kinect. Začlenění do projektu Newron a uzpůsobení hry pro ovládání pomocí zařízení Kinect je popsáno v páté kapitole zabývající se implementací hry.
3.1 Unity Dříve byly herní enginy většinou velmi drahé, neflexibilní, komplikované a určené zejména pro velká studia nebo opravdu zkušené programátory. Poté byl ale představen herní engine Unity [8], který velmi ovlivnil oblast vývoje her. V Unity vznikla spousta známých her, pro představu například Assassin’s Creed: Identity, Battlestar Galactica Online, Hearthstone: Heroes of Warcraft, Angry Birds a mnoho dalších. V následující podkapitole jsou shrnuty základní informace o tomto enginu. 3.1.1 Charakteristika Unity Vývojové prostředí Unity od společnosti Unity Technologies je určeno pro tvorbu 2D i 3D her pro různé platformy, jako například Windows, Mac, Linux, Android, iOS, Windows Phone, Xbox, PlayStation a další. Nabízí uživatelsky přívětivé rozhraní pro správu obsahu hry a samotný vývoj. Aktuální verzí je Unity 5 (konkrétně Unity 5.3.4). Tato verze přinesla spoustu vylepšení a oprav chyb. Unity je poskytováno ve volně dostupné verzi (Personal Edition) a ve verzi pro profesionální vývoj s pokročilejšími funkcemi (Professional Edition). Newron byl 8
3. Použité technologie kompletně navržen v rámci bezplatné verze, tudíž i celá aplikace je nabízena zdarma, včetně volně dostupných zdrojových kódů. Unity disponuje velmi obsáhlou a kvalitní dokumentací. Součástí jsou praktické příklady většinou ve dvou jazycích – C# a JavaScript, tutoriály i ukázkové hry. Dalším pozitivem je repositář přímo od Unity Technologies (tzv. AssetStore), nabízející téměř vše potřebné pro vývoj her [9]. Je zde možné nalézt jednak placené, ale také volně stažitelné 3D modely, skripty, textury a materiály, různá rozšíření pro editor, hudbu a v neposlední řadě také kompletní projekty. 3.1.2 Podporované programovací jazyky Unity podporuje tři vysokoúrovňové jazyky pro skriptování herních mechanik. Jsou jimi UnityScript, C# a Boo. Všechny tyto jazyky jsou objektově orientované a jsou mezi sebou kompatibilní. UnityScript, známý také jako JavaScript pro Unity, je vhodný i pro začátečníky. Jazyk Boo má velmi podobnou syntaxi jazyku Python, takže může být vhodný právě pro ty, kteří mají předchozí zkušenosti s tímto jazykem. Ze zmíněných jazyků je však nejméně používaný pro vývoj v Unity, tudíž je složitější najít tutoriály či ukázkové příklady použití. Při implementaci hry byl pro skriptování zvolen jazyk C#. Tento jazyk je vyvinut firmou Microsoft a je založen na jazycích C++ a Java. Oficiálním vývojovým prostředím je Microsoft Visual Studio přímo od společnosti Microsoft. Ta navíc poskytuje Express edici, která je ke stažení zdarma, a to i pro komerční účely. Jedním z důvodů volby jazyka C# byla jednak podobnost syntaxe s jazykem Java (předchozí zkušenosti s tímto jazykem), ale také fakt, že se jedná o nejvíce podporovaný a používaný programovací jazyk pro vývoj v Unity.
3.2 Autodesk 3ds Max V rámci hry bylo potřeba vytvořit několik jednoduchých objektů, které doplní použité základní objekty nabízené přímo Unity. Pro tvorbu těchto 3D modelů byl použit software 3ds Max od společnosti Autodesk. Jedná se o nástroj specializovaný na tvorbu 3D grafiky, animací a vizualizací. Pomocí rozsáhlé sady modelovacích nástrojů, editoru materiálů, textur a dalších nástrojů lze vytvářet složité 3D modely, 9
3. Použité technologie propracované herní charaktery či detailní vizualizace interiérů a budov [10]. Součástí 3ds Maxu jsou také zabudované nástroje určené pro renderování. Jedním z nich je engine Autodesk Raytracer Renderer, pomocí kterého lze získat téměř fotorealistické obrázky a videa. 3ds Max disponuje spoustou modulů, například Character Studio pro tvorbu pohybů a animací charakterů, z oblasti simulace a efektů je to MassFX zajišťující fyzikální reakce těles nebo třeba modifikátor vlasů a srsti (Hair And Fur Modifier). 3ds Max je psaný v jazyce C++ a je určen pro platformu Microsoft Windows. Má vestavěný skriptovací jazyk MaxScript. První verze vznikaly ještě pod názvem 3D Studio a byly programovány pro platformu DOS. S vývojem technologií jej autoři přepsali pro platformu Windows a změnili název na 3D Studio MAX. Nová verze programu nyní vychází každý rok většinou na jaře a v názvu má vždy nadcházející rok. Aktuální, již devatenáctou verzí je tedy Autodesk 3ds Max 2017. Licence na tento software jsou prozatím placené. Výjimkou je však studentská licence, která poskytuje tento produkt zdarma, popřípadě omezená zkušební verze programu pro vyzkoušení. Oficiální stránky 3ds Max1 poskytují další informace, tutoriály, dokumentaci a podporu komunity na oficiálním fóru [11]. Krátký popis tvorby hlavního herního charakteru je uveden ve čtvrté kapitole zaměřující se na návrh hry.
3.3 Microsoft Kinect Jak bylo zmíněno v úvodu kapitoly, pro ovládání herního prostředí v projektu Newron bylo zvoleno jako hlavní zařízení Kinect. Postupem času s vývojem tohoto pohybového senzoru přestal být Kinect používán výhradně jen v herním průmyslu, ale díky jeho snadné dostupnosti a nízké ceně se rozšířil i do počítačových věd, elektronického inženýrství, robotiky a dalších odvětví, kde se odborníci snaží využitím senzorové technologie vyvinout kreativní způsoby interakce se stroji či vykonávání dalších činností, od pomoci dětem s autismem po asistenci doktorům na operačních sálech [12]. 1. http://www.autodesk.com/products/3ds-max/overview
10
3. Použité technologie 3.3.1 Technologie Snímač Kinect je fyzické periferní zařízení vybavené technologií rozpoznávání vzdálenosti, vestavěnou barevnou kamerou, infračervenou (IR) kamerou a několika mikrofony, které dokáží sledovat polohu, pohyby a hlasy lidí. Je možné s ním vytvářet a nasazovat interaktivní desktopové aplikace nebo aplikace pro Windows Store. Snímač Kinect pro Xbox One je možné připojit k počítači nebo tabletu pomocí adaptéru Kinect pro Windows [13]. Kinect poskytuje přirozené uživatelské rozhraní (Natural User Interface – NUI). Slovo přirozené znamená, že uživatel k interakci s počítačem nemusí používat žádné umělé zařízení, pouze své tělo, gesta, či hlas. Jedná se o vyspělou úroveň komunikace člověka s počítačem. Ovládání je založeno na standardním chování člověka v reálném světě. Podstatná je vysoká míra intuitivnosti a co nejnižší požadavky na technické znalosti uživatele. Tyto dvě vlastnosti jsou žádoucí právě při interakci s autistickými dětmi. Ovladače zařízení Kinect jsou schopny analyzovat hloubkovou mapu a identifikovat na ní polohu jednotlivých segmentů těla až šesti uživatelů. Pozice jednotlivých částí těla dohromady vytvářejí tzv. skeleton, který se již poměrně snadno zpracovává v jednotlivých aplikacích [14]. Dříve se prodávaly dvě verze zařízení, jedna pouze pro Xbox One a další speciálně pro Windows. Microsoft ale minulý rok zastavil výrobu zařízení Kinect pro Windows a nabídl tak k jediné prodávané verzi Kinect pro Xbox One adaptér pro Windows sloužící pro připojení pomocí USB 3.0 k počítači nebo tabletu [15]. Aktuální verzí je Kinect v2.0 využívající technologii Time-of-Flight [16] přinášející mnohem přesnější snímání především v oblasti obrazu. Oproti původní verzi přinesla následující vylepšení [13]: • Nejnovější typ snímače sleduje až šest celých těl (v porovnání se dvěma u původního snímače) a 25 kloubů na každé osobě (v porovnání s 20ti u původního snímače), včetně nových bodů na špičkách rukou, palcích a ve středu ramen. Vylepšeno bylo i chápání propojujících měkkých tkání a pozic těla umožňující využívat anatomicky přesnější pozice s rychlou interakcí. • Barevná kamera zachycuje video v plném rozlišení 1080p. 11
3. Použité technologie • Nové schopnosti infračervené (IR) kamery pomáhají snímači vidět ve tmě a poskytují rovněž zobrazení nezávislé na osvětlení. Nově jde navíc použít zobrazení barevné a infračervené kamery současně. • Rozšířené zorné pole umožňuje, aby kamera zachytila větší oblast scény. Díky tomu mohou být uživatelé blíž ke kameře a pořád být vidět. 3.3.2 Microsoft Kinect pro Windows SDK Sada Kinect pro Windows Software Development Kit (SDK) 2.0 je souborem knihoven od společnosti Microsoft určených pro vývoj komerčních i nekomerčních aplikací s podporou senzorového snímání. Kinect pro Windows SDK zajišťuje také podporu Unity prostřednictvím pluginu pro Unity, který nabízí rychlé vytváření prototypů pro různé platformy. Plugin je od verze Unity 5 dostupný i v bezplatné verzi (Personal Edition). Tento balíček obsahuje dvě ukázkové scény, modely, materiály a základní skripty.
12
4 Návrh hry Čtvrtá kapitola se zabývá popisem principu hry a návrhem jednotlivých úrovní obtížnosti. Dále je čtenář seznámen s vývojem vzhledu hry a také samotného hlavního charakteru. V závěru kapitoly je popsán možný vliv implementované hry na děti s poruchou autistického spektra.
4.1 Princip hry Navržená hra se typově řadí mezi logické. Ve scéně je vždy jeden hlavní objekt, který má vhodnou kombinací úkonů dopadnout na cílovou desku detekující vítězství ve hře. V cestě mezi touto cílovou deskou a výchozí pozicí hráče stojí objekty různých typů, tvarů či materiálů. Mohou to být klasické objekty, které je možné zničit kliknutím, statické objekty, které není možné odstranit vůbec, popřípadě s nimi nejde hýbat. Pro zpestření hry se také často využívají výbušné objekty. Hráč musí kroky promýšlet dopředu tak, aby bylo možné hru dokončit a aby hlavní charakter nespadl mimo cílovou desku. Je také potřeba předpokládat dopředu, co se stane, když se zničí konkrétní objekt, na jaké místo dopadne hlavní postava, popřípadě jaké budou další kroky.
4.2 Existující řešení Na principu popsaném v předešlé sekci 4.1 již vznikla spousta her a vždy se autor snaží hru nějakým způsobem ozvláštnit, například třeba grafikou nebo postavami se speciálním úkolem, které hráče provází po celou dobu hry. Pro názornou ukázku jsou zde uvedeny čtyři hry založené na zmíněném principu. Například ve hře Totem Destroyer [17], viz obrázek 4.1(a), je vždy potřeba bezpečně dostat na zem zlatou sošku z vysokého totemu složeného z různých objektů. Tato hra se dočkala i pokračování díky vysokému počtu spuštění, nyní už přes 3 miliony. Hra RedStar Fall [18], viz obrázek 4.1(b), zase sází na jednoduchou grafiku, kombinaci velkého množství geometrických objektů a s přibývající obtížností se objevují nezničitelné nebo výbušné objekty. Cílem 13
4. Návrh hry hry Baby Fish [19] na obrázku 4.1(c) je dostat jednu či více ryb zpět do moře ničením ledových kvádrů. Tristan Sinclair ve své hře Coffee Mug Block Removal [20] vsadil na 3D grafiku a software Unity. Hlavním cílem hry je dostat hrníček na stůl, aniž by se z něj vysypala kulička. Ukázka ze hry je na obrázku 4.1(d).
4.3 Vzhled hry a hlavního charakteru Vzhled hry byl sjednocen s celkovým designem software Newron. Při vývoji hra vystřídala několik podob. Na počátku vývoje hry byla hlavním objektem obyčejná kulička (viz obrázek 4.3(a)). Aby hra byla atraktivnější, kuličku nahradila postava Newronka, který také provází hráče celou hrou. Jeho zasazení do hry je možné vidět na obrázku 4.3(b). Tato volba by však mohla být pro hráče matoucí, ve scéně by totiž byla postava Newronka dvakrát. V důsledku toho vznikla ve 3ds Maxu nová postava Juniora na základě vyobrazení kreslené podoby nervové buňky, neboli neuronu, v logu aplikace Newron (viz obrázek 4.2(a)). Finální podobu tohoto herního charakteru je možné vidět na obrázku 4.2(b) a jeho následné zasazení do scény na obrázku 4.3(c). Model Juniora byl vytvořen ve 3ds Maxu. Tento software byl představen v sekci 3.2 Autodesk 3ds Max. Objekt má pohyblivé oko i víčko, které je možné animovat. Dále byla sestavena vnitřní kostra objektu použitím systému určeného přímo pro tvorbu koster objektů. Ve 3ds Maxu se jedná konkrétně o systém pro modelování kostí, tzv. Bones System1 . Prostřednictvím nástrojů tohoto systému byla postupně po jednotlivých kostech vymodelována kostra. Poté stačilo propojit kostru s celým objektem, k čemuž byl využit nástroj Skin. Při jeho aplikaci je možné si zvolit, jak bude objekt reagovat, což znamená, jak velká plocha bude modifikací zasažena [21]. V této fázi bylo již možné vytvořit sadu animací pohybujících celým tělem. Animace se objevují v průběhu hry náhodně. Pro správu animací byl zvolen nástroj Mecanim2 , který je součástí Unity. V sadě animací je například mrkání, koulení 1. V manuálu Autodesk 3ds Max 2016 je možné nalézt více informací k pojmu Bones System: http://help.autodesk.com/view/3DSMAX/2016/ENU/?guid=GUID395E6B03-C60A-457D-A4BE-ED98380CFC55. 2. Mecanim je rozsáhlý animační systém, který je poskytován přímo v Unity. Detailní popis tohoto systému je dostupný v manuálu Unity: http://docs.unity3d.com/Manual/AnimationOverview.html.
14
4. Návrh hry
(a) Totem Destroyer
(b) RedStar Fall
(c) BabyFish
(d) Cofee Mug
Obrázek 4.1: Ukázky existujících logických her. 15
4. Návrh hry
(a) Logo Newronu [6].
(b) Hlavní charakter Junior.
Obrázek 4.2: Inspirace a finální podoba hlavního charakteru minihry TotemGame. okem, různé pohyby končetinami. Po detekci vítězství ve hře Junior hráči zamává.
4.4 Návrh úrovní obtížnosti Hra je rozdělena do několika úrovní obtížnosti. Nejprve by měl hráč projít jednoduchým tutoriálem, kde je mu postupně pomocí šipky ukázán objekt, který je nutné zničit, aby mohl postoupit dále. Ostatní objekty není možné mazat ani na ně kliknout. Následuje další tutoriál, který hráče seznámí s výbušnými objekty objevujícími se ve vyšších úrovních obtížnosti. Jedná se o podobnou scénu, kde jsou některé klasické objekty nahrazeny těmi výbušnými. Po těchto tutoriálech je možné volit ze tří úrovní obtížnosti. Jednou z nejjednodušších je scéna, kde se nachází pouze dva objekty postavené na sebe. Po smazání obou objektů dopadá Junior na cílovou desku, vyčká se určitý časový interval a dítě je odměněno vítězstvím a s tím spojenými efekty. Tato úroveň již slouží k procvičení znalosti principu hry. V následujících úrovních již objekty přibývají, jsou umisťovány do složitějších pozic, objevují se i výbušné objekty. 16
4. Návrh hry
(a) První verze hry – charakterem hry je (b) Druhá verze hry, kde roli hlavního kulička, pozadí je jednoduché. charakteru zastává Newronek.
(c) Finální verze hry, kde jako hlavní charakter figuruje Junior. Doplněny nové objekty.
Obrázek 4.3: Vývoj grafického návrhu hry: prvotní návrh hry (kulička), další návrh podoby hry (Newronek), finální podoba hry (Junior). 17
4. Návrh hry
4.5 Vliv hry na děti s poruchou autistického spektra Tato hra je v projektu Newron zařazena mezi logické hry a v kombinaci s ovládáním pomocí zařízení Kinect má za úkol u dětí s poruchou autistického spektra rozvíjet motoriku, myšlení a soustředění (pozornost). Jak již bylo zmíněno ve druhé kapitole, hra slouží k rozvíjení poznávacích schopností dítěte, k cílevědomému a účelovému řešení problémů se znalostí fyzikálních a funkčních vlastností předmětů. Na základě zásad vývoje her pro děti s PAS byl použit alternativní komunikační systém. To je možné vidět například v tutoriálu, kde byla použita pro navigaci pouze šipka ukazující na daný objekt bez textového popisu. V navazujícím tutoriálu jsou zase vybuchující objekty při přejetí ukazatelem přes tento objekt zvýrazněny červeně a zobrazí se piktogram bomby. Jelikož je potřeba i děti s PAS odměňovat a potřebují vidět začátek a konec hry, vždy po dokončení úrovně se objeví efekty pro vítězství – všude se objeví barevné hvězdičky a Newronek ukáže usmívající se obličej nakreslený na bíle kartě. Tyto efekty byly implementovány při vývoji software Newron a při tvorbě nových her se používají vždy stejné, aby byl projekt jednotný. Pro autistické děti může být zpracovávání několika věcí najednou problematické, potřebují informace zpracovávat krok po kroku. Navíc v tomto ohledu potřebují čas, aby všemu porozuměli. Na základě těchto požadavků je hra právě takto navržena, jelikož dítě má dostatek času si rozmyslet, jaký je potřeba udělat další krok. Po provedeném kroku proběhne daná akce (dítě se rozhodne odstranit krychli, Junior poté dopadne například na kvádr). Nyní má dítě zase další čas na promyšlení následujícího kroku. Je nutné upozornit, že tato vlastnost nemůže být ve vyšších úrovních obtížnosti zajištěna vždy. Někdy může docházet k tomu, že při odstranění nesprávného objektu se Junior jednoduše skutálí po ostatních objektech mimo cílovou desku. Tato funkcionalita však zajišťuje hře určitou míru obtížnosti a hra tak může být zajímavější a zábavnější.
18
5 Implementace Hlavním cílem bakalářské práce bylo vytvořit logickou hru v prostředí Unity 3D, kterou bude možné ovládat pomocí zařízení Kinect. Následující kapitola se věnuje především popisu struktury projektu a vytváření jednotlivých úrovní obtížnosti. Vedle samotné hry vznikl také editor úrovní, který je blíže specifikován ve třetí sekci. Dalším z cílů práce byl popis začlenění hry do projektu Newron, kterým je zakončena tato kapitola. Součástí poslední podkapitoly je rovněž zmínka o ovládání hry pomocí zařízení MS Kinect.
5.1 Struktura projektu Celý projekt je členěn do přehledné hierarchie adresářů a podadresářů. Hlavní členění je na složky: Animations, Materials, Particles, Prefabs, Scenes, Scripts, Sprites, Textures, XmlDocs. V této podkapitole bude blíže rozvedena struktura především adresářů Scenes a Scripts. Adresář Scenes obsahuje několik scén. Hlavní a iniciální scéna při spuštění hry se nazývá TotemGameMain, kde se nachází pouze prázdný objekt s přiřazeným skriptem TGCrossroadManager. Tento skript se stará o spuštění příslušné scény podle vybrané obtížnosti. Je možné si zvolit z pěti úrovní obtížnosti. První dvě slouží pro spuštění úvodních tutoriálů. Jedná se o poměrně podobné scény: TGTutorial a TGTutorialExplosion. Tyto tutoriály jsou popsány v sekci 4.4. Další tři úrovně již mají společnou jednu scénu TGCrossroad, ve které je na základě zvolené obtížnosti načteno rozložení objektů z náhodně vybraného souboru XML z příslušné složky (Difficulty1-3). Další důležitou scénou je TGSceneEditor, která umožňuje vytvářet a editovat jednotlivé úrovně (více viz 5.2). Ostatní scény slouží pouze pro testovací účely. Pro lepší přehlednost scén v celé hře je přidána na začátek názvu scény zkratka ”TG”, která označuje, že daná scéna je součástí hry TotemGame. Tato zkratka je použita rovněž u objektů, které mají funkci manažera scény. V těchto scénách, vyjma editoru, je společné následující: umístění Juniora, kamery, desky detekující výhru i neviditelné desky detekující prohru. Ve scénách se nachází rovněž prázdný objekt TGLevelManager, 19
5. Implementace jehož skript TotemLevelManager zajišťuje spuštění hry až po kliknutí (tzn. aktivace použití gravitace u Juniora). Ve scéně TGCrossroad má tento manažer přiřazen navíc skript TotemGameLoadingManager, který zajistí již zmíněné načtení ze souboru XML. Detekce výhry ve hře je zajištěna skriptem DetectWin, který bývá přiřazen k cílové desce (GoalCube). Pokud je detekována kolize s hlavním charakterem, začne se počítat čas od začátku kolize, zobrazí se kolečko načítání, které po obvodu pomalu dorůstá s přibývajícím časem. Až je kolečko plné, spustí se efekty výhry. Čas, který je potřebný setrvat na cílové desce, je možné jednoduše měnit pomocí veřejné proměnné skriptu. Fakt, že není vítězství uznáno ihned po detekci kolize, zajišťuje hře přiměřenou obtížnost. Detekci prohry zajišťuje skript DetectLoss. V každé scéně je vždy přiřazen k objektu sloužícímu jako deska detekující prohru (LossDetection). Objekt je typu Trigger [22]. To znamená, že tento objekt nemá fyzikální vlastnosti, nechová se jako pevné těleso a umožňuje ostatním objektům propadnout skrze něj. Pokud tedy deskou detekující prohru propadne hlavní charakter, je zaznamenána tato událost a je vyhodnocena jako prohra. Hráči se zobrazí panel s možností zopakovat si hranou úroveň nebo si zvolit jinou.
5.2 Editor Mimo hlavní hru vznikl také jednoduchý editor scén, kde je pomocí grafického uživatelského rozhraní poskytnuto několik základních funkcí potřebných pro tvorbu jednotlivých úrovní hry. Na obrázku 5.1(a) je vidět celá scéna editoru, detail dostupných nástrojů editoru je zachycen na obrázku 5.1(b). Pro ukládání a načítání vytvořených scén slouží tlačítka Save a Load. Při ukládání se kontroluje, zda už neexistuje soubor s daným názvem. Rovněž není možné uložit soubor bez názvu (minimální počet je jeden alfanumerický znak). Soubory jsou poté ukládány ve formátu XML do dané složky. Při načítání scén jsou nabídnuty uložené XML dokumenty. Tento seznam je vždy aktualizován ihned po uložení nového souboru. 20
5. Implementace
(a) Pohled na scénu editoru.
(b) Detail grafického uživatelského rozhraní editoru.
Obrázek 5.1: Editor pro tvorbu a úpravu jednotlivých úrovní.
21
5. Implementace Scény je možné tvořit pomocí jednoduchých objektů. Seznam všech nabízených objektů je vytvářen z takzvaných Prefabs1 přiřazených v seznamu dostupném jako veřejná proměnná skriptu TotemEditorManager. Než je vybraný objekt vložen do scény, je možné mu přiřadit explozivní efekt. Po umístění objektu jsou umožněny další úpravy – škálovaní jeho šířky, výšky nebo obojího zároveň pro zachování poměru stran objektu (tzv. uniformní škálování). Během editace je možné všechny objekty ve scéně smazat tlačítkem Delete all objects. Při vkládání objektů do scény funguje i detekce kolizí s již umístěnými objekty – oba objekty změní barvu a nový objekt není možné umístit. Pro přesnější možnost umístění objektu je ve scéně dostupné pole zobrazující aktuální pozici objektu.
5.3 Tvorba jednotlivých úrovní Pomocí zmíněného editoru bylo vytvořeno 26 různých úrovní. Pro první úroveň obtížnosti vzniklo 10 různých typů scén, pro druhou úroveň obtížnosti bylo navrženo 8 typů scén a pro poslední třetí úroveň obtížnosti rovněž 8 typů rozvržení objektů ve scéně. Soubory XML, ve kterých je uloženo rozmístění objektů jednotlivých úrovní, jsou rozděleny do podadresářů podle obtížnosti – Difficulty1, Difficulty2, Difficulty3 v adresáři XmlDocs. První obtížnost nabízí nejjednodušší úrovně pouze o několika objektech (většinou v rozmezí 1 až 5 objektů). Ve druhé obtížnosti jsou objekty umísťovány do složitějších pozic. Je potřeba přemýšlet více dopředu, jaké budou následující kroky. Třetí obtížnost už nabízí výbušné objekty a rovněž složitější rozestavení objektů. Všechny návrhy úrovní je možné vidět v příloze A.1, kde jsou snímky všech vzniklých úrovní.
5.4 Začlenění hry do projektu Newron Jakmile byla implementována základní kostra a funkcionalita hry, mohla být hra začleněna do projektu Newron. Prvním krokem obecně 1. Prefabs jsou předem připravené objekty, jejichž instance se mohou používat napříč všemi scénami a vždy si zachovají stejné vlastnosti. V manuálu Unity jsou dostupné další informace o Prefabs: http://docs.unity3d.com/Manual/Prefabs.html
22
5. Implementace
Obrázek 5.2: Konfigurátor určený pro nastavení parametrů hry. při začleňování hry do Newronu je stažení lokální verze celého projektu. Tato verze je volně dostupná na stránkách GitHub v repositáři BrainProject [23]. Aby však bylo možné zapojit se do vývoje softwaru Newron, musí mít uživatel účet na stránkách GitHub a musí být nastaven jako člen týmu daného projektu. Důležitým krokem, který je nutný provést před začleněním hry do projektu Newron, je provedení několika změn. Nejprve je potřeba ve všech skriptech nezbytných pro běh hry nastavit jednotný jmenný prostor (tzv. namespace). Pro mou hru byl zvolen namespace s názvem TotemGame. Poté musí být přesunuty všechny složky do jednoho adresáře s názvem hry, vyjma scén. Nyní už je možné hru nahrát do repositáře projektu Newron. Složka s názvem hry se přesune do adresáře Minigames. Scény dané hry jsou umístěny ve složce s názvem hry v adresáři Scenes a podadresáři Minigames. Následujícím krokem je konfigurace hry, která se provádí ve scéně MinigamesConfiguration. Zde jsou k dispozici pouze dva prázdné objekty: Configurator a mini-games-configurations. V prvním ze zmíněných objektů (viz obrázek 5.2) se zvolí název hry, iniciální a hlavní scéna, počet úrovní, zda je vyžadován Kinect, možnost vložit 23
5. Implementace ikony a nápovědu ke hře. Nastavení je poté uloženo do objektu s názvem hry. V této chvíli je dalším důležitým krokem zpřístupnění použití prvků implementovaných přímo v Newronu. Napříč celou hrou je využívána rozsáhlá třída MGC (Master Game Controller), označována také jako globální herní manažer. Pomocí volání této třídy je možné například používat efekty při výhře a prohře, znovu načítat scény, přistupovat ke zvolené obtížnosti hry a poté načítat danou scénu. Pro programátory a vývojáře byly vytvořeny Wiki stránky projektu na GitHub [24]. Nachází se zde informace o projektu, o MGC, rady pro správné vytvoření dokumentace zdrojového kódu nebo pro korektní pojmenování tříd, metod a dalších. Pro hru TotemGame byly důležité následující třídy a metody [24]: • MGC – Master Game Controller řídí chod celé aplikace. Jedná se o takzvaný Singleton, což je návrhový vzor, který zajišťuje, aby v celém programu běžela pouze jedna instance dané třídy. Tato instance je dostupná ve všech scénách a je perzistentní. • MGC.Instance – K třídě MGC je poskytován jeden globální přístupový bod, tím je MGC.Instance. Při startu není dostupná žádná instance MGC, ta se vždy vytvoří až při prvním spuštění celé hry. • MGC.Instance.sceneLoader.LoadScene("name-of-scene") – Metoda s názvem LoadScene zajistí načtení zvolené scény. Jako parametr metody je potřeba uvést název požadované scény. • MGC.Instance.selectedMiniGameDiff – Vrátí hodnotu zvolené úrovně obtížnosti. Stupně obtížnosti jsou v rozmezí od 0 po maximální hodnotu zvolenou v konfigurátoru MinigamesConfiguration. 24
5. Implementace • MGC.Instance.getMinigameStates().SetPlayed("name", MGC.Instance.selectedMiniGameDiff) – Volání této metody zajistí, že bude úspěšně dokončená úroveň označena jako splněná ve scéně výběru obtížnosti. • MGC.Instance.WinMinigame() – Metoda je volána po detekování výhry, v mém případě pokud se hlavní charakter na cílové desce udrží stanovenou dobu. Tímto voláním se spustí vítězné efekty (konfety). Newronek ukáže veselý obličej na bílé kartě. Poté jsou stejně jako v případě prohry zobrazeny ikony pro opakování úrovně a ikony pro návrat do menu. • MGC.Instance.LoseMinigame() – Metoda po prohře zajistí zobrazení ikony pro opakování úrovně a ikony pro návrat do menu. Newronek navíc ukáže smutný obličej na bílé kartě. Zmíněné metody stačí zavolat na příslušném místě ve vlastním zdrojovém kódu a hra poté bude působit jednotně vzhledem k celé aplikaci Newron. 5.4.1 Ovládání hry pomocí MS Kinect Software Newron sestává ze sady her, kdy některé je možné ovládat pouze pomocí Kinectu, další jsou vhodné spíše pro použití na počítači nebo mobilním zařízení s operačním systémem Android. U některých her je ovládání přijatelné oběma zmíněným způsoby, stejně jako u implementované hry TotemGame. Jelikož hra nevyžaduje speciální ovládací prvky (potřebné je pouze kliknutí), nebylo potřeba zdrojový kód upravovat k ovládání pomocí zařízení Kinect. Základní pohyb kurzorem a kliknutí bylo již vyřešeno při návrhu software Newron. Pokud je tedy hra součástí celé aplikace, není vyžadováno speciální ovládání (například pohybem celého těla) a je používán globální herní manažer, je ovládání pomocí Kinectu automaticky dostupné. 25
5. Implementace K ovládání hry Kinectem bylo potřebné tedy pouze následující hardwarové a softwarové vybavení [25]: • Technické vybavení – snímač Microsoft Kinect for Windows, – procesor: Dual-core 2.66 GHz nebo novější, – paměť RAM: alespoň 2 GB, – grafická karta s podporou DirectX 9.0, – USB 3.0 pro nový Kinect. • Programové vybavení – operační systém: MS Windows 7 nebo novější (pro novou verzi Kinect MS Windows 8 a novější), – software Microsoft Kinect for Windows SDK (při testování použit Kinect for SDK v2.0).
26
6 Testování hry Aby hra mohla být úspěšně přijata uživateli, je vhodné ji před vydáním nechat otestovat. Takovéto testování může často zachytit nedostatky hry, upozornit na chyby či nesrozumitelnost ovládání. Posledním z cílů práce tedy bylo postoupení hry uživatelskému testování, které bylo zaměřeno zejména na intuitivnost ovládání a celkovou uživatelskou přívětivost.
6.1 Testování prostřednictvím počítače Testování proběhlo nejen osobami se zaměřením na psychologii, ale i běžnými uživateli různé věkové kategorie. Celkově se testování na počítači za použití myši zúčastnilo 16 osob, z toho 4 osoby se zaměřením na oblast psychologie. Pro tyto testovací účely byla vytvořena zjednodušená verze hry tak, aby byla spustitelná v internetovém prohlížeči. Konkrétně vznikly dvě varianty, jedna sestavena pro platformu Web Player [26] a druhá pro platformu WebGL [27]. Obě varianty jsou spustitelné v prohlížečích Mozilla Firefox a Internet Explorer. Testovací verze obsahuje popořadě následující: • Jednoduchý tutoriál se základními objekty. Hráč je naváděn šipkami. • Navazující tutoriál, kde je hráč seznámen s výbušnými objekty. Opět je uživatel naváděn šipkami. • Dvě ukázky složitějších úrovní. • Odlišná barevná varianta hry. Odlišení výbušných objektů je výraznější (objekty jsou permanentně zbarveny, ne pouze při umístění kurzoru nad daný objekt). Zpětná vazba od uživatelů byla zajištěna pomocí krátkého dotazníku. K tomuto účelu bylo využito služby Formuláře od společnosti Google1 . Zúčastnění byli dotazováni, zda je pro ně hra a její cíl srozumitelný, jak obtížné bylo ovládání hry, zda byl hráč ve všech úrovních 1. https://www.google.com/intl/cs_cz/forms/about/
27
6. Testování hry schopen dosáhnout cíle, jaká barevnost je pro uživatele příjemnější. Celý dotazník je dostupný v příloze A.2. 6.1.1 Výsledky testování běžnými uživateli Hra byla respondenty přijata kladně. Princip hry byl téměř všem jasný ihned. Po úvodních tutoriálech princip pochopili již úplně všichni. Úroveň obtížnosti ovládání byla hodnocena na stupnici od 1 do 5, kdy 1 znamená velmi snadné ovládání a 5 velmi obtížné. Osm dotazovaných ohodnotilo ovládání stupněm 1, tři dotazovaní stupněm 2 a jeden stupněm 3. Na otázku zda bylo možné dosáhnout cíle snadno u každé úrovně většina odpověděla, že to bylo snadné. Pouze pět respondentů zmínilo, že se jim podařilo některé úrovně dokončit až po opakovaných pokusech. 6.1.2 Výsledky testování osobami se zaměřením na oblast psychologie Dotazovaní ohodnotili hru jako dobře srozumitelnou a poměrně snadno ovladatelnou. V rámci otázky ohledně srozumitelnosti hry bylo navrhnuto zdůraznění principu hry například krátkým videem, kde by bylo jasně vidět, že hlavní postava nesmí spadnout ze žlutého kvádru a musí tam rovněž vydržet po dobu uběhnutí kolečka. U otázky týkající se schopnosti dětí s PAS rozeznávat klasické objekty od výbušných jeden z respondentů zmínil, že děti s Aspergerovým syndromem nejspíše budou schopny objekty rozeznat, u dětí s přidruženou mentální retardací bude potřeba tento fakt více vysvětlit. Další z dotazovaných vyjádřil rovněž nejistotu, zda dítě s PAS bude schopné bez problému rozlišit tyto dva typy objektů. Celkově byla hra hodnocena jako uživatelsky přívětivá pro děti s PAS, se správnou mírou soutěživosti a s vhodným zpracováním. Jeden z respondentů vyjádřil však mírnou obavu, že by dítě s autismem mohlo být z počátku ze hry poněkud frustrované. Podobný názor vyjádřil i další dotazovaný. Upozorňuje na fakt, že jsou ve hře určitá místa, kdy by se nemuselo dítěti dařit na první pokus hru dokončit, což děti s PAS může trochu frustrovat. Na druhou stranu se může jednat i o pozitivní efekt, kdy by mohla hra dítě s PAS přimět k výstupu z komfortní zóny. Obtížnost hry hodnotí respondent jako přiměřenou. 28
6. Testování hry Je nutné zmínit, že tato sekce uvádí pouze teoretické předpoklady reakcí dětí s autismem na tuto hru. Realita však může být jiná. Z tohoto důvodu je v budoucím vývoji hry zahrnuto testování přímo dětmi s PAS.
6.2 Testování prostřednictvím Microsoft Kinect Laboratoř interakcí člověka s počítačem Fakulty informatiky MU (neboli HCI) se zabývá řešením výzkumných úloh z různých oblastí počítačové grafiky, haptické interakce, virtuální reality [28]. Disponuje rovněž veškerým vybavením potřebným pro tuto výzkumnou činnost, mimo jiné několika zařízeními Microsoft Kinect. Díky tomu mohla hra postoupit uživatelské testování zaměřené na ovládání hry pomocí zařízení Kinect, které proběhlo právě v laboratoři HCI, což je možné vidět na obrázku 6.1. Zúčastněným osobám byla představena plná verze hry, kde jsou dostupné oba úvodní tutoriály a poté výběr ze tří úrovní obtížnosti. Testování na zařízení Kinect se zúčastnili čtyři studenti – tři muži ve věku 21-22 let a jedna žena ve věku 22 let. Byl jim představen základní princip ovládání her pomocí tohoto zařízení. Pro všechny zúčastněné to bylo první setkání s ovládáním pomocí gest. Po dokončení testování uživatel vždy vyplnil krátký dotazník, který byl mírně odlišný od toho prvního. Otázky byly spíše zaměřeny na uživatelskou přívětivost ovládání pomocí Kinectu. Seznam otázek v dotazníku je vložen v příloze A.2. 6.2.1 Výsledky testování Na základě hodnocení testování studenty může být hra považována za poměrně přijatelně ovladatelnou pomocí zařízení Kinect. Úroveň obtížnosti ovládání byla hodnocena na stupnici od 1 do 5, kdy 1 znamená velmi snadné ovládání a 5 velmi obtížné. Tři z dotazovaných ohodnotili ovládání stupněm 2 a jeden stupněm 3. Studentům se podařilo dokončit téměř všechny úrovně. Někdy byla úroveň dokončena při prvním pokusu, v některých případech byla potřeba pokusů více. Oba dva tutoriály dokončili všichni zúčastnění. Díky testování byla odhalena jedna úroveň, kterou nebylo možné dokončit. Na základě 29
6. Testování hry
Obrázek 6.1: Testování hry na zařízení Kinect v laboratoři HCI. dotazu, zda bylo u některého typu objektu těžší jej zničit, popřípadě to bylo nemožné, jeden ze studentů upozornil na menší obtíže při odstraňování tenkého kvádru (vetšinou sloužícího jako záchytný bod, popřípadě k oddělení jednotlivých pater). Další respondent u této otázky uvedl, že všechny objekty bylo možné zničit, u těžších úrovní bylo však nutné se na hru více soustředit.
6.3 Úpravy hry na základě uživatelského testování Na základě výsledků testování bylo provedeno ve hře několik změn. Nejpodstatnější jsou následující úpravy: • Výška objektů typu kvádr, které bylo při testování na Kinectu těžší odstranit, byla mírně zvětšena. Až dalším testováním, především dětmi s PAS, se ukáže, zda byla tato úprava dostačující. V opačném případě bude výška objektů znovu upravena. • Byl odstraněn level, který nebylo možné na zařízení Kinect dokončit. Tato úroveň vyžadovala velmi rychlé reakce a to není možné u Kinectu zaručit vždy. 30
6. Testování hry • Byla změněna a zvětšena ikona bomby symbolizující výbušné objekty. Při ovládání pomocí Kinectu se ukázalo, že se bomba schovává za ukazatele (kurzor v podobě ruky). Původní černá ikona bomby byla nahrazena bílou s černým okrajem. Ikona je takto výraznější a nesplývá s pozadím. • Došlo ke změně barvy výbušného objektu a efektu při výbuchu z modré na červenou. Výbušný objekt se stal výraznějším, bude jednodušší jej rozeznat od těch klasických. Navíc nesplývá tolik s modrým pozadím. • Díky testování byl v tutoriálu odhalen jeden objekt, který bylo možné mazat. Smazání tohoto objektu však mohlo narušit průběh tutoriálu, protože u tutoriálu je vždy povoleno smazat pouze jeden předem určený objekt v každém kroku. Byla odstraněna možnost smazat tento objekt. Mimo tyto nedostatky, které však byly opraveny, pár respondentů navrhlo, aby byl ještě více zdůrazněn princip hry například krátkým videem nebo animací na začátku tutoriálu. Tato úprava bude zahrnuta v budoucím rozvoji. Forma důraznější demonstrace principu hry bude konzultována se zástupci Psychologického ústavu Filozofické fakulty MU.
31
7 Závěr Cílem této bakalářské bylo navrhnout a implementovat logickou hru v prostředí Unity 3D vycházející z principu, kdy hráč musí vhodnou kombinací úkonů docílit požadovaného výsledku. Hra by měla být součástí projektu Newron a mělo by být možné ji ovládat pomocí zařízení Kinect. Měla by především sloužit k rozvoji dětí s poruchou autistického spektra. Na závěr hra postoupí uživatelské testování. Logická hra pojmenovaná jako TotemGame byla úspěšně implementována podle zadání. Byly vytvořeny dvě ukázkové úrovně pro lepší pochopení principu hry, kde je hráč naváděn šipkou krok po kroku k úspěšnému dosažení cíle. Dále vznikly další úrovně hry, kdy podle zvolené obtížnosti jsou generovány náhodně scény z adresáře určeného pro danou obtížnost. Mimo stanovené cíle vznikl navíc také editor úrovní obtížnosti, pomocí nějž je možné si navrhnout vlastní scénu libovolným rozmístěním objektů. Scény je možné ukládat a později znovu editovat. Hra byla rovněž podle zadání otestována. Ovládání hry bylo testováno za použití myši počítače i prostřednictvím zařízení Kinect. Na základě výsledků testování bylo provedeno hned několik úprav hry. Hra byla celkově kladně přijata a označena za uživatelsky přívětivou. Mezi další možná rozšíření hry patří generátor náhodných úrovní podle uživatelem zadané obtížnosti, který by mohl zajistit větší pestrost hry. Bude potřeba vymyslet algoritmus pro náhodné umístění objektů tak, aby bylo možné úroveň vždy dokončit. Další vývoj hry bude především značně ovlivněn testováním dětmi s PAS a jejich následnou zpětnou vazbou.
32
Literatura [1] Steven Degrieck. Učím se I. náměty pro výuku dětí s autismem : od koncepce ke konkretizaci : myslet a tvořit. Vydání 1. Praha: Nakladatelství školy SPMP Modrý klíč, 2006. isbn: 8086980014. [2] ADHD: Asociace dospělých pro hyperaktivní děti. O ADHD. 2009. url: http://www.adehade.cz/o-adhd/ (cit. 03. 04. 2016). [3] Newron. Aktuální situace. url: http : / / www . newron . cz / o projektu/aktualni-situace/ (cit. 03. 04. 2016). [4] Newron. 2016. url: http : / / www . newron . cz / newron/ (cit. 02. 04. 2016). [5] Jiří Chmelík et al. NEWRON 0.97. eng. 2014. url: http://www. newron.cz. [6] Miroslava JAREŠOVÁ. „Art assets creation and animation for Newron application“. Diplomová práce. Masarykova univerzita, Fakulta informatiky, Brno, 2015. url: http://is.muni.cz/th/ 324777/fi_m/. [7] Miroslava Jelínková a Radovan Netušil. Autismus V. Hra a hračka v životě dítěte s autismem. Praha: Institut pedagogickopsychologického poradenství ČR, 2001. [8] Unity. Unity Technologies, 2016. url: https://unity3d.com/ (cit. 05. 05. 2016). [9] Unity Asset Store. Unity Technologies. url: https : / / www . assetstore.unity3d.com/en/ (cit. 05. 05. 2016). [10] 3ds Max. Autodesk Inc., 2016. url: http://www.autodesk.com/ products/3ds-max/overview (cit. 05. 05. 2016). [11] 3ds Max. Autodesk Inc., 2016. url: http://forums.autodesk. com/t5/3ds-max/ct-p/area-c1 (cit. 05. 05. 2016). [12] Zhengyou Zhang. „Microsoft Kinect Sensor and Its Effect“. In: IEEE Multimedia vol. 19.issue 2 (2012), s. 4–10. issn: 1070-986x. doi: 10.1109/MMUL.2012.24. url: http://ieeexplore.ieee. org / lpdocs / epic03 / wrapper . htm ? arnumber = 6190806 (cit. 01. 05. 2016). [13] Hardware Kinect. Microsoft, 2016. url: https : / / developer . microsoft . com / cs - cz / windows / kinect / hardware (cit. 01. 05. 2016).
33
LITERATURA [14] Pokročilé počítačové vidění. Natural User Interface. Popular: Populárně naučný portál. url: http://popular.fbmi.cvut.cz/optoel/ Stranky/Pokrocile-pocitacove-videni-4---Natural-UserInterface.aspx (cit. 01. 05. 2016). [15] Kinect for Windows Product Blog. Microsoft to consolidate the Kinect for Windows experience around a single sensor. Microsoft, 2015. url: https://blogs.msdn.microsoft.com/kinectforwindows/ 2015 / 04 / 02 / microsoft - to - consolidate - the - kinect for - windows - experience - around - a - single - sensor/ (cit. 01. 05. 2016). [16] Microsoft TechNet. Collaboration, expertise produce enhanced sensing in Xbox One. url: https://blogs.technet.microsoft.com/ microsoft_blog/2013/10/02/%20collaboration-expertiseproduce-enhanced-sensing-in-xbox-one/ (cit. 05. 05. 2016). [17] Totem Destroyer. Armor Games, 2008. url: http://armorgames. com/play/3134/totem-destroyer-2 (cit. 02. 05. 2016). [18] Redstar Fall. Armor Games, 2009. url: http://armorgames.com/ play/3420/redstar-fall (cit. 02. 05. 2016). [19] Baby Fish. Slungo. url: http : / / www . slungo . com / playgame / 1634/play_baby_fish.html (cit. 02. 05. 2016). [20] Tristan Sinclair. Coffee Mug Block Removal. url: http : / / www . superhry . cz / hra / 9751 - coffee - mug - block - removal (cit. 15. 05. 2016). [21] To Use the Skin Modifier. Autodesk Inc., 2015. url: http : / / help . autodesk . com / view / 3DSMAX / 2016 / ENU / ?guid = GUID 9596F6EF-3569-44F2-8D6C-6EB58C30BEDD (cit. 10. 05. 2016). [22] Unity Documentation. Colliders. url: http://docs.unity3d.com/ Manual/CollidersOverview.%20html (cit. 18. 05. 2016). [23] BrainProject. 2014. url: https://github.com/BrainProject/ (cit. 16. 05. 2016). [24] Ph.D. Mgr. Jiří Chmelík. How to add new mini game. 2016. url: https : / / github . com / BrainProject / UnityTemp / wiki / How to-add-new-mini-game (cit. 16. 05. 2016). [25] Newron. Verze pro PC. url: http://www.newron.cz/ke-stazeni/ verze-pro-pc/ (cit. 18. 05. 2016). [26] Web Player Deployment. 2016. url: http://docs.unity3d.com/ Manual/WebPlayerDeployment.html (cit. 19. 05. 2016). 34
LITERATURA [27] Getting Started with WebGL Development. 2016. url: http : / / docs.unity3d.com/Manual/webgl-gettingstarted.html (cit. 19. 05. 2016). [28] Human Computer Interaction Laboratory. 2015. url: http : / / decibel . fi . muni . cz / wiki / index . php / Main _ Page (cit. 19. 05. 2016).
35
A Přílohy A.1 Tvorba jednotlivých úrovní hry Snímky z jednotlivých úrovní je možné vidět na obrázcích A.1, A.2 a A.3.
Obrázek A.1: První úroveň obtížnosti – deset různých typů scén.
36
A. Přílohy
Obrázek A.2: Druhá úroveň obtížnosti – osm různých typů scén.
Obrázek A.3: Třetí úroveň obtížnosti – osm různých typů scén.
37
A. Přílohy
A.2 Dotazníky V rámci testování byl zúčastněným předkládán dotazník ve dvou verzích. Dotazník pro testování prostřednictvím počítače za použití myši obsahoval následující otázky: • Věk, pohlaví • Jak je hra a její cíl srozumitelný? • Ovládá se hra snadno? • Byl/a jste schopen/schopna dosáhnout cíle snadno u každé úrovně? • Je pro vás odlišení klasických objektů od těch výbušných dostatečné? (Pozn.: Výbušné objekty mohou být jakéhokoliv tvaru, společná je pouze barva odlišující tento objekt od ostatních.) • Je pro Vás příjemnější původní barevnost hry nebo ukázka jiné barevnosti (výrazněji barevně odlišeny výbušné objekty)? Verze tohoto dotazníku určená pro osoby se zaměřením na oblast psychologie navíc obsahovala tyto otázky: • Pochopí dítě s PAS cíl hry i bez úvodního tutoriálu? • Bude dítě s PAS schopné bez problému rozeznat klasické objekty od těch výbušných? (Pozn.: Výbušné objekty mohou být jakéhokoliv tvaru, společná je pouze barva odlišující tento objekt od ostatních.) • Celkové hodnocení uživatelské přívětivosti pro děti s PAS. Dotazník pro testování prostřednictvím MS Kinect obsahoval následující otázky: • Věk, pohlaví • Ovládá se hra pomocí MS Kinect snadno? • Byl/a jste schopen/schopna dosáhnout cíle snadno u každé úrovně? 38
A. Přílohy • Bylo u některého typu objektu těžší jej zničit, popřípadě to bylo nemožné?
39