...pokud víte co tím myslím :)

Zobrazit komentáře ↵

Gamework

V rámci své bakalářské práce jsem vytvořil knihovnu pro Android, která umožňuje jednoduchou tvorbu geolokačních her.

Geolokační hry (anglicky Location based games) jsou takové hry, které nějakým způsobem závisí na aktuální poloze hráče (hráčů) v reálném světě. Nejčastěji se k jejich hraní využívá chytrý telefon s GPS přijímačem (a eventuálně i s připojením k internetu).

Tato knihovna aktuálně umožňuje tvorbu her pro jednoho hráče bez pohybujících se objektů (tedy bez nepřátel a umělé inteligence). Měla by být použitelná pro různé šifrovačky, logické hry, nebo i pro mnoho dalších typů her - víceméně záleží jen na nápadu a kreativitě.

Funkce knihovny

Knihovna se stará o načítání hry, správu jejího průběhu, zpracování informací o aktuální poloze hráče, aktualizace herního času, umožňuje zpětnou vazbu (zvukové efekty, vibrace, přepínání oken, apod.), umožňuje interakci s reálným světem (podpora skenování QR kódù, sleduje příchody a odchody uživatelů z definovaných oblastí a distribuuje různé herní události aplikaci.

Princip vytvoření herní aplikace spočívá v rozdělení na 3 části:

  1. Herní scénář - definice samotné hry, objekty, události, atd.
  2. Uživatelské rozhraní - tlačítka, mapa, dialogy, apod.)
  3. Zbývající aplikační logika

Herní scénář

Herní scénář obsahuje definici herních objektů a logiky. Je uložen v *.xml souboru a je jednoduše čitelný i editovatelný. Knihovna pak zabezpečuje jeho načtení, zpracování a vykonávání.

Mimochodem je možné, aby autor scénáře byl někdo, kdo vůbec v Javě/pro Android neprogramuje. Samozřejmě za předpokladu, že použije nějaké hotové GUI (nebo pokud budou dva, kdy jeden připraví aplikaci/GUI a druhý scénář - podobně jako kodér a programátor v rámci webových stránek).

Ve scénáři lze definovat:

  • Zprávy - Informace, které hráči přicházejí v prùběhu hraní, např. uvítací zpráva.
  • Oblasti - Místa v reálném světě, u kterých chceme sledovat, jestli se v nich uživatel právě nachází.
  • Proměnné - Uchovávají a umožňují pracovat s určitou hodnotou. Např. skore nebo informace o (ne)splnění herního úkolu.
  • Reakce - Akce, které se mají vykonat. Např. aktivace vibrací či odeslání herní události.
  • Spouštěče - Na základě výskytu určité herní události (a v případì splnění dalších podmínek) aktivují konkrétní reakci.

Jednotlivé položky mají různé parametry a typy, ale toto je v zásadě vše, co tvoří herní logiku. Pro další informace navštivte některý z odkazů dole.

Uživatelské rozhraní

Návrh aplikace a jejího uživatelského rozhraní záleží čistě na programátorovi. Knihovna jej nijak neomezuje.

Je tedy možné mít aplikaci, která by byla univerzálně použitelná pro různé scénáře. Představoval bych si ji tak, že bude propojená s nějakým serverem, na který budou lidé ukládat vlastní scénáře her, a následně bude možné si je stáhnout do mobilu a kdykoliv si vybrat, kterou hru si člověk právě přeje spustit.

Zbývající aplikační logika

Pro komunikaci s knihovnou je potřeba implementovat některé základní metody pro příjem herních událostí a reagování na ně. A samozřejmě i vyvolávání případných vlastních událostí (např. klepnutí na tlačítko) a ovládání uživatelského rozhraní.

Budoucnost

Do budoucna bych rád přidával nové funkce a možnosti dle zpětné vazby, kterou získám. Proto by bylo skvělé, kdyby by se našel někdo, kdo by ji vyzkoušel a dal mi vědět, co mu zde chybí nebo co by potřebovalo změnit/vylepšit v rámci potřeb jeho hry.

Pokud by tato knihovna někoho zaujala a chtěl by ji použít, rád mu s čímkoliv poradím.

Licence

Knihovna je vydána pod licencí Apache License Version 2.0, tedy zdarma prakticky bez omezení i pro komerční účely.

Náhledy ukázkové aplikace

Gamework aplikace - Mapa Gamework aplikace - Zpráva Gamework aplikace - Pomůcky Gamework aplikace - Notifikace

Externí odkazy

Komentáře Zobrazit komentáře ↵

Aktuální projekty Podporované projekty Připravované projekty Mrtvé projekty
Podpořte mou práci:

© 2009-2018 Robert Pösel