Na tomto místě bude oficiální zadání vaší práce • Toto zadání je podepsané děkanem a vedoucím katedry, • musíte si ho vyzvednout na studiijním oddělení Katedry počítačů na Karlově náměstí, • v jedné odevzdané práci bude originál tohoto zadání (originál zůstává po obhajobě na katedře), • ve druhé bude na stejném místě neověřená kopie tohoto dokumentu (tato se vám vrátí po obhajobě).
ii
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů
Bakalářská práce
Kolekce her pro zrakově postižené děti Daniel Noga
Vedoucí práce: Ing. Petr Felkel, Ph.D.
Studijní program: Elektrotechnika a informatika, strukturovaný, Bakalářský Obor: Výpočetní technika 27. května 2010
iv
Poděkování Chtěl bych poděkovat vedoucímu práce Ing. Petru Felkelovi, Ph.D. za jeho rady a pomoc při tvorbě práce, Kláře Holé a Bc. Tomáši Pastorkovi za spolupráci a připomínky, Kláře Holé a Mgr. Pavlíně Šumníkové za pomoc při organizování testování. Práce byla podpořena Grantovou agenturou Českého vysokého učení technického v Praze, číslo grantu SGS10/084/OHK3/1T/13.
v
vi
Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Neratovicích dne 27. 5. 2010
..................................................................
vii
viii
Abstract The goal of the thesis is to realize the idea of creating a game collection for visualy disabled children. The reason for creating this project is that there are only few computer programs, which would educate children by playing game. This thesis deals with one part of the project – implementation of games themself using GamLab tool and their testing. Game scenarios are created to support grafomotoric abilities, object localization abilities, fixation on object, scanning, tracking and so on. Several games were created as a result of this work: Recognize an animal (searching an animal by name), What footprints do they have (connecting footprints and animals), What sounds do they make (searching an animal by sound), Where do they live (giving animals into right living places). The games were tested on a target group of three children and after that were handed over to Jedlíčkův ústav pro slabozraké.
Abstrakt Práce má za cíl realizovat myšlenku vytvoření kolekce her pro zrakově postižené děti. Tento projekt vznikl z důvodu, že pro děti se zrakovým postižením existuje jen malé množství počítačových programů, které by je vzdělávaly formou škola hrou. Tato práce se zabývá jednou částí z tvorby projektu a to implementací samotných her v nástroji GamLab a jejich testováním. Scénáře her byly vytvořeny tak, aby podporovaly grafomotorické schopnosti, schopnosti lokalizace objektu, fixaci na objekt, scanning, tracking, atd. Výsledkem práce jsou hry Poznáš zvíře (vyhledání zvířete dle jména), Jaké mají stopy (přiřazení stop ke zvířatům), Jak mluví (vyhledání zvířete dle zvuků) a Kde bydlí (rozřazení zvířat dle místa přirozeného pobytu). Hry byly otestovány na cílové skupině, vzorku tří dětí a po úpravě předány Jedličkovu ústavu pro slabozraké.
ix
x
Obsah 1 Úvod
1
2 Popis řešeného problému a vymezení 2.1 Katalog požadavků . . . . . . . . . . 2.1.1 Funkční požadavky . . . . . . 2.1.2 Nefunkční požadavky . . . .
cílů . . . . . . . . .
BP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 3 3
3 Popis struktury BP
5
4 Rešeršní zpracování existujících implementací
7
5 Analýza a návrh implementace 5.1 Vývojová platforma . . . . . . . . . . . . . . . . 5.2 Instalátor vs. spustitelnost z aktuálního umístění 5.3 Autorun . . . . . . . . . . . . . . . . . . . . . . . 5.4 Formáty multimédií . . . . . . . . . . . . . . . . 5.5 Programová struktura . . . . . . . . . . . . . . . 5.5.1 Soubory . . . . . . . . . . . . . . . . . . . 5.5.2 Objekty ve hrách . . . . . . . . . . . . . . 5.6 Generování scény . . . . . . . . . . . . . . . . . . 5.7 Přehrávání prezentace zvířat a stop . . . . . . . . 5.8 Výkonová optimalizace . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
11 11 11 12 12 13 13 13 13 14 15
6 Realizace 6.1 Instalátor . . . . . . . . . . . . . . . 6.2 Startovní scéna . . . . . . . . . . . . 6.2.1 Použité materiály . . . . . . . 6.2.2 Scénář . . . . . . . . . . . . . 6.3 Sekce pro nastavení . . . . . . . . . . 6.3.1 Použité materiály . . . . . . . 6.3.2 Scénář . . . . . . . . . . . . . 6.4 Sekce O programu . . . . . . . . . . 6.4.1 Použité materiály . . . . . . . 6.4.2 Scénář . . . . . . . . . . . . . 6.5 Společné prvky her . . . . . . . . . . 6.5.1 Použité materiály . . . . . . . 6.5.2 Scénář . . . . . . . . . . . . . 6.6 Hra Poznáš zvíře . . . . . . . . . . . 6.6.1 Speciálně pedagogické využití 6.6.2 Použité materiály . . . . . . . 6.6.3 Scénář . . . . . . . . . . . . . 6.7 Hra Jak mluví . . . . . . . . . . . . 6.7.1 Speciálně pedagogické využití 6.7.2 Použité materiály . . . . . . . 6.7.3 Scénář . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
17 17 19 19 20 21 21 21 23 23 23 24 25 26 27 27 28 28 29 29 30 30
xi
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
6.8
6.9
Hra Jaké mají stopy . . . . . . . . . 6.8.1 Speciálně pedagogické využití 6.8.2 Použité materiály . . . . . . . 6.8.3 Scénář . . . . . . . . . . . . . Hra Kde bydlí . . . . . . . . . . . . . 6.9.1 Speciálně pedagogické využití 6.9.2 Použité materiály . . . . . . . 6.9.3 Scénář . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
32 33 34 34 35 36 36 37
7 Programová implementace 7.1 Tvorba scén v nástroji GamLab 7.2 Generování scén . . . . . . . . . 7.3 Fyzikální scéna - Kde bydlí . . 7.4 Přehrávání komentářů . . . . . 7.5 Zhodnocení nástroje GamLab .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
39 39 39 40 40 41
8 Testování 8.1 Cíle a postup testování . . . . . 8.2 Průběh testování . . . . . . . . 8.2.1 Testování s Dominikem 8.2.2 Testování s Jaroslavem . 8.2.3 Testování s Marií . . . . 8.3 Výsledky . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
43 43 43 43 45 46 47
9 Diskuse nad výsledky práce 49 9.1 Využití práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 10 Závěr Literatura53
51
xii
Seznam obrázků 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled Náhled
na na na na na na na na na na na na na na na na na na
instalátor . . . . . . . startovní menu . . . . sekci Nastavení . . . . sekci O programu . . . společné ovládání her scénu Poznáš zvíře . . scénu Jak mluví . . . prezentaci stop . . . . scénu Jaké mají stopy scénu Kde bydlí . . . instalátor . . . . . . . startovní menu . . . . sekci Nastavení . . . . scénu Poznáš zvíře . . scénu Jak mluví . . . prezentaci stop . . . . scénu Jaké mají stopy scénu Kde bydlí . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
xiii
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
17 19 21 23 24 27 29 32 33 35 55 56 57 58 59 60 61 62
Seznam tabulek 1 2 3
Průzkum trhu s edukačními počítačovými programy . . . . . . . . . . . . . . Cílová skupina edukačních počítačových programů se zaměřením na děti se zrakovým postižením . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pedagogické využití počítačových programů u dětí se zrakovým postižením .
xiv
7 8 9
1
1
Úvod
Projekt Kolekce her pro zrakově postižené děti je zaměřen na děti mladšího školního věku. Přináší výukový program, který dle průzkumů podle [1] zde chybí. Výukové hry zaměřené na lidi s určitým postižením existují, ale s počítačovými výukovými hrami zaměřenými na děti se špatným zrakem se téměř nedá setkat (dle [1]). Kolekce her pro zrakově postižené děti přináší výuku základních poznatků o zvířatech, jako je poznání různých zvířat podle jejich vzhledu, podle zvuků, která zvířata vydávají, učí asociacím stop k jednotlivým zvířatům a seznamuje děti s informacemi o prostředí, kde se jednotlivá zvířata běžně nacházejí. Velký přínos her je při reedukaci zraku. Hry jsou navržené tak, aby pokrývaly několik oblastí práce se zrakem. Patří mezi ně například lokalizace objektů, fixace na objekty, scanning, tracking a další. To vše je pokrýváno tak, aby děti se zrakovým postižením neměly s tímto problémy. Například je důležité, aby objekty se nepohybovaly moc rychle, je důležité, aby byly použity výrazné barvy, aby jednotlivé obrázky měly důrazné kontury, aby obrázky byly dostatečně veliké, atd. Pro vývoj her bylo určeno vývojové prostředí GamLab. GamLab je nástroj typu RAD (Rapid Application Development), který byl speciálně vyvinut pro tvorbu podobných her, aby řešil všechny základní potřeby a usnadňoval vývoj. GamLab řeší mnoho problémů, jako je například jednoduchost tvorby objektů ve hře (tvorby obrázků, tlačítek, přehrávání zvuků), řeší fyzikální simulace objektů, automatické proporcionální zvětšování obrázků při zvětšení herní plochy a další. GamLab také přináší integrovaný skriptovací jazyk Boo, který umožňuje snadné skriptování událostí ve hrách. Boo má jednoduchost jazyka Python (z něho vychází syntaxe jazyka) a zároveň sílu celého frameworku .NET. Projekt Kolekce her pro zrakově postižené děti je společnou prací několika lidí. Bc. Tomáš Pastorek, student závěrečného roku magisterského programu ČVUT FEL, se ve své diplomové práci zaměřil na tvorbu nástroje GamLab, nad kterým jsou hry postaveny. Nástroj byl vyvíjen po delší dobu samotné tvorby her, takže po delší dobu mohl reflektovat požadavky, které se v průběhu vývoje her objevovaly. Klára Holá, studentka závěrečného roku magisterského programu PedF UK, se zaměřila ve své diplomové práci na prozkoumání okolního trhu s podobnými programy a na následném zhotovení požadavků na hry a zasloužila se na tvorbě scénářů, podle kterých jsou hry naprogramovány. Klára Holá taktéž dohlížela na tvorbu obrázků pro hry, aby všechny splňovaly požadavky pro slabozraké děti. Mým úkolem byla samotná implementace her. Zabýval jsem se jejich programováním v nástroji GamLab. Částečně, stejně jako i Bc. Tomáš Pastorek, jsem se také podílel na tvorbě samotných scénářů ke hrám. Mým úkolem bylo také otestování vytvořených her na dětech, jak z pohledu uživatelské jednoduchosti, tak z pohledu, zda je program pro cílovou skupinu dětí vhodný. Z výsledků testování jsem sestavil návrhy pro zlepšení do budoucna.
2
1
ÚVOD
3
2
Popis řešeného problému a vymezení cílů BP
Cílem je vytvořit kolekci her primárně určenou pro děti se zrakovým postižením. Zaměřují se na výuku základních informací o zvířatech kolem nás plně v duchu Jana Amose Komenského, škola hrou. Dítě se tak bude moci seznámit se zvuky, které zvířata vydávají, se zvířecími stopami, atd. Hry mají splňovat několik podmínek pro to, aby byly vhodné pro děti se zrakovým postižením. Je to důraz na velikost obrázků, důraz na správné barvy, výrazné kontury, vyloučení textu a obezřetnost při volbě obrázků zvířat, aby si zvířata nebyla příliš podobná. Dále se objekty nesmí pohybovat příliš rychle, aby dítě se špatným zrakem nebylo dezorientované. Hry budou vytvořeny v prostředí GamLab, které bylo speciálně vyvinuto Bc. Tomášem Pastorkem pro podobné projekty. Jako jazyk pro skriptování akcí ve hrách bude použit jazyk Boo, který je integrovaný v rámci prostředí GamLab. Samotné úlohy budou mít herní scénář sestavený ve spolupráci s Klárou Holou, která se ve své diplomové práci zaměřila na potřeby dětí se zrakovým postižením.
2.1 2.1.1
Katalog požadavků Funkční požadavky
• Program musí být použitelný pro osoby se zrakovým postižením – Důraz na kontury obrázků – Důraz na správné barvy obrázků – Žádný psaný text (vyjma popisu programu) – Hry mají být navrženy tak, aby podporovaly reedukaci zraku – Celoobrazovkový režim • Hry musí zároveň vzdělávat • Centrální menu pro výběr hry • Centrální nastavení velikosti obrázků ve hrách 2.1.2
Nefunkční požadavky
• Dostatečná rychlost • Stabilita • Intuitivní ovládání • Lokální nápověda – Existence hlavního manuálu by měla být maximálně jen z formálních důvodů, případně pro uživatele, kteří se nejdříve chtějí připravit přečtením manuálu a pak začít používat
4
2
POPIS ŘEŠENÉHO PROBLÉMU A VYMEZENÍ CÍLŮ BP
5
3
Popis struktury BP • Kapitola 4 zkoumá existující výukové hry na trhu. Výsledky jsou zpracovány ve formě tabulek. • Kapitola 5 se zabývá analýzou a návrhem implementace. Popisuji zde problémy, které jsem musel řešit jak před započetím práce, tak i problémy, které jsem řešil v průběhu její tvorby. • Kapitola 6 se zaměřuje na popis realizovaných her. • Kapitola 7 popisuje samotné programování. Dále je zde základní popis nástroje GamLab a zkušenosti s ním. • Kapitola 8 se zabývá průběhem testování a výsledky plynoucí z testů. • V kapitole 9 se zamýšlím nad výsledky práce. • Kapitola 10 obsahuje závěr.
6
3
POPIS STRUKTURY BP
7
4
Rešeršní zpracování existujících implementací
Celkem bylo prozkoumáno 14 programů, výsledky rešerše jsou v shrnuty v tabulkách. V Tabulce 1 je seznam nalezených obecných edukačních programů s informací o jejich zaměření. Tabuka 2 shrnuje použitelnost těchto edukačních programů pro děti se zrakovým postižením. V Tabulce 3 nalezneme zhodnocení pedagogického využití uvedených programů. Z celkem 14 programů 3 byly shledány jako vhodné pro výuku slabozrakých dětí, 5 jich je jen částečně vhodných a 6 nevhodných. Většina je tedy nepoužitelná, takže vývoj kolekce her pro děti se zrakovým postižením je odůvodněný. Následující tabulky jsou převzaty z práce [1]
Název programu Archimedes Catch Me
Tabulka 1: Průzkum trhu s edukačními počítačovými programy Výrobce Zaměření programu LiteTool LiteTool
Kon-Zen
LiteTool
Pablo PuzzleWorld Chytré dítě
LiteTool LiteTool MultimediaART
Dětský koutek Pohádková matematika Klubíčko
Tetrasoft
Alík Didakta
Tetrasoft Silcom Multimedia Silcom Multimedia Silcom Multimedia
Méďa 99
Petit o.s.
Čeština pro nevidomé
Petit o.s.
výuka počítání do 100 výuka zacházení s myší nebo s alternativní myší, procvičování barev, čísel, písmen trénink koncentrace a myšlení s vizuálními cvičeními trénink obsluhy tlačítek puzzle hra rozvoj sluchové paměti a diferenciace sluchu, prevence a reedukace poruch učení rozvoj myšlení, koncentrace, logického uvažování procvičování základních matematických operací puzzle, omalovánky, pohádky, písně, básně dle titulu: matematika, čtení, poznávací úlohy dle titulu: matematika, přírodopis, fyzika, chemie, zeměpis, chemie, diktáty, dějepis, němčina, angličtina rozvoj smyslového vnímání, paměti, myšlení, rozvoj komunikačních schopností program pro výuku a procvičování českého jazyka
8
4
REŠERŠNÍ ZPRACOVÁNÍ EXISTUJÍCÍCH IMPLEMENTACÍ
Tabulka 2: Cílová skupina edukačních počítačových programů se zaměřením na děti se zrakovým postižením Název Cílová skupina programu děti se ZP jiná Archimedes ne děti předškolního a mladšího školního věku osoby s duševním a tělesným postižením osoby s dyskalkulií Catch Me ne osoby s duševním a tělesným postižením děti předškolního a mladšího školního věku děti začínající se učit pracovat na počítači Kon-Zen ano osoby s částečnými vizuálními poruchami osoby s poruchami čtení a pravopisu, starší osoby Pablo ne osoby s duševním a tělesným postižením děti začínající se učit pracovat na počítači PuzzleWorld ne děti s duševním a tělesným postižením Chytré dítě ne děti ve věku 3 – 7 let děti s poruchami učení a poruchami řeči Dětský ne děti ve věku 3 – 8 let koutek Pohádková ne děti 1. stupně základní školy matematika děti s lehkou mentální retardací Klubíčko ne děti se zájmem o pohádky, písně a básně Alík ne děti předškolního a školního věku Didakta ne děti školního věku Méďa 99 ano děti s postižením děti předškolního a školního věku Čeština pro ano výuka českého jazyka pro zrakově postižené nevidomé pro 5. – 9. ročník základní školy
9
Tabulka 3: Pedagogické využití počítačových programů u dětí se zrakovým postižením
Název programu
Archimedes
Pedagogické využití programu pro ZP výhody a vhodné děti úlohy částečně výuka počítání názornou formou
Catch Me
částečně
Kon-Zen
ano
Pablo
ano
PuzzleWorld
částečně
Chytré dítě Dětský koutek Pohádková matematika Klubíčko Alík Didakta
ne ne ne ne ne ne
vyhledávání a překrývání objektu vyhledávání správného tvaru a barvy zpětná vazba – ověření správnosti vyhledávání tvarů, písmen a čísel nastavení náročnosti vlastní nastavení barvy jednoduché omalovánky předlohy mají výraznou linii vyhledávání a přiřazování předmětu k obrysově stejnému obrázku
nevýhody chybí slovní instrukce ne vždy vhodné prostředí pro zrakovou práci chybí slovní instrukce ne vždy vhodné prostředí pro zrakovou práci úzké zaměření programu úzké zaměření programu pouze 3 typy úloh nevýrazné ikony pro spuštění slovní instrukce chybí slovní instrukce puzzle náročné pro zrakovou práci úzké zaměření programu
10
4 Název programu
Méďa 99
Čeština pro nevidomé
Sluníčko
REŠERŠNÍ ZPRACOVÁNÍ EXISTUJÍCÍCH IMPLEMENTACÍ
Pedagogické využití programu pro ZP výhody a vhodné děti úlohy ano vhodné obrazové materiály jednoduchost úloh úloha rozlišování tvarů užití piktogramů částečně
částečně
přehlednost, jednoduchost přehledné slovní instrukce poznávání různých oblastí
nevýhody pouze některé vzdělávací oblasti
bez obrazového materiálu malé písmo nepřitažlivost prostředí obrázky na malé ploše větší počet obrázků s detaily na stránce tmavé pozadí programu
11
5 5.1
Analýza a návrh implementace Vývojová platforma
Vývojová platforma byla určena v rámci zadání práce, přesto provedu menší rozbor možností vývoje. Jako první se nabízí možnost udělat hry v klasických vysokoúrovňových jazycích. V Javě, v C++ s pomocí frameworků Qt, GTK, nebo wxWidgets a dalších. Výhodou je rychlost a nenáročnost her, v případě multiplatformní Javy či multiplatformních frameworků jako jsou uvedené Qt, GTK či wxWidgets nezávislost na operačním systému. Nevýhodou je pracnost. I přes kvalitu frameworků, které velkou část práce řeší za programátora, by bylo stále nutné se zabývat řadou problémů okolo, místo soustředění se na hlavní cíl - implementaci her pro zrakově postižené. V případě Javy je nevýhodou nutnost mít na cílovém počítači nainstalovanou Javu. Druhou možností je udělat webovou aplikaci. Webové aplikace jsou multiplatformní, není problém s aktuálností softwaru (existence nejnovějších her by nezáležela na administrátorovi počítačů, ale byla by vždy nejaktuálnější) a dnešním trendem je aplikace přesouvat na internet. Nevýhodou je zde opět vývoj, který není tak efektivní, jak by mohl být. Další nevýhodou by teoreticky mohla být nutnost připojení k internetu, na druhou stranu by bylo možné hry navrhnout tak, aby se daly hrát i offline. Poslední, pro tvorbu her zvolená metoda, je využití vývojového prostředí GamLab speciálně navrženého pro efektivní vývoj her podobného typu. GamLab řeší mnoho základních problémů a umožňuje soustředit se na vývoj designu a logiky her. Za jeho hlavní nevýhodu považuji zaměření čistě na platformu Windows a nutné prerekvizity v podobě Windows Media Player 11 a .NET 3.5 SP1.
5.2
Instalátor vs. spustitelnost z aktuálního umístění
U finální aplikace je třeba rozmyslet, zda bude používat instalátor, nebo zda bude spustitelná přímo - například z CD. Pro spouštění přímo hraje několik faktorů. Na počítači, kde by se aplikace spouštěla, není třeba, aby uživatel měl dostatečná oprávnění. To by umožňovalo spouštět hry v místech, kde je nastavena přísná bezpečností politika, případně by to i urychlilo nasazení programu, protože by nebylo třeba, v případě škol, shánět správce počítačů. Další výhodou je jednoduchost. Vložení CD a spuštění hry je mnohem jednodušší, než instalace. Navíc v případě nasazení programu mimo školu se laik může instalace neznámého programu obávat. Instalace má proti spouštění několik výhod. První je rychlost programu. Rychlosti CD a DVD mechanik jsou nižší, než-li rychlosti harddisků a solid state disků. Dalším důvodem, proč zvolit raději instalaci je, že mnozí uživatelé jsou na instalaci zvyklí. Pokud by se uživatel laik rozhodl, že nechce hry spouštět neustále z CD, ale je pro něj pohodlnější spouštění přímo z počítače, pak je pro něj výhodnější kliknout několikrát na tlačítko Next v instalátoru a hru následně spouštět ikonou na ploše, než hledat, co a kam má zkopírovat. Nakonec se jako zásadní fakt v rozhodování, zda instalátor, nebo ne, ukázaly požadavky nástroje GamLab. Pro spuštění her v něm vytvořených je nutné mít na počítači nainstalovaný framework .NET 3.5 SP1, případně vyšší a Windows Media Player 11, případně vyšší.
12
5
ANALÝZA A NÁVRH IMPLEMENTACE
Tyto prerekvizity se nacházejí v základu teprve v operačním systému Windows 7, který v současnosti ještě není mezi běžnými uživateli příliš rozšířen. Ve školní sféře je jeho rozšíření dokonce ještě mnohem nižší, na mnoha počítačích lze nalézt Windows XP a starší operační systémy. Z tohoto důvodu je nutné na počítače Windows XP instalovat už .NET 3.5 SP1 a Windows Media Player 11, takže při použití spouštění přímo z CD bych se nevyhnul nevýhodám instalátoru.
5.3
Autorun
Autorun ve Windows se dělá tak, že se vytvoří soubor autorun.inf, který obsahuje informaci, jaký program se má spustit, nebo jaký příkaz se má provést. Můj autorun.inf tedy bude obsahovat spuštění programu autorun.exe, jehož popis lze najít v kapitole 6.1. Samotný autorun.exe je vytvořen pomocí frameworku QT v programovacím prostředí QT Creator. Jeho struktura je poměrně jednoduchá. V programu se nachází, mimo standardně vygenerovaného základu podle šablony GUI aplikace, tři třídy představující tři tlačítka. Každá z nich obsahuje jeden slot (metoda reagující na nějaký signál, či událost) napojený na signal onClick(). V těchto slotech se nachází kód pro spuštění programu samotného instalátoru. Takže pokud je kliknuto na tlačítko „Instalovat kolekci her”, je spuštěn program „msiexec /i aplikace.msi”, který zajistí spuštění klasického instalátoru ve Windows, který následně nabídne instalaci samotných her. Podobně je to uděláno i pro instalaci prostředí .NET a přehrávače Windows Media Player. Program autorun.exe závisí na několika knihovnách, které nebývají standardně v systému obsažené, takže jsou dodané na CD spolu s programem. Tyto knihovny není třeba nikam kopírovat, ani instalovat. Jedná se o několik základních knihoven frameworku QT a knihovna kompilátoru minGW.
5.4
Formáty multimédií
Kolekce her obsahuje velké množství multimediálního obsahu v podobě obrázků, zvuků a mluveného hlasu. Pro obrázky byl na výběr několik formátů. První zamyšlení bylo, zda obrázky bitmapové či vektorové. V programu je sice požadavek různé velikosti obrázků a tak by se mohlo zdát, že jednoznačně přicházejí v úvahu vektorové obrázky. Jelikož rozdíl ve velikostech ale není tak razantní, bitmapové obrázky splňují tento požadavek také. Z bitmapových obrázků je na výběr několik formátů. Mezi nejznámější patří BMP, JPEG, GIF, PNG. BMP je zbytečně veliký. JPEG má ztrátovou kompresi a chybí mu alfa kanál. GIF má bezeztrátovou kompresi a existuje možnost nadefinovat barvu pozadí, což pro současné požadavky scén stačí. Stejně tak PNG má bezeztrátovou kompresi a má navíc alfa kanál. Pro účely her jsou tedy nejlepší PNG a GIF a to díky své malé velikosti a díky možnosti nastavení průhlednosti, která je třeba ve scénách Kde bydlí a Jaké mají stopy, kde je třeba, aby obrázkem bylo jen samotné zvíře a nikoliv bílý čtverec navíc kolem obrázku. Pro audio byl vybrán formát mp3 jakožto rozšířený formát, který je úsporný a je podporovaný v základní instalaci Windows.
5.5
Programová struktura
5.5 5.5.1
13
Programová struktura Soubory
Hry jsou rozděleny do několika souborů. Každý z nich představuje jednu scénu. Je tu soubor pro menu, pro nastavení, dva pro popis programu (dvě stránky popisu) a pak každý pro jednotlivou scénu, pro scénu Jaké mají stopy navíc pro prezentaci. Herní scény navíc obsahují jeden obecný soubor, který obsahuje společné obrázky a zvuky pro všechny scény. Tato speciální scéna, která se vkládá do všech herních scén, obsahuje společné objekty a funkce pro všechny herní scény. Jsou jimi tlačítko pro konec, pro pokračování, odměny a komentáře odměn, pochval, výtek. Také je zde neviditelný objekt Sound, který slouží pro přehrávání zvuků a komentářů ve hrách. Ve obecné scéně se nachází i společné funkce použité ve hrách. Jsou jimi funkce pro přehrání zvuku (viz kapitola 7.4) a funkce pro proporcionální změnu velikosti obrázku. Tady bych si dovolil menší odbočku. Nástroj GamLab umožňuje tvorbu globálních funkcí v sekci Global functions. Jejich použití funguje na principu, že kód nacházející se zde se vkládá do každé události všech objektů ve scéně. Toto řešení má bohužel nevýhodu, že funkce nemohou fungovat jako super globální, tj. nejsou globální i pro scény, do kterých byla obecná scéně vložena. S tímto problémem jsem si bohužel delší dobu nevěděl rady a tak docházelo k duplikaci kódu. Naštěstí jsem pak zjistil, že je možné do super globálních proměnných (které GamLab umožňuje) dát i funkci, kterou lze volat odkudkoliv. Super globální funkce tvořím při inicializaci scény, v události OnLoad scény. 5.5.2
Objekty ve hrách
Všechny hry umožňují nastavit velikost obrázků použitých ve hře a jejich počet. Je třeba tedy vyřešit, jestli obrázky budou ve scéně v prostředí GamLab vloženy a případné přebytečné se budou ubírat, nebo opačně, obrázky zvířat by se přidávaly v inicializačním skriptu při spuštění. Tvorba objektů ve skriptu se zdá být logičtějším řešením, než skrývání existujících. Jeho problémem je menší přehlednost při tvorbě scény v prostředí GamLab. Pokud si objekty rozvrhnu již v grafickém návrhu prostředí GamLab, vidím lépe, jak výsledná scéna bude vypadat. Taktéž i vyplnění kódu k událostem je mnohem přehlednější přímo v nástrojích prostředí GamLab, než kdyby se musel kód k metodám dynamicky přiřazovat. Proto jsem se nakonec rozhodl řešit tento problém přidáním obrázků na scénu v prostředí GamLab a následným skrýváním těch přebytečných ve skriptu.
5.6
Generování scény
Generování scény je možné pojmout několika způsoby. První, nejjednodušší, je vytvořit hru napevno. Pro každou úroveň hry by byla v prostředí GamLab vytvořena napevno scéna. Výhodou tohoto postupu by byla jednoduchost s jakou by se scény vytvářely. Na plochu by byla rozmístěna zvířata a programová logika v případě scén typu Poznáš zvíře a Jak mluví by byla velmi jednoduchá. Výhodou tohoto postupu by byla možnost udělat za sebou úrovně, kde na začátku by byla úloha jednoduchá a pak by
14
5
ANALÝZA A NÁVRH IMPLEMENTACE
postupně byla těžší a těžší. Další výhodou by byla možnost optimálně vyladit zvířata pro scénu, tak aby byla vůči sobě proporcionální (nebo spíše jen aby nebyl slon stejně velký jako kočka) a zároveň by mohla dobře vyplňovat prostor scény. Nevýhodou tohoto postupu by byla velmi rychlá předvídatelnost při opakovaném hraní a hra by nebyla tak zábavná. Losování ze scén by tento problém řešilo, v případě neexistence opravdu velkého počtu scén, jen částečně. Další nevýhoda by byla pracnost a časová náročnost takové tvorby. Přesný opak předchozí metody je řešit vše dynamicky. Zvířata by se dynamicky losovala pro každou hru, dynamicky by se rozmisťovala a dynamicky by se zvětšovala tak, aby pokryla, co největší prostor. Pokusy ale odhalily několik problémů, které z tohoto postupu plynou. Optimální pokrývaná plocha se ukazovala vždy čtvercová a tak obrázky nebyly po ploše rozmístěny ani trochu zajímavě, ale vypadaly rozházené po ploše příliš strojově. Tento problém by se teoreticky ale dal vyřešit přidáním náhodného generátoru, který by obrázky zvířat lehce posunul mimo, aby obrázky nevypadaly příliš vyrovnaně. Další problém se ale ukázal se zvířaty, která mají obdélníkový tvar proti zvířatům, která mají spíše čtvercový tvar. Typickým příkladem může být slon a slepice, jejíchž obrázky jsou spíše čtvercového tvaru a k nim kachna, která je širší, než vyšší. Výsledná scéna pak vypadala tak, že půlku obrazovky zabírala veliká kachna a druhou polovinu obrazovky si dělili slon se slepicí. Dvojnásobně velká kachna než-li slon vypadala pak podivně. Nakonec jsem se rozhodl vzít to nejlepší z obou světů. Výběr zvířat jsem nechal generovat dynamicky (s malým omezením na podobná zvířata, viz detailněji kapitola 7.2), jejich rozložení po ploše bylo navoleno staticky a jejich zvětšování na co největší velikost dostalo hranice pro široká zvířata. Toto řešení přináší horší pokrytí scény než plně dynamické generování či plně staticky navolené a zvířata nejsou plně proporční (cvrček je skoro velký jako slon), ale nevznikají zde nesmyslně obrácené poměry (kachna větší než slon). Ostatní problémy předchozích řešení jsou ale tímto postupem eliminovány.
5.7
Přehrávání prezentace zvířat a stop
Ve scéně Jaké mají stopy, kde má hráč vždy k sobě přiřadit stopu a zvíře, bude před započetím samotné hry zobrazena prezentace zvířat a jejich stop. Prezentace zvířat a stop bude přehrávána automaticky, kdy se v intervalu 10 vteřin bude zobrazovat vždy obrázek zvířete a jeho stopy. Jelikož hráč může znát už některá prezentovaná zvířata, měl by mít možnost přeskočit na další zvíře v pořadí. Jako možnost pro přeskočení na další obrázek jsem v rané fázi vývoje chtěl použít reakci na stisk klávesy (v GamLab událost OnKeyDown() v objektu scény), ale toto řešení se ukázalo jako ne dostatečně intuitivní a tak možnost přeskočit na další dvojici zvíře-stopa je možné i pomocí kliknutí na obrázek šipky pro pokračování. Pro automatické přeskakování v intervalu 10 vteřin jde použít objekt Timer, který GamLab poskytuje. V něm lze nastavit po jakém čase je vždy vyvolána událost OnTick(), kde bude moje funkce pro změnu obrázků zvířete a stopy. Stejná funkce bude použita i v události OnMouseDown() obrázku šipky pro pokračování, která slouží pro přeskočení na další zvíře-stopa, a OnKeyDown() scény. Také bude tato funkce použita v samotném OnLoad() scény hned při startu programu. Zde se nesmí zapomenout na nutnost restartu objektu Timer, aby se nestalo, že hráč přeskočí obrázek a následující se mu nebude zobrazovat celých 10 vteřin, ale méně. Jelikož se
5.8
Výkonová optimalizace
15
mi nepovedlo najít způsob, jak restartovat časovač, řeším restart oklikou pomocí deaktivace a následné opětovné aktivace časovače.
5.8
Výkonová optimalizace
Vývojové prostředí GamLab řeší scény tak, že je uložen XML soubor s kódem a přidané multimediální soubory dohromady tak, že jsou zkomprimovány do jediného souboru. Na první pohled se toto řešení zdá dobré. Tímto řešením je získána jistá přehlednost, kdy neexistuje velké množství souborů pro scénu, ale jen několik málo, případně jen jeden. Tento postup se pravděpodobně inspiroval i úspěšným použitím i v jiných programech, jako příklad jmenuji kancelářský balík Microsoft Office a jeho formát OOXML. Bohužel tento postup zažívá výkonovou regresi v případě, že se soubor stává příliš velikým. V případě tvorby her byly soubory se scénami se všemi obrázky veliké jen několik stovek kilobytů. Nebyl problém načíst soubor takové velikosti, rozbalit ho a uložit na disk. Jakmile se do souboru začaly přidávat i komentáře pochval, zvuky zvířat, úvodní popisné komentáře, pochvaly, výtky, tak rychlost začala klesat. Po přidání odměn v podobě básní, dlouhých pohádek a písniček začalo být načítání scén pomalé. Jako řešení jsou nutné změny v původním návrhu. Velikost veškerých zvukových materiálů je třeba redukovat. Z původní přenosové rychlosti 128KB/s bylo sníženo na nižší 64KB/s a při poslechu nebylo zaznamenána znatelné zhoršení kvality. Další úpravu je třeba provést v restartu hry. Podle původního návrhu byl řešen restart hry zavoláním funkce prostředí GamLab, která načetla danou scénu celou znovu. To bohužel trvalo ale docela dlouho, takže se nyní tento problém řeší zavoláním funkce, která všechny hodnoty resetuje do startovního stavu a znovu náhodně vygeneruje obrázky zvířat. U spuštění scény uživatel běžně počítá, že to nebude okamžitě, takže tady v současné době není třeba řešit problém pomalého načítání. Pokud by se do hry přidaly další odměny, případně jiné zvuky a komentáře, bylo by nutné rozsekat případné další zvuky a komentáře do externích souborů, které by se nahrávaly až v případě, že jsou potřeba nebo by se nahrávaly na pozadí po spuštění scény. To by ale nabouralo původní filozofii prostředí GamLab. Lepším řešením by mohlo být upravit samotný GamLab, aby změnil formát scény na méně přehledný, ale výkonově rychlejší - formát, kde budou soubory použité ve scéně externě mimo komprimovaný soubor. Popřípadě další možností by bylo upravit GamLab tak, aby nerozbalil celý soubor se scénou najednou, ale aby rozbaloval soubory postupně, až když je třeba.
16
5
ANALÝZA A NÁVRH IMPLEMENTACE
17
6
Realizace
Celé hry se skládají z několika částí. Jsou složeny z instalátoru, programu, který se automaticky spustí po vložení CD do mechaniky a který nabídne instalaci her a případných prerekvizit pro jejich správný běh. Samotné hry se skládají z úvodního menu pro výběr her, sekce pro nastavení, sekce pro informace o programmu a z jednotlivých her, konkrétně Poznáš je, Jak mluví, Kde bydlí, Jaké mají stopy. Hry se zaměřují na předání poznatků o zvířatech dětem a také se zaměřují na trénování různých oblastí zraku. Z názvů her je patrné, na co se která hra zaměřuje z hlediska výuky. Detailní popis problematiky kolem zraku, které hry řeší, spolu s popisem výukového zaměření her, je vysvětlen vždy pod nadpisem Speciální pedagogické využití.
6.1
Instalátor
Obrázek 1: Náhled na instalátor Původně jsem chtěl vytvořit jediný instalátor, který by kontroloval, zda je v počítači nainstalovaný .NET 3.5 SP1 a vyšší a Windows Media Player 11 a vyšší. Bohužel se nepovedlo najít kvalitní freewarový program pro tvorbu souborů typu msi, který by zvládal prerekvizity při instalaci her, takže jsem musel tento problém řešit jiným způsobem. Původní myšlenka byla dát na CD se hrami instalátor pro hry a pro výše uvedené programy a na CD umístit i návod ve formě textového souboru INSTALACE.txt. Takový postup se občas u některých programů objevuje, ale nevypadá to profesionálně a není to příliš intuitivní.
18
6
REALIZACE
Protože je ruční instalace pro laiky příliš složitá, bylo zvoleno řešení vytvořit program, který se otevře po vložení CD do mechaniky a který provází instalací (automatické spuštění je možné pouze v případě, že v systému není z bezpečnostních důvodů zakázaný autorun). Program, který se spustí po vložení CD je tedy navržen tak, aby byl intuitivní. Po jeho automatickém spuštění se nabídne obrazovka, kde je nahoře tlačítko pro instalaci her. Pod tlačítkem následuje text, který upozorňuje na nutnost, že na systémech řady Windows XP je pro správný běh třeba nainstalovat .NET 3.5 SP1 a Windows Media Player 11. Pod tímto textem jsou tlačítka, po jejichž stisknutí se daný software nainstaluje. Program, který se spustí po vložení CD a nabídne instalaci nebyl navržen pro osoby se zrakovým postižením, neboť samotné instalátory, které se odsud spouští nejsou navržené pro osoby se špatným zrakem. Tuto úpravu totiž nemá smysl pro samotný instalátor dělat jak z důvodu, že se očekává, že samotnou správu počítače bude obstarávat člověk s dobrým zrakem, jednak z důvodu, že dva ze tří instalátorů, které se z programu spouští, jsou dělané jinou firmou a ty nejsou pro slabozraké upraveny.
6.2
Startovní scéna
6.2
19
Startovní scéna
Obrázek 2: Náhled na startovní menu Startovní scéna se objeví po spuštění programu. Umožňuje spuštění hry Jak mluví (vlevo nahoře), Kde bydlí (vpravo nahoře), Poznáš zvíře (vlevo dole), Jaké mají stopy (vpravo dole), dále ukončení programu (zvonek), změnu nastavení (Nastavení) a informace o programu (O programu). Sekce byla navržena proto, aby spouštění her bylo umožněno samotným dětem se špatným zrakem, a proto jsou jednotlivé úlohy označeny nikoliv textově, ale velkými obrázky. Na nastavovací sekci a na sekci s popisem o programu se ale nepočítalo, že by samotné děti klikaly, takže kvůli uspoření místa ve prospěch důležitějších ovládacích prvků, bylo zvoleno, že budou pouze textové bez důrazu na čitelnost textu pro slabozraké. 6.2.1
Použité materiály
• Obrázky: – Obrázek pro hru Kde bydlí – Obrázek pro hru Jak mluví – Obrázek pro hru Jaké mají stopy
20
6
REALIZACE
– Obrázek pro hru Poznáš zvířeSpeciálně pedagogické využití – Obrázek tlačítka pro ukončení Zvonek • Komentáře: – Komentář pro hru Kde bydlí: „Víš kde bydlí?” – Komentář pro hru Jak mluví: „Víš jak mluví?” – Komentář pro hru Jaké mají stopy: „Jaké zanechávají stopy?” – Komentář pro hru Poznáš zvíře: „Poznáš je?” – Komentář pro tlačítko konce programu: „Zazvonil zvonec a je konec. Když klikneš na zvonek, ukončíš úkol.” 6.2.2
Scénář
1. Po spuštění se objeví obrazovka s výběrem následujících možností: (a) Spuštění hry Jak mluví (b) Spuštění hry Kde bydlí (c) Spuštění hry Jaké mají stopy (d) Spuštění hry Poznáš zvíře (e) Tlačítko pro Nastavení (f) Tlačítko pro výpis informací O programu (g) Tlačítko pro Konec programu 2. Po najetí nad jakýkoliv obrázek se ozve komentář popisující funkci. 3. Po najetí nad jiný obrázek se přeruší přehrávání původního komentáře a začne se přehrávat nový komentář 4. Kliknutím na jednu z možností se provede akce, ať už konec hry, přesun do nastavení, nebo spuštění jedné z her
6.3
Sekce pro nastavení
6.3
21
Sekce pro nastavení
Obrázek 3: Náhled na sekci Nastavení Tato sekce slouží k nastavování velikosti obrázků použitých ve hrách. Nebyla zaměřena na to, že ji bude používat slabozraké dítě, je určená pro dospělé, kteří hru dítěti zapnou a nastaví. Původně se plánovalo, že zde bude nastavení velikosti, nastavení, zda přehrávat komentáře pro úkoly, nastavení, zda se bude ukazovat prezentace u hry Jaké mají stopy. Nakonec zde bylo ponecháno jen nastavení velikosti. Řešení problému s přeskočením úvodní prezentace u hry Jaké mají stopy bylo přidání tlačítka pro přeskočení prezentace a řešení problému s opakovanými úvodními komentáři na začátku úlohy bylo vyřešeno možností stisknout libovolnou klávesu pro přeskočení přehrávaného zvuku či komentáře. 6.3.1
Použité materiály
• v této sekci nebyly použity žádné obrazové či zvukové materiály 6.3.2
Scénář
1. Po vstupu do sekce se objeví možnost vybrat velikost obrázků ve hrách, v rozsahu malá, střední, velká
22
6
2. Po vybrání velikosti se scéna přepne zpět do Startovní scény
REALIZACE
6.4
Sekce O programu
6.4
23
Sekce O programu
Obrázek 4: Náhled na sekci O programu Zde jsou osvětleny cíle použití tohoto programu. Sekce nebyla uzpůsobena pro osoby mající problém se zrakem, byla zaměřena na pedagogy rozhodující se pro nasazení programu. Mimo cíle programu je zde uvedena minimální požadovaná konfigurace pro běh, autoři programu a použité zdroje. 6.4.1
Použité materiály
• Obrázek šipky pro pokračování 6.4.2
Scénář
1. Po vstupu do sekce se objeví popis programu a minimální požadavky na počítač 2. Dole je obrázek šipky pro pokračování. Po kliknutí na něj se objeví další stránka obsahující seznam autorů a použitých zdrojů 3. Po kliknutí na šipku pro pokračování se uživatel ocitne opět ve startovní sekci
24
6.5
6
REALIZACE
Společné prvky her
Obrázek 5: Náhled na společné ovládání her Všechny zdejší hry mají určité společné rysy. V každé hře je tlačítko pro ukončení (zvonek), které umožňuje návrat do hlavního menu. V každé hře, pokud hráč neuspěje, tak je vyzván k opravě a naopak, pokud uspěje, je pochválen. K pochvalám a k výzvám k opravě se dalo postavit více způsoby. První možností je zvuk, který by se u hráče asocioval s úspěchem či neúspěchem. Příkladem takového zvuku je třeba aplaus po úspěšném dokončení hry, či varovný zvuk v případě špatné volby. Problém tohoto řešení ale je, že zvuk by se často opakoval a mohl by být po čase nepříjemný. Dále zvuk neúspěchu je demotivující, což je opakem toho, čeho by se hra měla snažit dosáhnout. Další možností pochval a výtek byl mluvený komentář. Tady opět ale stálo za zamyšlení, že to bude vypadat příliš uměle, když se bude opakovat stále stejná fráze. Proto pro úspěch či neúspěch bylo namluveno několik komentářů podobného významu. U komentářů pro chybnou akci byla snaha klást důraz na to, aby komentáře nevyzněly demotivačně. Tedy hlas použitý k jejich namluvení měl znít vesele, ne káravě a v komentářích se i vyskytuje výzva k dalším pokusům. S úspěchem ve hře nesouvisí pouze pochvala, ale i odměna. Ve všech hrách se nachází odměna po výhře, která má přinášet motivaci hráči k dalšímu hraní. Tato odměna je v
6.5
Společné prvky her
25
podobě písniček, básniček a pohádek. Po každé výhře se nalosuje jedna z těchto odměn a hráč si ji může přehrát. Většina částí programu je zaměřena tak, aby dítěti pomáhala s reedukací zraku a zároveň mu pomáhala s poznáváním okolní přírody. To se ale netýká odměn, odměny jsou dělány jen čistě pro zábavu. Po výhře může hráč jít do dalšího kola pomocí obrázku šipky pro pokračování, které se mu vždy společně s tlačítkem odměny po vítězství objeví. 6.5.1
Použité materiály
• Komentáře: – Komentář pro tlačítko konce programu: „Zazvonil zvonec a je konec. Když klikneš na zvonek, ukončíš úkol.” – Komentář pro tlačítko odměny: „Za splněné úkoly si zasloužíš odměnu. Klikni na bonbón a uslyšíš písničku, básničku a nebo pohádku.” – Komentář pro neúspěch: „Zkus to znovu.” – Komentář pro neúspěch: „Ne, ne.” – Komentář pro neúspěch: „Ne, ne, vyber jiné zvíře.” – Komentář pro neúspěch: „To je špatně, ale nevadí. Zkus to znovu.” – Komentář pro neúspěch: „To je špatně. Zkus to znovu.” – Komentář pro neúspěch: „To není správně.” – Komentář pro neúspěch: „To není správně. Vyber jiné zvíře.” – Komentář pro neúspěch (použitý jen u hry Jaké mají stopy): „To není správně, vyber jinou stopu.” – Komentář pro neúspěch: „To není správně. Zkus to znovu.” – Komentář pro úspěch: „Ano, to je správně!” – Komentář pro úspěch: „Dobře!” – Komentář pro úspěch: „Správně, šikula!” – Komentář pro úspěch: „Super! Jde ti to!” – Komentář pro úspěch: „Tak je to správně!” – Básničky: Čtyři malá koťata, Deset oveček, Devět ježků, Dva kohouti, Hrby, Jeden krtek, Opičí škola, Osm pejsků, Pět veverek, Sedm hus, Šest prasátek, Sloní idyla, Říkačka o tvrdohlavém krokodýlovi, Strach tygr, Tři zajíci – Pohádka: Pohádka o hloupatém vlkovi – Písničky: Když jsem já sloužil, Krokodýl, Mravenčí ukolébavka • Obrázky: – Obrázek tlačítka odměny Bonbón – Obrázek tlačítka pro další úkol Šipka – Obrázek tlačítka pro ukončení Zvonek
26
6
6.5.2
Scénář
1. Přehraje se úvodní komentář ke hře. 2. Hra (detailněji viz konkrétní hry). 3. Při špatné akci přehrání komentáře neúspěchu. 4. Při výhře přehrání komentáře úspěchu. 5. Objevení tlačítek pro další hru a pro přehrání odměny. 6. Po stisku tlačítka pro další hru zase od bodu 1.
REALIZACE
6.6
Hra Poznáš zvíře
6.6
27
Hra Poznáš zvíře
Obrázek 6: Náhled na scénu Poznáš zvíře Hry v rámci kolekce jsou různě obtížné. Jako nejjednodušší byla udělána hra Poznáš zvíře. Cílem je ukázat na jeden z obrázků, který představuje zvíře zadané na začátku úkolu. Jelikož se počítá s horším zrakem dětí, tak bylo úmyslně v generátoru úkolu zakázáno, aby se ukázala velmi podobná zvířata. 6.6.1
Speciálně pedagogické využití
(kapitola převzata z [1]) Kromě vzdělávacího účelu, kdy se dítě učí a opakuje poznatky o zvířatech, prohlíží si jejich stavbu, barvu, detaily, pozoruje i rozdíly mezi pohlavími (srnec a srnka), sleduje podobnost (slepice, kohout, kuře) a celkově je rozpoznává, úloha slouží k reedukaci zraku. V úloze je využita motivační fáze, kdy je dítě zaujato pro práci v úloze ve formě vyhledávání zrakových podnětů. Motivací je slovní úvodní komentář a také možnost odměny za splněný úkol. K reedukaci zraku dochází lokalizací a fixací zrakového podnětu, přenášení pozornosti a orientací v prostoru na ohraničené ploše, kdy je využíváno spottingu a scanningu.
28
6
REALIZACE
Při lokalizaci dítě vyhledává zrakové podněty – zvířata a hledá to zvíře, ke kterému je vyzváno, aby jej našlo. Fixací pak na vybrané zvíře zaměřuje zrak, prohlíží si detaily obrázku, barvu, typické znaky apod. Přenášení pozornosti využívá hledáním správného zvířete. Prohlédne si nabídku zvířat, mezi kterými přenáší pozornost a posléze si vybírá. Orientace v prostoru na ohraničené ploše má úzkou souvislost s přenášením pozornosti. V rámci orientace na ploše dochází ke spottingu, který je výsledkem využívání lokalizace a fixace a také scanningu, kdy si dítě prohlíží a mapuje skenovacími pohyby. Symbolická fáze a fáze zobecnění rozšiřuje zkušenosti se symbolickým zobrazováním zvířat pomocí jejich podstatných znaků. Například dítě, které má reálné zkušenosti, jak vypadá pes či koza, se je učí přirovnat ke grafické podobě. Dochází tedy k přechodu od vnímání trojrozměrného k dvojrozměrnému. 6.6.2
Použité materiály
• Komentáře: – Úvodní komentář k úloze: „Co myslíš, rozpoznáš jednotlivá zvířata? Můžeme to spolu zkusit. Řeknu ti vždy zvíře a ty ho vybereš a označíš mezi ostatními. Tak do toho!” – Komentáře vyzývající k nalezení zvířete pro: bažant, čáp, cvrček, divočák, husa, jelen, kachna, klokan, kočka, kohout, koza, králík, kráva, krokodýl, kůň, kuře, lev, liška, medvěd, mravenec, opice, ovce, papoušek, pes, prase, slepice, slon, sova, srna, srnec, tygr, velbloud, veverka, vlk, zajíc, zebra, žirafa • Obrázky: – Obrázky následujících zvířat: bažant, čáp, cvrček, divočák, husa, jelen, kachna, klokan, kočka, kohout, koza, králík, kráva, krokodýl, kůň, kuře, lev, liška, medvěd, mravenec, opice, ovce, papoušek, pes, prase, slepice, slon, sova, srna, srnec, tygr, velbloud, veverka, vlk, zajíc, zebra, žirafa 6.6.3
Scénář
1. Na začátku se zobrazí 3 až 5 zvířat (podle nastavení velikosti). 2. Přehraje se úvodní komentář k úloze. 3. Přehraje se výzva ke kliknutí na zvíře 4. Pokud je vybráno špatné zvíře, přehraje se komentář, který vyzývá k dalšímu pokusu 5. Pokud je vybráno správné zvíře, ozve se gratulace a objeví se možnost přehrát si odměnu. 6. Až se hráč rozhodne pokračovat další úlohou, stiskne tlačítko šipky pro pokračování. Opět se objeví nalosovaných 3 až 5 zvířat a hra zase pokračuje od bodu 3.
6.7
Hra Jak mluví
6.7
29
Hra Jak mluví
Obrázek 7: Náhled na scénu Jak mluví Ve hře bylo, podobně jako ve hře Poznáš zvíře, nastaveno, aby náhodně generující se zvířata si nebyla vzhledově příliš podobná. Toto omezení ale nebylo implementováno pro zvukovou podobnost. Takže se může stát, že se objeví úloha, kde budou nalosována zvířata pes a jelen, jejichž zvukový projev je podobný a dítě bude muset najít ten drobný rozdíl, který se zde nachází. 6.7.1
Speciálně pedagogické využití
(kapitola převzata s mírnými úpravami z [1]) Edukačním cílem je dozvědět se, jakým způsobem se zvířata vyjadřují a přiřadit zvukové nahrávky ke správnému zvířeti. Do programu jsou zařazeny převážně takové hlasové projevy zvířat, které nejpravděpodobněji dítě žijící v České republice může ve svém okolí slyšet. Jedná se především o domácí zvířata a také hlasy zvířat, které mohou slyšet a naučit se identifikovat při pobytu v lese (např. dětské tábory, výlety do přírody). Jsou vybrány i takové zvuky zvířat, při kterých má dítě možnost využít své rozlišovací schopnosti. Například zdánlivě podobný může být hlasový projev kačera a husy. Projev srnce se často podobá psímu štěkotu a rozeznat dle zvuku prase divoké a prase domácí je také obtížné. Umět rozeznat projevy zvířat může být dle mého názoru pro dítě se zrakovým postižením velmi cennou schopností a také může
30
6
REALIZACE
navodit duševní pohodu při pobytu v přírodě (dítě se nemusí bát neznámých zvuků nebo podle nich zvíře identifikuje a to mu pomůže při výběru vhodného chování v dané situaci). Je zařazeno i několik hlasových projevů cizokrajných zvířat. V úloze je využita opět motivační fáze a k reedukaci zraku dochází lokalizací a fixací zrakového podnětu, přenášení pozornosti a orientací v prostoru na ohraničené ploše, kdy je využíváno spottingu a scanningu. V podstatě jsou v této úloze využity stejné reedukační postupy zraku jako v úloze „Poznáš zvíře“. Při lokalizaci dítě vyhledává zrakové podněty – zvířata. Fixací pak na vybrané zvíře na základě slyšeného projevu zaměřuje zrak. Přenášení pozornosti využívá při prohlížení nabídky zvířat a má souvislost s orientací v prostoru na ploše. Projevuje se zraková fáze spotting, která je výsledkem využívání lokalizace a fixace a také scanning, kdy si dítě prohlíží a mapuje skenovacími pohyby. Stejně jako v předchozí úloze je využíváno symbolické fáze a zobecnění. 6.7.2
Použité materiály
• Komentáře: – Úvodní komentář k úloze: „To mě zajímá, jestli uhádneš, jaké zvuky zvířata vydávají. Uslyšíš vždy zvuk, nebo hlas a vybereš zvíře, které se takto projevuje. Jdeme na to!” – Zvuky, které zvířata vydávají: bažant, cvrček, husa, jelen, kachna, kanec, kočka, kohout, koza, kráva, kůň, kuře, lev, medvěd, ovce, papoušek, pes, prase, šimpanz, slepice, slon • Obrázky: – Obrázky zvířat v úloze: bažant, cvrček, husa, jelen, kachna, kanec, kočka, kohout, koza, kráva, kůň, kuře, lev, medvěd, ovce, papoušek, pes, prase, šimpanz, slepice, slon 6.7.3
Scénář
1. Na začátku se zobrazí 3 až 5 zvířat (podle nastavení velikosti). 2. Přehraje se úvodní komentář k úloze. 3. Přehraje se zvuk zvířete, které má hráč uhádnout (např. zamňoukání, zabučení, ...). 4. Pokud hráč vybere špatné zvíře, je mu oznámeno, že má zkusit jinou volbu. 5. Až hráč vybere správné zvíře, je mu pogratulováno a objeví se možnost přehrát si odměnu. 6. Až se hráč rozhodne pokračovat další úlohou, stiskne tlačítko šipky pro pokračování. Opět se objeví nalosovaných 3 až 5 zvířat a hra zase pokračuje od bodu 3. • Po najetí myši nad obrázek se ozve zvuk hledaného zvířete.
6.7
Hra Jak mluví
31
• Přehrávání úvodního jakéhokoliv zvuku či komentáře jde přerušit stiskem libovolné klávesy. • Úvodní komentář, zvuk zvířete a odměna není automaticky přerušováno jinou zvukovou nahrávkou. Tj. pokud hráč přejede myší nad tlačítkem pro ukončení, nezruší se přehrávání v polovině.
32
6.8
6
Hra Jaké mají stopy
Obrázek 8: Náhled na prezentaci stop
REALIZACE
6.8
Hra Jaké mají stopy
33
Obrázek 9: Náhled na scénu Jaké mají stopy Další hra si klade za cíl naučit dítě, jaké stopy mají jednotlivá zvířata. Aby hra měla větší praktický užitek, zaměřuje se hlavně na stopy zvířat nacházejících se na našem území. Jelikož hra je obtížnější, bylo rozhodnuto dát na začátek prezentaci zvířat a jejich stop. Hra tedy začne prezentací, kde se v intervalu 10s střídají obrázky, kde je vždy zvíře a vedle něj k němu patřící stopa. Pro děti, které už z minulého hraní budou znát už stopy byla přidána možnost, že na další obrázek jde skočit stiskem klávesy a případně tak celou prezentaci přeskákat. Tato možnost se ale ještě v průběhu vývoje ukázala neintuitivní a tak byla přidána možnost skočit na další obrázek pomocí obrázku šipky pro pokračování, případně celou prezentaci přeskočit stiskem ikonky zvonečku. Po prezentaci začne samotný úkol. 6.8.1
Speciálně pedagogické využití
(kapitola převzata z [1]) Rozpoznávání stop jsem do programu zařadila v rámci rozvoje poznatků o zvířatech. Pro vzdělávací účel jsem vybrala pouze 11 stop, které lze nejčastěji pozorovat v okolí kolem nás. Stopy cizokrajných zvířat proto nejsou zahrnuty. V úkolu je využita motivační fáze a k reedukaci zraku dochází opět lokalizací a fixací zrakového podnětu, přenášením pozornosti a orientací v prostoru na ohraničené ploše, kdy je využíváno spottingu a scanningu. Je zde však využita i další reedukační fáze a to tracking neboli sledování objektu v pohybu. Dále dítě procvičuje senzomotorickou koordinaci. Senzomotorickou koordinací se rozumí uchopení
34
6
REALIZACE
předmětu s doprovodnou kontrolou zraku. Dítě tedy vybranou stopu kliknutím myší od počítače vybere a pohybem ruky a zároveň sledováním pomocí zraku stopu přesune do cíle – rámečku ke zvířeti. Při této činnosti je využíváno zároveň trackingu tím, že sleduje pohybující se stopu. 6.8.2
Použité materiály
• Komentáře: – Úvodní komentář k úloze: „My lidé máme podobný tvar nohy a zanecháváme podobné stopy. Ale zvířata se tvarem nohou velmi liší a tak otiskují různé stopy. Ze začátku si prohlédni, jaké stopy zvířata zanechávají. Uvidíš vždy zvíře a vedle něj jeho stopu. Až se ukončí prohlížení, zkus přiřadit stopu ke zvířeti, ke kterému patří. Stačí jen přemístit do okna vedle zvířete. Hodně štěstí!” • Obrázky: – Obrázky následujících zvířat a jejich stop: čáp, kachna, kanec, kočka, koza, kráva, kůň, medvěd, pes, slepice, zajíc 6.8.3
Scénář
1. Na začátku se ukáže prezentace zvířat a stop. Každé kombinace zvířete a stopy se zobrazuje 10 vteřin. Prezentaci je možné urychlit stiskem libovolné klávesy. 2. Spolu s prezentací se přehrává úvodní komentář k úloze. 3. Po konci prezentace se zobrazí 2 až 4 zvířata (podle nastavení velikosti). 4. Hráč přetahuje pomocí drag & drop jednotlivé stopy ke zvířatům, ke kterým patří. 5. Pokud hráč přetáhne stopu ke špatnému zvířeti, přehraje se komentář, že stopa byla umístěna špatně a stopa je navrácena na původní místo. 6. Až jsou všechny stopy na správném místě, je hráči pogratulováno a objeví se možnost přehrát si odměnu. 7. Až se hráč rozhodne pokračovat další úlohou, stiskne tlačítko šipky pro pokračování. Scéna se opakuje od bodu 3.
6.9
6.9
Hra Kde bydlí
35
Hra Kde bydlí
Obrázek 10: Náhled na scénu Kde bydlí Hra má děti naučit, kde se jednotlivá zvířata nacházejí. Pro jednoduchost se zvířata ve hře rozlišují na ta, která pobývají v lese, ta, která můžeme najít na statku a zvířata, která u nás přirozeně nežijí. Ovládání v úloze je poměrně obtížné. Klade vysoké nároky na zrak dítěte a na jeho senzomotoriku. Posouvání zvířete je prováděno uchopením za pomocí myši obrázku ruky, se kterou se postrkují zvířata. Zvířata po té, co jsou popostrčena se začnou pohybovat, takže dítě musí sledovat, zda letí správným směrem a zda dorazí do cíle, nebo ho minou. V této hře bylo třeba řešit hned několik složitých problémů. Prvním je ovládání pomocí ruky. Při pohybu pomocí ruky je možné, že se s obrázkem hráč dostane částečně mimo hrací plochu. Pokud se tak stane, hrozí, že vinou špatného zraku půjde ruka obtížně najít. Toto jsem se rozhodl vyřešit tak, že jakmile se obrázek ruky dostane alespoň částečně mimo plochu, je po puštění ruky (po tom, co se přestane držet tlačítko myši) ruka navrácena do startovní polohy. Dalším problémem byla velikost obrázků. Ve všech předchozích scénách je důraz na co největší velikost obrázků pro co nejvyšší pokrytí plochy. Tady bylo ale třeba, aby existovala nějaká plocha, po které se zvířata budou pohybovat. Zvířata jsou tedy zde menší, než v předchozích úlohách a hra tak není vhodná pro děti s hodně špatným zrakem.
36
6
REALIZACE
Ve hře je třeba, aby obrázky zvířat při pohybu neodjely mimo herní plochu. Bohužel je v současné době několik typů poměru stran u monitorů, v současnosti jsou to 4:3, 16:10 a 16:9. Mantinely jsou nastaveny pro v současnosti běžný poměr stran na monitoru ke stolnímu počítači, tedy pro 4:3. Na monitorech s poměrem stran 16:9 a 16:10 to má za následek, že zvířata nemohou letět k levému či pravému kraji až nakonec, ale hratelnost tím postižena není.
6.9.1
Speciálně pedagogické využití
(kapitola převzata z [1]) Vzdělávacím účelem úlohy je pojetí představy o přirozeném způsobu života zvířete. Hledáním správného obydlí si dítě uvědomuje v jaké zeměpisné oblasti zvíře žije a zda-li je domestikované, je využíváno pro chov nebo žije volně. V úkolu je opět využita motivační fáze a reedukace zraku se děje lokalizací a fixací zrakového podnětu, přenášením pozornosti a orientací v prostoru na ohraničené ploše, kdy je využíváno spottingu a scanningu. Tracking neboli sledování objektu v pohybu se zde také objevuje, je však o mnoho náročnější než v úloze „Jaké zanecháváme stopy?“. Dítě sleduje v podstatě dva pohybující se objekty – černou ruku, kterou posouvá zvíře. Nejenže sleduje dva pohybující se předměty, ale uchopením jednoho předmětu posouvá druhý, což je obtížnější než v předcházející úloze a stupňuje se tak náročnost senzomotorické koordinace. Přenášení pozornosti a orientace v prostoru na ploše je v této úloze náročné v závislosti na variabilitě prostředí. Vyžaduje další schopnosti dítěte jako postřeh, motorické dovednosti, volbu taktiky aj.
6.9.2
Použité materiály
• Komentáře: – Úvodní komentář k úloze: „Doveď zvířata do správného obydlí. Posouvej zvíře k vybranému obydlí. Najdeš to správné?” • Obrázky: – Obrázky obydlí: cizina, les, statek – Obrázky zvířat patřící do domku cizina: kočka, pes, králík, koza, kráva, prase, kůň, husa, kačer, slepice, kohout, kuře, ovce – Obrázky zvířat patřící do domku les: srna, jelen, kanec, zajíc, liška, sova, medvěd, veverka, cvrček, srnec, mravence , bažant, čáp – Obrázky zvířat patřící do domku cizina: žirafa, slon, lev, tygr, opice, klokan, panda, papoušek, velbloud, krokodýl
6.9
Hra Kde bydlí
6.9.3
37
Scénář
1. Na začátku se zobrazí 1 až 3 zvířata (podle nastavení velikosti) a k nim 1 až 3 domky. 2. Přehraje se úvodní komentář k úloze. 3. Přehraje se úvodní komentář ke hře. 4. Hráč šťouchá zvířata směrem k obydlím. 5. Jakmile nějaké zvíře dosáhne obydlí, zmizí. 6. Po poslání všech zvířat do jejich obydlí se ozve gratulace a objeví se možnost přehrát si odměnu. 7. Až se hráč rozhodne pokračovat další úlohou, stiskne tlačítko šipky pro pokračování. Opět se objeví 1 až 3 zvířata a k nim 1 až 3 domky a hra zase pokračuje od bodu 3.
38
6
REALIZACE
39
7 7.1
Programová implementace Tvorba scén v nástroji GamLab
Přestože detailnímu popisu nástroje GamLab se věnuje diplomová práce [2] a návod pro používání lze nalézt i na wiki stránce projektu [3], popíšu základy práce i zde. GamLab je nástroj typu RAD (Rapid Application Development), tzn. vyvíjí se v něm tak, že po bílé ploše se rozloží objekty, které pak budou ve hře. Takovými objekty jsou například nápis, obdélník, elipsa nebo obrázek. Další objekty jsou z kategorie neviditelných a to jsou časovač, který vykonává opakovaně určitý kód v určitém časovém intervalu a přehrávač zvuku, který umožňuje přehrávat audio soubory. Každý z objektů má sadu vlastností, které je možné nastavit v postranním panelu typu property grid. U viditelného objektu je možné nastavit jeho barvu, název, fyzikální vlastnosti, u časovače je možné nastavit interval pro opakování události, atd. K vlastnostem je také možné přistupovat přímo z programu a měnit je tak dynamicky. Každý objekt má sadu událostí, kde lze napsat výkonný kód za pomoci skriptovacího jazyka Boo. Pro všechny objekty je společná událost OnLoad(), která se zavolá po načtení objektu a pak má každý objekt další své specifické události, jako je například reakce na kliknutí tlačítka, stisk klávesy, detekce pohybu kurzoru nad objektem a mnoho dalších. GamLab navíc umožňuje směrovat události, takže pokud mám například dvě elipsy a u každé chci provést stejnou akci při kliku myši, napíšu událost jen pro jednu elipsu a z druhé elipsy se na tuto událost odkážu. V programu je nutné mít někdy společné funkce pro více událostí. GamLab toto řeší místem, kam je možné zapsat globální funkce. Dále GamLab umožňuje zapsat i globální importy jmenných prostorů frameworku .NET GamLab v sobě obsahuje interní přehrávač, takže je možné v průběhu vývoje okamžitě testovat. V testovacím přehrávači se nachází okno pro výpis chyb a také okno, kde je prostor pro výpis vlastních debugovacích informací, což usnadňuje vývoj. Tvorba scény s tímto nástrojem tedy probíhá tak, že nejdříve si rozvrhneme objekty po ploše, jejich vlastnosti nastavíme v postranním property grid, následně ke každému z nich přiřadíme k jednotlivým událostem skript pro popis akce, do hry nahrajeme soubory (obrázky, zvuky), které budeme potřebovat, do OnLoad() hlavního objektu scény vložíme skript pro počáteční inicializaci, mezi globální funkce vložíme kódy globálních funkcí a mezi globální importy jmenné prostory, které importujeme a nakonec z menu zvolíme možnost Publish, která vytvoří exe soubor pro samostatné spouštění a hra je hotova. Samozřejmě tvorba kolekce her nebyla tak jednoduchá, jak to tady vypadá, jelikož výkonného kódu bylo velké množství.
7.2
Generování scén
Logika generování scény je umístěna do OnLoad scény. Zde se nachází funkce restartSceny(), která obsahuje výkonný kód. Jak již bylo popsáno v kapitole 5.5.2, rozhodl jsem se, že objekty, které se budou nacházet ve scéně nebudu generovat dynamicky za běhu, ale budou přidány rovnou v návrhu scény.
40
7
PROGRAMOVÁ IMPLEMENTACE
Počet zvířat ve scéně se tedy řeší ne pomocí přidávání nových objektů do scény pomocí skriptu, ale zneviditelňování existujících objektů. Jelikož funkce restartSceny() slouží jak pro start, tak i pro restart scény, nachází se na začátku programu nastavení do výchozího stavu. To je zviditelnění objektů zvířat, stop či obydlí, které v průběhu hry mohly být zneviditelněny (typicky na konci úlohy při výhře). V další části je zneviditelněno tolik zvířat (obydlí, stop), kolik odpovídá velikosti. Pokud je nastavena největší velikost, dvě zvířata jsou zneviditelněna, pokud nejmenší velikost, tak žádné. U každé scény se na začátku vygeneruje odměna, která bude pak dále použita při výhře. Následně se začnou náhodně generovat zvířata (případně stopy, či obydlí) do scény. Je vytvořena proměnná typu list, která obsahuje další proměnné typu list, které následně obsahují jména obrázků zvířat. Vzniká tak skupina ve které jsou skupiny podobných zvířat. Samotné losování pak probíhá procházením hlavní skupiny a náhodným losováním, zda bude podskupina vybraná ve scéně. Pokud vyjde, že bude, podskupina se uloží mezi již vybrané podskupiny a z podskupiny se vylosuje jedno ze zvířat. Tímto postupem je docíleno, že podobná zvířata se nenacházejí ve vylosované scéně. Finální část se stará o správné velikosti a rozmístění. Rozmístění po scéně je fixní pro různé úrovně nastavení. Aby zvířata vykryla dobře prostor, je zjištěna velikost obrázku a následně podle něj v poměru roztažena na co největší velikost. Původně byl použit čtvercový prostor, které zvíře mělo vyplnit, kvůli problému s pak malými zvířaty, jež mají široké obdélníkové obrázky (například krokodýl), byl tento prostor upraven na mírně obdélníkový. Generování scén se pro různé použité hry částečně liší, ale v základu vypadá podobně, jak je zde popsáno. Odlišnosti jsou třeba u trochu složitějšího losování například u Jaké mají stopy, případně jsou odlišnosti v typu obrázků, co se generují (nejen zvířata, ale i stopy, či obydlí).
7.3
Fyzikální scéna - Kde bydlí
popis problému s kolizemi v prostředí GamLab, popis synchronizace obálky se zvířetem, popis urychlování zvířat, popis problému s třesem zvířat, popis detekce, zda bylo dosaženo cíle, popis ověření, zda cíl je správný, ignorace kolize ruky s jinými objekty, řešení ruky mimo scény, popis obdélníků jako zarážek pro zvířata, Scéna Kde bydlí je ze všech scén implementačně nejnáročnější. Bylo v ní třeba vyřešit mnoho problémů a tak se zde zaměřím na většinu z nich. První problémy byly kolize objektů.
7.4
Přehrávání komentářů
Pro přehrávání zvuků jsem si v prostředí GamLab vytvořil dvě funkce. Jedna jménem prehrat(soubor, musiPrehrat) slouží k přehrání zvuku okamžitě. Jako první parametr je soubor, který chci přehrát a jako druhý parametr je boolean, který udává, zda se přehrávání přeruší následujícím požadavkem pro přehrání jiného zvukového souboru, nebo zda takový požadavek bude ignorován.
7.5
Zhodnocení nástroje GamLab
41
Princip této funkce spočívá v tom, že jakmile je zavolána, je nejdříve zkontrolováno, zda se aktuálně nepřehrává zvuk se zakázaným přerušením. Pokud nikoliv, nastaví se případný zákaz přerušení a zvuk se začne přehrávat. Jakmile by se zavolal požadavek na přehrání zvuku v době, kdy se ještě tento se zákazem přerušení přehrává, byl by požadavek zahozen. Detekce, zda již zvuk dohrál je navázána na metodu OnMediaEnded() v objektu prostředí GamLab sloužícího pro přehrávání zvuku. Druhou funkci, kterou jsem si vytvořil, jsem pojmenoval prehratPoSkonceni(soubor). Ta slouží k tomu, aby byl zařazen požadavek na přehrání do fronty. Soubor se začne přehrávat po té, co je vyvolána událost OnMediaEnded() v objektu pro přehrávání zvuku, tj. po skončení přehrávání předchozí zvukové nahrávky. Funkce se používá v programu pro řešení problému s přehráním nejdříve nepřerušitelného komentáře popisujícího ovládání hry a následně možnosti přehrát komentář u Poznáš zvíře a Jak mluví, který zadává konkrétní zvíře. Ve hře je ještě navíc přidána událost scény OnKeyDown(), která přerušuje přehrávání aktuálního zvuku, případně pokud je ve frontě další zvuk, tak přeskočení na další zvuk z fronty. Přerušení platí i pro zvukem nepřerušitelné komentáře při nastavení musiPrehrat v prehrat(soubor, musiPrehrat) na true.
7.5
Zhodnocení nástroje GamLab
Nástroj GamLab určitě urychlil vývoj samotných her. Jak je poměrně jednoduché v něm vytvořit hru popisuji v kapitole 7.1. Při vývoji jsem se setkal ale s několika problémy. Mnoho z těchto problémů se podařilo vyřešit již během vývoje samotných her, neboť diplomová práce Bc. Tomáše Pastorka se z velké části kryla s tvorbou mé bakalářské práce. Bohužel se ale nekryla plně a po nějaký čas jsem vyvíjel hry bez toho, aby se GamLab mohl přizpůsobovat. Prvně pár návrhů na zlepšení. Při vývoji mi chybělo přesné rozmisťování pomocí zadání souřadnic [x, y] a rozměrů šířka, délka v editoru vlastností. Objekt sice šlo posouvat po ploše a sledovat souřadnice, na kterých se nachází, vím-li ale přesně, kde ho potřebuji, hodilo by se přímo číselné nastavení. Dalším návrhem je vylepšení formátu v jakém se ukládají multimediální soubory. V současnosti jsou přímo přibaleny do zabaleného souboru scény a nynější způsob se stává pomalým v případech, že scéna je veliká (cca 10MB a více). Řešením by bylo dodávat soubory externě a nebalit je do jednoho souboru. Dalším možným řešením by bylo ponechání tohoto formátu, ale nerozbalovat na disk všechny soubory při načtení scény, ale rozbalovat soubory až když jsou potřeba. Globální funkce na začátku vypadaly jako výborný nápad. Ale přinášejí několik problémů. Prvně jsou tyto globální funkce vkládány do každé události objektu. To způsobuje problém při ladění, kdy ladící nástroj ukazuje chybu na např. řádku 100, přičemž samotná událost může mít jen 20 řádků kódu. Tato vlastnost poměrně stěžovala ladění. Tato konkrétní chyba by se dala ale vyřešit umělým odečítáním řádků při ladícím výpisu tak, aby výpis odpovídal. Dalším důvodem pro změnu je ale zjištění, že globální funkce je možné udělat elegantněji a to za pomoci uložení funkce do globální proměnné. Nakonec by se mi hodil do prostředí GamLab objekt typu textarea. Nynější objekt typu label sice umožňuje automatické zalamování slov, pro delší popisy, jako například popis v
42
7
PROGRAMOVÁ IMPLEMENTACE
sekci O programu, není ale příliš vhodný, neboť v editoru vlastností neumožňuje vložení řádku a políčko pro vložení textu v editoru vlastností je příliš malé. Během práce jsem narazil také na pár chyb, které už se do prostředí GamLab nestihly opravit. Jednou z chyb je, že GamLab občas (naštěstí opravdu velmi zřídka) poškodí vlastní konfigurační soubor a pak GamLab nejde spustit. Současným řešením pro nápravu chyby je vymazat konfigurační soubor. Další drobnou chybou je, že rozmístění na scéně v prostředí GamLab neodpovídá přesně rozmístění ve scéně po spuštění. Dlouho jsem tuto chybu přehlížel, než jsem si jí všiml při tvorbě scény Kde bydlí, kde bylo nutné přesně omezit prostor pohybu zvířat pomocí mantinelů. Poslední problém je s tvorbou kolizních obálek kolem obrázků použitých ve scéně Kde bydlí. Kolize standardních objektů jako je elipsa či obdélník jsou v pořádku, ale kolize obrázků byla špatná. Problém bude ještě asi složitější, protože některé pokusy s obrázky, které měly nastavenou rychlost byly bezproblémové, ale při pokusech s kolizemi, kdy jeden obrázek jsem chytl myší a pohyboval s ním a narážel do jiných obrázků, byly chybné. Nakonec ještě jeden problém s optimalizací. Editor kódu, který má vybarvování syntaxe, se stává velmi pomalým, jakmile je dosaženo mnoha set řádků kódu. Pro mnoha set řádkový kód bylo pak lepší využít vlastní externí editor a výsledný kód jen nakopírovat do prostředí GamLab. Shrnuto, GamLab mi velmi ulehčil práci při vývoji. Zpočátku měl mnoho chyb, ale ty byly průběžně rychle opravovány a požadované vlastnosti byly rychle přidávány. Na konci vývoje jsem našel ještě několik nedostatků, které se už do finální verze prostředí GamLab nestihly zapracovat. Celkově se mi ale zdá GamLab, na to jak bylo na jeho vývoj málo času, povedený. Nástroje podobného typu se vyvíjí běžně mnohem déle a mají mnohem více testerů.
43
8
Testování
Testování má být zaměřeno na cílovou skupinu, tedy na děti se zrakovým postižením učících se na prvním stupni základní školy. V následující podkapitole je popsáno co a jakým způsobem chci testováním zjistit, v dalších podkapitolách jsou výsledky testování s jednotlivými dětmi.
8.1
Cíle a postup testování
Prvním zaměřením je vyzkoušet, jak dítě bude reagovat, pokud mu bude předložen spuštěný program bez nápovědy. Pokud si nebude vědět rady, dostane základní popis ovládání. Následuje sledování jednotlivých her. Pro všechny hry je společné sledování, zda-li pak se dobře ovládají a zda je ovládání intuitivní. Další sledovanou oblastí je, zda dítě správně rozeznává obrázky. Následně se u her sledují ještě pro ně specifické body. U Poznáš zvíře a Jak mluví je sledováno, zda stačí jen první pokyn, nebo zda je třeba ho opakovat. Tato hra je považována za svým ovládáním jednoduchou a myslím si, že pouze úvodní pokyn bez opakování postačuje. Velikost obrázků je zde poměrně dobrá, takže i tady by neměl být větší problém. U Jak mluví budu zjišťovat, jestli je rychlost úvodní prezentace v pořádku, nebo jestli je třeba ji zrychlit či zpomalit. Ovládání je zde o trochu složitější, než v předchozím případě a mohlo by dělat problémy. U tohoto úkolu mě také zajímá, zda jsou ikonky pro přeskočení úvodní prezentace intuitivní. Hra Kde bydlí může být na ovládání poměrně obtížná. Je dokonce i možné, že dítě ji nebude schopno hrát. Pokud ji bude schopno hrát, tak chci zjistit, zda nevadí, že jsou zde menší obrázky, než v předchozích hrách. Zajímá mě také, zda řešení, že ovládací ruka, když se dostane mimo plochu, tak odskočí zpět na startovní pozici, nebude způsobovat komplikace. Ve finále bych se rád zeptal, která hra byla podle hráče/hráčky nejlepší a která nejhorší. Také bych rád zjistil, zda přerušení úvodního pokynu pomocí klávesy je intuitivní. A nakonec, testování má odhalit i nepředpokládané problémy, takže se nebude držet striktně jen výše uvedený bodů.
8.2
Průběh testování
Testovány byly tři děti se zrakovým postižením, které měly různou znalost práce s počítačem. 8.2.1
Testování s Dominikem
Dominik má malé zkušenosti s počítačem. Už dříve s ním pracoval, ale s myší se teprve učí ovládat. Dominik byl zpočátku trochu plachý, při práci s programem ale začal po čase projevovat iniciativu zkoušet jednotlivé funkce programu. 1. Spuštění programu (a) Počáteční reakce - Díky počátečním drobným problémům je třeba ukázat počáteční ovládání. S ukázkou zvládá následné ovládání dobře.
44
8
TESTOVÁNÍ
(b) První hra - Jako první hru si bez bližšího prozkoumání jiných vybírá Jaké mají stopy. 2. Jaké mají stopy (a) Ovládání - S počáteční nápovědou zvládá ovládání bez problémů. (b) Velikost obrázků - Velikost obrázků je vyhovující, stopy a zvířata jsou dobře rozeznatelná. (c) Rychlost přehrávání úvodní prezentace - Rychlost přehrávání úvodní prezentace hodnotí Dominik jako rychlou. (d) Přeskočení úvodní prezentace - Na otázku, jak by se dala přeskočit úvodní prezentace je odpověď, že Šipkou pro pokračování. (e) Dodatečné poznámky - Při této hře se seznamuje s funkcí odměny. Dominik zkouší, zda se odměna bude měnit bez nutnosti vyřešení následujícího úkolu. Odměna se stává velmi oblíbenou, po každé odehrané hře je spuštěna odměna. V této hře se zjistilo, že odměna se může s určitou malou pravděpodobností nalosovat 2x po sobě stejná. 3. Jak mluví a Poznáš zvíře (a) Ovládání - Možná díky seznámení se s ovládáním v původní úloze se stopami, ovládání zdejší úlohy nečiní žádné problémy. (b) Velikost obrázků - Velikost obrázků je více méně vyhovující. Obrázek kočky je považován za obrázek lišky. (c) Opakování zadání - Opakování počátečního zadání není třeba. (d) Dodatečné poznámky - Nejsou. 4. Kde bydlí (a) Ovládání - Počáteční pokusy ovládat hru jsou uchopování zvířete směrem k cílovému obydlí. Po malé nápovědě a chvíli pokusů zvládá ovládání. Dokonce nečiní potíže ani stav, kdy zvíře je na okraji obrazovky a odkud se tak může těžko dostávat pryč. (b) Velikost obrázků - Přestože v této úloze jsou obrázky zvířat nejmenší, jsou dobře rozeznatelné. (c) Obrázek Ruky mimo okraj - Ruka mimo okraj, když odskočila zpět na původní místo, tak nedezorientovala. (d) Dodatečné poznámky - Při přehrávání doprovodného komentáře zaslechl Dominik, že se mu tam přehraje buď písnička, básnička nebo pohádka chtěl si vybrat přehrání písničky. 5. Závěrečné otázky (a) Která hra je nejlepší - Kde bydlí (b) Která hra je nejméně dobrá - Poznáš zvíře (c) Jak přeskočit úvodní pokyn - Nenapadá ho jak.
8.2
Průběh testování
8.2.2
45
Testování s Jaroslavem
Jaroslav má základní zkušenosti s počítačem. Jaroslav byl podobně jako Dominik trochu plachý. Jaroslav není moc zvídavý, jakmile se naučí jeden postup, nesnaží se objevovat další možnosti. 1. Spuštění programu (a) Počáteční reakce - S malou nápovědou zvládá ovládání. (b) První hra - Jako první hru si vybírá Kde bydlí. Tu mu rozmlouváme, protože pro začátek je složitá. 2. Jak mluví a Poznáš zvíře (a) Ovládání - Na začátku ukazuje na cílový obrázek, ale váhá s kliknutím. Po výzvě klikne a dále už ovládá bez problémů. (b) Velikost obrázků - Velikost obrázků je vyhovující. (c) Opakování zadání - Při úvodním zadání není správně u jedné úlohy rozpoznáno. Hodilo by se jej přehrát znova. (d) Dodatečné poznámky - Pokud se přehrává úvodní zvuk, nepřehraje se pochvala. Jaroslav jede podle prvního osvědčeného postupu, kliknout zvíře, kliknout další, odměnu nezkouší. Možná proto, že v obrázku odměny prý nerozpozná bonbon. 3. Kde bydlí (a) Ovládání - Počáteční pokusy ovládat hru jsou uchopování zvířete směrem k cílovému obydlí. Po malé nápovědě a chvíli pokusů zvládá ovládání. (b) Velikost obrázků - Obrázky zvířat jsou dobře rozeznatelné. Obrázek ruky je zaměněn za jelena. (c) Obrázek Ruky mimo okraj - Ovládací ruka se mimo okraj v průběhu hry nedostala. (d) Dodatečné poznámky - Nejsou 4. Jaké mají stopy (a) Ovládání - Hru zvládá ovládat bez jakékoliv nápovědy. (b) Velikost obrázků - Velikost obrázků je vyhovující. (c) Rychlost přehrávání úvodní prezentace - Rychlost přehrávání úvodní prezentace hodnotí jako dobrou. (d) Přeskočení úvodní prezentace - Na otázku, jak by se dala přeskočit úvodní prezentace je odpověď, že Šipkou pro pokračování. (e) Dodatečné poznámky - V této poslední hře jsme navedli Jaroslava, aby vyzkoušel bonbon. Při přehrávání úvodního komentáře, že se mu přehraje buď pohádka, básnička nebo písnička si chce vybrat pohádku. V této úloze se náhodou objevilo, že se jednou místo oznámení o špatném přiřazení přehrál zvuk „Víš jak mluví?”.
46
8
TESTOVÁNÍ
5. Závěrečné otázky (a) Která hra je nejlepší - Jak mluví (b) Která hra je nejméně dobrá - Jaké mají stopy 8.2.3
Testování s Marií
Marie nemá žádné zkušenosti s počítačem. To se také následně odrazilo při testování, kdy se bála sama objevovat nové možnosti. 1. Spuštění programu (a) Počáteční reakce - S nápovědou zvládá ovládání. (b) První hra - Hru si sama nevybírá. 2. Jak mluví a Poznáš zvíře (a) Ovládání - Ovládání zvládá s nápovědou. U Jak mluví kliká dříve, než dozní zvuk a neozve se při tom pochvala za dobrý výběr. (b) Velikost obrázků - Velikost obrázků je vyhovující. (c) Opakování zadání - Není třeba. (d) Dodatečné poznámky - Zkouší opakovaně kliknout na bonbon, zda se změní odměna. 3. Jaké mají stopy (a) Ovládání - Ovládání po nápovědě v pořádku. (b) Velikost obrázků - Velikost obrázků je zdá se vyhovující, detaily na zvířatech rozpoznává. Zaměnila ale kočku za lišku a divočáka za medvěda. (c) Rychlost přehrávání úvodní prezentace - Rychlost přehrávání úvodní prezentace hodnotí jako rychlou. (d) Přeskočení úvodní prezentace - Na výzvu, aby přeskočila úvodní prezentaci, zkouší klikat na zvířata. Po nápovědě, že má použít jednu z ikonek dole tipuje nejdříve zvonec a pak šipku. (e) Dodatečné poznámky - Nejsou. 4. Kde bydlí (a) Ovládání - Na začátku zkouší chytit zvířata a přesunout je k požadovanému domku. Po malé nápovědě, že má k pohybu se zvířaty použít obrázek ruky, zkouší dostat zvířata do domků tak, že přes zvířata přejíždí rukou ve směru požadovaného cíle. Nakonec zvládá úspěšně splnit úlohu. (b) Velikost obrázků - Obrázky zvířat jsou dobře rozeznatelné. Obrázek ruky je zaměněn za zajíce.
8.3
Výsledky
47
(c) Obrázek Ruky mimo okraj - Ovládací ruka mimo okraj, která se automaticky navrátila na start lehce překvapila, ale ovládací ruka byla nalezena. (d) Dodatečné poznámky - Nejsou 5. Závěrečné otázky (a) Která hra je nejlepší - Jaké mají stopy (b) Která hra je nejméně dobrá - Kde bydlí (c) Dodatečné poznámky - Bylo zjištěno, že Marie ve všech úlohách poměrně často přejížděla přes ovládací tlačítka a tak se často přehrávala komentář k tlačítkům, který v průběhu hry rušil.
8.3
Výsledky
Během testování bylo sesbíráno mnoho námětů na drobná vylepšení. Každé ze tří dětí potřebovalo pomoc do začátku, jak ovládat v menu. Bylo to pravděpodobně dáno nízkou zkušeností s prací s počítačem u zrakově postižených dětí. Z pohledu běžného zkušeného uživatele by se hodilo do menu dát změnu kurzoru při přejetí nad kliknutelným obrázkem, ale jelikož hry jsou navržené pro nezkušené děti, lepší by bylo přidat do menu úvodní komentář s nápovědou. U většiny her byl počáteční problém s ovládáním. Hodilo by se proto upravit úvodní komentáře tak, aby zdůrazňovaly, jak se hra ovládá. Třeba v úvodním komentáře u Poznáš zvíře je řečeno, že se má ukázat na správné zvíře, ale hodilo by se spíše upravit komentář, aby obsahoval, že se má kliknout levým tlačítkem myši na zvíře. Během testování se ukázaly problémy se třemi obrázky. Jsou to kočka, zaměňovaná za lišku, pravděpodobně díky barvě. Trochu je třeba pouvažovat nad záměnou divočáka a medvěda, ale tady asi úpravy nebudou třeba. Výrazným problémem byla záměna ruky za zajíce či jelena. Dítě ve scénách očekává zvíře a tak ho nenapadne přemýšlet nad tím, že by se mohlo jednat o něco jiného. U odměny se ukázalo pár problémů. Prvně nebyl správně rozpoznán bonbon. V tomto případě si myslím, že by se hodilo vyzkoušet nahradit bonbon za dárek. Při přehrávání popisného komentáře jakmile uslyšely děti, že jim ikona přehraje písničku, básničku nebo pohádku, tak si chtěly vybrat konkrétně, co za typ přehrát. U odměny se stala jednou chyba, že byla náhodou dvakrát po sobě vylosovaná stejná odměna. U odměny bylo také zaznamenáno, že děti vyzkouší, zda se odměna mění při opakovaném kliknutí bez vyřešení dalšího úkolu. Toto chování se dalo očekávat. Pravděpodobně by bylo dobré, aby ikona po spuštění přehrávání odměny zmizela a bylo tak hned pochopitelné, že pro další odměnu je třeba vyřešit další úkol. U Jaké mají stopy by bylo vhodné vyzkoušet trochu zpomalit prezentaci. Tlačítko šipky pro urychlení prezentace a tlačítko zvonku pro skok rovnou do hry není ideální. Je to dáno pravděpodobně tím, že děti mají zkušenost zevnitř her, že šipka pro pokračování přeskakuje na další hru a zvonek se vrací do hlavního menu. Ve hře Kde bydlí se ukázalo ovládání přes ruku složité. Intuitivní chování dětí, že zvíře zkusí přetáhnout myší do domku bohužel moc neříká o tom, zda je to první věc, co je napadne
48
8
TESTOVÁNÍ
bez předchozích zkušeností, jelikož je ovlivněno hrou Jaké mají stopy, kde se takový postup aplikoval. Po nápovědě, že se má využít obrázek ruky ale děti ovládání zvládají. Při testování se ukázalo, že děti zkouší jak zvíře tlačit, tak i popohánět. U hry Kde bydlí se také ukázalo, že zvíře, které se dostane na okraj obrazovky, zvládnou děti dostat od tamtud ven. Přesto by možná stálo za zamyšlení, aby zvířata po startu úlohy byla dále od okrajů obrazovky. Nakonec ještě pár postřehů. Jednou se přehrálo místo výtky nesmyslně zvuk „Poznáš je?”. A ukázalo se, že by se možná hodil limit pro počet opakování komentářů k tlačítkům při spuštěné hře, neboť dítě za hru několikrát přejede přes spodní ovládací tlačítka a tak se často ozývají už dávno známé popisky tlačítek. S popiskem tlačítek souvisí také problém tlačítka zvonek pro konec úlohy, které po kliknutí změní scénu na úvodní menu, kde se opět hned přehraje jeho popisek, protože myš po kliknutí se nachází na místě, kde je ukončovací tlačítko zvonek pro celou hru.
49
9
Diskuse nad výsledky práce
Testování her v reálném prostředí ukázalo sice několik nedostatků, jinak se ale hry ukázaly pro děti jako zábavné. Počáteční problémy her, kdy zpočátku byly problémy s častými pády programu, špatným rozmístěním zvířat po ploše či špatnou funkčností úlohy Kde bydlí, byly ještě při vývoji opraveny a v poslední verzi, která byla testována na dětech už zbývají jen minoritní návrhy na zlepšení. Stejně tak se povedlo vyřešit problémy s rozcházením her na počítačích se systémem Windows XP, který neobsahoval nejnovější komponenty pro správný běh programu. Toho bylo dosaženo díky vytvoření intuitivního instalátoru, který byl důkladně otestován na čisté instalaci Windows XP.
9.1
Využití práce
Hry byly testovány v reálném prostředí, kde se ukázaly, že i přes menší nedostatky jsou opravdu dobré. Hry děti bavily a až na pár výjimek dokázaly děti rozpoznat všechny obrázky, které se ve hrách nacházely. Škola Jaroslava Ježka, která se zaměřuje na zrakově postižené a kde bylo testování her provedeno, vyslovila zájem, že by se pro hry našlo u nich uplatnění. Věřím, že se hry mohou uplatnit také v mnoha dalších školách s podobným zaměřením a nic nebrání jejich využití i v běžných školách.
50
9
DISKUSE NAD VÝSLEDKY PRÁCE
51
10
Závěr
Ve vývojovém prostředí GamLab byly implementovány hry Poznáš zvíře (vyhledání zvířete dle jména), Jaké mají stopy (přiřazení stop ke zvířatům), Jak mluví (vyhledání zvířete dle zvuků) a Kde bydlí (rozřazení zvířat dle místa přirozeného pobytu). Hry byly otestovány na vzorku tří dětí. Zadání bylo splněno. Hry byly implementovány z větší části podle požadavků Kláry Holé, jediný požadavek, který nebyl dosažen, byl vytvořit zvířata alespoň trochu proporcionální (slon by měl být větší než mravenec, ale jen o trochu). Všechny ostatní požadavky byly splněny. Provedené testování ukázalo několik chyb, ne však zásadního významu. Z výsledků testování pak bylo možné vytvořit návrhy pro budoucí úpravy. Jsou jimi například výměna některých obrázků za vhodnější, oprava drobných chyb, či úprava komentářů, aby lépe popisovaly úlohu. Práce zároveň provedla ostrý test praktické využitelnosti nástroje GamLab (popis nástroje viz kapitola 7.1) . Ten se až na drobné nedostatky (viz kapitola 7.5) ukázal jako vhodný pro tvorbu her podobného typu.
52
10
ZÁVĚR
REFERENCE
53
Reference [1] Klára Holá. Tvorba edukačního počítačového programu pro děti se zrakovým postižením. Diplomová práce, Univerzita Karlova, Praha, Duben 2010. [2] Bc. Tomáš Pastorek. Prostředí pro tvorbu jednoduchých her. Diplomová práce, ČVUT, Praha, Květen 2010 [3] start - [GamLab wiki] [online]. [2010-05-26]. Dostupný z WWW: http://wiki.gamlab.com [4] Free Windows Installer - MSI Installer Tool [online]. [2010-05-26]. Dostupný z WWW: http://www.advancedinstaller.com/ [5] .NET Framework 3.5 [online]. [2010-05-26]. Dostupný z http://msdn.microsoft.com/en-us/library/w0x726c2%28v=vs.90%29.aspx
WWW:
[6] Boo - Home [online]. [2010-05-26]. Dostupný z WWW: http://boo.codehaus.org/ [7] Qt - A cross-platform application and UI framework [online]. [2010-05-26]. Dostupný z WWW: http://qt.nokia.com/
Použité zdroje V programu jsou reprodukovány básně J. Zindulky, a L. Středy, pohádka J. Žáčka a píseň "Mravenčí ukolébavka" od autorů Z. Svěráka a J. Uhlíře. V úloze s cílem rozpoznat hlasové projevy zvířat jsou použity krátké úryvky ze zvukových nahrávek Dr. J. Raabeho. Komentáře do programu realizovala Klára Holá, obrázky byly vytvořeny Barbarou Zavadilovou ve spolupráci s Klárou Holou. Písně realizoval Matyáš Müller (kytara, zpět) a Eva Válová (zpěv).
54
REFERENCE
REFERENCE
55
Instalační a uživatelská příručka Instalace
Obrázek 11: Náhled na instalátor
1. Vložit CD do mechaniky. 2. Automaticky se spustí program. 3. Pokud máte Windows XP SP2 nebo SP3, tak je třeba kliknout na „Instalovat Windows Media Player 11 pro XP CZ”a pokračovat podle pokynů instalátoru. 4. Pokud máte Windows XP SP2 nebo SP3, tak je třeba kliknout na „Instalovat .NET 3.5 pro XP” a pokračovat podle pokynů instalátoru. 5. Kliknout na „Instalovat Poznávej s Luisou!” a pokračovat podle pokynů instalátoru.
56
REFERENCE
Spuštění hry, úvodní menu
Obrázek 12: Náhled na startovní menu
1. Po spuštění her se objeví obrazovka s výběrem her. 2. Po přejetí kurzorem myši nad obrázek se přehraje komentář říkající název hry. 3. Také je možné kliknout na nápis „Nastavení” a „O programu”. 4. Klikem na nápis „Nastavení” se dostaneme do sekce pro nastavení velikosti obrázků ve hrách. 5. Klikem na nápis „O programu” se dostaneme do sekce s informacemi o program. 6. Klikem myši na obrázek jedné z her se hra spustí. 7. Hry a sekci O programu je možné opustit a navrátit se do hlavního menu pomocí kliku na obrázek zvonku.
REFERENCE
57
Nastavení velikosti obrázků ve hrách
Obrázek 13: Náhled na sekci Nastavení
1. V této sekci je třeba kliknout na nápis popisující požadovanou velikost obrázků ve hrách.
2. Po kliknutí na požadovanou velikost se vrátíme zpět do menu.
3. Pro všechny hry od teď platí nastavená velikost.
58
REFERENCE
Hra Poznáš je
Obrázek 14: Náhled na scénu Poznáš zvíře
1. Po spuštění hry se přehraje úvodní komentář s návodem. Tento je možný stiskem libovolné klávesy přerušit. 2. Po přehrátí komentáře s návodem se přehraje výzva ke kliknutí na konkrétní zvíře. Je možné přerušit ho stiskem libovolné klávesy. 3. Klikem na správné zvíře je úloha vyhrána. 4. Objeví se obrázek odměny bonbon a je možné na něj kliknout pro přehrání odměny. 5. Objeví se obrázek šipky pro pokračování a po kliknutí na něj úloha znova začne. 6. Kliknutím na obrázek zvonku je možné hru ukončit.
REFERENCE
59
Hra Jak mluví
Obrázek 15: Náhled na scénu Jak mluví
1. Po spuštění hry se přehraje úvodní komentář s návodem. Tento je možný stiskem libovolné klávesy přerušit. 2. Po přehrátí komentáře s návodem se přehraje zvuk jednoho ze zvířat. Je možné přerušit ho stiskem libovolné klávesy. 3. Klikem na správné zvíře je úloha vyhrána. 4. Objeví se obrázek odměny bonbon a je možné na něj kliknout pro přehrání odměny. 5. Objeví se obrázek šipky pro pokračování a po kliknutí na něj úloha znova začne. 6. Kliknutím na obrázek zvonku je možné hru ukončit.
60
REFERENCE
Hra Jaké mají stopy
Obrázek 16: Náhled na prezentaci stop
1. Po spuštění se objeví prezentace.
2. Přehrává se automaticky návod ke hře.
3. Prezentaci lze urychlit stiskem klávesy nebo kliknutím na obrázek šipky pro pokračování.
4. Prezentaci je možné přeskočit stiskem obrázku zvonku.
REFERENCE
61
Obrázek 17: Náhled na scénu Jaké mají stopy
1. Stopy je nutné přetáhnout ke správným zvířatům.
2. Přesun stopy se provádí kliknutím myši na obrázek a přesunem myši za pomoci držení tlačítka.
3. Po přesunutí všech zvířat na správné místo je hra vyhrána.
4. Objeví se obrázek odměny bonbon a je možné na něj kliknout pro přehrání odměny.
5. Objeví se obrázek šipky pro pokračování a po kliknutí na něj úloha znova začne.
6. Kliknutím na obrázek zvonku je možné hru ukončit.
62
REFERENCE
Hra Kde bydlí
Obrázek 18: Náhled na scénu Kde bydlí 1. Po spuštění hry se přehraje úvodní komentář s návodem. Tento je možný stiskem libovolné klávesy přerušit. 2. Cílem hry je dostat zvířata do správného obydlí. 3. Klikem na obrázek černé ruky a následným držením myši je možné posouvat černou rukou. 4. Narážením černou rukou do zvířat je možné zvířata rozpohybovat. 5. Jakmile všechna zvířata dosáhnou správného obydlí, je úkol vyhrán. 6. Objeví se obrázek odměny bonbon a je možné na něj kliknout pro přehrání odměny. 7. Objeví se obrázek šipky pro pokračování a po kliknutí na něj úloha znova začne. 8. Kliknutím na obrázek zvonku je možné hru ukončit.
Obsah přiloženého CD neco