!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1. MafiaTools



Samankaltaiset tiedostot
opiskelijan ohje - kirjautuminen

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

ProTieto Oy. Verottajan ilmoitus. Käyttöohje alihankkijoille

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

Mainosankkuri.fi-palvelun käyttöohjeita

Hallintaliittymän käyttöohje

Kahoot! Kirjautuminen palveluun. Sinikka Leivonen

Informaatiotekniikan kehitysyksikkö

Hittitoimiston Forte-kotisivujen päivitysohje

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

INTINU13A6 Java sovellukset

Pikaopas kotisivujen tekoon

Mikä on Twitter? Rekisteröityminen

Juricon Nettisivu Joomlan käyttöohjeet

Skhole Käyttöohjeet Pääkäyttäjille ja Ohjaajille. Päivitetty

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Vehmaan kunta. Wordpress käyttöopas. Betta Digital Oy

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Osallistavan suunnittelun kyselytyökalu

Netikka verkkotila - käyttöohje

F-Secure KEY salasanojenhallintaohjelman käyttöönotto PC -laitteella

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu

Vastuuhenkilön ohje. TIEKE

Toiminta ennen ensimmäistä ottelua (1/2)

Toiminta ennen ensimmäistä ottelua (1/2)

KOTISIVUJEN KÄYTTÖOHJE ULVILAN PESÄ-VEIKOT RY

Toiminta ennen ensimmäistä ottelua (1/2)

opiskelijan ohje - kirjautuminen

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

EDUBOX opetusvideopalvelu

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Troijan hevosen tapahtumakalenteri ja jäsentietojärjestelmä. Käyttöohje

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

ejuttu ohjeet kuinka sitä käytetään.

Lohtu-projekti. Testaussuunnitelma

FENG OFFICE -PROJEKTINHALLINTATYÖKALU

AC Hannes Statistics Tool. Ilkka Hakkarainen

Keskustelusivusto. Suunnitteludokumentti

Office 365 palvelujen käyttöohje Sisällys

F-Secure KEY salasanojenhallintaohjelman käyttöönotto Mac -laitteella

Kotkaliikkuu.fi. Ohjeita seuroile ja yhteisöille palvelun käytöstä

Yrjö Määttänen Kokemuksia SuLVInetin käytön aloituksen

ViLLE Mobile Käyttöohje

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Sisältö. Päivitetty viimeksi Sivu 2 / 14

Sähköpostitilin käyttöönotto

TOOLS KÄYTTÖOHJEET OPETTAJALLE

Kahoot - kyselytyökalu

Asiointipalvelun ohje

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Uuden työ- tai mittavälineen luominen tietokantaan

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

ohjeita kirjautumiseen ja käyttöön

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Open Badge -osaamismerkit

Teams-ohjelman asennus- ja käyttöohje vertaisohjaajille

Osaamispassin luominen Google Sites palveluun

EASY Tiedostopalvelin - mobiilin käyttöopas

Toiminta ennen ensimmäistä ottelua (1/2)

SQL Buddy JAMK Labranet Wiki

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Osallistavan suunnittelun kyselytyökalu

ChatSimulaatio Käyttöopas

Toiminta ennen ensimmäistä ottelua (1/2)

Ylläpitoalue - Etusivu

OHJEET KEKSINNÖT.FI SIVUSTON KÄYTTÄJILLE

Pikaopas kotisivujen tekoon

H5P-työkalut Moodlessa

Kuukauden kuvat kerhon galleriaan lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen:

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

Kotopro käyttäjän ohje

Hotline-jäsenpalvelun käyttöohjeet

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

KiMeWebin käyttöohjeet

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu Martat - KÄYTTÖOHJE Yhdistyksille 2017

SALITE.fi -Verkon pääkäyttäjän ohje

ILMOITUSSOVELLUS 4.1. Rahanpesun selvittelykeskus REKISTERÖINTIOHJE. SOVELLUS: 2014 UNODC, versio

