MATURITNÍ PRÁCE dokumentace



Podobné dokumenty
funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Uživatelská dokumentace

Inteligentní zastávky Ústí nad Labem

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Modely rozvrhování produkce s využitím Matlabu

Android Elizabeth. Verze: 1.3

Co najdete v ASPI? (pro uživatele SVI FSE UJEP)

téma: Formuláře v MS Access

Mobilní aplikace. Dokument nepopisuje administrační rozhraní (backend) ani napojení na příbuzné databáze.

NUR - Interaktivní panel, D1

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

Základní škola, Staré Město, okr. Uherské Hradiště, příspěvková organizace. Komenské 1720, Staré Město, Metodika

Nastavení telefonu T-Mobile MDA Touch

INFORMATIKA V CHOVECH PRASAT

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Nástroje produktivity

DUM 05 téma: Základy obsluha Gimp

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

UŽIVATELSKÁ PŘÍRUČKA REGISTR CHMELNIC NA EAGRI ZÁKLADNÍ POPIS FUNKCÍ A FORMULÁŘŮ. CCV, s. r. o.

DUM 10 téma: Nástroje malování

účetních informací státu při přenosu účetního záznamu,

Analýza oběžného kola

PRACOVIŠTĚ PRO DLOUHODOBÉ UCHOVÁVÁNÍ A ZPŘÍSTUPŇOVÁNÍ DOKUMENTŮ V DIGITÁLNÍ PODOBĚ NÁRODNÍ DIGITÁLNÍ ARCHIV

TVAROVÉ A ROZMĚROVÉ PARAMETRY V OBRAZOVÉ DOKUMENTACI. Druhy kót Části kót Hlavní zásady kótování Odkazová čára Soustavy kót

S_5_Spisový a skartační řád

MINISTERSTVO PRO MÍSTNÍ ROZVOJ UŽIVATELSKÁ PŘÍRUČKA IS KP 14+ PRO INTEGROVANÉ NÁSTROJE: ŽÁDOST O PODPORU STRATEGIE CLLD. Verze: 1.

Herní plán KING OF DIAMONDS

21 SROVNÁVACÍ LCA ANALÝZA KLASICKÝCH ŽÁROVEK A KOMPAKTNÍCH ZÁŘIVEK

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Zadávací dokumentace dle ustanovení 44 zákona č. 137/2006 Sb., o veřejných zakázkách (dále jen zákon )

ICT plán ZŠ praktické Bochov na rok 2009

Tvorba webových stránek

Modul Řízení objednávek.

Seriál: Management projektů 7. rámcového programu

Šicí stroje NX-400 NX-200

IP kamerový systém - uživatelský návod k obsluze

Pracovní návrh. VYHLÁŠKA Ministerstva práce a sociálních věcí. ze dne o hygienických požadavcích na prostory a provoz dětské skupiny do 12 dětí

Měřič plochy listu Návod k použití

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

NÁVOD K HODINKÁM S KAMEROU 1. Úvod Dostává se Vám do rukou kamera s mikrofonem, záznamem obrazu a zvuku skrytá v náramkových hodinkách.

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

DIGITÁLNÍ HRACÍ HODINY DGT 2000 FIDE OFICIÁLNÍ ŠACHOVÉ HODINY

Zálohování a obnova Uživatelská příručka

Obsah. Obsah. Úvod... 7

OBEC HORNÍ MĚSTO Spisový řád

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

DOTWALKER NAVIGACE PRO NEVIDOMÉ A SLABOZRAKÉ

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

Pokyny k vyplnění Průběžné zprávy

Řízení kalibrací provozních měřicích přístrojů

Pokyny k instalaci FRIATRACE Verze 5.3

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Zoner Photo Studio

Novinky verzí SKLADNÍK 4.24 a 4.25

KLÍČE KE KVALITĚ (METODIKA II)

Záloha a obnovení Uživatelská příručka

ICT plán školy 2015/2016

Testování uživatelského rozhraní aplikace fotoaparátu telefonu Sony Ericsson Xperia Neo

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

UŽIVATELSKÁ PŘÍRUČKA PRO INTERNETBANKING PPF banky a.s.

Ukázka knihy z internetového knihkupectví

Uživatelská dokumentace

Metodika kontroly naplněnosti pracovních míst

Školní kolo soutěže Mladý programátor 2016, kategorie A, B

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

