Äänirajapinnan toteutus Kajak3D-pelimoottoriin
Vaakanainen, Tero (2010)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010120817486
https://urn.fi/URN:NBN:fi:amk-2010120817486
Tiivistelmä
Kajak3D-pelimoottori on usean alustan pelimoottori, joka toimii Windows-, Maemo- ja iPhone-alustoilla. Sen on kehittänyt Kajaanin ammattikorkeakoulun pelilaboratorio. Sitä jaetaan ilmaiseksi Kainuun-alueen yritysten käyttöön. Tämän opinnäytetyön tarkoituksena oli toteuttaa äänirajapinta Kajak3D-pelimoottoriin.
Videopelit ovat kehittyneet videopelien 60-vuotisen historian aikana jokaisella osa-alueella. Interaktiivinen äänentoisto on vähitellen saavuttanut elokuvien tason myös matkapuhelin laitteissa. Äänentoistolaitteita ohjataan äänikirjastoilla. Äänikirjastot voivat olla mm. käyttöjärjestelmä tai laitekohtaisia. Videopelit sisältävät nykyään valtavan määrän yhtäaikaisia mono- ja stereoääniä, jotka voidaan miksata reaaliajassa surround-ääniksi. Äänien toistaminen voi tapahtua puskuroimalla koko äänitiedosto kerralla tai streamaamalla eli puskuroimalla pieni osa tiedostoa toistoa varten. Äänentoisto formaatin ja tiedoston toistotavan valinta riippuu alustasta ja käyttötilanteesta.
Kajak3D-pelimoottori tukee tällä hetkellä Windows-, Maemo- ja iPhone-alustoja, sekä siihen kehitetään parhaillaan tuki myös Android-alustalle. Tämän opinnäytetyön lopputuote Kajak3D-äänirajapinta tukee samoja alustoja, joskin Android-alustan tukeminen jää jatkokehityksestä vastaavien tahojen käsiin. Alustat eroavat toisistaan niin työkaluiltaan kuin käännösprosessiltaan.
Äänirajapinnan toteutus alkoi asiakasvaatimuksesta, jonka pohjalta toteutin vaatimusmäärittelyn. Äänirajapinnan toiminnallisuus piti suunnitella vaatimusmäärittelyn pohjalta. Perustoteutus alkoi Windows alustalla. Kun perustoteutus oli valmis, äänirajapinnan kääntäminen muille alustoille alkoi. Käännösten valmistuttua oli vuorossa testaaminen, jossa vaatimusmäärittelyssä esitetyt kohdat testattiin. Äänirajapinnan rakenne on melko yksinkertainen. Sen käytössä on huomioitava tietty järjestys, että äänirajapinta toimii oikein. Äänirajapinnan käyttämät ulkoiset kirjastot toimivat tietyllä tapaa ja osa niistä on sidoksissa Kajak3D-pelimoottorin toiminnallisuuteen.
Opinnäytetyön alussa käsiteltiin videopeliäänten historia ja nykypäivää, sekä digitaalisen äänentoiston teoriaa. Toteutusalustojen erot ja äänirajapinnan kääntäminen selitettiin kappaleessa 3 ja 4. Äänirajapinnan rakenne ja funktiot kerrottiin kappaleessa 5. Äänirajapinnan toteutus onnistui hyvin, mutta siinä on edelleen puutteita. Jatkokehityksessä se pitäisi kääntää Android-alustalle, sekä lisätä tuki muille tarvittavalle äänitiedostomuodoille. Äänirajapinnan perustoiminnallisuutta voisi myös virtaviivaistaa.
Videopelit ovat kehittyneet videopelien 60-vuotisen historian aikana jokaisella osa-alueella. Interaktiivinen äänentoisto on vähitellen saavuttanut elokuvien tason myös matkapuhelin laitteissa. Äänentoistolaitteita ohjataan äänikirjastoilla. Äänikirjastot voivat olla mm. käyttöjärjestelmä tai laitekohtaisia. Videopelit sisältävät nykyään valtavan määrän yhtäaikaisia mono- ja stereoääniä, jotka voidaan miksata reaaliajassa surround-ääniksi. Äänien toistaminen voi tapahtua puskuroimalla koko äänitiedosto kerralla tai streamaamalla eli puskuroimalla pieni osa tiedostoa toistoa varten. Äänentoisto formaatin ja tiedoston toistotavan valinta riippuu alustasta ja käyttötilanteesta.
Kajak3D-pelimoottori tukee tällä hetkellä Windows-, Maemo- ja iPhone-alustoja, sekä siihen kehitetään parhaillaan tuki myös Android-alustalle. Tämän opinnäytetyön lopputuote Kajak3D-äänirajapinta tukee samoja alustoja, joskin Android-alustan tukeminen jää jatkokehityksestä vastaavien tahojen käsiin. Alustat eroavat toisistaan niin työkaluiltaan kuin käännösprosessiltaan.
Äänirajapinnan toteutus alkoi asiakasvaatimuksesta, jonka pohjalta toteutin vaatimusmäärittelyn. Äänirajapinnan toiminnallisuus piti suunnitella vaatimusmäärittelyn pohjalta. Perustoteutus alkoi Windows alustalla. Kun perustoteutus oli valmis, äänirajapinnan kääntäminen muille alustoille alkoi. Käännösten valmistuttua oli vuorossa testaaminen, jossa vaatimusmäärittelyssä esitetyt kohdat testattiin. Äänirajapinnan rakenne on melko yksinkertainen. Sen käytössä on huomioitava tietty järjestys, että äänirajapinta toimii oikein. Äänirajapinnan käyttämät ulkoiset kirjastot toimivat tietyllä tapaa ja osa niistä on sidoksissa Kajak3D-pelimoottorin toiminnallisuuteen.
Opinnäytetyön alussa käsiteltiin videopeliäänten historia ja nykypäivää, sekä digitaalisen äänentoiston teoriaa. Toteutusalustojen erot ja äänirajapinnan kääntäminen selitettiin kappaleessa 3 ja 4. Äänirajapinnan rakenne ja funktiot kerrottiin kappaleessa 5. Äänirajapinnan toteutus onnistui hyvin, mutta siinä on edelleen puutteita. Jatkokehityksessä se pitäisi kääntää Android-alustalle, sekä lisätä tuki muille tarvittavalle äänitiedostomuodoille. Äänirajapinnan perustoiminnallisuutta voisi myös virtaviivaistaa.