Specifikace k projektu Téma projektu:
Vývoj hry pro PC na podporu výuky managementu
Autor projektu:
Lukáš Berka, student MFF UK v Praze
Zahájení projektu: leden 2006
Stručné zadání Předmětem projektu je vytvořit aplikaci pro podporu výuky managementu na Univerzitě Pardubice. Aplikace by měla umožnovat zřízení a údržbu více her, hraných současně. Hry jsou určeny studentům, kteří se v nich soustředí do týmů o čtyřech hráčích. Hra probíhá v kolech, v každém kole si každý hráč na základě stavu svého skladu objednává zboží od některého hráče (podle definovaných pravidel), zároveň mu přichází dříve objednané zboží a také objednávky od jiného účastníka hry. Cílem hry pro každého hráče je minimalizovat jednak náklady na uskladňování zboží a jednak skluz, do kterého se může dostat při nedostatku zboží na svém skladě. Podrobnější informace o hře jsou obsaženy níže a později budou i součástí podrobné dokumentace. Hra bude konstruována pro operační systém Windows (od verze XP) a má být počítačovou implementací stolní hry. Výchozím jazykem hry je angličtina.
Podoba programu Program se bude skládat ze dvou spustitelných částí (soubory s příponou exe) – aplikace, kterou bude obsluhovat hráč (student – nazvěme ji „herní část“), a aplikace, které se bude věnovat člověk, který chce hry řídit, tj. učitel (nazvěme ji „řídící část“).
a) Řídící část bude poskytovat služby jako zřízení nové hry s volitelnými vlastnostmi, ukončení hry, ovlivňování her (míra zásahů učitele do hry bude nastavena na rozumnou úroveň - o zvýšení nebo snížení jeho pravomocí může být
rozhodnuto např. při praktickém odzkoušení beta verze hry, v zájmu zajistit co nejlepší hratelnost), dále odesílání textových komentářů, které se zobrazí jednotlivým hráčům v herních částech, apod. Řídící část bude při zakládání nové hry umožňovat nastavení řady vlastností, mezi které budou patřit přinejmenším následující: - počet kol hry - počáteční stavy skladů - zpoždění dodávek mezi hráči (hodnota je v počtech kol) - počáteční stav zboží, které je na cestě (do skladů) - automatičnost koncového zákazníka (viz dále) - cena za jednu jednotku skluzu - cena za uskladnění (ukazatele potřebné pro vyhodnocení) Při určování přesných možností nastavení bude rozhodující fakt, aby počítačová verze hry byla flexibilnější (myšleno nastavitelnější) nebo v nejhorším stejně flexibilní jako její stolní varianta. O vzhledu řídící části do důsledku rozhodnuto, v každém případě se však bude jednat o klasické okno pro systém Windows XP. To bude obsahovat přehledné vyobrazení všech her, které řídící část dosud založila a neukončila. Dále bude poskytovat informace o jednotlivých hráčích – o tom, jak se jim daří a v jaké jsou fázi hry (které kolo právě probíhá a zda ho už daný hráč ukončil). Učiteli bude také k dispozici textové pole s tlačítkem pro vepsání a odeslání pokynu. Adresáty takového pokynu pak budou moci být všichni hráči hry nebo všichni hráči vybraného týmu. Komunikace však bude pouze jednostranná, aby nemohlo docházet k podvádění ze strany hráčů. Řídící část bude „držet“ v každé chvíli určitý počet her, předpokládá se, že by jich v reálu nemělo být více než deset, ke každé hře budou v jejím průběhu připojeni čtyři hráči (tyto hodnoty lze v budoucnu upravit, ale prozatím jsou považovány za směrodatné pro specifikaci, tj. minimálně tuto zátěž program zvládne). Předpokládá se, že na jednom počítači nebude zároveň spuštěna více než jedna řídící aplikace. Přesto to aplikace pravděpodobně bude umožňovat.
b) Herní část bude většinou spuštěno více než řídících, konkrétně jedna pro každého hráče (čtyři pro každou spuštěnou hru, ať už byla hra vytvořena kteroukoliv řídící aplikací). Po spuštění herní části by se měl objevit dialog pro připojení ke hře. Zde hráč (student) určí základní informace pro připojení ke hře. Zadá své jméno nebo přezdívku, jednoznačnou identifikaci hry, ke které se připojuje a IP adresu počítače a port, na kterém „naslouchá“ požadovaná řídící aplikace. Přesto nebude počáteční nastavení pro studenta náročné, ke všemu bude navíc existovat jednoduchá a srozumitelná uživatelská dokumentace a
v budoucnu zřejmě i nápověda jako součást samotné herní aplikace. Po odkliknutí úvodního dialogu by se měl hráči objevit herní plán jako klasické okno systému Windows XP, v něm se budou vyskytovat jednotlivé komponenty. Jednou z nich bude jasný přehled o stavech skladů (v rámci toho, co povolují pravidla), další bude obsahovat historii hráčových tahů (evidenční list), neboť hra se odehrává v kolech. Dále bude k dispozici pole pro výpis systémových zpráv (o připojení jednotlivých hráčů, o závažné chybě při komunikaci apod.) a pole pro výpis pokynů odeslaných správcem řídící aplikace. Bližší podrobnosti o vzhledu herní části budou uvedeny v podrobné dokumentaci, která bude distribuována s finální verzí projektu.
Součástí obou aplikací bude horní menu, které umožní aplikaci nastavovat a ovládat. U herní aplikace by měla být k dispozici minimálně volba „Zobrazit evidenční list“ plus rekapitulace a vyhodnocení hry po jejím skončení. Všechny prvky budou přítomny tak, aby závěrečné vyhodnocení a srovnání (i grafické) hráčů a týmů bylo alespoň v takovém rozsahu, v jakém se provádí u stolní verze hry. Podrobnější informace o typu grafů a obsahu evidenčního listu budou obsaženy v dokumentaci a jsou k dispozici v dokumentaci stolní verze hry. Něco málo se o nich dočtete i níže v kapitole „Vyhodnocení“.
Schéma vzájemného propojení:
Výše uvedené schéma znázorňuje jednoduchý princip vzájemné komunikace mezi aplikacemi „řídící část“ a „herní část“. Jedna řídící aplikace bude umožňovat správu minimálně 40-ti herních aplikací (tj. deseti týmů), přičemž nijak nebude záležet na pořadí připojení jednotlivých hráčů. Hra pro každý daný tým začne ve chvíli připojení čtvrtého hráče do tohoto týmu. Snaží-li se herní aplikace (po odkliknutí úvodního formuláře) připojit na již obsazenou pozici v týmu nebo do týmu, který neexistuje, je jednoduše odmítnuta. Veškerá komunikace v rámci her probíhá po modře znázorněných linkách. Neexistuje tedy na síťové úrovni způsob, jak by prostřednictvím herních aplikací mohli komunikovat dva hráči mezi sebou. Adresování v rámci sítě si v sobě udržuje řídící aplikace, je ona tedy „ví“, kde se nacházejí čtveřice počítačů, které tvoří uskupení nazývané „tým“.
Pravidla Pravidla počítačové verze hry budou přímo vycházet z pravidel její stolní verze. Žádná pozitivní vlastnost stolní verze by neměla být opomenuta. Každá hra, vytvořená řídící aplikací, očekává na svém počátku postupné připojení všech požadovaných hráčů – Továrny, Distributora, Velkoobchodníka, Maloobchodníka – a teprve poté se spouští její první kolo. Hráči stejně tak jako ve stolní verzi neznají hodnoty objednávek ostatních hráčů, každý hráč vystupuje a rozhoduje sám za sebe na základě stavu skladů a příchozích objednávek stejně tak, jako tomu je u stolní verze hry. Viz její dokumentace. Uvedeme alespoň stručné shrnutí:
Každý tým si lze představit jako řetězec o čtyřech uzlech (pozicích, hráčích). Továrna, Distributor, Velkoobchodník, Maloobchodník (v anglických názvech: Factory, Distributor, Wholesaler, Retailer). Každá z těchto pozic má určitý sklad zboží. Na počátku každého nového kola obdrží každý z hráčů zásilku zboží (od předchozího článku v řetězci, továrna si zboží vyrobí), které se uloží na příslušném skladě. Poté jsou hráčům doručeny objednávky zboží. Vždy od následujícího článku v řetězci (s nastaveným zpožděním v počtu kol). Maloobchodníkovi je doručena
objednávka o velikosti buď na základě přání učitele nebo automatické (viz nastavení při založení hry: automatičnost koncového zákazníka). Příchozí objednávce se vyhoví, zboží se odečte ze skladů (pokud to není možné, dostává se hráč do skluzu, je vyhověno jen části objednávky). Dále se každá z pozic musí rozhodnout, kolik zboží si přeje objednat. Svoji objednávku napíše hráč do příslušného okénka v herní aplikaci a odešle ji řídící části. Jakmile takto učiní všechny pozice v týmu, může začít nové kolo. Výhody oproti stolní verzi Počítačová verze hry bude: 1) přehlednější. Všechno potřebné bude mít hráč k dispozici na obrazovce a nemůže se mu nic ztratit ani zatoulat. Navíc bude existovat centrální dozor nad všemi hrami (řídící aplikace), kde bude mít „učitel“ vyšší možnost kontroly a dohledu než pobíháním mezi stoly. 2) zajišťovat snadnější výpočty a vyloučení chyb. Evidenční listy bude vést samotný počítač nebude potřeba, aby si hráč dělal poznámky, v nichž se může splést. 3) poctivější. Výrazným způsobem se může omezit (případná) možnost podvádění. Hráče bude možné rozesadit daleko od sebe. Promíchat týmy v rámci počítačové učebny nebo učeben tak, aby spolu nemohli tajně komunikovat. Hráči navíc nemusí vůbec tušit, kdo je s nimi v jednom týmu! Toho všeho bude dosaženo tím, že veškerá data poputují po síti místo „z ruky do ruky“. 4) široce nastavitelná. 5) časově úspornější. Hráči nebudou muset provádět některé banální výpočty a zapisování do evidenčních listů, případně kreslení grafů. Budou se moci naplno věnovat rozhodování, kolik jednotek zboží v kterém kole objednat, což je pro výuku managementu klíčové. 6) mít další výhody. Některé výhody počítačové verze (možnost vhodných rozšíření) se možná projeví až po jejím skutečném naimplementování. O nevýhodách se snad nedozvíme, protože možnosti, které počítačová verze nabízí rozhodně nejsou podmnožinou těch ze stolní verze. Vyhodnocení Po skončení hry dochází k jejímu vyhodnocení. Toto má vnitřně na starosti především řídící aplikace, která tuto hru „držela“. Ta spočítá, vykreslí a předá všem hráčům závěrečnou bilanci. Součástí vyhodnocení by měly být evidenční listy, souhrny a grafy přesně tak, jako tomu bylo u stolní verze hry. Bližší informace o přesná implementaci budou pochopitelně obsaženy v dokumentaci. Hrubý nástin toho, co by v závěrečném vyhodnocení nemělo chybět: -
evidenční listy pro jednotlivé pozice
-
grafy příchozích objednávek pro jednotlivé pozice grafy odchozích objednávek pro jednotlivé pozice grafy znázorňující stavy skladů (zásoby) jednotlivých pozic sumář výsledků pro tým grafické srovnání úspěšnosti celých týmů (bude-li možné)
Vývoj a distribuce Aplikace bude vyvíjena s knihovnou Microsoft Foundation Classes, pro komunikaci po síti bude využívat protokolu TCP-IP, distribuce bude obsahovat dva spustitelné soubory (řídící část, herní část), programátorskou a uživatelskou dokumentaci a případně i další prvky, dle potřeb. Připomínky k vývoji lze zasílat na adresu
[email protected].