Je možné pracovat samostatně nebo ve dvojicích. Semestrální práce v tomto případě bude rozsáhlejší, například se vyžaduje implementace síťové verze hry nebo distribuovaná simulace. Členové týmu nemusí být ze stejného cvičení.
Práce je vyvíjena za pomoci verzovacího systému GIT na http://gitlab.fel.cvut.cz v předem připravených projektech pojmenovaných podle schématu https://gitlab.fel.cvut.cz/B232_B0B36PJV/id_studenta
. Dokumentace se píše na stránce Wiki projektu.
V dokumentaci je popsáno kompletní fungování aplikace z hlediska uživatele. Popis může být formou uživatelského manuálu, nebo jako návrh projektu k realizaci pro potenciálního investora. Musí být dostatečně konkrétní, tedy například nikoliv „hráč bude hledat určité předměty“ ale „hráč bude hledat krystal, lektvar a meč…“ a ne „uživatel ovládá raketu“ ale „uživatel pomocí kláves WASD ovládá raketu“, a zahrnout všechny podstatné aspekty aplikace, jako:
cíl hry
popis všech prvků hry
ovládání
ukládání a načtení hry
způsob vytváření nových levelů případně popis editoru úrovní
pro lepší pochopení lze přidat obrázky jako drátěné modely (wireframes) obrazovek, náčrty herního pole nebo herních map, vizuální návrhy prvků aplikace, atd.
Objektový návrh předpokládaných tříd ve formě diagramu UML:
vygenerované z už napsaných zdrojových kódů v Java. Ideálně se jedná o kostru programu (balíčky, soubory .java). Kód a tedy i diagram by měl obsahovat definované třídy včetně vztahu dědičnosti mezi nimi, atributy tříd, hlavní metody všech tříd (bez privátních a jiných pomocných metod) pomocí kterých mezi sebou budou objekty komunikovat a také metody, které budou sloužit k interakcí s objekty
GUI. Metody nemusí obsahovat tělo, ale je doporučeno, aby byl už připraven stručný Javadoc, který obsahuje textovou informaci, k čemu daná metoda nebo objekt slouží
nebo náčrtu (ve vhodném nástroji, např. draw.io nebo fotografii ručně nakresleného grafu) s popisem, vysvětlující účel jednotlivých tříd, jejich vztahy a jejich vzájemnou komunikaci
Pokud bude použita komunikace po síti, doporučuje se specifikovat komunikační protokol - tedy jaká data a v jakém formátu se budou mezi serverem a klientem posílat. Tento protokol je zásadní a proto by se v průběhu další práce už ideálně neměl měnit.
Po dohodě s cvičícím je možné konzultovat materiál i v jiné formě, ale musí z něj být patrné všechny informace, které jsou uvedeny výše.
Student/ka (případně oba členové týmu) se musí zúčastnit konzultace k odevzdání dokumentace v termínech, které oznámí cvičící (obvykle krátce po termínu odevzdání dokumentace do GitLab - viz. výše).
Kompletní práce se odevzdává během dvou posledních týdnů semestru tedy od pondělka
13.5 do konce posledního výukového týdne, tj. do pátku
24. 5. 2024 opět v rámci konzultace s cvičícím. V případě dvojic se oba členové týmu musí zúčastnit konzultace společně. Oba musí rozumět a být schopni odpovědět na otázky ohledně všech částí kódu (tedy ne jen svých).
Dřívější termín odevzdání je možné pouze po domluvě s cvičícím. Pozdější odevzdání je možné pouze ve výjimečných případech (nemoc, apod.) po domluvě s cvičícím