tiistai 10. marraskuuta 2015

TOM Cityn kokemuksia opiskelijoiden testaamana

Kuvaus tulee vuodenvaihteessa 2015/16.

Työvaltaiset oppimiskokonaisuudet simuloidussa virtuaaliympäristössä (3D), koko teksti

TOM 2+1 hankkeessa on kehitetty Tom Cityksi nimetty Virtuaalinen 3D-ympäristö. Se koostuu 3D-malleista ja loogisista toiminnoista. Tom City toimii simulaation tai pelin tavoin siten, että käyttäjä voi liikkua omalla hahmollaan, avatarillaan,  kolmiulotteisessa maailmassa. Ympäristöön on tuotu Yhteisten tutkinnon osien kokonaisuudet, joiden avulla 2+1 -opiskelija voi hankkia osaamisen ja suoritukset. Tom City on mallinnettu näyttämään pieneltä kaupunginosalta ja se toimii yhteistyössä eTaito-palvelun kanssa.
Tom Cityn tekninen toteutus
Tom Cityssä käytettävät 3D-mallit on toteutettu käyttäen avoimen lähdekoodin ilmaista Blender 3D -mallinnustyökalua. Mahdollisuuksien mukaan on hyödynnetty jo aikaisemmin tehtyjä valmiita tai saatavilla olleita ilmaisia malleja työn nopeuttamiseksi, mutta pääosin mallit on kuitenkin luotu käsin itse projektin aikana. Malli koostuu joukosta pisteitä. Pisteiden yhdistäminen muodostaa reunoja, reunojen yhdistäminen muodostaa sivuja ja sivuista muodostuu pintoja. Pinnat värjätään väreillä tai tekstuureilla. Tavoitteena on luoda muotoja jotka ihminen tunnistaa esineiksi, rakennuksiksi tai hahmoiksi. Tom Cityssä olevat rakennukset ovat enimmäkseen kuvitteellisia, mutta osa liikkeistä on mallinnettu hyödyntämällä kuvia oikeiden yritysten tiloista.
Tom City on luotu kokoamalla mallit yhteen Unity 3D -pelimoottorin avulla. Sen avulla on toteutettu myös pelimekaniikka ja loogiset toiminnot. Unityä käytetään yleisesti pienissä ja keskisuurissa peliyrityksissä, mutta myös muutamissa suuremmissa  peleissä. Ohjelmointikielivalikoimasta Unityssä löytyy useita yleisiä kieliä kuten C#, javascript (unityscript) sekä Boo. Tom City toimii Unity 4.6 -versiolla ja pelimekaniikka nojautuu vahvasti C#-kieleen. Blenderissä luodut mallit viedään Unityyn ja niistä luodaan peliobjekteja. Peliobjekteihin liitetään erilaisia komponentteja kuten ohjelmakoodia. Komponenttien tarkoituksena on lisätä objekteihin uusia ominaisuuksia, toiminnallisuuksia ja toimintoja: ääntä, animaatiota tai liikettä. Unityn avulla objekteista ja toiminnoista rakennetaan toimiva kokonaisuus.
Unity 3D -pelimoottorin valintaa kehitysalustana puolsivat sen mahdollisuus julkaista useammalle eri laitealustalle suhteellisen pienin muutoksin sekä aikaisemmat kokemukset sen käytöstä virtuaalisten oppimisympäristöjen ja -pelien tekemisessä. Unityä käytetään laajalti pelien kehityksessä ja siksi se tarjoaa hyvät edellytykset pelillisten elementtien lisäämiseen ympäristöön. Tom City toimii osana käyttäjän verkkoselaimessa toimivaa eTaito-sovellusta. Tämä on mahdollista Unity Web Player -liitännäisen ansiosta. Liitännäisen tehtävä on selaimesta riippumatta mahdollistaa pääsy Unityllä luotuun sisältöön. Verkossa toimivan sovelluksen etuna on myös se, että ympäristöä ei tarvitse erikseen asentaa tietokoneelle, jolla sitä käytetään.

