Harjoitustyön ohjeet

1. Tärkeimmät asiat

  • Suunnitelma hyväksytty 19.10. mennessä. Esittele suunnitelma ohjaajalle pääteohjauksessa tai varaa sitä varten aika Korpista ohjaajalle.
  • Harkkatyö 50% valmis Demo 8 palautukseen mennessä. Esittele työsi ohjaajalle ja (varaa sitä varten aika.)
  • Harkkatyö 90 % valmis viimeiseen harjoitustöiden esittelytilaisuuteen mennessä. Jokainen esittelee työnsä muille opiskelijoille. Esittelyt pidetään pienissä ryhmissä (pääteohjaus) ja ne aloitetaan viimeisten demojen aikaan. Läsnäolo on näissä pakollista.
  • Harkkatyö valmis ennen tenttiä (12. joulukuuta 2012). Hyväksyttäminen ohjaajalla. Varaa aika tai tule ohjauksiin.

2. Aluksi

  • Harjoitustyö on osa kurssisuoritusta. Arvosteluasteikko on hyväksytty/hylätty, ja harjoitustyö pitää olla hyväksytty ennen kuin kurssista voi saada arvosanan.
  • Harjoitustyö tehdään mielellään parityönä, mutta jos haluaa tehdä yksin niin sekin onnistuu. Paria voi kysellä esim kurssin postilistalta (katso wikin etusivu, tosin yleensä tuntemattoman kanssa parina oleminen ei tahdo onnistua).
  • Harjoitustyömäärä opiskelijaa kohti on noin 30 tuntia (ks. kurssin työmäärä). Parityönä tehtävän työn määrä on siis keskimäärin 60 tuntia.

3. Pelin suunnittelu

  • Mieti minkä tyylisen pelin haluaisit tehdä. Jotain osviittaa antaa tieto siitä, millaisia pelejä Jypelillä voi tehdä.
  • Ennen pelin toteuttamista tehdään suunnitelma. Suunnitelma tulee hyväksyttää ohjaajilla ennen varsinaisen työn aloittamista. Varaa aika Korpista.
  • Ohjaajat majailevat sovittuina aikoina huoneessa AgC 417.1. Kysy virastomestareilta apua jos et löydä perille!
  • Suunnittelemattomia harjoitustöitä ei hyväksytä.
  • Ohjeet suunnitelman palauttamiseksi Wikiin ja videoesimerkki luennolta Luento 7a, 01:00.
  • Suunnitelmassa pitää olla ainakin seuraavat asiat:
    1. Tekijöiden nimet
    2. Pelin nimi
    3. Pelaajien lukumäärä (1-4)
    4. Pelin taustatarina tai kuvaus pelin teemasta
    5. Pelin idea ja tavoitteet
    6. Hahmotelma pelistä (kuva tai kuvia paperilla käsin tai tietokoneella piirrettynä)
    7. Jonkinlainen kuvaus siitä, miten peli etenee
    8. Pelissä olevat oliot, niiden toiminnot ja missä suhteessa ne ovat toisiinsa
    9. Toteutuksen suunnitelma: mitä tekisin ja missä järjestyksessä? Millä aikataululla?
  • Esimerkkisuunnitelma LunarLander-pelistä
  • Suunnitelma esitellään ohjaajille deadlineen mennessä (ks. tämän sivun yläosa)

4. Vaatimukset

  • Harjoitustyön aihe on siis peli. Millainen peli, sen päättää jokainen itse.
  • Pelissä pitää "tapahtua jotakin", eli ruudulla pitää näkyä jotain järkevää. Huomaa että harjoitustyön pääpaino ei kuitenkaan ole hienossa ulkoasussa.
  • Vähintään muutama aliohjelma Main():n ja Begin():n lisäksi
  • joillekin aliohjelmille on vietävä parametrejä ja joidenkin on palautettava arvoja
  • taulukko/taulukoita/listoja
  • taulukkoja pitää vipeltää läpi
  • Luokka ja aliohjelmat kommentoitu standardien mukaisesti
    • Aliohjelmien dokumenteissa kuvataan sitä, mitä aliohjelmat tekevät, ensisijaisesti ei sitä miten, se kommentoidaan itse koodin sisään jos tarvitsee
    • palauta työ myös NettiDemoWWW:llä demoksi numero 15. Paina Päivitä index.html ja katso sitten minkälainen dokumentti syntyi työstäsi. Mieti kommentteja sen mukaan.
  • Nimeäminen loogista ja kuvaavaa
    • Luokkien nimet aina isolla kirjaimella ja muutenkin järkevästi nimetty, mm. Harkka.cs ei ole hyvä nimi
    • Aliohjelmilla ja muuttujilla kuvaavat nimet
    • katso koodauskäytänteet
  • Tarkastettavien osa-alueiden muistilista:
    • koodissa tekijän nimi ja versio (@author, @version)
    • kaikki aliohjelmat ovat kommentoituja
    • nimeäminen oikein ja loogista
    • aliohjelmia loppu } jälkeen vähintään 2 tyhjää riviä
    • ei turhia attribuutteja
    • ei globaaleja muuttujia
    • ei turhaa toistoa joka olisi voitu tehdä silmukoilla tai apualiohjelmilla
    • käytetään ainakin jotakin taulukkoa
    • ainakin yksi silmukka
    • työ toimii ainakin merkittävältä osin (kaikkia suunnitelman osia ei tarvitse olla tehtynä).

5. Työn esittely ja hyväksyttäminen

  • Koko harkkatyön Solution viedään versionhallintapalvelimelle esimerkiksi TortoiseSVN:n (NPO wikissä) avulla.
  • Töiden esittely tapahtuu pienissä ryhmissä (pääteohjaus ryhmät). Jokainen (pari) esittelee harjoitustyönsä oman ryhmänsä tapaamisessa. Harjoitustyön ei tarvitse vielä olla 100% valmis esittelytilaisuudessa - tarkoitus on antaa ja saada palautetta jotta vielä viimeisiä pikku viilauksia voidaan tehdä.
  • Varaa (parisi kanssa) aika ohjaajalle, ja esittele harjoitustyösi. Näin voidaan varmistua että olet/olette todella itse tehneet pelin. Voit(te) esitellä pelisi myös ohjauksissa.
  • Työ on hyväksytettävä ohjaajilla viimeistään ennen deadlinea (ks. tämän sivun yläosa).

6. Näyttötilaisuus

  1. Laita työsi versionhallintaan ohjeiden mukaisesti
  2. Harjoittele työn pudottamista toisella koneelle samoilla ohjeilla
  3. Varaa näyttötilaisuus Korpista LAKES-luokasta. Tilaisuuteen pitää tulla TASALTA ja varmistaa että työ tulee versionhallinnasta.
  4. Näyttötilaisuudessa kunkin ryhmän työ otetaan opettajan koneelle ja "pelataan" valkokankaalla. Tarkoitus on että kaikki paikalla olevat katsovat vuorotellen toistensa töitä. Jokainen sanoo myös muutaman sanan työstään ja siinä olevista ratkaisuista. Eli tämä on tavallaan "miniseminaari" (jossa esiintymistä ei arvostella :-).