neděle 30. srpna 2015

Teach Vision: První kroky v Unity

CO?

Unity je vývojářské prostředí, v němž se dá vytvořit v podstatě cokoli (zapněte svou anebo sousedovu fantazii), co vás jen napadne. Nejnověji např. hry pro virtuální realitu. A jelikož tu už nějakou dobu zveřejňuji články o svých herních pokusech, napadlo mě, že by nebylo od věci napsat nějaký ten text seriál pro všechny, kteří by si taky chtěli něco zkusit, jen zatím neví jak na to. "Návodů" je po internetu spousta, různých kvalit, délek a tak podobně, a tento z nich rozhodně nebude ten nejlepší - přesto si myslím, že bych to mohl zkusit. Třeba to bude bavit nejen vás, ale i mě.

KDE?

Prvním krokem pro vás bude nejspíše stažení Unity do vašeho PC. To provedete na této adrese: http://unity3d.com/get-unity/download?ref=personal

Personální edice je zdarma a obsahuje mnohem více, než byste si mysleli. V předchozích edicích Unity byla spousta omezení. Např. jste neměli kvalitní stíny. Nebyly dostupné žádné celoobrazovkové efekty (např. rozmazání obrazu, nebo krev všude po obraze). Nemohli jste udělat hru, která by vypadala dobře moderně. Tečka.

CO POTŘEBUJU DO ZAČÁTKU?

Ještě před otevřením programu bych vám doporučil projít si základy javascriptu nebo Pythonu, abyste zhruba věděli, co je proměnná (variable), že existuje nějaká metoda (funkce), jakým způsobem se obecně "volá" kód a vůbec, abyste alespoň v krátké pauze prolétli nějaký ten text týkající se základů programování. Neuděláte špatně, pokud si přečtete i základy logiky. Budou se hodit.

Proč tohle všechno před spuštěním Unity? Protože to bude stát za to a jistojistě to urychlí váš start do světa tvorby videoher.

Psaní skriptů je jedna z nejčastějších věcí v Unity. Z dalších činností je to například posouvání obrázků a 3D modelů v hlavním okně pomocí myší.

Připravte se na to, že budete hru hodně často testovat. Ale to je v naprostém pořádku. Test hry je okamžitý a pokud je něco špatně, uvidíte to na obrazovce, případně v malé konzoli, jde-li o chybu v kódu.

Unity je nejlepší program na trhu, co se týče rychlosti testování vytvářeného programu. Tahle výhoda se stane klíčovou, a to zjistíte již velmi záhy, protože ze začátku nic nepůjde, jak by mělo. Slibuji ale, že jakmile do kódování budete pronikat hlouběji, začnete si všímat, že najednou jde vše jak po másle. Jeden error se sem a tam občas objeví, ale častěji už to bude spíše ve stylu upozornění, že jste zapomněli napsat středník nebo jste si zaměnili typ Vector3 za Transform, a podobné malé chybky, které vám tvorbu nijak neznepříjemní.

KDY BUDE DALŠÍ DÍL TOHOTO SERIÁLU?

Doufám, že již brzy. Ještě přemýšlím, jaká forma dalších dílů by byla nejlepší a hlavně co nejužitečnější pro tvorbychtivé čtenáře. A samozřejmě budeme tvořit konkrétní hru. Kdovíjakou, třeba to bude Tetris, Ping Pong anebo dokonce tohle tady dole, ať už je to cokoli.


zeal

2 komentáře:

  1. Jsem pro tuhle hru tady dole, ať už je to cokoli. Zajímalo by mě, jak bys řešil pohyb těch nepřátel po obrazovce a po levelu. Už chvilku ty hry zkoušim dělat, a mám zkušenosti s řadou věcí, ale cokoli zavání umělou inteligencí, z toho mám trochu strach. Nebo si spíš nejsem jistej, jak to vymyslet co nejlíp a efektivně a asi dělám zbytečně složitý blbosti :)

    OdpovědětVymazat
    Odpovědi
    1. Jo, to by vlastně mohl být dokonce ideální první projekt: panáček se pohybuje všemi směry po obrazovce, a přitom se musí vyhnout hýbajícím se nepřátelům a nesmí se dotknout elektrických zdí. Později by mohl najít zbraň nebo třeba lék na zombie virus, který by nepřítele-zombieho uzdravil a ten by odešel dveřmi z obrazovky "domů" nebo něco takovýho. :) Pak bych tam mohl implementovat hledání klíče od dveří.

      Pokud jde o pohyb nepřátel, nějaký menší zkušenosti mám (ve skákačce jsem měl poletujícího drona, kterej hledal hráče a pak na něj vyslal elektrickej výboj). Zkusím to vymyslet a rozepíšu to. Vpodstatě ale začínáš tím, co od AI chceš. Aby něco hlídala? Jakej je její hlavní úkol, co sekundární. Jestli jí dáš pozici hráče hned nebo jestli ji teprve musí najít. Vím, že jeden ze způsobů je, že jí dáš hůlčičku (raycast), kterou máchá okolo. Náhodnej pohyb pak spočívá v tom, že pokud hůlkou bouchnou do zdi, tak náhodně změní směr. Nebo jim dáš několik možných bodů, kam budou chodit a necháš jen na nich, pro jakej bod se rozhodnou. Pak už obtížnější je nakódovat její reakce na hráče.

      Vymazat