Integrointi eTaito-verkkopalveluun
eTaito on web-sovellus joka toimii sähköisen portfolion ja verkkoyhteisöpalvelun tavoin. eTaito -palvelu on toteutettu muokkaamalla Mahara-alustaa. Mahara tarjoaa käyttäjille mahdollisuuden luoda sisältöä ja jakaa sitä muille käyttäjille sekä ylläpitää digitaalista portfoliota tai blogia. Maharassa on samankaltaisia sisällönhallinnan ominaisuuksia kuin esimerkiksi Moodlessa. Tom City on integroitu toimimaan osana eTaitoa liitännäisenä. Liitännäinen mahdollistaa sen, että Tom City voidaan helposti asentaa tarvittaessa osaksi jo olemassa olevaa eTaito-palvelua ja niitä voidaan kehittää toisistaan riippumatta.
Liitännäisenä Tom City voi käyttää samaa tietokantaa verkkopalvelun kanssa. Palveluun liittäminen tarjoaa Tom City -ympäristölle muitakin etuja. Mahara-alustassa on valmis pohja käyttäjien hallinnoimiselle ja tunnistautumiselle. Tom City voi hyödyntää verkkopalvelun kirjautumista siten, että käyttäjän ei tarvitse kirjautua kahdesti. Lisäksi Mahara mahdollistaa tehtävien vastausten lähettämisen 3D-ympäristön ulkopuolelle. Integroinnin haasteena on Mahara-alustan kehitystyökalujen heikko dokumentointi. Alusta on toteutettu avoimen lähdekoodin projektina ja dokumentaatio on siksi jäänyt vaillinaiseksi. Tämän lisäksi suurena haasteena on palvelimen ja web playerin välillä liikkuvien javascript-viestien tietoturva. Toimintojen yhdistäminen eTaitoon hankaloittaa osaltaan myös testaamista, sillä muutoksien jälkeen on usein välttämätöntä ladata koko unity-paketti palvelimelle, jotta saadaan selville toimiiko web playerin ja palvelimen yhteistoiminta toivotulla tavalla.
Pedagoginen potentiaali
Virtuaalisen maailman suurin voimavara on sen runsas graafinen sisältö, joka on pyritty pitämään sekä mahdollisimman selkeänä että viihdyttävänä. Graafinen sisältö aiheuttaa kuitenkin myös haasteita sen suhteen, että heikkotehoisilla laitteilla käyttö voi olla vaivalloista tai jopa mahdotonta. Osa tarkoituksenmukaista virtuaalisen ympäristön käyttöä tapahtuu oppilaitosten omilla tietokoneilla, joita ei ole erityisesti suunniteltu 3D-grafiikkaa vaativiin tehtäviin. Tästä syystä Tom Cityn 3D-mallien monimutkaisuudessa ja tekstuureissa on tehty kompromisseja suorituskyvyn parantamiseksi. Suunnittelussa tavoitteena on ollut löytää tasapaino hyvän visuaalisen ulkoasun ja tehokkuuden välillä. Graafisen sisällön tavoitteena on parantaa immersiota ja tehdä ympäristöstä elävämpi. Ympäristön tavoite on olla oppimisen välineenä helppokäyttöinen ja innostava sekä tarjota vaihtelua perinteisiin oppimiskanaviin verrattuna.
Projektin aikana on tehty yhteistyötä eri oppiaineiden opettajien kanssa mahdollisimman paljon. Heiltä on saatu tehtäviin sisältö sekä kehitysideoita virtuaaliseen ympäristöön, jotta se olisi mahdollisimman hyvä työkalu opetukseen ja oppimiseen. Tehtävien laatu on erityisen tärkeää siksi, että tehtäväkokonaisuudet vastaavat nykyistä opetussuunnitelmaa ja sen tarpeita ja tehtävien vaikeustaso on suhteessa oppilaiden tavoitetasoon. Samalla tehtävien mielekkyys on avainasemassa opiskelijan kokemuksen kannalta. Virtuaaliympäristön tuoma lisäarvo ei kykene yksin pitämään oppilaan mielenkiintoa yllä, mikäli tehtävät ovat monotonisia ja toistuvia. Graafinen ympäristö ja siihen suunnitellut ominaisuudet ja pelilliset elementit tukevat siis tehtäviä ja toisinpäin.
Tehtävien rakenne ja tehtäviin liittyvä pelimekaniikka ovat kehittyneet suunnittelun alkuvaiheesta lähtien. Tehtävät on jaoteltu pääasiassa oppiaineiden mukaan. Tavoitteena on, että oppilas voi valita aina kulloinkin minkä oppiaineen tehtäviä hän haluaa suorittaa. Kun oppiaine on valittu, pelaajan näkyvissä on ainoastaan siihen liittyvät tehtävät. Tehtävät voivat kuulua suurempiin tehtäväkokonaisuuksiin ja usein ne on jaettu pienempiin osatehtäviin. Tehtävät ja niiden vastaukset säilytetään palvelimen tietokannassa muokattavuuden ja tietoturvan takia. Suuri osa tehtävistä on ns. dialogitehtäviä, jossa tehtävät on upotettu keskustelumuotoon tietokoneen kontrolloiman hahmon kanssa. Dialogitehtävien tarkoituksena on lisätä ympäristön interaktiivisuutta ja osaltaan harjoittaa oppilaita asiakaspalvelutilanteissa käytäviä keskusteluja varten. Myös muunlaisia tehtäviä on saatavilla.

Haasteet ja mahdollisuudet
Tom Cityn toteuttamisessa on tarvittu 3D-mallinnusohjelmien hallintaa rakennusten ja esineiden luomiseksi. Sen lisäksi avainasemassa on ollut Unity-pelimoottorin tunteminen ja C# ohjelmointi. Koska ympäristö toimii verkossa, toteutuksen onnistumiseksi on vaadittu myös osaamista html-, php- ja javascript-ohjelmointikielissä. Projekti edellyttää palvelimen ylläpitoa testaus- ja pilotointitarkoituksessa ja siihen liittyviä hallinnointitoimia. Tietojen ja tehtävien säilyttämiseen käytetään SQL -tietokantaa. Mahdollisen huijauksen ja sovelluksen väärinkäytön estämiseksi on hyödynnetty aikaisempaa tietoturvaosaamista ja kokemusta verkkosovellusten hakkerointitavoista. Lisäksi kokemus pelikehityksestä ja pelillisten elementtien lisäämisestä on vaikuttanut ympäristön käyttöliittymän ja pelimekaniikan suunnitteluun.
Unityä ja sillä tuotettuja pelejä / simulaatioita voi hyödyntää lähes kaikilla aloilla ja oppimisen osa-alueilla. Pelilliset elementit voivat parhaimmillaan tuoda opiskeluun motivaatiota ja helpottaa vaikeiden käsitteiden opettelua. Opiskelija voi saada tehtävistä välitöntä palautetta ja konkretisoida tuloksensa. Pedagogiikan kontekstissa pelejä voi ajatella uudenlaisena mediasisältönä tai rakenteena. Ympäristöt ja niiden toiminnallisuudet ovat täysin räätälöitävissä eri tarkoituksia varten. Näin voidaan vastata oppiaineiden ja alojen erilaisiin osaamistarpeisiin. 3D-malleja ja mallintamista voidaan hyödyntää missä tahansa luovuutta vaativassa opiskelussa tai työssä suunnittelun ja demonstroimisen välineenä.