NÄYTÖT JA TYÖSSÄOPPIMINEN -pikaohje

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi

Viva-16. Käyttöohje Veikko Nokkala Suomen Videovalvonta.com

ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN

PELAAJAPROFIILI Mobiilisovellus

EASY Tiedostopalvelin - mobiilin käyttöopas

Opinajan käytön aloittaminen koulussa/oppilaitoksessa

1 Johdanto. 2 Kirjautuminen. Sisällysluettelo. Kanakoirakerho - websivujen ylläpito

Transkribuksen pikaopas

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Uudistettu käyttöliittymä osoitteessa

Wordpresspikaopas. Viivamedia

Uuden Peda.netin käyttöönotto

LOVe-verkkokoulutuksen käyttöohje Opiskelijan osio

Transkriptio:

1 MafiaTools

1. Johdanto 3 2.1. Käyttäjäryhmät 3 2.2. Käyttötapaukset 3 3. Järjestelmän tietosisältö 4 4. Relaatiotietokantakaavio 5 5. Järjestelmän yleisrakenne 5 6. Käyttöliittymä ja järjestelmän komponentit 6 7. Asennustiedot 6 8. Käynnistys- / käyttöohje 7 9. Testaus, tunnetut bugit ja puutteet & jatkokehitysideat 7 10. Omat kokemukset 9 2

1. Johdanto Järjestelmän tarkoitus on toimia Mafia-foorumipelin pelaajien apuvälineenä mm. muistiinpanojen tekemiseen ja säilyttämiseen. Järjestelmä toteutetaan Javalla laitoksen Tomcat-ympäristössä ja PostgreSQL-tietokannalla. Toiseen tietokantaan siirtäminen vaatisi pieniä muutoksia, mutta se ei olisi mitenkään mahdotonta. Sivustolla käytetään Twitter Bootstrapia, joten selaimen täytyy tukea JavaScriptiä. Loppukäyttäjän ei kuitenkaan tarvitse asentaa Javaa sivuston käyttämiseen. 2.1. Käyttäjäryhmät Järjestelmällä on oikeastaan vain yhdentyyppisiä käyttäjiä: Mafia-foorumin pelaajat, jotka tahtovat apuvälineen ajatustensa selkeyttämiseen ja säilömiseen. 2.2. Käyttötapaukset 3

Luo tunnus Uuden käyttäjän täytyy aina aluksi luoda itselleen tunnus järjestelmään Kirjaudu Vanhan käyttäjän täytyy aina aluksi kirjautua järjestelmään Luo peli Kirjauduttuaan käyttäjä voi luoda järjestelmään uuden pelin (johon hän oletettavasti parhaillaan osallistuu) Poista peli Luodun pelin voi myös poistaa järjestelmästä Lisää pelaaja Peliin tulee lisätä siihen osallistuvat pelaajat (pelaajat täytyy ensin luoda erikseen ja sen jälkeen heidät voidaan lisätä peliin) Muokkaa pelaajan pelikohtaisia tietoja Pelin aikana pelaajan tietoja on tarkoitus muokata (yleiset muistiinpanot, pisteet, pelaajan pysyvät tiedot jne.) Muokkaa pelaajan pysyviä tietoja Pelaajan pysyviä tietoja (lähinnä erityishuomioita pelityylistä) voi muokata pelin näkymästä tai erillisessä näkymässä, jossa näkyvät kerralla kaikki tietokantaan lisätyt pelaajat Poista pelaaja Pelaaja voidaan myös poistaa pelistä tai koko tietokannasta (jos esimerkiksi hänen pelitunnuksensa on saanut pelikiellon) 3. Järjestelmän tietosisältö 4

