PUHEOPETUSPELIN KEHITYS UNITY-PELIMOOTTORIN JA LISÄOSAN AVULLA
|
|
- Seppo Siitonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Opinnäytetyö (AMK) Tietotekniikan Koulutusohjelma NTIETS12H 2016 Joni-Matti Huotari PUHEOPETUSPELIN KEHITYS UNITY-PELIMOOTTORIN JA LISÄOSAN AVULLA
2 OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Joni-Matti Huotari PUHEOPETUSPELIN KEHITYS UNITY- PELIMOOTTORIN JA LISÄOSAN AVULLA Sanalanka on puheopetuksen tueksi tarkoitettu peli. Sanalanka on tarkoitus kääntää useille kielille. Käännösten mahdollistamista varten täytyi luoda tekninen perusta käännettyjä tekstejä varten. Sanalangan hyödyntämää pelimoottoria Unityä ja sen lisäosaa Fungusta käyttäen luotiin ratkaisu, jonka avulla Sanalanka voidaan kääntää toisille kielille. Vaatimuksena oli, että uusien käännösten lisääminen olisi helppoa, joten tämä otettiin huomioon suunnittelussa ja toteutuksessa. Lopputuloksena saatiin ratkaisu, jonka avulla Sanalankaan voidaan lisätä uusia kielivaihtoehtoja käyttämällä käännökset sisältävää taulukkomuotoista tiedostoa. Ratkaisun avulla tehtiin tulevaa käännöstyötä varten käännös pelin ensimmäiseen välianimaatioon. Tehtyä työtä voidaan hyödyntää heti, kun Sanalankaan aletaan tehdä käännöksiä. Työn ansiosta uusia käännöksiä voi lisätä ilman laajaa Unityn osaamista. ASIASANAT: puheopetus, peliohjelmointi, kääntäminen
3 BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Information Technology Joni-Matti Huotari SPEECH THERAPY GAME DEVELOPMENT WITH UNITY GAME ENGINE AND PLUGIN Sanalanka is a videogame meant to be used in speech therapy. Sanalanka is going to be translated to multiple languages. To make these translations possible there was a need to create a technical foundation for the translated texts. Using the game engine Unity which is used by Sanalanka, and its plugin Fungus, a solution was created for translating Sanalanka. Requirement for the translation system was that adding new language options has to be easy so this was taken in consideration in the planning and implementation. The result was a solution which allows adding new language options to Sanalanka using a spreadsheet file containing the translations. The solution was used to create example translation to the game s first cutscene. The thesis can be utilized when the translation of Sanalanka begins. Thanks to the thesis translations can be added without extensive knowledge of Unity. KEYWORDS: speech therapy, game programming, translating
4 SISÄLTÖ SANASTO 6 1 JOHDANTO 7 2 UNITY JA SEN LISÄOSAT Unity Fungus Muita vaihtoehtoja 12 3 SANALANKA Sanalanka yleisesti Fungus Sanalangassa Ääniobjektien tekemien skriptin avulla Fungus ja Lua 20 4 LOPUKSI 22 LÄHTEET 23 KUVAT Kuva 1. Unityn editori. 9 Kuva 2. Funguksen vuokaavio. 10 Kuva 3. Fungus-vuokaavio muuttujat ja kameran liikuttaminen. 11 Kuva 4. Asset Store. 14 Kuva 5. Fungus-tekstitys välianimaatiossa. 17 Kuva 6. Käännökseen käytettävä CSV-tiedosto. 18 Kuva 7. Skripti, joka luo objektit äänitiedostoille. 19 Kuva 8. Lua-skripti editorissa. 20
5 TAULUKOT Taulukko 1. Pelimoottorien vertailu. 13
6 SANASTO Unity monialustainen pelimoottori, johon on saatavissa ilmainen lisenssi Fungus Unityn ilmainen lisäosa tekstin ja valikoiden toteuttamista varten Scene Unityllä kehitettävä peli jaetaan pelitasoihin joita kutsutaan sceneiksi CSV yksinkertainen tiedostomuoto jossa tallennetaan tekstiä taulukkomuotoon, ja jota voidaan käsitellä taulukkolaskentaohjelmassa, Comma-Separated Value JSON tiedostomuoto, Javascript Object Notation API ohjelmistorajapinta, joka mahdollistaa eri ohjelmien välisen viestinnän, Application Programming Interface Direct3D ohjelmistorajapinta 3D-grafiikkaa varten OpenGL laitteistoriippumaton ohjelmistorajapinta grafiikkaa varten
7 7 1 JOHDANTO Tämä opinnäytetyö käsittelee Unity-pelimoottoriin tehtyä laajennusta nimeltä Fungus, jota voidaan käyttää dialogin, valikoiden ja muun näytöllä näkyvän tekstin näyttämiseen. Osana opinnäytetyötä tehtiin Fungusta käyttävä järjestelmä helpottamaan ohjelmiston kääntämistä eri kielille. Työ oli osa projektia, jossa tehtiin puheopetukseen tarkoitettu opetuspeli nimeltä Sanalanka. Opinnäytetyössä tutustutaan Unityyn ja Fungukseen siitä näkökulmasta, miten niitä projektissa käytettiin ja mitä vaihtoehtoisia ratkaisuja olisi voitu käyttää. Erityisesti keskitytään siihen, miten Funguksen käännöstoimintoja käytettiin Sanalangan lokalisoinniksi.
8 8 2 UNITY JA SEN LISÄOSAT 2.1 Unity Pelimoottori tarjoaa pelinkehittäjille yleisiä toimintoja, joita pelit tarvitsevat. Näihin kuuluu esimerkiksi grafiikan piirtäminen, fysiikkamallinnus ja käyttäjän syötteen seuraaminen. Valmiin pelimoottorin käyttäminen nopeuttaa pelien kehittämistä. Tästä huolimatta monet yritykset tekevät itse pelimoottorinsa, koska monet saatavilla olevat pelimoottorit eivät sovellu suunnitellun kaltaisen pelin tekemiseen. (GameDesigning 2016) Unity on Unity Technologiesin valmistama pelimoottori. Suurin osa pelien kannalta merkittävistä alustoista ovat yhteensopivia Unityn kanssa. Yhteensopivia alustoja ovat esimerkiksi Windows, OS X, Linux, Xbox, Playstation, Wii, Android, ios ja Windows Phone. (Unity Technologies 2016c) Uusin versio on julkaistu 5.4.0f3. Unity on ilmainen käyttäjille, joiden vuosittainen liikevaihto on alle Yhdysvaltojen dollaria, ja tämän ylittyessä on siirryttävä käyttämään kuukausimaksullista versiota. Maksullisissa versioissa on saatavilla lisätoimintoja, kuten suorituskyvyn mittaamistyökalu ja tuki useamman pelaajan moninpelille. Näiden kuukausimaksullisten lisenssien lisäksi on olemassa lisäosia myyvä Asset store, josta voi ostaa esimerkiksi 3D-malleja. (Unity Technologies 2016e) Ohjelmistorajapintoja (API) käytetään eri ohjelmien väliseen viestintään (Webopedia 2016). 3D-grafiikkaa varten oleva Direct3D on ohjelmistorajapinta (Microsoft 2016). Grafiikan näyttämiseen on olemassa myös laitteistoriippumaton OpenGL (OpenGL 2016). Unityn tukemat ohjelmistorajapinnat ovat Direct3D (Windows ja Xbox), OpenGL (Mac, Linux ja Windows), OpenGL ES (Android ja ios). Näiden lisäksi on olemassa yksityisomistukselliset ohjelmistorajapinnat konsoleille, kuten Playstationille ja Wiille. (Unity Technologies 2016c) Unity tukee ohjelmointikieliä C# ja Javascript (Unity Technologies 2016d). Tuettuihin kieliin kuului myös Boo ennen versiota 5.0, jossa sen tuki lakkautettiin. Boo-skriptejä voi kuitenkin edelleen käyttää, mutta dokumentaatiota ei ole, ja painike, jolla uusi Boo-skripti luodaan, on poistettu. (Unity Technologies 2014)
9 9 Unityllä tehtyihin peleihin kuuluu esimerkiksi Kerbal Space Program, Hearthstone, Wasteland 2 ja Monument Valley. Kuvassa 1 näkyy Unityn editori (Unity scene editor). Unityssä scene tarkoittaa pelikenttää, joita voi olla pelistä riippuen yksi tai useampia. Yksinkertaisen pelin voi tehdä yhtä otosta (sceneä) käyttäen mutta yleensä kannattaa käyttää useampaa. Otokseen on helppo tehdä yksinkertaisia muutoksia kuten pelihahmojen sijainnin muuttaminen tai taustan vaihtaminen. Kuva 1. Unityn editori. Unityn käynnistyessä on luotava uusi projekti tai valittava jo olemassa oleva projekti. Unity-projektiin kuuluvat kaikki tiedostot, joita käyttäjä tekee tai muuten hankkii peliään varten. Projektiin voi lisätä ilmaisia tai maksullisia skriptejä, grafiikoita ja muita tiedostoja. Unityssä käytetään termiä GameObject eli peliobjekti. Peliobjekteilla on erilaisia ominaisuuksia, joista yleisin on sijainti. Objektit luodaan usein tyhjinä, jolloin niillä ei ole muita ominaisuuksia kuin sijainti. Tyhjään objektiin lisätään sitten tarvitut komponentit, kuten fysiikkamallinnus tai grafiikkaa. Objekteja, joissa ei ole komponenttia grafiikan näyttämiseen, ovat peliruudulla näkymättömiä. Jokainen otos tarvitsee objektin, johon on liitetty kamerakomponentti: se määrää, mitä peliruudulla näytetään.
10 Fungus Fungus on ilmainen vapaan lähdekoodin lisäosa Unityyn. Fungus tuli saatavaksi Asset Storesta (Unity Technologies 2016a). Uusin versio on julkaistu Funguksen keskeisimpiä toimintoja on dialogin ja valikoiden toteuttaminen peleissä. Funguksen avulla voi näyttää ja liikuttaa hahmojen potretteja ja soittaa äänitiedostoja. Hahmografiikoita voi liikuttamisen lisäksi skaalata ja litistää. Unityn animointityökalua Mecanimia voi ohjata Funguksen kautta tai sitten voi käyttää Funguksen mukana tulevaa animointilisäosaa nimeltä Spine. Pelilogiikkaa voi tehdä käyttäen Funguksen visuaalista ohjelmointia eli vuokaaviotoimintoa (flowchart). (Fungus 2016a) Vuokaavio ohjaa funguksen näyttämää tekstiä. Kuutioihin (block) lisätään komentoja, jotka ohjaavat tapahtumien kulkua. Kuutioita on useampia, jotta tarina voi haarautua. Yksittäinen puhekupla näytetään Say-komennolla, valinnat toteutetaan Menukomennolla. Kuvassa 2 näkyy, miten pelaajalle annetaan valikossa erilaisia vaihtoehtoja, jotka johtavat haarautuviin polkuihin. Kuva 2. Funguksen vuokaavio.
11 11 Kuvassa 3 on kuvattu muuttujia joiden arvot vaihtuvat pelaajan valintojen mukaan. Myöhemmässä vaiheessa peliä muuttujien arvot vaikuttavat siihen mille polulle pelaaja päätyy. Kuva 3. Fungus vuokaavio muuttujat ja kameran liikuttaminen. Usean eri tyypin muuttujia voidaan lisätä vuokaavioihin ja niiden arvoja voi muuttaa vuokaaviokomennoilla. Kameraa ohjaavia komentoja on useita. Niiden kanssa on mahdollista liikuttaa kameraa useilla tavoilla, kuten tasaisella siirtämisellä tai heiluttamalla sitä. Kameran näyttämää kuvaa myös voi tummentaa tai kameraa voi siirtää kauemmas tai lähemmäs taustasta. Say-komento on eräs Funguksen käytetyimmistä. Komentoa voi muokata monin tavoin tarpeiden mukaan. On mahdollista valita hahmo jonka potretti näytetään samalla tekstin kanssa. Muita mahdollisia asetuksia ovat esimerkiksi tekstin nopeus ja tekstin sijoittaminen aikaisempaan puhekuplaan uuden sijaan. Menu-komennolla luodaan painike jossa lukeva lukeva teksti määritellään tekstikohdassa (text). Jokaiselle vaihtoehdolle on lisättävä oma komento. Kohde (target) määrää mistä kuutiosta valinnan jälkeen jatketaan. Shake Camera -komento heiluttaa kameraa. Heilutuksen kesto päätetään ajastuskohdassa (time) ja heilutuksen määrä pitää ilmoittaa x ja y koordinaatteina,
12 12 esimerkiksi x = 0.3 ja y = 0.4. Wait until finished määrää, tehdäänkö heilutus loppuun ennen kuin vuokaavio jatkaa toteuttamaan seuraavaa komentoa. Move To -komento siirtää valittua objektia. Siirrettävä objekti voidaan siirtää joko tiettyihin xyz-koordinaatteihin tai samaan paikkaan jonkin toisen objektin kanssa. Siirto tapahtuu kohtaan kesto (duration) asetetussa ajassa. Set Variable -komennolla tehdään muutoksia vuokaaviossa oleviin muuttujiin. Variable kohtaan sijoitetaan muutettavana oleva muuttuja. Muuttujaan voidaan asettaa tietty arvo tai sitten voidaan tehdä yksinkertaisia laskutoimituksia joko toisen muuttujan kanssa tai komennossa ilmoitettavan luvun kanssa. 2.3 Muita vaihtoehtoja Unityn lisäksi on olemassa useita muita pelimoottoreita joita voi käyttää maksutta. Epic Gamesin valmistama Unreal Engine on Unityn ohella eräs käytetyimmistä pelimoottoreista. Unreal Enginen ensimmäinen versio tehtiin alunperin Unreal peliä varten vuonna Uusin versio on Unreal Engine 4 ja se julkaistiin vuonna Unreal Enginestä tuli kaikille käyttäjille ilmainen vuonna 2015, tosin hyvin myyvästä pelistä täytyy maksaa rojalteja. Ohjelmointiin voi käyttää joko Unrealin visuaalista ohjelmointikieltä tai ohjelmointikieltä c++. (Unreal Engine 2016) Unreal Engineä pidetään Unityä parempana graafisesti raskaisiin peleihin, mutta vaikeampikäyttöisenä. Unity on helppoutensa takia käytetyimpiä pelimoottoreita. Unityn helppouteen verrattuna Unreal Engineen vaikuttaa huomattavasti pelimoottoreiden käyttämät ohjelmointikielet. Unityn C# on helpompi oppia kuin Unreal Enginen käyttämä C++. (The Next Web 2016) Sanalangassa käytetään Unityä, koska Sanalanka ei tarvitse kehittyneitä grafiikoita ja koska Turku Game Labin henkilöstöllä on enemmän kokemusta Unityn käytöstä. Unityn ja Unrealin lisäksi on muitakin ilmaisia pelimoottoreita. Saksalaisen Crytekin CryEngine soveltuu erityisesti 3D peleihin joissa tarvitaan hyvää suorituskykyä. CryEngineä myydään maksa mitä haluat -menetelmällä. Peleistä ei tarvitse maksaa rojalteja. (CryEngine 2016) Amazon.com teki CryEnginestä oman versionsa nimeltä Amazon Lumberyard. Lumberyardilla rakennettu peli voi hyödyntää Amazonin verkkopalveluita ja sitä voi suoratoistaa videopalvelu Twitchiin ilman erillistä ohjelmaa. Itse pelimoottori on ilmainen mutta verkkopalveluiden hyödyntämisestä täytyy maksaa.
13 13 (Amazon Lumberyard 2016) Taulukosta 1 nähdään pelimoottorien vertailu ohjelmointikielien, hinnan ja sopivimpien käyttökohteiden osalta. Taulukko 1. Pelimoottorien vertailu. Ohjelmointikieli Hinta Käyttökohde Unity C#, Javascript ilmainen, yksinkertaiset pelit, mobiilipelit (eli Unityscript) saatavilla maksullisia lisätoimintoja Unreal Engine C++ 5 % rojalti graafisesti raskaat pelit myydystä tuotteesta CryEngine C++ ilmainen realistisia grafiikoita käyttävät pelit ja ulkotiloihin sijoittuvat pelit Amazon Lumberyard C++ ilmainen, nettipalveluista pitää maksaa Amazonin verkkopalveluita tai Twitch-palvelua hyödyntävät pelit Fungus on yksi monista Unityä varten olemassa olevista tekstin ja valikoiden näyttämiseen tarkoitetuista lisäosista. Monet lisäosat tarjoavat samankaltasia toimintoja kuin Fungus. Useimmat lisäosat joissa on paljon toimintoja ovat maksullisia, mutta on myös olemassa useampi täysin ilmainen vaihtoehto. Lisäosia voidaan käyttää nopeuttamaan pelin kehitystä. Lopputuloksen kannalta ei ole juuri merkitystä tekikö pelin kehittäjäryhmä itse kaikki 3D-mallit tai skriptit. Lisäosia voi myös käyttää ideoiden nopeaan toteuttamiseen ja testaamiseen. Tällöin on mahdollista testata ideoita ilman, että täytyy käyttää paljon aikaa esimerkiksi uusien hahmojen luomiseen. Joskus kehittäjät käyttävät lisäosia täyttämään jonkin puutteen omissa taidoissaan. Esimerkiksi graafikko ilman ohjelmointitaitoja voi hyödyntää muiden tekemiä skriptejä, tehdäkseen pelimekaniikoiltaan yksinkertaisen, mutta graafiselta suunnittelultaan ja toteutukseltaan laadukkaan pelin. Fungusta käyttämällä voi heti
14 14 aloittaa välianimaatioiden toteuttamisen ilman tarvetta koodata tyhjästä niiden vaatimia skriptejä. Kuvassa 4 on joitakin Asset Storesta saatavilla olevia maksullisia lisäosia. Kuva 4. Asset Store. Ilmaisia Funguksen kaltaisia lisäosia ovat esimerkiksi Narrate ja Parley Free. Narrate mahdollistaa dialogin näyttämisen ruudulla. Narrate on yksinkertainen eikä se tue haarautuvia keskusteluja. Parley Free Dialogue & Quest Engine on monipuolisempi, se tukee haarautuvia keskusteluja kuten Funguskin. Parley vaatii käyttäjältä Java ohjelmointikielen asennuksen mikä vaikeuttaa Parleyn käyttöä. Sovellus joka hyödyntää Parleyn ominaisuuksia ei toimi ellei käyttäjällä ole yhteensopivaa versiota Javasta. Parley Free on ilmaisversio jossa ei ole kaikkia ominaisuuksia mitä maksullisesta versiosta löytyy. Maksullisia lisäosia ovat Chat UI & Speech Bubbles System, Dialogue and Conversation System, Dialogue System for Unity ja Visual Novel Engine & 2d Cutscene Engine. Chat UI on tarkoitettu erityisesti useiden pelaajien väliseen keskusteluun joten se ei ole sopivin Sanalankaa varten. Siinä ei myöskään ole tukea lokalisoinnille. Chat UI & Speech Bubbles System maksaa 25 dollaria. Dialogue and Conversation System on monipuolinen ja se tukee esimerkiksi äänitiedostojen soittamista ja lokalisointia. Siinä on myös toimintoja kameran liikuttelemiselle. Dialogue and Conversation System maksaa 40 dollaria.
15 15 Dialogue System for Unity sisältää paljon toimintoja kuten monipuoliset vaihtoehdot keskusteluiden tekemiseen, tuen lokalisoinnille, hahmojen välisten suhteiden seuraamisen ja pelin tallentamisen sekä lataamisen. Dialogue System for Unity maksaa 65 dollaria. Visual Novel Engine & 2d Cutscene Engine on tarkoitettu erityisesti 2-ulotteisia pelejä varten joissa on paljon tekstiä ja yksinkertaiset pelimekaniikat. Se sisältää toiminnallisuuden muutaman hengen välisiin keskusteluihin ja hahmografiikoiden liikuttelemiseen, mutta siinä ei ole juuri muita toimintoja. Visual Novel Engine maksaa 5 dollaria. (Unity Technologies 2016b)
16 16 3 SANALANKA 3.1 Sanalanka yleisesti Sanalanka on puheopetuksen tueksi tarkoitettu opetuspeli. Sanalankaa kehittää Turku Game Lab ja tämä työ tehtiin sopimuksessa Turku Game Labin kanssa. Turku Game Lab on Turun yliopiston ja Turun ammattikorkeakoulun yhteinen hanke jossa toteutetaan peliprojekteja. Sanalanka on suunniteltu erityisesti taulutietokoneita varten. Sanalanka koostuu useasta minipelistä joissa opitaan sanojen oikea ääntäminen. Erilaisia minipelejä on 6 ja peli on jaettu 8 alueeseen, joille on Unityssä oma otos. Jokaisella alueella suoritetaan kaikki minipelit. Minipelit ovat samanlaisia joka kerralla muuten paitsi harjoiteltavan sanaston kohdalta. Suunniteltua on että Sanalankaa voisi pelata suomeksi ja ruotsiksi. Tulevaisuudessa kieliä saatetaan lisätä enemmän joten peli toteutettiin niin että useiden eri käännösten lisääminen myöhemmin olisi helppoa. 3.2 Fungus Sanalangassa Sanalangassa käytetään Fungusta erityisesti tarinaa edistävien välianimaatoiden toteutukseen. Pelin alettua näytetään pelaajalle alkuanimaatio, mikä selittää pelin tapahtumien kontekstin. Välianimaatioita näytetään myös pelaajan saapuessa uuteen pelialueeseen. Välianimaatioissa Fungusta käytetään tekstin näyttämiseen, puheen ja muiden äänien soittamiseen, hahmojen liikuttamiseen ja kameran hallintaan. Riippuen valitusta kielestä fungus käyttää joko suomen tai ruotsin kielistä tekstiä ja puhetta. Hahmojen animaatiot toteutataan joko Funguksen toiminnoilla, tai sitten Fungusta käytetään vain kutsumaan metodi joka sitten toteuttaa animaation. Fungusta ei käytetä kaikkeen, esimerkiksi pelialueen vahtamiseen käytettävä kartta ja minipelit ovat toteutettu ilman sitä. Kuvassa 5 oleva tekstitys on tehty Fungusta käyttäen.
17 17 Kuva 5. Fungus tekstitys välianimaatiossa. Sanalangassa hahmografiikoita liikutetaan käyttäen move to -komentoa. Move to - komento vaatii tiedon siitä mitä halutaan siirtää, kuinka paljon ja kuinka nopeasti. Hahmojen ja esineiden animaatiot tapahtuvat käyttäen Funguksen toimintoa jolla voi kutsua itse tehtyjä metodeita. Välianimaation loppuessa pelaajalle täytyy palauttaa kyky ohjata peliä ja se tehdään animaatioiden tavoin kutsumalla metodi mikä antaa kontrollin takaisin pelaajalle. Sanalangan välianimaatoissa teksti ja puhe tehtiin ensin käyttäen Funguksen vuokaavioon lisättävällä say-toiminnolla. Say-komentoon yhdistettiin äänitiedosto joka soitettiin samaan aikaan tekstin kanssa. Tämä toteutus ei mahdollistanut tekstin tai puheen kääntämistä toiselle kielelle, minkä vuoksi otettiin käyttöön Funguksen toiminto jossa teksti ja siihen liittyvä ääni tulee taulukkomuotoisesta CSV-tiedostosta. Fungus sisältää tuen tekstin kääntämiselle. Vuokaavion voi muuttaa automaattisesti kuvan 6 kaltaiseen CSV-muotoon. CSV-tiedostoa voi muokata taulukkolaskentaohjelmien kanssa (CSV 2016). Funguksen luomaan tiedostoon tulee jokainen muutetun vuokaavion say-komennon sisältämä teksti omalle rivilleen. Jokainen näistä teksteistä liittyy avainriviin mikä kertoo missä kohdassa teksti näytetään.
18 18 Kuva 6. Käännökseen käytettävä CSV-tiedosto. Tiedostoon voi lisätä minkä tahansa määrän käännöksiä. Tyhjän sarakkeen ylimpään riviin tulee sijoittaa avain jolla viitataan sillä sarakkeella olevan käännöksen kieleen. Yläpuolella olevassa esimerkissä on lisätty avain SWE ja sen alle on tehty itse käännös. CSV-tiedoston käyttämistä varten on otokseen lisättävä lokalisaatio (localization) tyypin objekti, mihin tulee lisätä haluttu tiedosto. Unity käyttää tiedostosta nimeä localization file. Kun localization file on lisätty se korvaa vuokaavion komentojen sisällön vastaavalla rivillä olevalla tekstillä. Sarake, josta teksti otetaan, määräytyy päävalikossa valitun kielen mukaan. Äänien lokalisointi tapahtuu lisäämällä käännöstiedostoon viittaus otoksessa olevaan objektiin johon on liitetty haluttu äänitiedosto. Viittaus on muotoa {audio=x}, missä x on objektin nimi. Kun halutaan lisätä uusia ääniä täytyy jokaiselle uudelle äänelle tehdä oma objekti. Tällöin uuden käännöksen lisääminen vaatii taulukkotiedoston muuttamisen lisäksi otoksessa tapahtuvia muutoksia. Tämä eroaa siitä miten ääniä lisätään käyttäessä vuokaavion say-komentoa. Tarkasteltaessa say-komentoa voidaan siihen helposti lisätä mikä tahansa projektissa oleva äänitiedosto. Sen sijaan CSV-tiedostoa käyttäessä jokainen ääni tarvitsee otoksessa olevan objektin. 3.3 Ääniobjektien tekemien skriptin avulla On mahdollista että jossain vaiheessa käännöksiä tulee tekemään joku jolla ei ole kokemusta Unitystä eikä Funguksesta. Tämän vuoksi on tärkeää että käännöstyötä helpotetaan. Ääniä sisältävien objektien tekeminen yksi kerrallaan on myös aikaavievää ja virhealtista. Ratkaisuna tähän tehtiin skripti mikä tekee otokseen automaattisesti objektin jossa on haluttu äänitiedosto. Kuvassa 7 kuvatun koodin ansiosta uusien äänien lisääminen on helppoa. Uuden äänen lisääminen vaatii vain sen että haluttu äänitiedosto vedetään niille varattuun clips-
19 19 taulukkoon. Tämän jälkeen ääntä voi käyttää CSV-tiedostossa viittaamalla siihen sen omalla nimellä. Kuva 7. Skripti joka luo objektit äänitiedostoille. Skripti selvittää päävalikossa valitun kielen ja sitten etsii otoksesta lokalisaatio objektin johon valittu kieli sijoitetaan. Tämän jälkeen skripti luo jokaiselle taulukossa olevalle äänitiedostolle objektin, nimeää objektit äänitiedostojen mukaan, siirtää objektit hierarkiassa ennalta tehdyn audiolokalisaatio objektin alle ja lisää äänitiedostot oikeisiin objekteihin. Ääniobjektien lisäämisen olisi voinut tehdä myös muilla tavoilla. Ensimmäinen suunnitelma oli että jokaisen otoksen audiolokalisaatio objektiin kiinnitetään pelin käynnistyessä objekteja ääniä varten sen kielen mukaan mikä päävalikossa valittiin. Kun päävalikossa valitaan kieleksi suomi lisättäisiin otokseen objektit vain niille äänille joita tarvitaan suomenkielisessä Sanalangassa. Tehtyihin objekteihin lisättäisiin sitten vastaava ääni. Tämän olisi voinut toteuttaa käyttäen jonkinlaista taulukkoa josta voitaisiin valitusta kielestä riippuen lukea mitä ääniä käytetään. Tämä toteutus oli tarpeettoman hankala toteuttaa koska riippuen valitusta kielestä täytyisi otokseen lisätä eri ääniä. Lisäksi monimutkaisempi toteutus aiheuttaa todennäköisemmin virheitä.
20 Fungus ja Lua Lua on skriptikieli jota Fungus tukee. Funguksen kanssa toimivan Luan nimi on FungusLua. Luan kanssa voi muokata Unityn objekteja ja sitä voi käyttää yhdessä Funguksen vuokaavioiden kanssa. Vuokaavioiden komentoja kuten say ja menu voi käyttää myös Luan kanssa. (Fungus 2016c) Lua-skriptin voi kirjoittaa editorissa lisäämällä otokseen Lua-objektin. (Tools > Fungus > Create > Lua) Lua-skriptin voi kirjoittaa editorissa sille varattuun tilaan tai txt-tyyppiseen tiedostoon (Lua File). Kuvan 8 esimerkissä oleva skripti näyttää ensin tekstin hello world ja sen jälkeen näyttää valikon jossa on kaksi vaihtoehtoa. Saman toiminnallisuuden voi siis tehdä joko käyttäen Funguksen vuokaavio toimintoa tai Lua-skriptejä käyttäen. Luaskriptejä voi myös kutsua vuokaavioiden avulla. (Fungus 2016c) Kuva 8. Lua skripti editorissa. (Fungus 2016d) Lualla näytettävän tekstin voi lokalisoida käyttäen JSON-tyyppistä tiedostoa johon käännökset on kirjattu seuraavan esimerkin mukaisesti. (JSON 2016) { "hello_world" : { "en" : "Hello world!", "fr" : "Bonjour le monde!",
21 21 "de" : "Hallo Welt!" }, "goodbye_world" : { "en" : "Goodbye world!", "fr" : "Au revoir monde!", "de" : "Auf Wiedersehen Welt!" } } (Fungus 2016b) Kielen voi vaihtaa Lua-objektin asetuksista tai funktiolla setlanguage (languagecode). Kun kieli on asetettu voidaan haluttu käännös saada näkyviin skriptillä say( {$hello_world} ). (Fungus 2016c) Sanalangassa välianimaatiot on luotu vuokaavioiden eikä Lua-skriptien kanssa joten JSON-tiedostoja ei ole käytetty lokalisointiin.
22 22 4 LOPUKSI Tehtävän tavoitteena oli luoda ohjelmistoarkkitehtuuri Sanalangan tulevaa käännöstyötä varten. Tavoite saavutettiin ajallaan ja Sanalanka tullaan kääntämään muille kielille hyödyntäen tehtyä selvitystä ja toteutusta. Lokalisointi voidaan tehdä CSV-tiedostoja käyttäen varsin helposti ilman suurta Unityn osaamista. Lokalisointia helpottamaan luotiin skripti, joka automatisoi peliobjektien luomisen äänitiedostoille. Selvisi, että Fungus soveltuu oikein hyvin Sanalangan 2D-animaatioiden toteuttamiseen ja lokalisointiin. Unityn kanssa työskentelyssä ei ilmennyt ongelmia. Asiaan vaikutti se, että Unity ja C# olivat jo entuudestaan tuttuja. Vaikka Fungus oli uusi tuttavuus, sen käytössä ei juuri tullut ongelmia. Funguksen dokumentaatiosta oli paljon hyötyä. Funguksen käytöstä saatua tietoa voi hyödyntää muissa projekteissa, joissa Fungusta käytetään samankaltaisilla tavoilla kuin Sanalangassa. FungusLuan käyttöä voisi tutkia lisää. Sanalangassa Luaa ei ole käytetty, mutta se voisi olla hyödyllinen jossakin toisessa projektissa.
23 23 LÄHTEET Amazon Lumberyard Wikipedia. Viitattu CryEngine Wikipedia. Viitattu CSV Wikipedia. Viitattu Fungus 2016a. Everyone loves a good story. Viitattu Fungus 2016b. String table. Viitattu Fungus 2016c. What is FungusLua? Viitattu Fungus 2016d. FungusLua: Lua scripting support for Unity and Fungus. 5:30. Viitattu GameDesigning What are game engines? Viitattu JSON Wikipedia. Viitattu Microsoft Direct3D Graphics. Viitattu OpenGL About. Viitattu The Next Web. This engine is dominating the gaming industry right now. Viitattu Unity Technologies Documentation, Unity scripting languages and you. Viitattu Unity Technologies 2016a. Asset store Fungus. Viitattu Unity Technologies 2016b. Asset store. Viitattu Unity Technologies 2016c. Build once deploy anywhere. Viitattu Unity Technologies 2016d. Documentation. Viitattu Unity Technologies 2016e. New products and prices. Viitattu Unreal Engine Wikipedia. Viitattu Webopedia API. Viitattu
Selainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Jypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
ELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011
1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen
ASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi
kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi Kääntämisvaihtoehdot Plonessa Localizer ja Translation Service käytön myötä kumuloituva
FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL
FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...
Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:
Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
Kieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
Pedacode Pikaopas. Web-sovelluksen luominen
Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen
Joona Leskinen SUMMER SPORTS -MOBIILIPELI
Joona Leskinen SUMMER SPORTS -MOBIILIPELI SUMMER SPORTS -MOBIILIPELI Joona Leskinen Opinnäytetyö Syksy 2015 Tietotekniikan koulutusohjelma Oulun ammattikorkeakoulu TIIVISTELMÄ Oulun ammattikorkeakoulu
Mainosankkuri.fi-palvelun käyttöohjeita
Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...
Android ohjelmointi. Mobiiliohjelmointi 2-3T5245
Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille
Apuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi
TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö
TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3
Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan
DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/
DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.
UCOT-Sovellusprojekti. Asennusohje
UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä
C-ohjelmointikielen perusteet, osa 1
C-ohjelmointikielen perusteet, osa 1 Kurssi johdattaa sinut askel askeleelta C-ohjelmoinnin perusteisiin. Kurssi suoritetaan kokonaan netissä vuorovaikutteisella alustalla itseopiskeluna tutorin avustuksella.
Uudet ominaisuudet. Realise Your Vision
Uudet ominaisuudet Realise Your Vision 1. Yleistä Autodesk Navisworks 2011 ohjelmistosta...2 Ohjelmistomodulit ovat uudistuneet...2 2. Asennuksessa muuttunut...2 3. Käyttöliittymän parannukset...4 Ribbon:it...4
DOORSin Spreadsheet export/import
DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä
Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )
Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat & Niina Järvinen (muokattu 28.11.2017) OBS 1 (12) Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset... 2 Tarvittavat
Projektinhallintaa paikkatiedon avulla
Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa
BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.
BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura
Toinen harjoitustyö. ASCII-grafiikkaa 2017
Toinen harjoitustyö ASCII-grafiikkaa 2017 Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt17-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin
Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
DOORS Word DOORS 29.04.2004. SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi
DOORS Word DOORS 29.04.2004 SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä Telelogic DOORS -ohjelmistoa, jolloin vaatimusten
WINE API ja Virtualisointiohjelmistot
WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän
TIE Principles of Programming Languages CEYLON
TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
TIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä
TIE-20306 Principles of Programming Languages Seminaariesityksen essee Ryhmä 18: Heidi Vulli, Joni Heikkilä SISÄLLYSLUETTELO 1. Johdanto... 1 2. Ohjelmointikielen perusperiaatteet... 1 2.1 Paradigmat...
Visual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
Mylly: Uusi tapa ka sitella teksti- ja puheaineistoa helposti ja tehokkaasti. Mietta Lennes ja Jussi Piitulainen FIN-CLARIN, Helsingin yliopisto
Mylly: Uusi tapa ka sitella teksti- ja puheaineistoa helposti ja tehokkaasti Mietta Lennes ja Jussi Piitulainen FIN-CLARIN, Helsingin yliopisto www.kielipankki.fi Kuinka aineistojen käsittelyä voitaisiin
CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
Monikielinen verkkokauppa
Monikielinen verkkokauppa Monikielinen verkkokauppa Monikielisen verkkokaupan luomisessa pitää Multiple Languages lisämoduuli olla aktivoituna. Klikkaa valikosta Features -> Apps Management -> näkyviin
Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat, Niina Järvinen & Valtteri Virtanen (muokattu 20.2.
Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat, Niina Järvinen & Valtteri Virtanen (muokattu 20.2.2019) Sivu 1 / 14 Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset...
Innovointiprosessi. Lili Aunimo. 11.12.2009 Lili Aunimo
Innovointiprosessi Lili Aunimo Lisensointi Tekijänoikeudet: Verkkomultimediaopintojaksolla Ohjelmistolisenssit Sisältölisenssit: kuvat, musiikki, video, teksti Creative Commons http://fi.wikipedia.org/wiki/lisenssi
CTRL+F Android-sovellus
CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus
EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.
EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...
ALKUSANAT... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6
Sisällysluettelo ALKUSANAT 4 ALKUSANAT E-KIRJA VERSIOON 5 SISÄLLYSLUETTELO 6 1 PERUSASIOITA JA AINEISTON SYÖTTÖ 8 11 PERUSNÄKYMÄ 8 12 AINEISTON SYÖTTÖ VERSIOSSA 9 8 Muuttujan määrittely versiossa 9 11
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely
KODU. Lumijoen peruskoulu
KODU Lumijoen peruskoulu Sisällysluettelo 1. Aloitus... 2 1.1 Pelin tallennuspaikka... 2 1.2 Kodu Game lab... 3 2 Maan luominen... 4 2.1. Seinän tekeminen... 5 2.2. Vesialueen tekeminen peliin... 6 2.3.
Unity-pelimoottori, sekä vertailu Unreal Engineen
hyväksymispäivä arvosana arvostelija Unity-pelimoottori, sekä vertailu Unreal Engineen Tuukka Paukkunen Helsinki 11.12.2017 Seminaaritutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN
IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
Board Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi
Board Game Lab 7 Pelimekaniikat ja -systeemit Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mekaniikat ja niiden tehtävät 2. Miten valitsen tai suunnittelen mekaniikkoja? 3. Pelimekaniikat ja -systeemit
ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Sami Anglé PELINKEHITYS. Demosta julkaisuun
Sami Anglé PELINKEHITYS Demosta julkaisuun PELINKEHITYS Demosta julkaisuun Sami Anglé Opinnäytetyö syksy 2014 Tietojenkäsittelyn koulutusohjelma Oulun ammattikorkeakoulu TIIVISTELMÄ Oulun ammattikorkeakoulu
Qt kaikkialla? 9.4.2010
Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++
Web Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/
PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...
Luo mediaopas Tarinatallentimella
Luo mediaopas Tarinatallentimella 2015 Tarinatallennin Tarinatallentimella voi helposti luoda mediaoppaita käytettäväksi älypuhelimilla. Sen avulla rakennat erilaisia kokonaisuuksia helposti ja hallitset
Visma Business AddOn Tositteiden tuonti. Käsikirja
Visma Business AddOn Tositteiden tuonti Käsikirja Oppaan päiväys: 10.2.2012. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin
LINUX-HARJOITUS, MYSQL
LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
Anna Siikaniemi. BITSBOARD sovelluksen käyttöopas
Anna Siikaniemi BITSBOARD sovelluksen käyttöopas Innovative Investments Limited:n kehittämästä Bitsboard sovelluksesta löytyy Appstoresta neljä versiota; ilmaiset Bitsboard Preschool, Bitsboard, Bitsboard
Laurea-ammattikorkeakoulu. CRM-järjestelmäratkaisun toteutus - Case Firma
Laurea-ammattikorkeakoulu CRM-järjestelmäratkaisun toteutus - Case Firma Laurea-ammattikorkeakoulu Tiivistelmä CRM - järjestelmäratkaisun toteutus Case Firma Laurea University of Applied Sciences Abstract
Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1.
Condes Suunnistuksen ratamestariohjelmisto Versio 7 Quick Start opas Yhteystiedot: olfellows Jouni Laaksonen Poijukuja 4 21120 RAISIO jouni.laaksonen@olfellows.net www.olfellows.net olfellows www.olfellows.net
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Kristopher Vuorela UBUNTUN ASENNUS JA ALKEET 206101312 Linux järjestelmät Lukukausi: Kevät 2015 Työ valmistui: 15.04.2015
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
Uutta Remote Support Platform 3.0 -versiossa
Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien
Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto
Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto If you are searched for a book by Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice over LTE (VoLTE) in pdf form, then you have come
Valintanauhan komentojen selaaminen Jokaisessa valintanauhassa on ryhmiä ja jokaisessa ryhmässä on joukko siihen liittyviä komentoja.
Pikaopas Microsoft Project 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Pikatyökalurivi Voit mukauttaa tämän alueen,
KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ
KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ https://community.plm.automation.siemens.com/t5/tech-tips- Knowledge-Base-NX/How-to-simulate-any-G-code-file-in-NX- CAM/ta-p/3340 Koneistusympäristön määrittely
UNITY 5 EDITORIN LAAJENTAMINEN
1 Opinnäytetyö (AMK) Tietotekniikka / Peliteknologia NTIETS13P 2016 Aukusti Manninen UNITY 5 EDITORIN LAAJENTAMINEN työkalu 3D-mallikokoelman muokkaamiseen 2 OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU
Octave-opas. Mikä on Octave ja miksi? Asennus
Octave-opas Mikä on Octave ja miksi? Asennus Käynnistys ja käyttöliittymä Komennot tiedostojen hallintaan SciTE-editor.m-tiedostot Ohjeita muualla Mikä on Octave ja miksi? Octave on numeeriseen laskentaan
Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site
Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
Tiedostonhallinta. Yleistä
Tiedostonhallinta Tiedostonhallinnan kautta voi muokata kaikkia näkymän tiedostoja. Sitä tarvitaan näkymien räätälöintiin ja joidenkin asetusten muuttamiseen. Yleistä Tiedostojen tarkastelu ja muokkaus
8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012
Purot.net Wiki Tutkielma Paavo Räisänen Centria Ammattikorkeakoulu 24.10.2012 Sisällysluettelo 1: Esittely 2: Perustaminen 3: Uuden sivun luonti 4: Kuvien lisääminen 5: Linkin lisääminen 6: Lopuksi 1:
JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari
JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti
8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen
oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen ILMAINEN Lukimat-verkkopalvelun (www.lukimat.fi) kautta saatava tietokonepeli EKAPELI-MATIKKA Ekapeli-Matikka on tarkoitettu
Julkaisun laji Opinnäytetyö. Sivumäärä 43
OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010
4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen
1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
KYMENLAAKSON AMMATTIKORKEAKOULU
1 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Ole Halonen GNU-ohjelmointityökalut Linux-järjestelmät 206101310 Seminaarityö 22.11.2012 2 Sisällysluettelo 2 1 Johdanto
Jukka Varsaluoma Mikä ihmeen haaste? Global Game Jam http://globalgamejam.org/ http://2013.globalgamejam.org/games/2013 Ludum Dare http://www.ludumdare.com/ http://www.ludumdare.com/compo/ludum-dare-27/?action=top
Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen
1. NetBeans-ohjelman asennus ja käyttöönotto pva
1. NetBeans-ohjelman asennus ja käyttöönotto 11.7.2016 pva NetBeans on ohjelmointiympäristö, IDE (Integrated Development Environment) jonka avulla opiskelemme laiteläheistä C-ohjelmointia. Oletus Sinulla
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs
Valppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
Eclipse 3.1 Pikaopas versio 1.0
Anne Benson/Tanja Bergius Opintojaksojen atk84d ja ict02d käyttöön 1/17 Eclipse 3.1 Pikaopas versio 1.0 Pikaohjeen sisältö 1. Esittely 2. Asennus ja poistaminen 3. Sovelluskehitys 4. Sovelluksen toteutus
Käännösstrategioiden rajoilla. maltillisuus vastaan uudistavuus
: maltillisuus vastaan uudistavuus tomminieminen@uef Suomen kieli ja kulttuuritieteet Itä-Suomen yliopisto KäTu XIV Joensuu 15 16 4 2016 Maltillinen ja uudistava kääntäminen Kertauksena viime vuodelta
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu
ETAPPI ry JOOMLA 2.5 Artikkeleiden hallinta ja julkaisu ETAPPI ry JOOMLA 2.5 Sivu 1(16) Sisällysluettelo 1 Joomla! sivuston sisällöntuotanto... 2 2 Artikkeleiden julkaisu sivustolla... 4 3 Artikkelin julkaisemista
Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy
Opiskelijoiden OneDriveohje Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Ohjeen nimi Opiskelijoiden OneDrive-ohje Vastuuhenkilö Mari Jokiniemi
Kuvakkeet asiaankuuluvien tietoluokkien esittämiseksi Yhteentoimivuus. Elinkeinonharjoittajan nimi. Internet-yhteys. Maantieteelliset rajoitukset
Kuvakkeet asiaankuuluvien tietoluokkien esittämiseksi Yhteentoimivuus Toimittaja Elinkeinonharjoittajan nimi Laitteisto ja ohjelmisto i Toimivuus Hinta Kieli Internet-yhteys Hinta Kesto Maantieteelliset
Pelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order
Pelisuunnittelua tulevaisuudessa Karoliina Korppoo / Colossal Order Puhuja Karoliina Korppoo Game Designer Lead designer projektissa Cities: Skylines Medianomi, Tampereen Ammattikorkeakoulu Filosofian
Pikaohje formaatin valmistamiseen
Pikaohje formaatin valmistamiseen Esko Otava Oy ver.1.0 Pääikkunasta (tulostusikkunasta) valitaan Cards-Show cards manager Paina Add 2 Paina New Kortinsuunnitteluikkuna on jaettu kolmeen osaan: Vasemmalla
Nintendo Wii -konsolilla pelattavat tasapainopelit: - laskettelu - ilmakuplaseikkailu viidakossa - jalkapallo
Tässä Kaikki pelaa seminaarissa esillä olleita pelejä: Nintendo Wii -konsolilla pelattavat tasapainopelit: - laskettelu - ilmakuplaseikkailu viidakossa - jalkapallo Playstation 3:n Move-liikeohjaimella
TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli
TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2
Bootstrap / HTDP2 / Realm of Racket. Vertailu
Bootstrap / HTDP2 / Realm of Racket Vertailu Bootstrap http://www.bootstrapworld.org/ Tarkoitettu yläkoululaisille (12-15v) Ohjelmointi on integroitu matematiikan opetukseen Materiaalina tuntisuunnitelmat
Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan
KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou
KYMENLAAKSON AMMATTIKORKEAKOULU Ubuntu Yukun Zhou 2014 Yukun Zhou Harjoitustyö 1 SISÄLLYSLUETTELO 1. YLEISTÄ... 2 2. JULKAISUT... 3 3. SUOSIO... 4 4. ASENNUS... 4 5. TURVALLISUUS... 4 6. PAKETTIENHALLINTA...