rocnikovy_projekt_je..
Transkript
Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek BORG dokumentace ročníkového projektu Kryštof Ježek, 1E květen 2014 Prohlášení Prohlašuji, že jsem jediným autorem tohoto projektu, všechny ci tace jsou řádně označené a všechna použitá literatura a další zdroje jsou v práci uvedené. Tímto dle zákona 121/2000 Sb. (tzv. Autorský zákon) ve znění pozdějších předpisů uděluji bezúplatně škole Gymnázium, Praha 6, Arabská 14 oprávnění k výkonu práva na nekomerční rozmnožování díla (§ 13) a práva na nekomerční sdělování díla veřejnosti (§ 18) na dobu časově neomezenou a bez omezení územního rozsahu. V Praze dne ___ května 2014 1 Podpis: _________ Anotace Česky Cílem tohoto projektu bylo vyrobit počítačovou adventuru, ve které bude docházet k reakcím mezi hráčem a jeho virtuálním prostředím. Hráč prozkoumává své 2D okolí z pohledu první osoby a hledá věci, které mu pomohou dostat se na svobodu. Ke hře je potřeba alespoň lehká představivost, aby si hráč mohl domyslet, jak bude postupovat. „Hnacím motorem“ projektu je Unity3d spolu s pluginem NGUI. Díky tomu je tato hra dostupná nejen pro Windows, ale i pro Mac OSX a Linux. Anglicky Purpose of this project was to make a nice 2D adventure game, where the player explores a spaceship by interacting with his surroundings. It was made using a free version Unity3d, and a plugin NGUI. That makes the game executable even on Mac OSX and Linux. 2 Zadání Funkce Jednoduchá statická 2d grafika + Možnost klikat na určité předměty (Dveře, počítač…) + Věci, které lze vzít Multi-ending – různá zakončení, závisející na vašich akcích. Příběh (Min. 6 scén) Hra bude anglicky (Spíše estetická záležitost než funkce) K výrobě použiji: (Tento seznam není ani nebude kompletní) Unity3d NGUI Javascript C# Bonusové funkce (Budou přidány, pokud to bude možné. Seřazeno od nejpravděpodobnějšího po nejméně pravděpodobné) Hudba Minihry Ukládání postupu. Další díly? Animace Questy O hře Borgové jsou vesmírná rasa, která získává informace asimilováním (Osob, předmětů). Jsou schopni se přizpůsobovat situaci, pomocí kolektivního vědomí, kterým jsou všichni spojeni. Neznají moc ras, které by se jim mohly vyrovnat… Zatím… 3 Dokumentace Úvod Jako projekt jsem vytvořil jednoduchou 2D adventuru. Nechtěl jsem vytvářet žádnou stolní hru, a tak jsem se rozhodl pro experimentaci s Unity3d. Původně měla být napodobeninou hry Zork1, ale rozhodl jsem se, že vytvořím hru s GUI. Cíle v zadání jsem si stanovil s ohledem na úroveň mého programování a na možnosti herního enginu. Instalace a spuštění Hra byla zkompilována do jednoho souboru a jedné složky, instalace tedy není potřeba. Jediná podmínka ke spuštění je, aby byla složka na stejném místě jako soubor. (Důkladnější postup je k nalezení na webové stránce2) Grafické zpracování Ke grafickému zpracování byly kromě Unity potřeba pouze dvě věci, a to Photoshop a NGUI. Prostředí hry se skládá vždy pouze z pozadí a tlačítek. Věci, které nic nedělají, jsou zakomponovány v pozadí a přes ně je položeno průhledné tlačítko, které vykoná nějakou věc. Složitější věci, které mizí nebo se hýbou, jsou namalovány zvlášť, a poté je uděláno tlačítko přímo z nich. To můžeme zpozorovat, pokud ve hře na takový předmět najedeme myší (viz obr1). Některé předměty či pozadí jsou také zanimovány. Tyto věci se pak mohou přesouvat, měnit barvu či mizet. Zvukové zpracování Zvuk byla jedna z věcí, na které byl při vývoji brán velký důraz. Projekt využívá tři formy přehrávání zvuků a hudby, a to přímé, instantní a globální. Přímé funguje tak, že určený zvukový soubor se automaticky spustí, pokud se objekt s tím zvukovým souborem stane aktivním a zastaví, pokud se objekt deaktivuje. Instantní využívá skript UIPlaySound, který jednou zahraje zvuk, který mu definujeme. Globální, který je nejsložitější, se skládá z dvou objektů. Jeden je libovolný objekt, který musí obsahovat AudioSource (Skript který umožňuje přehrávání zvuků) a druhý musí obsahovat skript, který nějak manipuluje s prvním objektem (viz kód1). using UnityEngine; kód1 using System.Collections; //Ukázka nejjednoduššího skriptu ovládajícího AudioSource public class StartMusic : MonoBehaviour { public AudioSource Hudba; //Objekt AudioSource public AudioClip clip; //Zvukový soubor void OnClick () { //Metoda, zavolaná při kliknutí na objekt Hudba.clip = clip; //Změní soubor Hudby na náš vybraný soubor Hudba.audio.Play (); //Spustí daný soubor } } 4 Jak to vlastně funguje? Projekt v Unity Projekt v Unity se skládá ze zdrojových souborů (angl. „Assets“), ze kterých se poté vytváří program/hra. Typ těchto souborů může být jakýkoli, například zvuky, videa, obrázky nebo skripty. V Unity poté můžeme tyto objekty vkládat do scén, kde na ně můžeme „nasazovat“ naše skripty. S pomocí těchto objektů můžeme také vyvářet rodiny, jak je možno vidět na obrázku vpravo. Tento obrázek je ukázka ze scény mého projektu. Ta je rozdělena na jednotlivé objekty, z nichž většina představuje jednotlivé levely, a zbytek jsou potřebné věci jako je kamera nebo objekt „Music“, který využívají například objekty se skriptem StartMusic (viz kód1). Dále si můžeme všimnout, že každý level (např. Stage1) se skládá z pozadí, dveří nebo šipek a z okrasných objektů (v projektu „VanityItems“). Pozadí vypovídá samo o sobě, je to většinou rastrový obrázek namalovaný ve velikosti 128x128 a převedený do 512x512. Dveře a šipky slouží k zapínání a vypínání jednotlivých levelů. Do okrasných objektů patří všechny věci, které něco udělají, když na ně někdo klikne. K zajímavým věcem patří také informační tabule (v projektu „MessageBoard“). Ta je vytvořena jednoduchým pozadím a objektem třídy Label. Zde můžeme vidět ukázku: using UnityEngine; using System.Collections; //Ukázka jednoduchého kódu, který po kliknutí změní text Labelu mboard public class TextChange : MonoBehaviour { public UILabel mboard; //Objekt Label public string message; //Výsledný text void OnClick () { mboard.text = message; } } 5 Jak hru zkompilovat ze zdrojových souborů Návod 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Je potřeba nainstalovat si Unity3d (viz Odkazy a Poznámky) a pokud chcete, tak i MonoDevelop Při prvním spuštění se vás Unity zeptá, jestli má použít již vytvořený projekt, nebo vytvořit nový Vyberte „Open Project“ a poté „Open Other“ Najděte a vyberte složku „Borg (Zdrojové kódy)“ Počkejte, až se Unity spustí Vyberte „File“, popřípadě Alt+F Klikněte na „Build Settings“ Zde máte na výběr platformu, pro kterou chcete kompilovat. Můžete zkusit jakoukoli z možných, ale vyzkoušené jsou pouze všechny verze standalone. Nastavte si možnosti tak, aby vám vyhovovaly (Target platform, architecture) Zmáčkněte „Build“ Zadejte název souboru Počkejte na dokončení Známé chyby a jejich řešení Některé položky se občas špatně naimportují. Vždy je lepší po spuštění unity zmáčknout jednou „Reimport All“, nebo najít v Unity soubory, které se špatně naimportovaly a u nich vybrat „Reimport“ Pokud se stane, že zkompilovaná hra začíná jinde než v menu, zapněte si v Unity „Panel Tool“ a ujistěte se, že je zaškrtnuta pouze položka „Menu“ Jeden ze zdrojových kódů se nepatrně liší od toho, který je zkompilovaný v přibalených verzích. Je to pouze drobná estetická úprava, které si mnohý ani nevšimne Závěr Když pohlédnu zpět na svůj projekt a jeho zadání, zdá se mi, že splňuje všechny zadané funkce, a navíc splňuje alespoň jednu z bonusových funkcí, a to hudbu. Celkově jsem se toho při vyvíjení hry BORG spoustu naučil, a mám z mé hry dobrý pocit. 6 Odkazy a Poznámky DŮLEŽITÉ ODKAZY: OFICIÁLNÍ STRÁNKA TOHOTO PROJEKTU: http://borg.svs.gyarab.cz UNITY3D: http://unity3d.com GYMNÁZIUM ARABSKÁ: http://gyarab.cz WIKI: ZORK: http://en.wikipedia.org/wiki/Zork UNITY3D: http://en.wikipedia.org/wiki/Unity_(game_engine) POZNÁMKY : TENTO PROJEKT BYL VYTVOŘEN V UNITY3D 4.3.4F1. NENÍ ŽÁDNÁ ZÁRUKA, ŽE BUDE FUNGOVAT V NOVĚJŠÍCH VERZÍCH. POZNÁMKY V TEXTU : 1 Zork, textová adventura. Viz wiki 2 Viz Důležité odkazy 7
Podobné dokumenty
Ústava ČR II - Ing. Jiří Franc
• Prezident označuje hlavu státu v republice, která je volena:
– parlamentem = nepřímá volba.
– obyvateli státu = přímá volba.
PDF verzi celé knihy
14772-1:1997), je oficiálně definován technickou specifikací v takovém rozsahu a podrobnostech, že pro
běžného čtenáře není vůbec snadné se jím prokousat a pochopit jej. Laskavý průvodce je proto n...
Multiplatformní hra pro více hrᣠ- DCGI
dlouhodobě věnuje tvorbě RIA, desktopových a mobilních aplikací a také občasně tvorbě jednodušších her. Čas, který věnuje diplomové práci chce v první řadě využít k vývoji kvalitního
produktu, kter...
závěrečná práce ICT výuka INF v chemii
jekty klasické vzorce a rovnice. Velice výhodně se v tomto nástroji píší
indexy, zlomky, sumy a znaky řecké abecedy.
MS Excel je program vhodný pro snadnou tvorbu tabulek a grafů.
Sešit se zde skl...
787 kB - GamePlanet
k propracovaným misím pro hru jednoho hráče v SFC3. Můžete si vybrat, zda budete hrát za Klingony,
Diplomová práce Veroniky Černohorské
a tak byl objeven vztah mezi pankreatem a diabetem. Neúspěšně se pokoušeli diabetes
léčit orálně podávaným sušeným pankreatem zvířat. V roce 1901 americký patolog Eugene
Opie demonstroval spojení m...
zpráva zde - Laboratoř optiky
provést posuvem stolku, na kterém je umístěn preparát. U systému s navigací svazku je
přemístění zachycené částice realizováno posuvem pasti. Toho je dosaženo skanováním
svazku pomocí důmyslných op...
Ústava ČR I - Ing. Jiří Franc
• Ústava je sice „první zákon“ státu, ale stále je to jen lidský
výtvor – není dokonalý.
• Pro změnu ústavnost lze vysvětlit jako snahu mnoha
politologů a ústavních právníků nedržet se jen prostého...