User Sivuston käyttäjä, jolla on uniikki tunnus (kokonaisluku), uniikki nimi (merkkijono) ja salasana (merkkijono) - yhteen käyttäjään voi liittyä monta peliä ja monta pelaajaa Game Yksittäinen peli, jolla on uniikki tunnus (kokonaisluku), nimi (merkkijono) ja viiteavain tiettyyn käyttäjään (kokonaisluku) - yhteen peliin voi liittyä yksi käyttäjä ja monta pelaajaa Player Yksittäinen pelaaja, jolla on uniikki tunnus (kokonaisluku), nimi (merkkijono), yleistä tietoa pelaajasta (merkkijono) ja viiteavain tiettyyn käyttäjään (kokonaisluku) - yhteen pelaajaan voi liittyä yksi käyttäjä ja monta peliä 4. Relaatiotietokantakaavio 5. Järjestelmän yleisrakenne Tietokantasovellusta tehdessä on noudatettu MVC-mallia. Kontrollerit, näkymät ja mallit sijaitsevat hakemistoissa Servlets, Web Pages ja Models. Käytetyt apukirjastot on sijoitettu hakemistoihin css, fonts sekä js, ja asetukset ovat tiedostoissa context.xml sekä web.xml. Kaikki tiedostot on nimetty sen mukaisesti, mitä ne sovelluksessa tekevät. Joissakin servleteissä on nimen perässä 2, mikä tarkoittaa sitä, että ensimmäinen servlet lataa näkymän ja toinen servlet (2) lähettää näkymään liittyvän lomakkeen. 5

6. Käyttöliittymä ja järjestelmän komponentit 7. Asennustiedot Asenna sovellus avaamalla projekti NetBeansissa, valitsemalla Clean & Build ja kopioimalla dist-kansioon ilmestyvä MafiaTools.war-tiedosto palvelimen hakemistoon / tomcat/webapps. Aseta sen jälkeen tietokannan yhteystiedot oikeiksi tiedostoon /tomcat/ conf/catalina/localhost/mafiatools.xml. 6

8. Käynnistys- / käyttöohje Sovellus on tällä hetkellä käytettävissä osoitteessa http://t-teesalmi.users.cs.helsinki.fi/ MafiaTools/. Testausta varten sovellusta voidaan käyttää tunnuksella testi ja salasanalla testi. Nyt myös uusien käyttäjien rekisteröityminen onnistuu. Sovellus on tarkoitettu erityisesti foorumin http://www.teamliquid.net/forum/mafia/ Mafiapelaajien työvälineeksi. Tarkoituksena on luoda tietokantaan peli, luoda siihen osallistuvat pelaajat (yleisine tietoineen) ja lisätä osallistuvat pelaajat peliin (pelikohtaisine tietoineen). Pelin kuluessa pelikohtaisia tietoja on tarkoitus päivittää. 9. Testaus, tunnetut bugit ja puutteet & jatkokehitysideat Olen testannut sovellusta jatkuvasti kehityksen aikana ja korjannut puutteita sitä mukaa, kun olen niitä havainnut. En syystä tai toisesta saanut kumpaakaan virallista koodikatselmointia, joten kahdesti kurssin aikana yksi kurssin vetäjistä, David Consuegra, on tehnyt sovellukselle epävirallisen koodikatselmoinnin. Suurin puute sovelluksessa on tällä hetkellä se, että kaikki muistiinpanot ja jopa käyttäjien salasanat säilytetään tietokannassa pelkkänä tekstinä. Lähitulevaisuuden tavoitteena olisi kehittää sovellusta siten, että käyttäjien salasanat säilytetään tiivisteinä ja kaikki teksti säilytetään kryptatussa muodossa. Lisäksi olisi selkeästi tarvetta tehdä tietokannan tietokohteille uusia sarakkeita kuten erilliset muistiinpanot pelaajien rooleihin liittyvistä asioista. Myös sovelluksen ulkoasu on tällä hetkellä melko vaatimaton, ja yleisessä käytettävyydessä olisi parantamisen varaa. Varsinkin, jos käyttäjä on lisännyt tietokantaan suuren määrän pelaajia, voi olla kömpelöä lisätä pelaajia uusiin peleihin. Esimerkiksi useamman pelaajan liittäminen peliin yhdellä kertaa ja pelaajien jakaminen erilaisiin pelaajaryhmiin voisivat olla hyviä lisäominaisuuksia. Sovelluksen ideoinnissa ja testauksessa on ollut apuna myös kurssin ulkopuolisia henkilöitä. TL Mafia -foorumin pelaajat gonzaw ja raynpelikoneet ovat olleet suureksi avuksi kurssin eri vaiheissa. raynpelikoneet jopa pelasi yhden oikean Mafia-pelin käyttäen apunaan tätä sovellusta ja antoi testipelin aikana runsaasti palautetta. Tässä on häneltä vielä laajahko loppupalaute: Mielestäni luomallasi ohjelmalla/tietokannalla (vai miksi tätä nyt kutsutaan) on potentiaalia saavuttaa haluttu hyöty mafiapelaajien keskuudessa. Erityisesti näkisin, että pelaajat, jotka seuraavat foorumia ainoastaan kerran, tai muutaman kerran päivän aikana pystyvät kokoamaan ja "lajittelelemaan" ajatuksiaan paremmin perinteiseen notepadin käyttöön verrattuna. Itselläni on yleisesti ottaen peleissä suhteellisen hyvä kokonaiskuva siitä, mitä pelin aikana tapahtuu, ja mitkä asiat ovat tärkeitä. Tämä ei kuitenkaan ole aina niin itsestäänselvää kaikkien pelaajien kohdalla, ja itsekin huomasin (testipelissä), että kävin tarkistamassa joidenkin pelaajien kohdalla asioita moneenkin otteeseen. Tietokannan käyttö oli erittäin helppoa ja oikeastaan ainoa ongelma, joka tuli eteen viikon testauksen aikana oli outo virheilmoitus (johtuen ties mistä), joka raportoinnin seurauksena 7