VZDĚLÁVACÍ MATERIÁL III/2 (DUM)

Studie proveditelnosti návrhu

Možnosti zavedení jednotné metodiky m ení korozní rychlosti na kovových úložných za ízeních.

ZLATO ELFŮ. od Alana R. Moona

KOMPLEXNÍ ŘEŠENÍ LOKALITY U TOČNY V DOMAMYSLICÍCH. investor: Statutární město Prostějov místo: Domamyslice

Import certifikátů a vytvoření keystore

ZPRÁVA O PRŮBĚHU ŘEŠENÍ PROJEKTU

METODIKA PRO NÁVRH TEPELNÉHO ČERPADLA SYSTÉMU VZDUCH-VODA

S t r á n k a 1 I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í

MATURITNÍ PRÁCE dokumentace

PŘÍLOHA 10 SMLOUVY O PŘÍSTUPU KE KONCOVÝM ÚSEKŮM. Pravidla a postupy

Manuál pro WebRSD. verze 2.0 z

Zadání. Založení projektu

Informační a komunikační technologie. 1.4 Data, informace, komprimace

MDT xxx TECHNICKÁ NORMA ŽELEZNIC Schválena: Ochrana zabezpečovacích zařízení před požárem

Vodafone promo kit uživatelský manuál Uživatelský manuál pro aplikaci. Vodafone promo kit. Verze dokumentu: 2.

SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ

Územní studie ÚS 5-02/2015 Pro lokalitu Stará čtvrť Ostrava - Lhotka

Konzistence databáze v nekonzistentním světě

NÚOV Kvalifikační potřeby trhu práce

Zařízení má několik částí.

Databáze invazivních vstupů jako zdroj dat pro účinnou kontrolu infekcí

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

Rozšířená nastavení. Kapitola 4

S T L IBE M Ě C S T O. her. opatření ke snížen. pořádku. vedoucí. Poznámka: Předkládá: oddělení. telefon:

Miroslav Kunt. Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy

VIRTUALBOX GUEST ADDITIONS

1. Jaká základní jednotka se používá v informatice pro specifikaci datových velikostí (velikosti disků, pamětí apod.)? bit, resp.

Transkript:

MATURITNÍ PRÁCE dokumentace 3D hra pro Android Petr Dobeš školní rok: 2012/2013 obor: třída: Elektronické počítačové systémy PS4B

ABSTRAKT Tato maturitní práce se zabývá tvorbou hry Akarun, která je určena pro mobilní operační systém Android vyvíjený společností Google. Během vývoje bylo nutno vyuţít různých technologií a postupů. Tyto postupy jsou podrobněji představeny a popsány v dokumentaci. Práce se také snaţí ukázat, jaká úskalí se mohou objevit během tvorby podobných aplikací. Práce také seznamuje se způsoby a průběhem testování aplikací pro zvolenou platformu.

