rocnikovy_projekt_je..

Transkript

rocnikovy_projekt_je..
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

Ú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.

Více

PDF verzi celé knihy

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...

Více

Multiplatformní hra pro více hrᣠ- DCGI

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...

Více

závěrečná práce ICT výuka INF v chemii

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...

Více

787 kB - GamePlanet

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,

Více

Diplomová práce Veroniky Černohorské

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...

Více

zpráva zde - Laboratoř optiky

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...

Více

Ústava ČR I - Ing. Jiří Franc

Ú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...

Více