korjattiin välittömästi. Sain myös muutamia päivityksiä käytettävyyteen liittyen niistä huomauttaessani (mm. pelaajien lajittelu pelin sisällä tiettyjen kriteerien perusteella, niinsanotun päävalikon näkyminen aina sivun yläreunassa -> helpompi navigointi, jne). Jatkokehityksen kannalta kokosin muutamia ideoita joita on mahdollisuus hyödyntää tulevaisuudessa. Players - osio: Mahdollisuus lisätä useita pelaajia samanaikaisesti (esim. "save and add new player" nappi "Create Player" sivulle). Pelaajien luokittelu (esim. foorumin mukaan) - tämä auttaisi pelaajien lisäämisessä uuteen peliin -> "show players only from... " Edelliseen liittyen, pitäisi varmaankin olla mahdollisuus luoda luokat oman mietymyksen mukaan ja mahdollistaa tietyn pelaajan kuuluminen moneen luokkaan (monet pelaajat pelaavat usealla foorumilla) Games - osio: Muuttaisin koko "add player to the game" nappulan "add players to the game" nappulaksi, joka veisi "raksi ruutuun" valikkoon, josta saisi kerralla valittua kaikki pelaajat peliin "dead/alive" vetovalikko (tällä hetkellä toimii jollain tasolla "points" valikkoa käyttäen, kuten itse sitä käytin testipelissä) "role" tekstikenttä - helpottaa roolien kirjallapitämistä "meta information" kenttä voisi olla mahdollisuus piilottaa/näyttää, itse käytin tätä pääsääntöisesti muihin tarkoituksiin pelin aikana mahdollisuus lisätä toinen "notes" tekstikenttä ja nimetä se omavalintaisesti (helpottaisi ainakin itseäni tiedonlajittelun kannalta) mahdollisuus lihavoida, kursivoida ja alleviivata tekstiä "notes" kentässä. mahdollisuus lisätä klikattavia linkkejä (jotta voisi lisätä huomautuksia esim. "this is a good/bad post: [link]" -> suoraan linkkiä klikkaamalla avautuisi se uuteen välilehteen) Itse pelille "important notes" tekstikenttä johon olisi esimerkiksi mahdollisuus kirjoitella pelin tärkeitä tapahtumia, yleistä pelin kulkua jne. Käytännössä kaikki kehitysideat jotka koen itse tärkeiksi voidaan jakaa kahteen kategoriaan. (1) Yleisen käytettävyyden kannalta tärkeät asia. Tällä tarkoitan asioita jotka toistuvat käyttäjästä riippumatta. Esimerkiksi usean pelaajan lisääminen peleihin. Riippumatta siitä kuka tietokantaa käyttää, tulee hän poikkeuksetta lisäämään kaikki peliin kuuluvat pelaajat peliin luodessaan sen. Tämän tekeminen mahdollisimman helpoksi on käytettävyyden kannalta tärkeää, jotta haluttuun lopputulokseen päästään nopeasti ja mahdollisimman vähin klikkauksin (joka on käytännössä jokaisen hyvän ohjelman/nettisivun perusta). (2) Tiedon luokittelun, lajittelun ja sen varastoimisen kannalta tärkeät asiat, kuten tekstikenttien määrä, kenttien tyypit ja missä muodossa niihin tieto varastoidaan ja kuinka sitä on mahdollista hyödyntää parhaan potentiaalin ulos saamiseksi. Tähän on vaikea antaa yhtä oikeaa ratkaisua ja mm. esittämäni ideat ovat vain oma henkilökohtainen mielipiteeni. Jonkun muun mielestä jokin toinen lähestymistapa on varmasti parempi. Periaatteessa paras ratkaisu olisi varmaankin maksimoida käyttäjän mahdollisuus 8