OBSAH Úvod... 6 1 Cíle práce... 7 1.1 Tvorba herní aplikace zaloţené na vhodném 3D enginu... 7 1.2 Tvorba potřebných textur pro kostky pouţité v levelu... 7 1.3 Tvorba několika herních levelů... 7 1.4 Kontrola dokončení levelů... 7 1.5 Generování seznamu levelů... 7 2 Výběr technologií pro řešení... 8 2.1 Programovací jazyk... 8 2.2 Vývojové prostředí... 8 2.3 Nástroje pro úpravu grafický prvků... 9 2.4 3D grafická knihovna... 11 2.5 Nástroje pro testování... 11 3 Způsoby řešení a pouţité postupy... 12 3.1 Návrh struktury aplikace... 12 3.2 Tvorba struktury... 14 3.3 Návrh úrovní... 15 3.4 Testování a optimalizace... 16 4 Příručka uţivatele... 17 4.1 Poţadavky na zařízení... 17 4.2 Základní menu... 17 4.3 Obrazovka herní úrovně... 19 5 Shrnutí... 22 SEZNAM POUŢITÝCH INFORMAČNÍCH ZDROJŮ... 23 SEZNAM POUŢITÝCH SYMBOLŮ A ZKRATEK... 24 SEZNAM OBRÁZKŮ... 25 SEZNAM PŘÍLOH... 26

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 6 Úvod Operační systém Android je v současné době nejrozšířenějším operačním systémem v mobilních telefonech, a proto je výhodné dozvědět se více o jeho moţnostech a způsobech vývoje aplikací. Díky nativní implementaci Open GL nabízí Android dostatek výkonných prostředků pro tvorbu her a grafických animací. S rostoucím výkonem současných mobilních telefonů se otevírají nové moţnosti toho, co můţeme pro tuto platformu tvořit. Cílem hry Akarun je předvést, jakým způsobem probíhá vývoj grafických aplikací. V této dokumentaci bude předveden původní návrh celé aplikace a také jeho postupné úpravy, vývoj a ladění. Dokumentace také nastiňuje funkce jednotlivých tříd, které byly v závislosti na návrhu vytvořeny.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 7 1 Cíle práce 1.1 Tvorba herní aplikace založené na vhodném 3D enginu Je třeba najít dostupné 3D knihovny pro systém Android, seznámit se s nimi a vybrat z nich vhodnou variantu. Dále je nutné na základě této knihovny navrhnout strukturu aplikace tak, aby v ní bylo moţno snadno provádět úpravy a importovat herní úrovně. 1.2 Tvorba potřebných textur pro kostky použité v levelu Je nutno vytvořit textury nebo jejich části, které budou v herní logice seskládány dohromady tak, aby vzhled výsledného 3D modelu odpovídal poţadovanému stavu. 1.3 Tvorba několika herních levelů Aby byly prezentovány všechny aspekty aplikace, je třeba také vytvořit několik herních úrovní. Ty by mělo být moţné načítat z dokumentů ve formě čitelné pro programátora. 1.4 Kontrola dokončení levelů Je třeba vytvořit vhodný systém pro kontrolu vyřešení jednotlivých herních úrovní. Jde o způsob reprezentace současného stavu barev na jednotlivých kostkách a jejich porovnávání. 1.5 Generování seznamu levelů Aby hra byla snadno rozšiřitelná, je nutno zařídit, aby byla v menu generována tlačítka pro spouštění levelů na základě souborů s levely, které jsou umístěny v příslušném adresáři projektu.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 8 2 Výběr technologií pro řešení 2.1 Programovací jazyk Programovací jazyk byl předem určen zvolenou platformou, která implicitně vyţaduje pouţití jazyka Java. Pro ukládání informací o jednotlivých herních úrovních byl zvolen oblíbený jazyk XML. Tento jazyk byl zvolen z důvodu snadné parsovatelnosti knihovnami obsaţenými v operačním systému Android. Výhodou jazyka XML je také snadná čitelnost programátorem a přehledná struktura. Java je interpretovaný, a aţ na výjimku osmi primitivních datových typů, striktně objektově orientovaný programovací jazyk. Disponuje především vysokou přenositelností. Toho je docíleno tím, ţe jazyk není přímo kompilovaný, ale o jeho interpretaci se stará Java virtual machine běţící na dané architektuře. Jeho jednotlivé odnoţe lze nalézt na všech typech zařízení. [1] XML je značkovací jazyk vytvořený konsorciem W3C. Mnoho programovacích jazyků (včetně Javy) usnadňuje jeho zpracování pouţitím nativních knihoven. Pro reprezentaci struktury dat pouţívá jazyk XML vlastní značky. XML je výhradně textový, a lze jej tak upravit v libovolném textovém editoru. [2] 2.2 Vývojové prostředí Pro samotné psaní kódu, kompilaci a ladění bylo pouţito vývojové prostředí Eclipse s doplňkem Android SDK. Tento doplněk je pro Eclipse velmi dobře optimalizován. Společně tak nabízí ucelený nástroj pro kompletní vývoj aplikací. Další výhodou je, ţe prostředí Eclipse i doplněk Android SDK jsou zdarma. Samotné prostředí Eclipse (Obr. č. 1) je napsáno v jazyce Java. Z tohoto faktu vyplývá nativní podpora jazyka Java. Lze v něm však bez problémů pracovat i s jinými technologiemi. Ke staţení je také velmi široká nabídka plug-inů (mezi jinými i plug-in ADT, který dodává nástroje pro práci s projekty pod systémem Android). Pro kaţdý projekt se pouţívá takzvaný workspace (pracovní prostředí), ve kterém je teprve zaloţen daný projekt.[3]

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 9 Obr. č. 1: Vývojové prostředí Eclipse 2.3 Nástroje pro úpravu grafický prvků Úprava 3D modelu byla provedena v programu Blender. Ten byl zvolen pro svou dostupnost. Z mého pohledu však nabízí velmi sloţité a pro začátečníky nepřívětivé prostředí. Pro účely vytváření hry Akarun byl však dostačující a pouţitelný. Blender je 3D modelovací a animační software. Je vyvíjen pod licencí Open source, a tak si můţe jeho zdrojové kódy prohlédnout prakticky kaţdý. Na internetu je k dispozici řada doplňků přidávajících či upravujících některé funkce tohoto nástroje. I v základu však nabízí velmi netradiční funkce, jako je např. tvorbu interaktivních aplikací. Je tak moţno vytvořit hru v samotném prostředí programu Blender. [4]

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 10 Obr. č. 2: Vývojový nástroj Blender Grafika pro menu a textury byla upravována v programu Adobe Photoshop CS2. Ten je v současné době zdarma a nabízí špičkové nástroje pro úpravu grafiky. Jde asi o nejznámější editor grafiky vůbec. Kromě spousty dostupných plug-inů nabízí sám o sobě sadu filtrů pro velmi pokročilé úpravy obrázků. Obr. č. 3: Adobe Photoshop CS2 [7]

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 11 2.4 3D grafická knihovna Volba 3D grafické knihovny byla poněkud náročnější. Existuje hned několik frameworků, ze kterých bylo moţno vybírat. Jako jeden z testovaných, stojí za zmínku Min3D, který je poměrně jednoduchý na pouţití. Obsahuje však chyby v otáčení objektů a pouţití světel ve scéně. Autor tohoto frameworku vydal před nedávnem jeho nástupce s názvem Rajawali. Ten přicházel také v úvahu, ale protoţe vyţaduje hardwarovou podporu Open GL 2.0, nebylo by jej moţné testovat na mobilním telefonu, který byl k dispozici. Z výběru vyšel vítězně enigne jpct-ae, který je mobilní verzí Java enginu jpct vytvořeného Egonem Olsonem. Engine jpct nabízí velmi příjemnou a jednoduchou implementaci. Jeho pouţití je velmi intuitivní. Navíc na oficiálním fóru existuje aktivní komunita, na kterou se lze v případě nějakých problémů obrátit. 2.5 Nástroje pro testování K testování aplikace byl pouţit mobilní telefon Sony Ericsson Xperia X10 mini. Byla zde i moţnost pouţití emulátoru vyvíjeného společností Google. Ten je však velmi pomalý a pro testování náročnějších aplikací jako jsou 3D hry je v podstatě nepouţitelný. Po nainstalování potřebných ovladačů k telefonu, je moţné spouštět kompilaci a sestavení v prostředí Eclipse a toto prostředí jiţ samo nainstaluje a spustí aplikaci na připojeném telefonu. Doplněk Android SDK navíc nabízí nástroj LogCat, který se dá pouţít pro analýzu výstupních logovacích souborů telefonu. Obr. č. 4: Sony Ericsson Xperia X10 mini [5]

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 12 3 Způsoby řešení a použité postupy 3.1 Návrh struktury aplikace Základem kaţdého projektu je prvotní detailní návrh řešení. Tento návrh zkrátí celkový čas tvorby, protoţe není třeba vymýšlet nové způsoby řešení během vývoje. 3.1.1 Obecná struktura aplikace pro Android Jako první v pořadí bylo nutno seznámit se se základní strukturou aplikace pro Android. Jde především o pouţívání tzv. aktivit. Aktivita zastřešuje vţdy jednu část aplikace. Zabezpečuje zobrazení obsahu a další funkce potřebné pro běh aplikace. Zjednodušeně lze říct, ţe pro kaţdé okno aplikace se vytváří jedna aktivita. Obr. č. 5: Ţivotní cyklus aktivity [6]

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 13 Android vyţaduje striktní pravidla pro umístění souborů v projektu. Zde je uvedeno několik nejdůleţitějších adresářů. Src obsahuje všechny kompilované zdrojové kódy Gen nebývá programátorem přímo ovlivňován, obsahuje třídy generované doplňkem Android SDK (např. pro odkazování na zdroje - resources pouţívané v projektu) Libs obsahuje pouţité knihovny, zde je například vloţena knihovna jpct-ae Res obsahuje podadresáře pro jednotlivé typy zdrojových souborů (obrázky, zvukové soubory, XML dokumenty apod. 3.1.2 Návrh modelu pro Akarun V dalším kroku bylo třeba navrhnout strukturu programu tak, aby dbala "dobrých zvyků" OOP (objektově orientovaného programování) a podporovala přehlednost. Při návrhu se počítalo s těmito třídami: Qbe.java Game.java LevelParser.java Objekt.java TextureGenerator.java Preference.java Qbe.java Jedná se o úvodní aktivitu obsahující zobrazení loga, menu, výběru úrovně a návodu pro hru. Game.java Je to aktivita se samotnou hrou implementující knihovnu jpct-ae. Vyuţívá ostatní třídy pro zajištění běhu herní logiky. LevelParser.java Tato třída slouţí pro načtení úrovně z XML souborů. Třída tyto soubory prochází a z jejich obsahu vytváří potřebné objekty. Pro generování textur vyuţívá třídy TextureGenerator.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 14 Objekt.java Třída Objekt reprezentuje jeden herní objekt ve hře tedy např. jednu otočnou kostku. Definuje metody pro animace otáčení a celkově všechny vlastnosti objektů (např. velikost, barvy stran, rychlost animace apod.). TextureGenerator.java Tato třída generuje texturu a tu ukládá do TextureManager enginu jpct-ae. Všechny textury v úrovni jsou popsány 8-znakovým kódem, kde první znak označuje tvar textury (C značí krychli). Dalších 6 znaků popisuje barvy (např. r značí červenou barvu) jednotlivých stran v předem určeném pořadí. Poslední 8. znak určuje, zda má být textura pro otočitelný objekt či nikoliv (neotočitelné objekty jsou označené černou tečkou na kaţdé straně). Preference.java Třída Preference definuje metody pro načítání a ukládání hodnot do sdílených preferencí nabízených systémem Android. Ty zůstávají nezměněny i po ukončení aplikace či vypnutí telefonu, a proto jsou vhodné pro uloţení informací o současném stavu vyřešených úrovní. 3.2 Tvorba struktury Postupně byly vytvořeny navrţené třídy a implementovány jejich vlastnosti a metody. Návrh však nepočítal s některými dalšími aspekty hry, a proto musely být vytvořeny ještě další pomocné třídy. Jedná se o tyto: CamSetting.java CubeUtils.java ObjectInfo.java SideMatch.java CamSetting.java Tato třída slouţí pro předávání informací o nastavení kamery z XML souboru dané herní úrovně. CubeUtils.java Toto je třída obsahující pomocné funkce, které by logicky nepatřily do jiných tříd. Jde např. o metodu pro samotné načítání 3D modelu ze souboru ve formátu 3DS.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 15 ObjectInfo.java Třída ObjectInfo slouţí pouze pro uchovávání jedinečného ID herního objektu. Byla potřeba pro identifikaci objektu při dotyku na obrazovku. SideMatch.java Tato třída je pouţita k uchování informací o jednotlivých párech stran objektů, které musí mít pro správné řešení úrovně stejnou barvu. V třídě Game.java je pole objektů typu SideMatch, které tak uchovává veškeré informace potřebné pro kontrolu správného vyřešení úrovně. 3.3 Návrh úrovní Po implementaci všech potřebných tříd bylo nutno vytvořit herní úrovně tak, aby byly správně generovány třídou LevelParser. Jako nejlepší způsob se ukázalo nakreslit nejprve úroveň na čtverečkovaný papír s rozepsáním barev jednotlivých stran, poté vypsat páry stran se stejnými barvami a informace o polohách objektů. Na závěr bylo nutné přepsat tento výpis do souboru ve formátu XML. V době psaní této dokumentace bylo vytvořeno a odzkoušeno 14 herních úrovní s různou obtíţností a celkovou dobou řešení okolo 40 minut. Obr. č. 6: Ukázka rozkreslené úrovně na papíře

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 16 Zde je ukázka reprezentace jedné kostky v herní úrovni, která je popsána pomocí jazyka XML. 3.4 Testování a optimalizace Během testování se ukázalo jako velmi výhodné pouţívat logovací třídu Log v základu nabízenou operačním systémem Android. Pokud je na mobilním telefonu povoleno ladění aplikací, tak při připojení zařízení k počítači lze číst log v okně nástroje LogCat dodávaného s Android SDK. Především díky tomu byly vyřešeny chyby způsobující pády aplikace, či její nesprávnou funkčnost. Logování počtu vykreslených rámců za vteřinu ukázalo, ţe aplikace je schopna velmi plynule běţet i na starších zařízeních. Na testovacím telefonu Sony Ericsson X10 mini, který navíc obsahuje poměrně nevýkonný grafický procesor Adreno 200, se podařilo dosáhnout aţ 70 vykreslených rámců za vteřinu. Velmi výraznou optimalizací bylo načítání pouze jednoho modelu kostky a jeho klonování.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 17 4 Příručka uživatele Pro uţívání aplikace nejsou vyţadovány ţádné výjimečné znalosti či dovednosti. Zde jsou popsány základní aspekty hry z uţivatelského hlediska. 4.1 Požadavky na zařízení Aplikace vyţaduje pro správnou funkčnost zařízení s operačním systémem Android ve verzi 2.1 nebo vyšší. Výkonem hardwaru zařízení není ani u starších mobilních telefonů hra limitována. 4.2 Základní menu Základní obrazovka hry Akarun (viz obr. č.7) obsahuje 3 základní tlačítka. Obr. č. 7: Základní menu 4.2.1 Tlačítko Continue Stisk tohoto tlačítka vyvolá poslední nevyřešenou herní úroveň. V případě, ţe jsou jiţ vyřešeny všechny úrovně, vyvolává poslední úroveň. 4.2.2 Tlačítko Select Level Toto tlačítko slouţí k vyvolání submenu pro výběr herní úrovně. Pro návrat do hlavního menu lze pouţít hardwarové tlačítko zpět. Výpis úrovní (viz obr. č. 8) je realizován jako seznam čísel. Úrovně nejsou řazeny podle obtíţnosti.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 18 Obr. č. 8: Menu s výběrem levelů Stiskem některého tlačítka s číslem se zobrazí jiţ samotná obrazovka s herní úrovní. Tmavým podbarvením jsou označeny úrovně, které ještě není moţné hrát, protoţe nebyla vyřešena úroveň před nimi. Aby tedy bylo moţné hrát např. úroveň 14 je nutno vyřešit všech 13 předešlých úrovní. 4.2.3 Tlačítko How to play Po stisku tohoto tlačítka jsou zobrazena pravidla (viz obr. č. 9) pro hraní hry. Pro návrat do hlavního menu lze opět pouţít hardwarové tlačítko zpět. Obr. č. 9: Výpis pravidel hry Mezi pravidla hry jsou také pro názornost zařazeny obrázky (viz. obr. č. 10) demonstrující stav, ve kterém je úroveň vyřešena.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 19 Obr. č. 10: Ukázka řešení ve výpisu pravidel hry 4.3 Obrazovka herní úrovně Ihned po vyvolání obrazovky s herní úrovní je zobrazena obrazovka s nápisem Loading oznamující načítání úrovně. To by nemělo trvat déle neţ několik vteřin. Poté se jiţ zobrazí samotná herní úroveň tvořená kostkami. Obr. č. 11: Ukázka herní úrovně č. 10

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 20 Obr. č. 12: Ukázka úrovně č. 3 4.3.1 Ovládání Pro řešení herní úrovně se pouţívá výhradně dotykové obrazovky. Pouze k návratu na předešlou obrazovku lze pouţít hardwarové tlačítko zpět. Posunem prstu po obrazovce se otáčí kamera kolem středu úrovně ve směru posunutí prstu. Otočení je v ose Y limitováno tak, aby nedošlo k otočení vzhůru nohama a zmatení uţivatele. Obr. č. 13: Znázornění otáčení kamery

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 21 Dotykem na některou z kostek, která není označena černou tečkou, ji otočíme ve směru znázorněným šipkou, která je umístěna na jedné ze stran. 4.3.2 Cíl a pravidla hry Hra je volně inspirována tradiční Rubikovou kostkou. Cílem je dosáhnout stavu, kdy všechny páry stran 2 různých kostek, které sdílejí hranu, mají stejnou barvu. Většinu kostek lze otáčet ve směru označeném šipkou na 2 protilehlých stranách kostky. Otáčení se provádí dotykem na kostku. Přejetím prstu po displeji ve hře lze otáčet kamerou kolem středu úrovně. Tím, ţe jedna kostka sdílí hrany s dalšími, je docíleno náročnosti jednotlivých úrovní na logické uvaţování hráče a jeho představivost. Ne všechny kostky lze otáčet. Kostky, které nelze otáčet, jsou označeny tečkou uprostřed kaţdé strany. Kromě barev a šipek můţe být ještě strana označena jako tzv. ţolík, který stejně jako šipky můţe mít vedle sebe jakoukoliv barvu. Ţolík (viz kostka označená tečkou v levé polovině obrázku č. 13) paradoxně činí řešení úrovně většinou těţší. Obr. č. 12: Ukázka nevyřešené a vyřešené herní úrovně Obr. č. 13: Ukázka vyřešené herní úrovně

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 22 5 Shrnutí Volba knihovny jpct-ae se nakonec ukázala jako výhodná díky snadné pouţitelnosti tohoto engine. Návrh herní logiky a její implementace byl dokončen v plném rozsahu. Tvorba textur byla díky generátoru textur velmi zjednodušena a stačilo tedy pouze vytvořit speciální části textur (např. šipky, tečky, apod.). Levelů bylo nakonec vytvořeno 14, coţ plně dostačuje pro vyzkoušení funkčnosti aplikace. Hra Akarun nabízí přibliţně 40 minut zábavy. Tedy alespoň pro ty, které tento druh her baví. Tvorba rozšířila mé znalosti především v oblastech návrhu objektově orientovaných řešení vývoje aplikací pro operační systém Android a pouţívání 3D grafických knihoven. Během vývoje aplikace se vyskytl nespočet problémů, které bylo třeba vyřešit. Šlo především o problémy spojené s pro mne nezvyklým a neočekáváním chováním aktivit systému Android. Největší část projektu byla vypracována ve volném čase během měsíce září. Později se jednalo spíše o drobné úpravy a návrh úrovní, který zabral aţ překvapivě mnoho času. Aplikaci by určitě prospělo větší mnoţství herních úrovní. Přidání nových herních elementů by mohlo jednotlivé úrovně ozvláštnit. V poslední verzi hry ještě chybí jakékoliv zvuky či hudba na pozadí, se kterými se však v počátečním návrhu nepočítalo. Po té by se dalo uvaţovat o sdílení hry na databází softwaru Google Play.

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 23 SEZNAM POUŽITÝCH INFORMAČNÍCH ZDROJŮ [1] Java (programovací jazyk) [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://cs.wikipedia.org/wiki/java_(programovac%c3%ad_jazyk) [2] Extensible Markup Language [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://cs.wikipedia.org/wiki/extensible_markup_language [3] Nejlepší nástroje na programování v Javě [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://computerworld.cz/vyvoj/nejlepsi-nastroje-na-programovani-v-jave-42939 [4] Blender [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://www.emag.cz/blender/ [5] Sony Ericsson Xperia X10 [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://www.gsmarena.com/sony_ericsson_xperia_x10_mini-pictures-3125.php [6] Activity [online]. 2013 [cit. 2013-02-03]. Dostupné z: http://developer.android.com/reference/android/app/activity.html [7] Free Download Adobe Photoshop CS2 for Mac and Windows 8 [online]. 2013 [cit. 2013-02-06]. Dostupné z http://www.wowwindows8.com/free-download-adobephotoshop-cs2-for-mac-and-windows-8/

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 24 SEZNAM POUŽITÝCH SYMBOLŮ A ZKRATEK OOP Objektově orientované programování. XML ADT SDK Extensible Markup Language Android Developer Tools. Software Development Kit

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 25 SEZNAM OBRÁZKŮ Obr. č. 1: Vývojové prostředí Eclipse... 9 Obr. č. 2: Vývojový nástroj Blender... 10 Obr. č. 3: Adobe Photoshop CS2 [7]... 10 Obr. č. 4: Sony Ericsson Xperia X10 mini [5]... 11 Obr. č. 5: Ţivotní cyklus aktivity [6]... 12 Obr. č. 6: Ukázka rozkreslené úrovně na papíře... 15 Obr. č. 7: Základní menu... 17 Obr. č. 8: Menu s výběrem levelů... 18 Obr. č. 9: Výpis pravidel hry... 18 Obr. č. 10: Ukázka řešení ve výpisu pravidel hry... 19 Obr. č. 11: Ukázka herní úrovně č. 10... 19 Obr. č. 12: Ukázka nevyřešené a vyřešené herní úrovně... 21 Obr. č. 13: Ukázka vyřešené herní úrovně... 21

Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm 26 SEZNAM PŘÍLOH Příloha č.1: CD se zdrojovými kódy a dokumentací