vaikuttaa tiedon varastoinnin tyyppiin ja määrään. Toisin sanoen antaa mahdollisuus luoda uusia kenttiä ja luokitella & lajitella tietoa käyttäjän itse haluamalla tavalla. Eli luoda tietokanta perustoimintoineen ja antaa käyttäjän muokata sitä omien mieltymystensä mukaan. Se, kuinka helppoa/vaikeaa tämä on toteuttaa on toinen asia. Yhteenvetona sanoisin, että tietokanta on hyödyllinen ja hyvinkin pienillä muokkauksilla ja kehityksellä siitä saadaan varmasti erittäin hyödyllinen suurelle osalle pelaajista. Oli mukava olla testauksessa mukana ja toivon, että saat tästä ideoita jatkokehityksen kannalta. 10. Omat kokemukset Yleisesti ottaen täytyy sanoa, että tämä oli varmaankin mielenkiintoisin kurssi, johon olen osallistunut. On huomattavasti paremmin motivaatiota herättävää työskennellä isomman projektin parissa, jonka aihekin on itseä kiinnostava, kuin tehdä liukuhihnalta algoritmeja abstrakteihin tarkoituksiin. Tein joululomalla hieman samaan aihepiiriin liittyvän Javaohjelman nimeltä Mafia Balance Tester, ja tätä sovellusta tehdessä on ollut päällä yhtä hyvä motivaatio. Helpointa kurssissa oli varmaankin SQL-lauseiden (create table, select, insert, delete jne.) muodostaminen. Pääsyynä tähän oli se, että olin juuri ennen kurssin alkamista ollut kurssilla Tietokantojen perusteet, jossa käytiin läpi myös huomattavasti monimutkaisempia SQL-lauseita. Vaikeaa sen sijaan oli tietokantaa käyttävän nettisivuston tekeminen ja etenkin erilaisten lomakkeiden käyttäminen tietokannan käsittelyyn. Opin kuitenkin kurssin aikana valtavasti uutta erityisesti lomakkeiden käytöstä ja erityyppisten tietojen näyttämisestä käyttäjälle. Kurssin oma IRC-kanava oli korvaamaton avun lähde monissa kysymyksissä. 9