IOS%PELIN!LUOMINEN!UNITY% PELIMOOTTORILLA!

Koko: px
Aloita esitys sivulta:

Download "IOS%PELIN!LUOMINEN!UNITY% PELIMOOTTORILLA!"

Transkriptio

1 IOS%PELINLUOMINENUNITY% PELIMOOTTORILLA TuomoStamblewski Opinnäytetyö Huhtikuu2014 Ohjelmistotekniikankoulutusohjelma Tekniikanjaliikenteenala

2 KUVAILULEHTI* Tekijä(t) Stamblewski,Tuomo Julkaisunlaji Opinnäytetyö Päivämäärä Sivumäärä 57 Julkaisunkieli Suomi Verkkojulkaisulupa myönnetty (X) Työnnimi IOSHPELINLUOMINENUNITYHPELIMOOTTORILLA Koulutusohjelma Ohjelmistotekniikka Työnohjaaja(t) Mieskolainen,Matti Toimeksiantaja(t) TuotantoyhtiöTasoOy Tiivistelmä OpinnäytetyöntarkoituksenaolitoteuttaamobiilipeliprototyyppiTuotantoyhtiöTasoOy:llekäyttäH enunityhpelimoottoria.pelinsuunnittelujaideointitapahtuiyhdessäyrityksenkanssa.tarkoitukseh naolitehdäprototyyppiyrityksensuunnittelemastamobiilipelistäsekätutkiapelientekemistäiosh alustallekäyttäenunityhpelimoottoria.prototyypinpelihideaolireaaliaikainen3dhverkkopeli,jossa pelaajattaistelevattankeillatoisiaanvastaanyksikerrallaan. OpinnäytetyössäkäsitelläänmobiilipelienjaHlaitteidenhistoriaa,iOSHlaitteita,UnityHpelimoottoria, yleisiämobiilipeliohjelmoinninhaasteitasekäkäydäänläpiprototyypintoteuttamisenerivaiheet. OpinnäytetyössätuleeilmiUnity pelimoottorinrakenne,toimintalogiikkajasenkäyttämäkompoh nenttimalli.opinnäytetyösisältääpaljonsovellettaviaohjelmointiesimerkkejäjaoptimointiratkaisuh ja. TyönteknisentoteutuksenosiossakäydäänläpipelinvalmistusprosessiainasuunnittelustatoteutH tamiseenasti.lisäksiperehdytäänyksityiskohtaisestiunitypelimoottorinominaisuuksiinjamiten eriominaisuuksiavoidaankäyttääeritilanteissa.tämänlisäksikerrotaanmitäkannattaaottaa huomioonmobiilipeliäluodessa,kutenmobiililaitteidenrajattutehoja muistimäärätaierilaiset käskytystavatnäppäintenpuutteenvuoksi. Avainsanat(asiasanat) ios,unity,optimointi,mobiilipeli,pelisuunnittelu,pelimoottori,c# Muuttiedot

3 DESCRIPTION+ Author(s) Stamblewski,Tuomo Typeofpublication Bachelor s/master sthesis Date Pages 57 Language Finnish Permissionforweb publication (X) Title IOSOGAMEDEVELOPMENTWITHUNITYGAMEENGINE DegreeProgramme SoftwareEngineer Tutor(s) Mieskolainen,Matti Assignedby TuotantoyhtiöTasoOy Abstract ThepurposeofthethesiswastocreateamobilegameprototypeforTuotantoyhtiöTasoOyusing theunitygameengine.gamedesignandideationwerecarriedoutwiththecompany.theaimwas tomakeaprototypeofamobilegameaccordingtotheplansthecompanyhadmadeandalso explorewaystoproducegameswithunitygameengineforiosplatform.thegameideaofthe prototypewasarealtime3dmultiplayergame,whereplayersfighteachotherwithtanks. Thisthesisdealswiththehistoryofmobilegamesanddevices,iOSdevicesandUnitygameengine aswellasgeneralmobilegameprogrammingchallengesanddifferentstagesofimplementationof prototypearediscussedinthetext.thethesisexplainsthestructure,logicandcomponentmodelof Unitygameengine.Thethesisalsoincludesapplicableprogrammingexamplesandoptimization solutions. Inthisthesisgameproductionprocessisdiscussedfromdesigntotechnicalimplementation.Details ingameenginefeaturesareexplainedinmoredetailandhowtheycanbeusedindifferent situationsisdiscovered.inaddition,thethesislooksatmattersthathavetobetakenintoaccount whendesigningandimplementingamobilegame. Keywords ios,unity,optimization,gamedesign,gameengine,c# Miscellaneous

4 1 SISÄLTÖ KÄSITTEET Työnlähtökohdat Mobiilipelitja@laitteet Mobiililaitteidenmääritelmä Mobiililaitteidenhistoria Mobiililaitteetnykypäivänä Mobiilipelinmääritelmä Mobiilipelienhistoria Mobiilipelitnykypäivänä ios@käyttöjärjestelmäja@laitteistot MikäiOSon? iosckäyttöjärjestelmäversiohistoria YleistäiOSClaitteistoista ioscpuhelimienteknisetominaisuudet iosctaulutietokoneidenteknisetominaisuudet Unity MikäUnityon? Historia MiksiUnity? UnityEditor AssetStore Profiler Unityntoimintaperiaate Ideologia GameObject Prefab...22

5 Tag Layer Scene Ulkoisettyökalut Ohjelmointi TankHogs@prototyypintoteutus MikäTankHogson? Työskentelymenetelmät Suunnittelu TyölaitteistotjaCvälineet Roolitpelinteossa Pelinrakenne Kansiorakenne Scenejenrakenne Audiovisuaalinentoteutus DCmallit Tekstuuritjamateriaalit Käyttöliittymänsuunnittelu Käyttöliittymäntoteutus Efektit Äänet Reittihaku Pelihahmontoiminta Verkkoratkaisu Suunnittelu PhotonCloudintoimintaperiaate Toteutus Optimointi Skriptienoptimointi ObjectPool...47

6 Dynamicbatching Staticbatching Tekstuurienpakkaus Pelitestaus Yleistäpelitestauksesta TankHogsintestaus Työntulokset Pohdinta...52 LÄHTEET...55 Kuvioluettelo Kuvio1.iOSClaitteidenresoluutiotsuhteutettunatoisiinsa...12 Kuvio2.UnityCeditorinperusnäkymä...16 Kuvio3.UnitynInspectortyökalujapeliobjektinperusrakenne...17 Kuvio4.Unitynkääntämisasetustenvalitsemisnäkymä...18 Kuvio5.Unitynlaatutasojenasetukset...19 Kuvio6.UnityAssetStorenaloitusnäkymä...20 Kuvio7.UnitynsisäänrakennetunProfilerCtyökalunyleisnäkymä...21 Kuvio8.Törmäysmatriisi...23 Kuvio9.TankHogsCpelinlatausruutu...29 Kuvio10.TankHogsCpelinjoukkojenesittelyintro...30 Kuvio11.TankHogsCprojektinkansiorakenne...33 Kuvio12.Esimerkkioptimoiduista3DCmalleista,joistaonpoistettuturhageometria...36 Kuvio13.Läpinäkyvyyttäsisältävätekstuuriatlas...37 Kuvio14.TankHogsCpelintaistelukäyttöliittymä...38 Kuvio15.NGUInmukanatulevaesimerkkiatlas...40 Kuvio16.Navigointiverkonerotoptimoinneilla:Ylempiepätarkkajaalempitarkka...42 Kuvio17.Piirtokomentojentestaamiseenluotutestiscene...49 Taulukkoluettelo Taulukko1.iPhoneCmallienvertailu...12 Taulukko2.iPadCmallienvertailu...13 Taulukko3.MonoBehaviourtyyppistenmetodienkäyttötarkoituksetavattu...25 Taulukko4.Erikoiskansioidenselitys...34

7 KÄSITTEET 4 3D-MALLI 3DCmalliontietokonegrafiikallaesitettykolmiulotteinenkappale.Yksinkertaisimmillaan3DCmalli esitelläänrautalankamallina. 3G 3GCtermilläviitataanniinsanottuunkolmannensukupolvenmobiiliverkkoon.3Gmahdollistaa suurettiedonsiirtonopeudetmyösmobiililaitteilla. ASSET AssettejaelikäyttömateriaalejaovatUnityCpelimoottorissakaikkiäänet,tekstuurit,materiaalit, 3DCmallitsekämyösskriptit. C# C#onMicrosoftCyhtiönkehittämäohjelmointikieli.NETCympäristöön.C#onvahvastityypitetty kieli.c#onyksikolmestaohjelmointikielestä,jollavoidaanohjelmoidaunitycpelimoottorissa. FPS FramesPerSecondelikuvataajuus.KuvataajuudellatarkoitetaansekunnissaruudullepiirrettäC vienkuvienmäärää. PELIMOOTTORI Pelimoottoritovatvideopelienrunko,joidenpäällepelikehittäjätrakentavatpelinsä.Neyleensä sisältävätrenderointimoottorin,fysiikkamoottorinsekämuitapelientekemiseenliittyviätyökac luja. POLYGON Polygonelimonitahokaskoostuuuseastareunaviivastamuodostaenkaksiulotteisenpinnan3DC avaruuteen.polygonejatoisiinsayhdistämällävoidaanluoda3dcmalleja. PPI PixelsPerInchtarkoittaapikseleidenmääräätuumaakohti.

8 PROFILER 5 ProfileronUnityProCpelimoottorinmukanatulevaprofilointityökalu,jollasaadaantarkkaatieC toapelinsuorituskyvystäeriosacalueillakutenprosessorilaskennantaifysiikoidensuorittamisesc ta. PROTOTYYPPI Prototyyppejäovatensimmäisettestiversiotkehitettävästäpelistä.NevoivatollamyöspidemC mällevietyjälaajempiatestauksiapelicideasta. RPC RemoteProcedureCallmahdollistaametodienkutsumisenverkonvälityksellätoiseltaclientiltä. MetodipitääerikseenmerkitämahdollistamaanRPCCkutsut. SKYPE SkypeonMicrosoftCyhtiönomistamaVoIPCpalvelu,jokamahdollistaavideopuheluidensoittamiC seninternetinvälityksellä. TEKSTUURI Tekstuurionbittikarttakuvastakoostuvatapetti,jokatoimii3DCmallinpäällelevitettynä.TeksC tuureillasaadaantodenmukaisuutta,monimutkaisuuttajanäyttävyyttäilman,ettätarvitsee kasvattaapolygonimääriä.

9 6 1 TYÖN LÄHTÖKOHDAT Mobiilipelitovatolleetjovuosienajantärkeääliiketoimintaa.MobiilipelejäpelaavatläC heskaikenikäisetihmiset,minkävuoksisiitäontullutyksitärkeimmistäpelialanbisnesc alueista.opinnäytetyöntavoitteenaolikartoittaamobiilipelienluomisprosessiunityc pelimoottorillasekäyleisetioscpelienkehittämisenongelmatjateknisetrajoitukset. Toteutuksessaonpyrittykäyttämäänilmaisia,avoimenlähdekoodinsekäpilvipalveluiC denratkaisuja,joidenavullasaadaanminimoituataloudellisetriskitjakustannukset. TietoperustanatyöntekemiseentoimiaikaisempikokemusUnityCpelikehittämisestä sekäaikaisempikokemusprojektityöskentelystäitcprojekteissa.senlisäksilöytyilaaja kokemuspeleistäniinkonsoleilla,pc:lläkuinmobiililaitteilla. TyönteoriaosuudessakäsitelläänmobiilipelienjaClaitteidenhistoriaa,perehdytääniOSC käyttöjärjestelmäänjaclaitteisiinsekäkäydäänläpimobiilipelinnykyinenmarkkinatilanc ne.näidenlisäksitutustutaanunitycpelimoottorintoimintaan,rakenteeseenjakäytön perusteisiin. Lopuksityöntoteutusosassakäydäänläpiluodunpelinidea,työskentelymenetelmät,C laitteetjacvälineetsekäyksityiskohtaisestipelintoteutusjaperehdytäänpelissäkäytetc tyihinratkaisuihinjamitäoptimointejakannattaatehdäeriosacalueilla. 2 MOBIILIPELIT JA -LAITTEET 2.1 Mobiililaitteiden määritelmä Mobiililaitteiksimääritelläänyleisestiälypuhelimet,taulutietokoneetjakämmentietokoC neet.mobiililaitteilleyhteistäonuseastiniidenpienikoko,jonkavuoksiniitävoikuljetc taamukana.nykypäivänälypuhelimissaonkosketusnäyttö,jonkaavullalaitettakäskytec tään.laitteissaonmyösgyroskooppi,jokatunnistaalaitteidenasennonjakääntelyn. Laitteidenkasvanutprosessoritehoonmyösmahdollistanutparemmanäänikomentojen

10 luomisen.myösgpsjakorkealaatuisetkameratovatvakiocominaisuuksia.(mobiledevic ce2014.) Mobiililaitteidenhistoria Mobiililaitteidenhistoriasaialkunsavuonna1983,jolloinjulkaistiinmaailmanensimC mäinenmatkapuhelinmotoroladynatac8000x.eurooppaanvastavuonna1987virallisc tettiingsmcmobiiliteknologiastandardi,jokamahdollistilaadukkaatpuhelutjatekstic viestienlähettämisen.suomalainennokiajulkaisiensimmäisengsmcmatkapuhelimensa vuonna1992.(mobilephone2014;gsm2014.) Matkapuhelimetyleistyivät1990Cluvullaräjähdysmäisesti.TämämahdollistimobiililaitC teidennopeankehityksen,jajovuonna1994ibmjulkaisiensimmäisenkämmentietokoc neen,jossaolitäydellisetpuhelinominaisuudet.myösnokiajulkaisiomannäkemyksensä kämmentietokoneestakaksivuottamyöhemmin.nokia9000communicatorolipuhelin, jossaoliverkkoselain,faksijasähköpostisekäisokunnollinennäyttöjanäppäimistö. (PDA2014.) 2000Cluvullamatkapuhelimetkehittyivätentistänopeammin.PuhelimiintulivatvärinäyC töt,paremmatsoittoäänet,mp3cäänitiedostojentukisekäenemmäntehoajamuistia. Matkapuhelimienmuotoilukehittyijapuhelimistatehtiinpienempiä.EnsimmäinenkaC merapuhelinjulkaistiinvuosituhannenalussajapanissa(sharpjcsh04:world sfirstever PhoneWithIntegratedCamera2010). Vuonna2003NokiajulkaisiNCGagen,jokaoliensimmäinenpelaamiseentarkoitettupuC helin.puhelineiollutmyyntimenestysnokialle,koskakäyttäjätpitivätpuhelintasuuric kokoisenajajähmeänä.vuottamyöhemminnokiajulkaisipuhelimestaanuudistetun mallinnokiancgageqd:n,jokaolihuomattavastipienempi,muttasamallamenetti ominaisuuksiakutenradionjamusiikkisoittimen.(nokiancgageqdcthesame,butdifc ferent2004.) Vuonna2007Applejulkaisiensimmäisenkosketusnäytöllisenpuhelimen,iPhonen,joka käyttiheidänitsekehittämäänsäiosckäyttöjärjestelmää.tämäoliedistyksellinenpuhec linerityisestitehon,käyttöliittymänjauudenlaisenkommunikointitavantakia.iphoneoli

11 8 todellasuuriedistysaskelmatkapuhelimissajaolisuunnannäyttäjänykypäivänälypuhec limille.googlenvastaustähänoliandroidckäyttöjärjestelmä,jokajulkaistiinvuonna2008 HTCDreamCpuhelimessa.WindowsPhone7oliMicrosoftinvastaus,jokajulkaistiinvasta vuonna2010.(mobileoperatingsystem2014.) Vuonna2011NokiajaMicrosoftilmoittivattekevänsäyhteistyötä,jasamallaNokian älypuhelinstrategiaksitulisiwindowsphone.tämäkäytännössätarkoittisitä,ettänokia luopuiomankäyttöjärjestelmänsäkehittämisestäjayhtiönuudetpuhelimetkäyttäisivät WindowsPhoneCkäyttöjärjestelmää.(NokiaStrategy2011.) Vuonna2010julkaistiinensimmäisettaulutietokoneet,kutenAppleniPad.TaulutietokoC neistailmestyiuseitaversiota.taulutietokoneetovathorjuttaneetperinteisentietokoc neenmarkkinoita,jamonettietokoneyrityksetovatjoutuneettekemäänradikaaleja muutoksiayhtiössään.applemyivuoden2014ensimmäiselläneljänneksellä26miljooc naaipadia.(firstquarterresults2014.) 2.3 Mobiililaitteetnykypäivänä Mobiililaitteetovathorjuttaneetjopidemmänaikaaperinteistätietokoneteollisuutta. Yhäuseampikäyttäjäostaaennemmintaulutietokoneenkuinperinteisentietokoneen. Suomessamyytiinvuonna2013lähes700000taulutietokonetta.Tämänlisäksisamana vuonnamyytiinyli1.8miljoonaakappalettaälypuhelimia.(älypuhelimiajatabletteja myytiinvuonna2013yhteensälähesmiljardillaeurolla2014.) 2.4 Mobiilipelinmääritelmä Mobiilipeliondigitaalinenpeli,jokaonerityisestisuunniteltumobiililaitteilleottaen huomioonalustanasettamatteknisetvaatimuksetjarajoitteet,kutennäytönkoon, muistinmääränjaprosessorintehon.mobiilipeleihineivätsisällykäsikonsolienkuten NintendoDS:npelit.Kuitenkinonolemassamoniapelejä,jotkaonalunperinsuunnittelC tujollekinmuullealustalle,muttajoitavoisiltipelatamobiililaitteilla.myösuudetwebc teknologiathämärtävätmuidenpelienjamobiilipelienrajaa.(mobiilipeli2013.)

12 2.5 Mobiilipelienhistoria 9 EnsimmäisiäjulkaistujamobiilipelejäoliSnake,jokanäkipäivänvalonvuonna1997.SnaC keonnokianjulkaisemapeli,jaseonsiitälähtienollutsaatavillaainatähänpäiväänasti erilaisinaversioina.kyseistäsnakecpeliäväitetäänmaailmanensimmäiseksimobiilipelikc si,vaikkajovuonna1994tetriscpeliolijulkaistuhagenukmtc2000claitteessa.(theevoc lutionofmobilegames2013;mobilegame2014.) Vuosituhannenvaihteessamobiilipelitalkoivatkiinnostaaisompaayleisöä,koskamatkaC puhelimiintulivärinäytöt,enemmänmuistiajanopeammatprosessorit.tämänvuoksi mobiilipeleihinalettiinsijoittamaanenemmänrahaa.mobiilipelienkehityssaavuttinoc peastipisteen,jossasuuretjulkaisijathyppäsivätmukaan.useatsenaikaisetpelijulkaisic jatjulkaisivatsuosituimmistapccpeleistäänmobiiliversiot.(theevolutionofmobilegac mes2013.) Suurinkäännekohtamobiilipelienhistoriassatapahtuivuonna2007,kunApplejulkaisi kosketusnäytölliseniphonen.vuonna2008appleavasiappstorecnimisenjakelupalvec lunlaitteillensa,jokamahdollistipelienjasovellustenhelponjakamisen.appstoren avullakehittäjätsaivatsovelluksensasuoraankäyttäjilleilmanvälikäsiä.(emt.) Vuonna2008ilmestyivätensimmäisetiPhoneCpelit.Vuonna2009suomalainenRovio julkaisimaailmallamenestyneenangrybirdscpelisarjanensimmäisenosan.pelisarjaaon ladattuylimiljardikertaa(angrybirdsreaches1billiondownloads2012). 2.6 Mobiilipelitnykypäivänä Nykypäivänälypuhelimetovatsuoritustasoltaankasvaneethuomattavastiaikaisempaan verrattuna.tämänseurauksenamobiililaitteillaalkaanäkyäentistänäyttävämpiäjalaac jempiapelejä.nopeat3gcja4gcyhteydetsekäyleistyneetlangattomatverkotovat mahdollistaneetsuurempienkinpelienjulkaisut. Mobiilipelimarkkinatovatlaajentuneetjamenestyneethyvin.ApplenAppStoressaon tällähetkelläylimiljoonaasovellustajaladattujasovelluksiaonyli60miljardia.(apple announces1millionappsintheappstore,morethan1billionsongsplayedonitunes radio2013.)

13 10 Mobiilipelienperinteinenansaintamallionperustunutpelinostohinnanmaksamiseen. Tämäonnykypäivänäalkanutkatoamaan,sillänykyinentrendimobiilipelienansaintaC mallinaonfreetoplay.tämätarkoittaasitä,ettäitsepelionilmainen,muttapelinedec tessäpelaamistavoihelpottaataijouduttaapeliinostettavallarahalla. 3 IOS@KÄYTTÖJÄRJESTELMÄJA@LAITTEISTOT 3.1 Mikä ios on? iosonapplenkehittämäkäyttöjärjestelmämobiililaitteistolle.iosperustuudarwinbsd Ckäyttöjärjestelmään.ApplejulkaisiensimmäisenversionkäyttöjärjestelmästäänkesäC kuussa2007.(ios2014.) Käyttöjärjestelmäonsuljettu,minkävuoksiiOSCohjelmistottäytyykirjoittaaApplenomilC latyökaluilla.jottaohjelmistojataipelejävoiluoda,tarvitseerekisteröityäapplenkehitc täjäksi.rekisteröityminenmaksaakirjoitushetkellänoin100dollariavuodessa,jokaavaa tienmobiilimaailmaan.tällärahallasaakaikkitarvittavatlisenssitjaoikeudenjulkaista ohjelmiaapplenmobiililaitteille.ohjelmiavoivirallisestijakaavainapplenomassaapp StoreCsovelluskaupassa.OhjelmoidakseeniOSClaitteillekehittäjätarvitseeApplentietoC koneen.(iosdeveloperprogram2014.) iosckäyttöjärjestelmässäeioletukeaflashctaijavactekniikoille.tämänvuoksimonet käyttäjätvalitsevatkilpailijoidentuotteita,kutengooglenandroidclaitteita. 3.2 ios@käyttöjärjestelmäversiohistoria Applejulkaisi2009ensimmäisenisonkäyttöjärjestelmäpäivityksen,jokatoimukanaan kokokäyttöjärjestelmänkattavanhaunsekätekstinleikkaamisenjaliittämisen.päivitys julkaistiinappleniphone3gs:nmukana.(iphone2014.) Seuraavasuuripäivitystulivuonna2010,kunApplejulkaisiiOS4Ckäyttöjärjestelmän. PäivitysoliApplensuurin,jasetoiyli100uuttaominaisuuttakäyttöjärjestelmään.PäiviC tyksentärkeinuusiominaisuusoliparannettumoniajo,jokamahdollistiparemmanja nopeammanmonenohjelmistonsamanaikaisenkäytön.(emt.)

14 11 Lokakuussa2011Applejulkaisiseuraavansuurenpäivityksensä,iOS5:n.PäivityspitisiC sällääntietoturvaanliittyviämuutoksia,jasuurimpanauutuutenatuliapplenicloudc pilvipalvelu,jokamahdollistikuvien,tiedostojenyms.pitämisenapplenpalvelimella, jolloinneolivatsaatavillajokapaikasta.(emt.) Syyskuussa2012ApplejulkaisiiOS6Ckäyttöjärjestelmän,jonkaluvattiinsisältävänyli 200parannusta.SejulkaistiinAppleiPhone5Cälypuhelimenkanssa.KäyttöjärjestelmäC päivityseituonutsuuriamuutoksiaohjelmistokehittäjille.(emt.) Vuonna2013ApplejulkaisisuurimmanpäivitykseniOSCkäyttöjärjestelmäänsä.iOS7uuC distilaitteistonulkoasuntäysinjatoilukuisiauusiaominaisuuksia.ios7sisälsiensimc mäistäkertaastandardinpeliohjaimille,jokamahdollistiuudenlaisentavansuunnitella pelejäiosclaitteille.(emt.) 3.3 EnsimmäineniOSClaiteeliiPhonejulkaistiinkesäkuussa2007(iPhone2014).iOSClaitteita käytetäänpääsääntöisestipelkälläkosketuksella.laitteistalöytyyyhteensäviisifyysistä näppäintä.nämäovatäänenvoimakkuudensäädin,äänenvaimennuspainike,virtapainike sekäkotipainike,jollapääseeohjelmistaulos. iosclaitteidennäyttöjenresoluutioteroavattoisistaanpaljon,kutenkuviosta1nähdään. Peligrafiikkaaluodessatäytyyottaahuomioonerilaitteidenresoluutiot,silläjospeligraC fiikkaaluodaanappleipadairillejasamaakäytetäänappleiphone4claitteelle,laitteen resurssejakäytetäänturhaan.

15 12 Kuvio1.iOSClaitteidenresoluutiotsuhteutettunatoisiinsa 3.4 ios-puhelimien tekniset ominaisuudet iphonecmallejaonjulkaistuyhteensäkahdeksanmaaliskuuhun2014mennessä.kaikki, paitsiensimmäinen,tukevat3gcyhteyksiä.laitteettukevatbluetoothcyhteyksiä.tauluc kossa1oneriteltyioscpuhelimienlaitetiedotjajulkaisuvuodet. Taulukko1.iPhoneCmallienvertailu(iPhone2014) iphone4 iphone4s iphone5/5c iphone5s Vuosi / Resoluutio 960x x x x640 Prosessori ARMCortexCA8 ARMCortexCA9 AppleA6 AppleA7 RAM 512MBLPDDR2 512MBLPDDR2 1GBLPDDR2 1GBLPDDR3 3.5 ipadcmallejaonjulkaistuyhteensäseitsemänmaaliskuuhun2014mennessä.taulukossa 2oneriteltyeriiOSCtaulutietokoneidenlaitetiedotjajulkaisuvuodet.Kaikistamalleista onsaatavillawificja3gcversiot.laitteettukevatbluetoothcyhteyksiäjaniissäonuseita erisensoreita,kutenkiihtyvyysc,etäisyysc,jaympäröivänvalonmittaussensoritsekä ipad2:stalähtiengyroskooppi.appleilmoittaaakkukestonolevanjopayli10tuntia. (CompareiPadModels2014.)

16 Taulukko2.iPadCmallienvertailu(iPad2014) 13 ipad2 ipad3 ipadmini ipad4 ipadair ipadmini Retina Vuosi x x x x x x1536 luutio ARMCortexC ARMCortexC ARMCortexC AppleA6X AppleA7 AppleA7 sori A9 A9 A9 RAM 512MBDDR2 1GBLPDDR2 512MBDDR2 1GBLPDDR2 1GBLPDDR3 1GBLPDDR3 4 UNITY 4.1 Mikä Unity on? UnityonUnityTechnologiesCyhtiönluomapelimoottori.Senavullavoidaanluodasekä 2DCettä3DCpelejä.Unitytarjoaaympäristön,jossavoinopeastijahelpostiluodapelatC taviapeliprototyyppejä. Unityonkehitettyerityisestipelinkehitykseen,jasesisältäätyökalut,joidenavullavoi nopeastiluodapelattavanmaailman.unityntoimintaperiaatteetottavathuomioontärc keimmätasiatpelinkehityksessä.unitynkäyttöliittymäonhelpostilaajennettavissaitse, jasesisältäätodellalaajanvalikoimanvalmiitatyökaluja. Unitylläpystyyjulkaisemaanusealleerialustallekäyttäenlähessamaakoodia.Yleensä muutoksetovatlaitekohtaisiaoptimointejasekäominaisuuksienkäyttöönottoa.unity onniinajallisestikuinrahallisestikinhyvävalinta,koskapeliäeitarvitsetehdäerikseen jokaiselleerikohdelaitteelle.(multiplatform2014.) UnitynilmaisiinjulkaisuvaihtoehtoihinkuuluuselaimessaajettavaWebPlayer,PC,Linux, OSXsekämobiilikäyttöjärjestelmätAndroid,iOSjaWindowsPhone.MaksullisenlisensC sinvaativatlaajennettuandroid,blackberry,iosjawindowsphone8sekänintendowii, NintendoWiiU,Playstation3jaXbox360.(Emt.)

17 14 UnitymyöstarjoaatilausmallinUnitynmaksullisilletuotteille,jolloinmaksatjokakuuC kausipieneneränsensijaan,ettämaksaisitkokolisenssinkerralla.tämänavullaaloitusc kynnysaloittaapelientekeminenonlaskenuthuomattavastiaikaisempaanverrattuna. 4.2 Historia Unitynhistoriaalkoivuonna2005,jolloinsiitäjulkaistiinensimmäinenversioApplen pitämässäkansainvälisessäkehittäjäkonferenssissa.seolialunperinluotupelkästään MacOSXCkäyttöjärjestelmälle,jasaamansahyvänhuomionansiostasiitäalettiinluoda versioitamuillealustoille.(unity(gameengine)2014.) AjanmyötäUnityCpelimoottorionkasvattanutmainettaan,jasiitäonkintullutmaailman suosituinpelimoottoriindieckehittäjienkeskuudessa.unityolijovuonna2012käytetyin pelimoottorimobiilipelienluomisessa.(fastfacts2014.) SeuraavaanlistaanonkoottumerkittävimmätpäivityksetUnityneriversioissa.(Release Archive2014.) Versio1 C Unitynvirallisetdokumentaatiotpäivitettiin C Sisäänrakennetutshaderitlisättiin Versio2 C UusiparanneltuWebPlayer C WindowsCtuki C Maastoeditori C DirectX9Ctuki C UnitynsisäänrakennettuprofilointityökaluProfiler Versio3 C Tehokasuudistettupartikkelijärjestelmä C Sisäänrakennettureitinhaku C HDRCrenderointi C Sisäänrakennettu LevelofDetail,eliLODCtyökalu C Näytönohjaimenprofilointityökalu

18 Versio4 C 2DCtyökalut C DirectX11Ctuki C Mobiiliparannuksia,kutenreaaliaikaisetvarjot C LinuxCtuki MiksiUnity? UnityCpelimoottorionkehitettyerityisestipelientekemiseenjasesisältääkaikkitarvittaC vattyökalut,mitäpelintekemiseentarvitaan.unitysisältäävalmiiksitoteutettujamuoc kattaviakomponentteja,valmiinfysiikkamoottorin,laajantueneri3dcmalliformaateille jamuitatavanomaisiatoiminnallisuuksia.unitykäyttääniinsanottuakomponenttimalc lia,jolloinjokainenominaisuusonomakomponenttinsa.tämänmyötäonhelppoluoda uudelleenkäytettäviäkomponentteja,jokavähentääkehityskustannuksiapidemmällä aikavälillä. UnitynylläpitämäAssetStoreCpalvelumahdollistaapelintekemisenmyösmuillekuin ohjelmoijille.assetstorenkauttalöytyypaljonvalmisratkaisuja,joidenavullavoiluoda paljonerilaisiapelejä.unitymyösitsetuottaalaadukkaitatutoriaalejapelimoottorinsa markkinoimiseen,joitahejakavatassetstorenavulla. Unitymahdollistaamyösyksinkertaisenrajapinnanuseilleerialustoillejulkaisemiseen. Vaikkapeliprototyyppiälähdettiintekemään,eihaluttuvalitateknologiaa,jollaeiole mahdollistakääntäämuillealustoillehelpolla.unityllämuillealustoillekääntäminenei vaadierikoisosaamista,eikäsuuriakoodimuutoksia. Seonsaanutlyötyäitsensäläpipelinkehitysmaailmassa,koskasetukeelaajaalaitekanC taa,onhelpostilähestyttävissä,tarjoaalaajattutoriaaliterilaistenasioidenluomiseen sekäonedullinen. 4.4 UnityEditor EditoronUnitynpäänäkymä,jossapelikoostetaankasaan.Seonsekäohjelmoijan,auC diosuunnittelijan,kenttäsuunnittelijoiden,graafikoidensekämahdollisestimyöskäsikirc

19 16 joittajientyökalu.editorinperusnäkymäonselkeäjasiihenpääseenopeastisisään.kuc viossa2nähdääneditorinperusnäkymä.unitynvahvuusonsiinä,ettäeditorionmoduc laarinen,jolloinsenvoimuokataomanlaisekseen.editoriavoimyöslaajentaaomilla skripteillään. Kuvio2.UnityCeditorinperusnäkymä. Editorinperusnäkymäkoostuutärkeimmistäasioista,mitätarvitseekäyttääkseenUniC tyä.perusnäkymässänäkyvätprojektintiedostot,scenessäolevatpeliobjektit,pelinäkyc mä,scenecnäkymäsekäinspectorctyökalu,jollanäkeetiedotvalituistapeliobjekteista. UnityCeditorissaonmuutamatärkeäpainike,jotkapitäätietääkäyttääkseeneditoria. Nämäpainikkeetovat: C Käsityökalu,jotakäyttämälläkäyttäjävoiliikuttaakameraasceneCnäkymässä. C Siirtotyökalu,jollavoisiirtääpeliobjektiapelimaailmassa.

20 C Kääntämistyökalu,jonkaavullavoikääntääpeliobjektia. C Skaalaustyökalu,jollaobjektinkokoavoiskaalata. PeliobjektejasäädetäänUnityEditorinkauttakäyttäenInspectorCtyökalua.Kuviossa3 nähdääninspectorctyökalukäytössäsekäpeliobjektinperusrakenne. 17 Kuvio3.UnitynInspectortyökalujapeliobjektinperusrakenne Editorinkauttasäädetäänmyöspelinerilaisetbuildaus asetukset,pelinerilaatutasotja fysiikoidenasetukset. BuildCasetuksissavalitaankohdealusta,mitkäscenetsisältyvätbuildiinjaasetetaanbuilC dillekehitysversiotagipäälle,jokataasmahdollistaabuildatuntuotteenprofiloimisen (ks.kuvio4).

21 18 Kuvio4.Unitynkääntämisasetustenvalitsemisnäkymä Kuviossa5esitelläänlaatutasonasetukset.Asetuksissavoiluodauseitaerilaatutasoja, joissasäädetäänvalojen,tekstuurien,varjojen,animoinninjaerioptimointienasetuksia. Asetuksissavoidaanmyösasettaavalmiiksijonkuntietynperustasonerialustoille.

22 19 Kuvio5.Unitynlaatutasojenasetukset 4.5 AssetStore Marraskuussa2010UnityavasiAssetStoreCpalvelun,jossakäyttäjätvoivatjakaatekeC miäänassettejamuillekäyttäjilleniinilmaiseksikuinmaksuavastaan.unityottaa30 prosenttiamyyntituloistaitselleen.kaupassaonnykypäivänäsuurimääräassetc paketteja,kutentekstuureja,materiaaleja,valmiitaratkaisujapelilogiikkaavartenja3dc malleja.lisäksikaupassajaetaanaloittelijoillesuunnattujapaketteja,kutentutoriaaleja jaesimerkkiprojekteja.kuviossa6näkyyassetstorenaloitusnäkymä.(sellassets2014.)

23 20 Kuvio6.UnityAssetStorenaloitusnäkymä AssetStoressaonkirjoitushetkelläsaatavillayhteensäyli10000erilaistaassetCpakettia. SuosituimpiapakettejaovatNGUIjaPlayMaker.AssetStorenhinnatovatyleisestiottaen matalat,jokamahdollistaapienillekkinstudioilleparemmatmahdollisuudet,koskavoivat halutessaankäyttäähiemanrahaavalmisiiinratkaisuihin,eikäkaikkeatarvitsetehdä itse. 4.6 Profiler UnitynsisäänonrakennettuvalmisprofilointityökaluProfiler.Profilerraportoikuinka paljonsuorituskykyämikäkinosacaluevie.profilerinavullasaatarkkaatietoauloscpu:n käytöstä,gpu:nkäytöstä,renderöinnistä,fysiikoista,muisteistajaäänistä.profilerpiirc tääreaaliaikaisestikäyräteriosacalueille,joidenavullanäkee,missätapahtuusuoritusc

24 kykyongelmia.profilerinavullasaainformaatiotaframeckohtaisesti.kuviossa7nähdään ProfilerCtyökalunperusnäkymä,jossaonvalittunaprofiloitavaksiprosessorinkäyttö. 21 Kuvio7.UnitynsisäänrakennetunProfilerCtyökalunyleisnäkymä CPUCosionallanäkeetarkattiedotkauankorenderointi,komentosarjojenläpikäynti, roskienkeruujafysiikatvievätaikaa.deepprofilecasetuksenaktivoimisellanäkeeentistä tarkempaainformaatiota,kuinkakauaneriskriptiensuorittamiseenmeneeaikaajamisc säpullonkaulatovat. GPUCnäkymässätarkattiedotnäkyväterilaistenmateriaalienrenderoinninkestoistaja määristäsekämuutatärkeäätietoanäytönohjaimentoiminnasta.gpucnäkymänavulla saadaantietoa,jaksaakonäytönohjainpyörittääerilaisiashadercratkaisujavaipitääkö shadereitayksinkertaistaa.

25 Muissaosissanäkeepiirrettävienpolygonien,verteksienjadrawcallsienmääränsekä muistinkulutuksen,äänienmääränjaperusinformaatiotafysiikkamoottorilta Unityn toimintaperiaate Ideologia Unitypohjautuukomponenttipohjaiseenratkaisuun.Tämäkäytännössätarkoittaasitä, ettäunityllätehdytpelitrakennetaansceneistäjotkakoostuvatpeliobjekteista GameObject UnityCpelimoottorikäyttääGameObjectejaelipeliobjekteja.PelitrakennetaanpeliobjekC teista,jotkakaikkivoidaanmääritelläerilaisiksi.peliobjektiitsessääneipidämitään muutasisälläänkuinpaikanmaailmassa,muttaniihinvoidaanliittääkomponentteja, jotenniitävoidaankutsuaeräänlaisiksikomponenttisäiliöiksi. Peliobjektiinlisätäänerilaisetkomponentit,kutenskriptit,valolähteettaicolliderit.PeC liobjekteihinasetetutkomponentitvoivatkeskustellakeskenään.peliobjekteillevoidaan asettaaomatagi,tasojanimisekäniistävoidaanluodavalmisolioeliprefab Prefab PrefabelivalmisolioonuudelleenkäytettäväassettijaseluodaanhalutustapeliobjektisC ta.prefabialuodessasekopioikaikkiominaisuudet,komponentitjaarvotpeliobjektista. Peliobjekteistaluodaanprefabeja,koskahalutaansaadauudelleenkäytettäviäkomC ponenttejasekäprefabejavoidaanluodamyöspelinaikana.prefabitovathyödyllisiä esimerkiksikerättävienesineiden,vihollisten,ammusten,rakennelmientaimuidenusein toistuvienasioidenluonnissa. Sensijaan,ettäskriptissäluotaisiinuusipeliobjekti,johonlisätäänkomponenttejaja määritelläänkaikkitietokoodissa,luodaankinvainkopioprefabista.prefabienavulla artistitvoivatmuokataprefabiasuoraaneditorinäkymässäeikäheidäntarvitsepyytää ohjelmoijaamuuttamaanesimerkiksivihollisenkokoataiväriä.(instantiatingprefabs 2014.)

26 Kaikkiprefabbeihintehdytmuutoksettapahtuvatmyössenkopioissa,vaikkajokainen kopioonkinitsenäinenpeliobjektipelimaailmassa.(prefab2014.) Tag Tagitovatlistatunnistimia,jossaonUnitynomiasekäkäyttäjänitsensämäärittelemiä nimiä.peliobjektiterotellaantoisistaantageilla.tagienavullavoidaanmyösverrata,onc koesimerkiksiammusosunuttietyntyyppiseenkohteeseenkutenpelaajaan Layer LayeritelitasotovatUnityntoinentapaerotellaasioitatoisistaan.Unityssäonsenomia tasojasekäniitävoidaanluodaitse.tasojenavullavoidaaneritelläerilaisetasiattoisisc taan,esimerkiksistaattisetmaailmassaolevatobjektit,kutenkivet,jadynaamisetobjekc tit,kutenliikkuvathahmot.tästäonsuurestihyötyäfyysikoidenkanssa,joshalutaan, ettätietyttasoteivätosutoisiinsa.kuviossa8näkyyfysiikoidentörmäysmatriisi,jonka avullamääritelläänmitkätasotosuvattoisiinsajamitkäeivät. Kuvio8.Törmäysmatriisi

27 Scene Scenetelipelimaailmatkoostuvatpeliobjekteista.Scenetsisältävättiedonsiitä,mitä halutaantapahtuvanjanäkyvänpelissä.scenetyleensäsisältävätpelimaailmangeometc rian,kamerat,valot,hahmotjakäyttöliittymän,muttavoidaanmyösluodascenejä,joisc saonvainkäyttöliittymätaiesimerkiksilisäägeometriaamaailmaan. Scenejämuokataaneditorinäkymässä.Scenensisältämiäpeliobjektejavoidaanpoistaa tailisätäsekäpeliobjektienkomponenttienarvojavoidaanmuuttaa.normaalistikaikki peliobjektittuhoutuvatscenenvaihdonyhteydessä,muttaobjektejavoidaanasettaa skripteissäolemaantuhoutumattakäytämällädontdestroyonloadcmetodia. 4.8 Ulkoisettyökalut Unitynmukanatuleevainohjelmistokehitysympäristö,muttaUnityynvoidaanintegroida lukuisiamuitaohjelmia,kutenmicrosoftcyhtiönvalmistamavisualstudio kehitysympäristösekäerikuvankäsittelyohjelmia.unitytukeemyösulkoistaversionhalc lintaa. UnitynmukanatulevaohjelmistokehitysympäristöMonoDeveloponhiemanmuokattu versiooikeastamonodevelopista,silläsenavullavoiitsetestataunityssätehtyäpeliä. MonoDevelopmahdollistaaohjelmoimisenjaohjelmakoodindebuggauksen. 4.9 Ohjelmointi Unitytukeekolmeaeriohjelmointikieltä.KäytetyinkielionC#,jokaonalkuaanMicC rosoft yhtiönkehittämäkieli.unitync#tuleehiemanjäljessäverrattunamicrosoftin omaan,muttakaikkitärkeimmätominaisuudetlöytyvät.toiseksikäytetyinkielionunic tyscript,jokaonjohdannainenjavascriptckielestä,javiimeisenälöytyyboockieli,joka muistuttaavahvastipythoncohjelmointikieltä.(unity(gameengine)2014.) UnitylläohjelmoidessaeiainavoikäyttääkaikkiaperinteisiäolioCohjelmoinnintapoja. Unityssäonpoikkeuksellinentapa,etteimuodostimia(Constructoreita)voiluodasilloin, kunluokkaperiiunitynmonobehaviourcluokan.jokainenluokka,jokaonperinytmonoc BehaviourCluokan,sisältääUnitynperusominaisuudetjamahdollistaavalmiidenkompoC

28 25 nenttienkäytön.monobehaviourinperineetskriptitvoivattoteuttaamontaerirajapinc taa.monobehaviourinperineenskriptinvoiyhdistääpeliobjektiineditorinäkymässätai ohjelmakoodissa.yhdellepeliobjektillepystyylisäämäänmoniaskriptejä.skriptiinvoic daanmyöskirjoittaa,ettäsevaatiijonkunmuunkomponentin. UnityCskriptaustapahtuukirjoittamallaohjelmointikooditMonoBehaviourinperivään luokkaan.monobehaviourinperineetluokatvoivattoteuttaavalmiitametodeja,joita UnityCpelimoottorikutsuuautomaattisesti.Taulukossa3esitellääntärkeimmätMonoC BehaviourCmetoditsekäniidenkäyttötarkoitus.Näistämetodeistatärkeimmätovat Awake,Start,Update,FixedUpdatejaLateUpdate.(MonoBehaviour2014.) Taulukko3.MonoBehaviourtyyppistenmetodienkäyttötarkoituksetavattu Metodi Awake Start Update FixedUpdate LateUpdate OnDestroy OnDisable OnEnable OnCollisionEnter/ Käyttötarkoitus AwakeCmetodikutsutaan,kunskriptininstanssionluotu.AwakeC metodiavoiajatellaeräänlaisenamuodostimena,jossaskriptialusc taaitsensä. KutsutaanvainkerranjuuriennenensimmäistäUpdateCkutsua.StartC metodissahaetaanviittauksetmuihinpeliobjekteihinjakomponentc teihin,koskasilloinollaanvarma,ettäneovatalustaneetitsensä. Kutsutaanjokaframekerran. Kutsutaanfysiikoidentahdissa,elieioleriippuvainenruudunpäiviC tysnopeudesta.käyttökohteenaesimerkiksipelaajanpäivittäminen. KutsutaanjokaframeUpdateCmetodienjälkeen.KäytännöllinenesiC merkiksikameraasiirtäessä. Kutsutaan,josskriptituhotaan. Kutsutaan,josskriptidisabloidaan. Kutsutaan,josskriptiaktivoituu. Kutsutaan,kunpeliobjektiinkiinnitettyrigidbody/colliderosuutoiC

29 OnTriggerEnter seenrigidbodyyn/collideriin. 26 OnCollisionStay/ OnTriggerStay OnCollisionExit/ OnTriggerExit OnApplicationQuit OnApplicationFocus Kutsutaanjokafysiikoidenpäivitykselläkunpeliobjektiinkiinnitetty rigidbody/collideronkosketuksissarigidbodyyn/collideriin. Kutsutaan,kunpeliobjektiinkiinnitettyrigidbody/colliderlopettaa kosketuksentoiseenrigidbodyyn/collideriin. Kutsutaanjokaisessaskriptissäennenkuinpelisammuttaaitsensä. Kutsutaan,jospelaajanfokuskatoaataituleetakaisinpeliin. MonoBehaviourkoodinajaminensuoritetaanseuraavassajärjestyksessä: KaikkiAwakeCkutsut KaikkiStartCkutsut Fysiikoidenpäivitysaina,kunlähestytäänasetettuafysiikoidenpäivitysaikaa o KaikkiFixedUpdateCkutsut o Fysiikoidenpäivitys o LaukaisuCeventit o TörmäysCeventit Rigidbodienpaikanjarotaationpäivitys Syötetapahtumienrekisteröiminen KaikkiUpdateCmetodit Animaatioidenpäivitys KaikkiLateUpdateCmetodit Renderointi SkriptienmuuttujieninitialisointipitäätehdäAwakeCmetodinsisässä,silläsekutsutaan ainaennenstartcmetodeja.mahdollisetviittauksetmuihinkomponentteihintehdään tämänvuoksistartcmetodissa,jolloinjokainenskriptioninitialisoinutitsensävalmiiksi.

30 Update metodikutsutaankerranjokaisenframeaikana,jonkavuoksisielläpyöriisuurin osapelinkäyttäytymiseenliittyvästälogiikasta,kutenpelihahmonliikuttaminen.seuraac vassaonesimerkki,kuinkaguitextkomponenttiinpäivitetäänkulunutaikapelinalusta kerranframessa. publicclasspaivitakelloa:monobehaviour{ publicguitextkellonaikapelinalusta; voidupdate(){ KellonAikaPelinAlusta.text=Time.realtimeSinceStartup.ToString(); } } FixedUpdateCmetodiaUnityyrittääkutsuakiinteänaikavälinmukaan.Fysiikkamoottorin suorittamatpäivityksetjalaskutoimituksettapahtuvathetifixedupdatensuorittamisen jälkeen.onsuositeltavaatehdäkaikkifysiikoihinliittyväohjelmointitämänmetodinsic sällä.seuraavassaesimerkissänähdäänkuinkarigidbodykomponenttiinlisätääneteenc päinkohdistuvaavoimaa: publicclassliikutarigidbodya:monobehaviour{ voidfixedupdate() { rigidbody.addforce(vector3.forward); } } LateUpdate metodikutsutaanmyöskerranframenaikana,muttavastakunkaikkiupdac tecmetoditonsuoritettu.lateupdateonhyvämetodisellaisellelogiikalle,jokaonriipc puvainenmuistakomponenteista,joidentiedotsaattavatmuuttuaupdatecmetodinaic kana.tämäsenvuoksi,koskatietovoiollavanhentunutframenaikana,silläsuoritettac vienskriptiensuorittamisjärjestystäeioleennaltamääritelty.seuraavassaesimerkissä komponenttiseuraakohdetta,minkävuoksitoiminnonpitäätapahtualateupdatemec todissa,koskapelaajanpaikkasaattaamuuttuaupdatemetodinaikana. publicclassseuraapelaajaa:monobehaviour{ publictransformkohde; voidlateupdate(){ transform.position=kohde.position; } } Unitynskriptittoimivatpeliobjektienkomponentteina,jonkavuoksinevoivatmyöskesC kustellakeskenäänjaunityonluonutmoniatapojatoteuttaasen.voitetsiäeripeliobc jektejatainiidenkomponenttejatyypin,nimen,taginjatasonmukaan. 27

31 Skriptissävoiollasuoraviittausjohonkintoiseenkomponenttiin,jokavoidaanasettaa editorinavullavetämälläsepublicctyyppiseenmuuttujaan,taisevoidaanetsiäeritavoilc la. Seuraavassaonesiteltyeritapojakäsitellämuitakomponentteja,kutenkomponenttien hakupeliobjektistatainiidenlisääminensiihen: publicclassesimerkkikomponenttihausta:monobehaviour{ publickomponentti1komponentti1; publickomponentti2[]komponentti2; publiccamerapaakamera; privaterigidbodyrigidbody; privatetransformlapsitransform; voidstart(){ //HaetaanensimmäinenlöydettyKomponentti1komponentti komponentti1=getcomponent<komponentti1>(); //HaetaankaikkiKomponentti2tyyppisetkomponentit komponentti2=getcomponents<komponentti2>(); //EtsitäänGameObject,jonkatagiksionasetettuPaakamera //jahaetaansiitäcamera_komponentti paakamera= GameObject.FindWithTag(Paakamera).GetComponent<Camera>(); //LisätäänGameObjectiinuusiRigidbody Rigidbody=gameObject.AddComponent<Rigidbody>(); //EtsitäänitsestämmeobjektianimeltäänLapsiTransform LapsiTransform=transform.Find(LapsiTransform); } } YleinentapatehdäajastettujaasioitaUnityssäonCoroutinet.NiidenavullavoidaanajasC taaasioitatapahtumaantietynajanpäästä,framenlopussaennenpiirtämistäsekäniillä voidaanvaihtoehtoisestijopakorvataupdatemetodintoiminta.coroutinetluodaan samallatavallakuinnormaalitmetodit,muttaniidentyypiksiasetetaanienumerator. Seuraavassaesimerkkicoroutinesta,jokamuuttaamateriaalinalphaarvoaC0.1kerran framessa: IEnumeratorFade(){ for(floatf=1f;f>=0;f_=0.1f){ Colorcolor=renderer.material.color; color.a=f; renderer.material.color=color; yieldreturn; } } 28

32 5 TANK HOGS -PROTOTYYPIN TOTEUTUS Mikä Tank Hogs on? TankHogsonmobiilipeliprototyyppi,jokaonerityisestisuunniteltuAppleiPad4jasitä uudemmilleapplenmobiililaitteille.pelionreaaliaikainenverkkopeli,jossakaksipelaac jaataisteleetoisiaanvastaan.peliontoteutettutäysin3dctekniikalla.pelaajantehtävänä onohjataomaapäätankkiastrategisiinpaikkoihinyrittäentuhotavastapelaajantankit sekätämäntukikohdan.senlisäksipelaajallaonmuutamaheikompitekoälynohjaama tankki,jotkaautomaattisestiajavatkohtivastustajantukikohtaa.taistelutovatnopeita kahdenminuutintiiviitätaisteluita. Pelingraafisessaulkoasussaontavoiteltupiirrosmaisuuttasekäpelinteemassaonvahva humoristinensävy.kuviossa9ontankhogscpelinlatausruutu,jostaselkeneepelissä käytettygraafinensuuntaus. Kuvio9.TankHogsCpelinlatausruutu

33 30 Taistelukenttäkoostuukahdenpelaajantukikohdista,elifarmeista.Näidenvälistälöytyy taistelualue,jossaonerilaisiaesteitäjakerättäviäesineitä.tavoitteenaontuhotavasc tapelaajantankit,tukikohtasekäkerätämahdollisimmanpaljonkolikoitataistelukentälc tä.taistelunvoittajaonvihollisensatuhonnuttaiajanloppuessaenemmänpisteitäkec rännytpelaaja. Ennentaistelunalkuaesitellääntaistelunosapuolet(ks.kuvio10).Alunesittelynjälkeen alkaaitsepeli,jolloinpienemmätjoukotlähtevätautomaattisestihyökkäämäänvastusc tajanfarmiakohti.ensikosketusviholliseentapahtuutaistelualueellajaviimeinentaistec lukäydäänjommankummanpelaajantukikohdassa. Kuvio10.TankHogsCpelinjoukkojenesittelyintro

34 5.2 Työskentelymenetelmät Suunnittelu Peliäsuunniteltaessatäytyisaadaselville,kuinkahyvinUnitysoveltuupelientekemiC seen,kuinkapelitpitääsuunnitellamobiiliympäristöön,sekämitärajoitteitanykypäivän mobiililaitteetasettavat. Pelinideaakehitettäessätutkittiinuseitasuosittujapelejä,kuinkanetoimivatjamiksine ovatsuosittujasekäkuinkaneovatteknisestitoteutettu,kutenclashofclans,hillclimb Racing,DeadTriggerjaMinigore.Pelejätutkiessahuomaavälittömästimobiililaitteiden asettamatrajoitteet,silläpelitovatgraafisestihuomattavanhuononnäköisiäverrattuna nykypäiväntietokonectaikonsolipeleihin.peleissäolirajoitetturuudullanäkyväntavac ranmäärääheikoimmillalaitteilla. PrototyyppiätehdessäkäytettiinmahdollisimmanpaljonUnityAssetStorestalöytyviä ratkaisuja.assetstorestalöytyyvaltavamäärä3dcmalleja,ääniäsekätekstuureja,joita hyödynnettiinpeliätehdessä.lopulliseentuotteeseenassetstorestalöytyneetassetit korvattiinomilla Työlaitteistot ja -välineet Pelinkehitystapahtuipääsääntöisestietätyöskentelynä.Projektinalustaastipidettiin muutamankerranviikossayhteyttäskypecohjelmanavullasekäprojektintiedostotpic dettiinbitbucketcpalveluntarjoamassamercurialcpohjaisessaversionhallintajärjestelc mässä. KehityksenaikanapäätyökaluinatoimiApplenMacbookProCkannettavatietokone,SubC limetextctekstieditorisekäunityprocversio4.3.ohjelmointikielenäkäytettiinc#,koska setarjosiparemmantuenoliocohjelmointiinsekäseolientuudestaantuttu.testilaitteec nakäytettiinipad4sekäiphone4s,joidenkäyttöjärjestelmänäoliios7.0.graafikon työkaluinatoimivatadobephotoshopcs5sekäautodesk3dsmax2011.

35 32 KoskaUnitytarjoaailmaiseksiWebPlayerCkäännöstentekemisen,niitäkäytettiinhyöC dyksipelinkehityksessä.näidenavullasaatiinhelpostiuusinversiotestattavaksiilman, ettätäytyierikseentehdäkäännöstämobiililaitteille Roolit pelin teossa Pelienluominenonmuuttunutalkuaikojenyhdenhengenprojekteistaerilaisiksijaniihin liittyynykypäivänätodellapaljonerilaisiarooleja.pelintekeminenvaatiiohjelmoijia,3dc mallintajia,graafikoita,kenttäsuunnittelijoita,markkinoijia,tuottajia,audiosuunnittelic joitasekälukuisiamuitatahoja. Ohjelmoijientehtävänäonohjelmoidapelinlogiikka,luodaefektit,säätääpelinfysiikat halutunlaisiksisekäottaakäyttööngraafikoidenjaaudiosuunnittelijoidenluomatassetit. SuuremmissaprojekteissaonomatohjelmoijateriosaCalueilla. Graafikotsekä3DCmallintajatluovatpelinulkoasunjavaikuttavatvahvastipelintunnelC maan.heluovatkäyttöliittymät,3dcmallit,tekstuuritjamateriaaliteriobjekteille. Yleensä3DCmallinjasentekstuuritmallilletekeesamahenkilö.Graafikoidenja3DC mallintajienlisäksisuuremmissaprojekteissaonerillisettasosuunnittelijat,jotkasuunc nittelevatjatoteuttavatpelinerikenttiä.helisäävät3dcmallintajientekemiäesineitäja hahmojakenttiin. Peliprojektiintarvitseemyösmuitaosaajia,kutentuottajan,jokahallitseeprojektinkuC lun,hoitaaajanhallinnan,pitääbudjetistakiinnijapitääns. narutkäsissään.tämän lisäksimyösmarkkinointiintarvitaantyövoimaa,silläseontodellatärkeääpelialallavalc tavanpelitarjonnanvuoksi.huonomarkkinointiyleensäjohtaahuonoihinmyyntilukuihin japelieimenestyodotetullatavalla,jonkavuoksiyrityssaattaajoutualopettamaantoic mintansa. Laaduntestauksellapyritäänsiihen,ettäpelitoimiimoitteettomasti.Pelinkaatumisetja ohjelmavirheetpyritäänhavaitsemaanjakorjaamaan.pienemmissäprojekteissaohjelc moijattekevätohjelmakoodilleentestititse,muttasuuremmissaprojekteissaontesc taustyökalujenkehittäjiä,joidenvastuullaonluodakunnontestausvälineetpeliävarten.

36 33 KoskaTuotantoyhtiöTasoOyonuusidigitaalipelejäluovayritys,sensisäisetroolijaot ovathäilyviä.koskayritysolipienijatyömääränollessasuuri,jokainenjoutuitekemään asioitaomanosaamisalueenulkopuolelta,elijokainenhenkilöosallistuipelicideankehitc tämiseenjasuunnitteluun,markkinoinninsuunnitteluun,pelintestaamiseenjaprojektin hallinnointiin. 5.3 Pelin rakenne Kansiorakenne NiinUnityCprojektinkuinminkätahansapeliprojektinkansiorakennettakannattaasuunC nitellahyvissäajoinennentoteutuksenaloittamista,silläilmansuunnitteluaprojektirac kenteestatuleehelpostiyksisuurisekamelska. TankHogsinkansiorakennesuunniteltiinolemaanmahdollisimmanselkeämyössellaisilC le,jotkaeivätoleolleetaikaisemminmukanapeliprojekteissa.tämänvuoksiprojektissa onjaettukaikki3dcmallit,tekstuurit,materiaalit,skriptitjaäänettarkastinimettyihin kansioihin.tämämahdollistaahelponjavaivattomantyöskentelyneriosapuolienvälillä, muttavaikeuttaaasioidenluontiadynaamisesti,koskaassetinnimensijaantarvitaankin pitkätiedostopolku.kuviossa11ontankhogscprojektinkansiorakenteenjuuritaso. Kuvio11.TankHogsCprojektinkansiorakenne

37 34 Unityssäonmuutamakansionimikevarattuerikoistehtäviävarten.Nämänimikkeetovat Editor,Plugins,Resources,Gizmos,WebPlayerTemplates,StreamingAssets,Standard AssetsjaProStandardAssets.Taulukossa4onavattujokaisenerikoiskansionperusidea. Taulukko4.Erikoiskansioidenselitys(SpecialFolderNamesinyourAssetsFolder2014I.) Kansionimike Editor Plugins Resources Gizmos WebPlayerTemplates StreamingAssets StandardAssets Tarkoitus EditorCkansiomahdollistaaskripteissäpääsynUnityEditorAPI:in. JosskriptikäyttääjotainluokkaataitoiminnallisuuttaUnityEditor luokasta,skriptintäytyyollaeditorckansiossa. Plugins-kansioonpitäälaittaakaikkinatiivilisäosat,joihinhalutaan päästäkäsiksiskripteistä.pluginsckansioeimyöskäänvoiollaminc käänkansionalakansio,vaansepitääsijoittaaprojektinjuureeneli AssetsCkansioon. Resources-kansioonsijoitetaankaikkiassetit,johonhalutaanpäästä käsiksinimentaipolunmukaanskripteistä.resourcesckansion kanssapitääollatarkka,silläunitysisällyttääkaikkiassetitresources-kansiosta,vaikkaniitäeikäytettäisiollenkaan. GizmosCkansioonsijoitetaankaikkitekstuuriCjaikoniassetit,joita halutaankäyttäägizmos.drawicon()toiminnonavulla.assetteja voidaankutsuanimenmukaankansiosta. WebPlayerTemplatesCkansioonsijoitetaanuudetsivupohjatselainC versiotavarten. StreamingAssets-kansioonsijoitetuttiedostotkopioidaankäännökC senyhteydessäsellaisenaanpelinjuureen.polkukansioonvaihtelee erikäännöksissä,muttapolkuonsaatavillaapplicatic on.streamingassetspathmuuttujankautta. Standard<Assets<-kansioonsijoitetutskriptitkäännetäänainaenC simmäisenä.tämäonhyödyllinenominaisuus,koskaesimerkiksise

38 onyksitapaavatapääsyc#cskripteistätoisenkielenskripteihin. 35 ProStandardAssets ProStandardAssetsCkansiotoimiisamallaperiaatteellakuinStandard<Assets<-kansio,muttasinnetulisisijoittaaskriptit,jotkakäyttäC vätmaksullisenversionominaisuuksia Scenejen rakenne TankHogsCpelijaettiinyhteensäkolmeensceneen.PelialkaaInitSceneCscenestä,joka hoitaapelinyhdistämisenverkkopalvelimeen,initialisoipelinäänet,valaistuksenjaasec tukset.kunpelionsaanutinitialisoituaitsensäjayhdistänytpalvelimelle,pelivaihtaa itsensäautomaattisestimenucsceneen. Menu-sceneonTankHogsissayksinkertainen.TaustallanäkyytaistelualuejayksinkerC tainenanimaatiopyörittääkameraakentänympärillä.tämänlisäksiruudussaonvain kaksinäppäintä,joistatoisellayhdistetäänpeliinjatoisestapäästäänasetuksiin.menusc sanäkyymyösyrityksenlogosekäyksipelinhahmoista. ToisenpelaajanlöytämisenjälkeenpelilataaautomaattisestiGameCscenen,jossataC pahtuuhuomattavastienemmänkuinmuissasceneissä.gamecscenetoimiipelintaistec lualustana.scenenlatauksenaikanapelikentänkeskialueluodaansatunnaisestimuutac mastavalmiiksirakennetustamallista,minkäavullasaadaanhiemanvaihtelua.kunmoc lempienpelaajienjoukotonluotu,alkaaesittelyanimaatio,jossakäydäänläpisekäomat ettävastustajanjoukot.tämänjälkeentaistelualkaa.josjommankummanpelaajan yhteyspalvelimeenkatkeaa,pelipalaaautomaattisestimenu-sceneen. 5.4 Audiovisuaalinen toteutus D-mallit TankHogsCpelinkaikki3DCmallitloiyrityksengraafikkoAutodeskin3DSMax2011C ohjelmalla.sallitutkokonaisverteksimäärätiosclaiteillaovathyvinmatalat,minkävuoksi 3DCmallitsuunniteltiinalustaalkaensisältämäänmahdollisimmanvähänverteksejä. Pitääkinmuistaa,ettämallinnusohjelmistojennäyttämätverteksimääräteivätvastaa

39 36 Unityynvietyjenmallienverteksimäärää,koskaverteksitsisältävätmyösmuutainforC maatiotakuinomansijaintinsa,kutenuvkoordinaatit,normaalit,tangetitjamateriaalic enid:n.kuviossa12nähdään,kuinkatankhogsissakäytettyjen3dcmallienverteksimääc riäsaatiinvähennettyäpoistamallaturhaageometriaa. Kuvio12.Esimerkkioptimoiduista3DCmalleista,joistaonpoistettuturhageometria Tekstuurit ja materiaalit Tekstuuritjamateriaalitmäärittävätmillaiselta3DCmallitnäyttävät.TekstuuritovatkäyC tännössäkuvia,joita3dcmallienpäälleikäänkuinpingotetaan.materiaalitmäärittelevät näyttääkötekstuuriesimerkiksikiiltävältävaimattapintaiseltasekäkäytetäänkötekstuuc rinläpinäkyvyyttä. Jokainenmateriaaliluoyhdendrawcallsinelipiirtokomennon,jonkavuoksiTankHogsin tekstuuritkoostettiinmuutamaantekstuuriatlakseen,jokamahdollistivainmuutaman erimateriaalinkäytön.3dcmalleillepitääluodaerikseenuvckartoitus,ettänelöytävät

40 37 oikeantekstuurinatlaksesta.tekstuurejavartenkoostettiinkolmeeriatlasta,joistaluoc tiinkolmeerimateriaalia.materiaaleillaolikolmepääkohdetta,joistaensimmäinenoli läpinäkyvyyttäsisältäville,toinenolins.cutoutcmateriaali,jakolmasolinormaaleille tekstuureille.kuviossa13nähdäänläpinäkyvyyttäsisältävätekstuuriatlas. Kuvio13.Läpinäkyvyyttäsisältävätekstuuriatlas Käyttöliittymän suunnittelu Pelinkäyttöliittymäonsuunniteltutoimimaanerityisestitaulutietokoneilla.Päävalikon käyttöliittymäpidettiinyksinkertaisena,eikäsensuunnitteluunjatoteutukseenkäytetty paljoaresursseja.battlescenenkäyttöliittymäänsensijaankäytettiinhuomattavamäärä resurssejaniinsuunniteluunkuintoteuttamiseen.sesisältääkaikentarvittavantiedon mitäpelaajatarvitseepelatessaan,kutentaistelunjäljelläolevanajan,elämät,painikc keeteritoimintojenpäällekytkemistävartensekäkosmeettisiaasioita.

41 38 Taistelunkäyttöliittymäkoostuuneljästäosiosta,jotkaovatIntroC,BattleC,ScoreCjaSettingsGUI.Näistäosioistavainyksikerrallaanonkäytössä.Taisteluunsiirtyessäpelialkaa introsta,jolloinintroguionkäytössä,jokaonyksinkertainen,silläsiinäonvainmuutama komponentti.introgui<näyttääpelinalussaajastimenennenkuintaistelualkaa.ajastic menjälkeentaistelualkaajabattleguiaktivoidaan. BattleGUIssa<näkyykaikkiolennainentieto.Kuviossa14näkyyBattleGUIn<käyttöliittymä, jokaontoteutettuyrityksensaatujenassettienjasuunnitelmienmukaan. Kuvio14.TankHogsCpelintaistelukäyttöliittymä BattleGUIn<yläpalkissanäkyytiedot,kuinkamontatankkiavastustajallaonjäljelläja montakoelämäähänenpäähahmollaanon.yläpalkissaonmyösajastin,jossanäkyypalc jonaikaaonkulunutjapaljonsitäonjäljelläsekämittari,jossanäkyyansaittujentähtien määrä. BattleGUInoikeassaalareunassaontaistelussakäytettävätnapit.Nappejaonkolme, joistayksiaktivoipäähahmonerikoisliikkeen,yksikäskeepienempienjoukkojenseurata pelaajaajaviimeinennäppäinaktivoipelaajanpäähahmollenopeammanliikkumisenja

42 39 ampumisenlyhyeksiajaksi.erikoisliikepainikejatehonparannuspainikeovatdeaktivoic tuina,josneeivätolekäytettävissä. BattleGUIn<vasemmassaalareunassasijaitseekaksipainiketta,joistatoisellavoidaan fokusoidakameratakaisinohjattavaanpäähahmoonjatoisellavoidaankysyävastapec laajalta,haluaisikotämäaloittaapelinalusta Käyttöliittymän toteutus KäyttöliittymätoteutettiinmaksullisellaNGUIClisäosalla,koskaUnityeitarjonnutratkaiC suakunnonkäyttöliittymientekemiseensentekohetkellä.nguisisältäähuomattavan määräntoimintojakäyttöliittymientekoon.nguionnopeajakuluttaavähänlaitteen resursseja.senavullaonhelppoluodaresponsiivisiakäyttöliittymiä,jotkatoimivatkaic kenkokoisillaresoluutioilla. NGUInkäyttöönottotapahtuupurkamallaostettuNGUICpakettiUnityCprojektissa.PurC kamisenjälkeenunitynylävalikkoonilmestyyngui,jostalöytyykaikkinguintyökalut. ValikostalöytyyCreate2DUICpainike,jokaluoscenenhierarkiaanUIRootCnimisenpeC liobjektin.tämäpeliobjektisisältäänguintarvitsematkomponentiteliuirootcjauicac merackomponentit.uirootckomponentinavullamääritellään,minkäkokoiselleresoluuc tiollekäyttöliittymäälähdetääntekemään,jauicamerackomponenttihoitaasyötteiden käsittelyn. NGUIkäyttääniinsanottuatekstuuriatlastatoimiakseennopeammin.Tämätarkoittaa sitä,ettäkaikkikäyttöliittymäänluoduttekstuurityhdistetäänyhdeksiisoksitekstuuriksi NGUIntarjoamallatyökalulla.Työkaluluotekstuurinvalmiiksijalaskeeautomaattisesti tiukimmanmahdollisentuloksen,ettäsaatuatlasolisimahdollisimmanpieni.atlakseen voidaanlisätämyösfontteja(ks.kuvio15),jolloinpeliinvoidaankirjoittaatekstiähyvin kevyesti.

43 40 Kuvio15.NGUInmukanatulevaesimerkkiatlas Efektit Pelissäkäytettiinefektejäpääasiassaräjähdyksiävarten.Pelinefektitluotiintäysin 2D:nä,jotkaaseteltiinsamaankulmaankuinkamera.2DCefektitluotiinkäymälläeräänC laisentekstuuriatlaksen,elitässätapauksessaspritesheetin,kohtialäpihalutullanopeuc della.tämätekniikkamahdollistiuseammanefektinnäyttämisenyhtäaikaisestiilman, ettäpelinsuorityskykykärsii. Seuraavassaesimerkissäasetellaanobjektikatsomaankohtikameraa: Vector3kohdeVektori=paaKamera.transform.position_transform.position; transform.lookat(kohdevektori); Äänet PelinäänimaailmaluotiinyrityksenomienassettienavullakäyttäenMasterAudioC lisäosaa.masteraudioonvalmisratkaisu,jokatarjoaakevyenratkaisununohtamatta erikoisempiakaantoimintoja.masteraudiollavoidaanluodauseitasoittolistoja,jotka

44 voivatsisältääuseitaerikappaleita.soittolistatsisältävätvalmiittoiminnotkappaleiden sekoittamiseenjavaihtamiseen,sävelkorkeudenmuokkaamiseensekäuseitamuita ominaisuuksia. MasterAudiossaääniefektittoimivatääniefektiryhmänä,jotkaluodaantietyllänimelläja nevoidaanlisätäjohonkinhaluttuunkokoelmaan.erikokoelmiavoidaanhiljentäätai vahvistaakokoelmannimenmukaan.ääniefekteilleluotunimimahdollistaasen,että yhdenääniefektinallevoidaanasettaauseitaeriversioita,joitavoidaanpainottaahac luamansamukaan.painottaminentarkoittaasitä,ettäeriääniefekteillevoidaanasettaa erimääräinstansseja,joistasittensatunnaisestihaetaanyksi.esimerkiksitankhogsin räjähdysefektilleonolemassakolmeääniefektiä,joistakahdestaonluotuviisiinstanssia jayhdestä10instanssia.tämänavullavarmistettiin,ettäräjähdysäänetovatuseastisac mankuuloisiajasillointällöinsoihiemanerilainenversio. SeuraavissaesimerkeissäesitelläänkuinkaMasterAudionavullasoitetaanääniefektejä: //Esimerkki1:Ääniefektiammustentuhoutumisessa if(ammusosuijohonkin){ MasterAudio.PlaySound3D(OsumaRajahdysEfekti,transform); } else{ MasterAudio.PlaySound3D(HarhalaukausRajahdysEfekti,transform); } //Esimerkki2:Ääniefektipelinalkamiseen MasterAudio.PlaySound(PeliAlkaa); MasterAudionavullavoidaansoittaaefektejäniin2DCkuin3DCmuodossa.Tämä käytännössätarkoittaasitä,ettäjosräjähtääkauempana,sevoidaansoittaa3dc muodossa,jolloinsesoihiljempaakuinlähelläräjähtänytolisisoinut Reittihaku Reittihaunavullavoidaanlaskeareittejäkahdentaiuseammanobjektinvälille.ReittihaC kuottaahuomioonstaattisetobjektit,jotkaovatpisteidenvälillä,muttakehittyneemc mätratkaisutottavatmyöshuomioonmuutliikkuvatobjektit. TankHogsinreittihakuunkoitettiinmoniaeriratkaisujaennenkuinpäädyttiinnykyiseen. EnsimmäinenreittihakutoteutettiinUnityCpelimoottorinsisäänrakennetullatyökalulla.

45 42 Reitinhakuatehtäessäeiollutepäselvää,ettäreitinhakuapitääoptimoidatodellapaljon. TärkeimpänäjasuurimpanasuorituskyvynkannaltaolitiputtaanavigointiverkontarkC kuutta.kuviossa16nähdäännavigointiverkoneroteritarkkuuksilla. Kuvio16.Navigointiverkonerotoptimoinneilla:Ylempiepätarkkajaalempitarkka NavigointiverkontarkkuudenheikentämisenlisäksireitinhakuakäyttävientankkientoiC mintaamuutettiinniin,ettätankitpäivittävätreittinsämuutamanframenvälein,eikä jokaisellaframella.tämäolimahdollistatoteuttaahelpostikäyttämälläcoroutineja,kuc tenseuraavassaesimerkissänähdään: //Alkuperäinentoteutus:Lasketaanuusireittijokaisellaframella voidupdate(){ LaskeUusiReitti(transform.position,kohteenPosition); } //Parempitotetutus: //Käynnistetääncoroutinealussa,jokalaskeereitin0.5svälein voidstart(){ StartCoroutine( ReitinPaivitysCoroutine ); } IEnumeratorReitinPaivitysCoroutine(){ WaitForSecondslaskemisVali=newWaitForSeconds(0.5f); while(true){ //Laskeuusireitti LaskeUusiReitti(transform.position,kohteenPosition); //Nuku0.5sekuntiaennenseuraavaalaskemista yieldreturnlaskemisvali;

46 } } 43 Navigointiverkkoapitääpystyäjotenkinkäyttämäänkin.Tähänkäyttämämmelisäosa tarjoaavalmiitaratkaisuja.pelissäkäytimmeseekerckomponenttia,jollavoidaanlaskea reittikahdenpisteenvälille. SeuraavassaesimerkkiSeekerCkomponentinkäytöstäreitinlaskemiseen: privatepathnykyinenreitti; publicvoidlaskeuusireitti(vector3aloituspiste,vector3kohdepiste){ nykyinenreitti=getcomponent<seeker>.startpath(aloituspiste,kohdepiste); } SeekerinpalauttamaPathColiopitääsisälläänvectorPathCnimisenlistanpisteistä,joita seuraamallapäästäänaloituspisteestäkohteeseen. Seuraavassaesimerkissäkäydäänläpiyksinkertainenliikkuminenreitinmukaan: privatepathnykyinenreitti; privateintnykyinenpiste;//nollataanreitinlaskemisenyhteydessa publicvoidupdate(){ //Joseiolelaskettuareittia,lopetetaanfunktionlapikayminen if(nykyinenreitti==null)return; //Josnykyisenpisteenindeksionsuurempikuinreitinsisaltama, //niinlopetaanfunktionlapikayminen if(nykyinenpiste>nykyinenreitti.vectorpath.count)return; if(nykyinenpiste==nykyinenreitti.vectorpath.count){ Debug.Log(Ollaanreitinlopussa); nykyinenpiste++; nykyinenreitti=null; return; } Vector3nykyinenKohde=nykyinenReitti.vectorPath[nykyinenPiste]; //Suuntaseuraavallepisteelle Vector3suunta=(nykyinenKohde_transform.position).normalized; suunta*=time.deltatime; transform.translate(suunta); if(vector3.distance(transform.position,nykyinenkohde) <matkaseuraavallepisteelle){ nykyinenpiste++; } } 5.6 Pelihahmon toiminta Pelaajaohjaapelkästäänpäätankkia,muttavoikäyttääerikoisliikettä,käskeäapuritseuC raamaanpäätankkiasekäaktivoidaväliaikainenpäätankintehostaminen.pelaajantehc

47 44 tävänäonohjatatankkivastustajanjoukkojenluojatekoälyautomaattisestitähtääja ampuumuutamansekunninväleinlähintäkohdettakohti. Päätankinohjaaminentapahtuukoskettamallaruutualyhyestikohdasta,johonhaluaa hahmonmenevän.kosketuskohtamuunnetaanpisteeksipelimaailmassa,jonkajälkeen reittihaunkäyttämälleseekerckomponentilleannetaannykyinenpaikkasekäkosketusc kohtamaailmassa.seekerckomponentinpalauttamanpathcolionsisältämänlistanavulla tankkiliikutetaanpisteenluo. Apurienohjaustoimiisamallaajatuksella,muttapelaajaeikäskeniidenliikkua,vaan apuritautomaattisestihyökkäävätkohtivihollisentukikohtaa.josapureidenreitilletulee vihollisia,nepysähtyvättaistelemaan.joskohdekatoaaampumisetäisyydeltä,apurit lähteväthyökkäykseenuudelleen. Pelaajavoiaktivoidaerikoisliikkeen,jokaprototyypissätarkoittaahurrikaaniliikkeenakC tivoimista.erikoisliikekestääkolmesekuntiajasinäaikanapäätankintykkiosiopyörii lujaaampuensamallakuuliahurrikaanimaisestiympärilleen.erikoisliikkeenvoikäyttää kolmekertaataistelunaikana. Tämänlisäksipelaajavoiaktivoidapienentehostuksenlyhyeksiaikaa.TehostuksenaikaC napäähahmoliikkuusekäampuunopeamminjatehokkaammin.tehostuksenkäyttämic nenkuluttaaenergiaa,jotakertyypikkuhiljaapelinedetessäsekäsitävoidaankerätä kentältälöytyvistäenergiakolikoista. 5.7 Verkkoratkaisu Suunnittelu TankHogsinverkkototeutustaeisuunniteltualuksikunnolla,koskaeiolluttarvittavaa tietotaitoa.tämänvuoksikokemustakerättiinunitynsisäänrakennetunnetworkingc paketinavullasiihenasti,ettäperusymmärrysverkkocohjelmointiinolisaavutettu. Tämänjälkeenlähdettiinsuunnittelemaanpysyvämpääratkaisua.Verkkoratkaisusta haluttiinmahdollisimmanyksinkertainen,koskaprojektiinvarattuaaikaaeihaluttukäytc tääpelkästäänyhdenosacalueenhiomiseenjaylläpitämiseen.suunnittelunjälkeenpääc

48 ajatuksenaolisaadapalvelimenylläpitopoisyrityksenharteiltajasiirtääsepilveen.täc hänexitgamesintarjoamaphotoncloudcpalvelu(pun)sopitäydellisesti Photon Cloudin toimintaperiaate PhotonCloudeliPUNonExitGamesintarjoamapilvipalveluverkkopelientekemiseen. UnitykäyttääomassapalvelussaanniinsanottuaserverCclientCpohjaa,jossayksipelaajisC tatoimiiserverinä.myöspunkäyttääservercclientcpohjaa,muttaheidänratkaisussaan kukaanpelaajistaeitoimiserverinä,vaanexitgamestarjoaaomankohdistetunpalvelic men.palvelimiaontarjollaympärimaailmaa. PUNtoimiilähessamallatavalla,kuinUnitynsisäänrakennettunetworkingCratkaisu.Sen APIonsamanlainenjaPUNtarjoaakintyökalun,jollavoidaankonvertoidaUnityCprojekti, jokakäyttääunitynomaanetworkingcratkaisuakäyttämäänpuninratkaisua. OttaakseenkäyttöönPUNin,kehittäjäjoutuuluomaantilinExitGamesinjärjestelmään, jossahänluopelin.pelilleasetetaanjärjestelmäännimi,jonkajälkeenjärjestelmägenec roiuniikinapplicationid:n,jokaonmuotoa06000e5ecxxxxc46eacxxxxcbb69xb000b.kyc seinenkoodiasetetaanpuninasetuksiinunityceditorissa.asetuksissamyösvalitaanmic hinpilveenyhdistetään Toteutus Jokaisellepeliobjektille,jokahaluttiinsynkronoidalaitteidenvälillä,pitiasettaaPhotonC ViewCkomponentti.Kyseinenkomponenttiyksilöiobjektitsekäsemahdollistaatiedon lähettämisentoisellelaitteellekyseisestäobjektista.photonviewckomponentistalöytyy isminecominaisuus,jonkaavullanähdään,kenelleobjektikuuluu. Objektejavoiinstansioidamonellaeritapaanäkymäänkaikillaclienteillä.KaikkipeliobC jektit,jotkaeivättarvinneetmyöhemminselitettyäobjectpoolcjärjestelmää,luotiin PhotonistalöytyvätPhotonNetwork.Instantiate( Prefab )CtaiPhotonNetC work.instantiatesceneobject( Prefab )Cmetodinavulla.ToinentapainstansioidapeliobC jektejaonkäyttääunitynomaainstantiatecmetodia.tämävaatiisen,ettäinstansoitaviin peliobjekteihinpitääerikseenkäsinluodatiedotphotonviewckomponenttiin.

49 PeliobjektienautomaattinensynkronointieitapahduautomaattisestikäyttämälläPhoC tonviewckomponenttia,vaansillepitääasettaajokinskriptitaitransformi,jonkasesynkc ronoi.photonviewckomponenttiavoikäyttäämyöspelkästäänlähettämäänrpcckäskyjä. Seuraavassaesimerkkitankkientykkiosionsynkronoimisesta: publicclassinterpolatedrotation:photon.monobehaviour { voidawake(){ //Disabloidaanskriptijosemmeomistapeliobjektia if(photonview.ismine)enabled=false; } voidonphotonserializeview(photonstreamstream,photonmessageinfoinfo){ //Josolemmelahettavaosapuoli if(stream.iswriting){ Quaternionrotaatio=transform.localRotation; stream.serialize(refrotaatio); }//Josvastaanotetaantietoa else{ Quaternionrotaatio=Quaternion.identity; stream.serialize(refrotaatio); transform.localrotation=rotaatio; } } } Optimointi Skriptien optimointi Unitylläohjelmoitaessavoidaantehdäyksinkertaisia,muttatehokkaitaoptimointeja. Seuraavassalistattunalyhyestimuutamatärkeäoptimointi,mitäkäytettiinTankHogsia luodessa(performanceoptimization2014.): 1. Eikäytetädynaamisiatyyppejä //Huonotapa Componentammus=GetComponent<Ammus>(); ammus.rajahda(); //Hyvätapa Ammusammus=GetComponent<Ammus>(); ammus.rajahda(); 2. Tallennetaanhaetutkomponentitmuistiineikähaetajokaframella publicclasshuonotapa:monobehaviour{ voidupdate(){

50 GetComponent<Pathfinder>().LaskeReitti(newVector3(10,10,10)); } } publicclassoikeatapa:monobehaviour{ privatepathfinderreittihaku; privatevector3suunta; voidawake(){ reittihaku=getcomponent<pathfinder>(); suunta=newvector3(10,10,10) } voidupdate(){ reittihaku.laskereitti(suunta); } } 3. Eipäivitetäkaikkeajokaisellaframella,vaankäytetääncoroutineja 47 WaitForSecondsetsimisVali; IEnumeratorEtsiVihollista(floataika){ etsimisvali=newwaitforseconds(aika); while(true){ //Etsivihollinen... //Nukuetsimisvälinverranennenkuinetsituudelleen yieldreturnetsimisvali; } } Object Pool ObjectPool,eliniinsanottuobjektientaiesineidenallastus,toimiitodellatärkeässä osassaoptimointia.setarkoittaasitä,ettäobjektienluomisenjatuhoamisensijaanniitä kierrätetään,elipelinalussaluodaanvalmiiksitarvittavamääräobjekteja,joitaaktivoic daanjadeaktivoidaankäyttötarpeenmukaan.seuraavaksionesiteltyhyvinyksinkertaic nentoteutusobjectpoolingista: usingunityengine; usingsystem.collections.generic; publicclassobjectienkierratys{ privatestack<gameobject>saatavillaolevatobjektit; privategameobjectalkuperainenprefab; //Luokanconstructor publicobjectienkierratys(gameobjectprefab,intaltaanhaluttukoko) { alkuperainenprefab=prefab; saatavillaolevatobjektit=newstack<gameobject>(altaanhaluttukoko); LuoObjekteja(altaanHaluttuKoko); } privatevoidluoobjekteja(intcount){

51 for(inti=0;i<count;i++){ GameObjectpeliObjekti= Object.Instantiate(alkuperainenPrefab)asGameObject; peliobjekti.setactive(false); saatavillaolevatobjektit.push(peliobjekti); } } //Haetaanaltaasta(pinosta)yksiobjekti. //Josallasontyhjä,luodaanyksiobjektilisää publicgameobjecthaeobjektialtaasta() { if(saatavillaolevatobjektit.count==0){ LuoObjekteja(1); returnhaeobjektialtaasta(); } else{ returnsaatavillaolevatobjektit.pop(); } } //Palautetaanobjektialtaaseen. //Disabloidaanobjektijatyönnettäänsetakaisinpinoon publicvoidasetaobjektitakaisinaltaaseen(gameobjectpeliobjekti){ peliobjekti.setactive(false); saatavillaolevatobjektit.push(peliobjekti); } } Dynamic batching Dynamicbatchingelidynaaminenpiirtokomentojen(Drawcall)yhdistäminentarkoittaa sitä,ettädynaamistenpeliobjektienpiirtäminenyhdistetäänyhdenpiirtokomennonalle. Yhdistääkseenobjektitniidentäytyytäyttäätarvitutkriteerit.Yhdistettävienobjektien kuuluukäyttääsamaamateriaaliajaverteksiattribuuttienmääräpitääollaalle900. Tekstuuriatlasoinninavullasaadaaneriobjektitkäyttämäänsamaamateriaalia,mutta verteksiattribuuttienpitäminenalhaisenavaatiisuurempiaratkaisuja. TankHogsiatehdessäsuurinongelmaolisaadatankkienverteksiattribuutitalhaiseksi. Tankeistapoistettiinhyvinpaljongeometriaa,kutentankkienpohjat,tykinpohjatsekä ylipäänsämallejajouduttiinyksinkertaistamaan.tämänlisäksitankitkoostettiinuseamc masta3dcverkosta,jotkakoostettiinyhteenisompaan. Toteutetussapelissäkaikkitankit,kerättävätkolikotjarakennuksetmenevätkeskenään muutamaanpiirtokomentoon.kuviossa17näkyytestiscene,jossapiirtokomentojen määräätestattiin.

52 49 Kuvio17.Piirtokomentojentestaamiseenluotutestiscene Static batching StaticbatchingelistaattinenpiirtokomentojenyhdistäminenonUnityntarjoamatoinen tapa,jollapystyyvähentämäänpiirtokomentojenmäärää.setoimiilähessamallatavalla kuindynamicbatching,muttasilläerolla,ettästaattisestiyhdistetytobjektiteivätsaa liikkuascenessäjaniissäeiolerajoitustaverteksimäärille.jottaobjektivoistaattisesti yhdistyä,sepitääerikseenmerkitäunityceditorissastaattiseksijasenpitääjaksaasama materiaalimuidenkanssa. TankHogsiatehdessästaticbatchingiakäytettiintaustaelementteihinsekätaistelualuC eenrakennuksiinjakiviin Tekstuurien pakkaus MobiililaitteilletehdessätekstuurejaonkäytännössäpakkopakatavähäisenmuistintaC kia.pakkaamattomattekstuuritkuluttavatpaljonmuistia,jokavoijohtaasiihen,ettäpeli taijopaitselaitevoikaatuapelinollessakäynnissä.iosclaitteetkäyttävättekstuuriforc maattinaanpvrtccformaattia.kyseinenformaattimahdollistaatekstuurinpakkauksen jokokahdellataineljälläbitilläperpikseli.esimerkiksikäyttöliittymäntekstuuriatlaksen kokopakkaamattomanaon64mbjapvrtccformaattiinpakattuna8mb.

!!!!!!!!!!!!! Perehdyttämisen!kehittämistarpeet!pereh1 dyttämisestä!vastaavien!näkökulmasta!! Case:!Keski1Suomen!sairaanhoitopiiri!!!!

!!!!!!!!!!!!! Perehdyttämisen!kehittämistarpeet!pereh1 dyttämisestä!vastaavien!näkökulmasta!! Case:!Keski1Suomen!sairaanhoitopiiri!!!! Perehdyttämisenkehittämistarpeetpereh1 dyttämisestävastaaviennäkökulmasta Case:Keski1Suomensairaanhoitopiiri HannaParviainen Opinnäytetyö Huhtikuu2013 Liiketaloudenkoulutusohjelma Yhteiskuntatieteiden,liiketaloudenjahallinnonala

Lisätiedot

!!!!!!!!!!!!!!! KOTISIVUJEN!UUDISTAMINEN!JA!PROJEKTI1 TOIMINTA!!! Case:!Virtain!kaupunki!!!! Aija!Ylä1Soininmäki!!!!!! Opinnäytetyö!

!!!!!!!!!!!!!!! KOTISIVUJEN!UUDISTAMINEN!JA!PROJEKTI1 TOIMINTA!!! Case:!Virtain!kaupunki!!!! Aija!Ylä1Soininmäki!!!!!! Opinnäytetyö! KOTISIVUJENUUDISTAMINENJAPROJEKTI1 TOIMINTA Case:Virtainkaupunki AijaYlä1Soininmäki Opinnäytetyö Huhtikuu2014 Tietojenkäsittelynkoulutusohjelma Luonnontieteidenala KUVAILULEHTI* Tekijä(t) YLÄ.SOININMÄKI,Aija

Lisätiedot

Maaseutumatkailuyritysten.kestävyyden. markkinointi.valokuvin..

Maaseutumatkailuyritysten.kestävyyden. markkinointi.valokuvin.. Maaseutumatkailuyritysten.kestävyyden. markkinointi.valokuvin.. SannaKastikainen Opinnäytetyö Huhtikuu2015 Matkailunkoulutusohjelma Matkailu

Lisätiedot

Heini Honkalatva & Elina Torro SRE9. Lokakuu Opinnäytetyö Kuntoutusohjaus ja suunnittelu Sosiaali, terveys ja liikunta ala

Heini Honkalatva & Elina Torro SRE9. Lokakuu Opinnäytetyö Kuntoutusohjaus ja suunnittelu Sosiaali, terveys ja liikunta ala Kaikkienpitäälähteäsieltäkolostaantoisten joukkoonkuuntelemaan... OmaishoitajienkuntoutuskurssilleosallistuneidenkokemuksiaOmakunto kurssista HeiniHonkalatva&ElinaTorro SRE9 Lokakuu2011 Opinnäytetyö Kuntoutusohjausja

Lisätiedot

!!!!!!!!!!!! MUOTOILIJOIDEN!TEKIJÄNOIKEUDET!! SOPIMUKSISSA!JA!TOIMEKSIANNOISSA!!!!!! Josette!Nurminen!!!! Opinnäytetyö! Helmikuu!2014!!!

!!!!!!!!!!!! MUOTOILIJOIDEN!TEKIJÄNOIKEUDET!! SOPIMUKSISSA!JA!TOIMEKSIANNOISSA!!!!!! Josette!Nurminen!!!! Opinnäytetyö! Helmikuu!2014!!! MUOTOILIJOIDENTEKIJÄNOIKEUDET SOPIMUKSISSAJATOIMEKSIANNOISSA JosetteNurminen Opinnäytetyö Helmikuu2014 Liiketaloudenkoulutusohjelma Yhteiskuntatieteiden,liiketaloudenjahallinnonala KUVAILULEHTI* Tekijä(t)

Lisätiedot

!!! Uuden!ajan!arvontuotanto!!

!!! Uuden!ajan!arvontuotanto!! Uudenajanarvontuotanto Kuinkaverkostomainenorganisaatiotuottaaarvoa VenlaLuhtanen Opinnäytetyö Marraskuu2017 Yhteiskuntatieteiden,Liiketaloudenjahallinnonala Tradenomi(AMK),LiiketaloudentutkintoDohjelma

Lisätiedot

Julkaisun!laji!! Opinnäytetyö! Sivumäärä!! 39!

Julkaisun!laji!! Opinnäytetyö! Sivumäärä!! 39! MAINOSALANVERKKOSIVUSTONERITYIS0 PIIRTEETJANIIDENTOTEUTTAMINEN HeikkiAla0Nikkola Opinnäytetyö Toukokuu2013 Mediatekniikankoulutusohjelma Tekniikanjaliikenteenala Tekijä(t) ALA0NIKKOLAHeikki Julkaisunlaji

Lisätiedot

Perinteet'kunniaan' '

Perinteet'kunniaan' ' Perinteet'kunniaan' ' Suomalaisenviulunsoittotradition mahdollisuudetsaksofoni3ilmaisussa KalleKeränen Opinnäytetyö Toukokuu2015 Musiikinkoulutusohjelma Hyvinvointiyksikkö Kuvailulehti* Tekijä Keränen,Kalle

Lisätiedot

MIEHET TAVARATALON ASIAKKAINA

MIEHET TAVARATALON ASIAKKAINA MIEHETTAVARATALONASIAKKAINA AnttilaOy:nvalikoimankehittäminen HeliHeikkinen Opinnäytetyö Huhtikuu2011 Vaatetusalankoulutusohjelma Kulttuuriala OPINNÄYTETYÖN KUVAILULEHTI Julkaisunlaji Opinnäytetyö Päivämäärä

Lisätiedot

DIGITAL DISTRIBUTION OF RECORDED MUSIC IN FINLAND

DIGITAL DISTRIBUTION OF RECORDED MUSIC IN FINLAND DIGITALDISTRIBUTIONOFRECORDEDMUSIC INFINLAND Ananalysisofservicesfromaconsumerandindustry perspective AnttiMoilanen Bachelor'sThesis January2011 DegreeProgrammeinMusicManagement SchoolofBusinessandServiceManagement

Lisätiedot

!!! Peurungan!yritysasiakkaiden!! asiakaskokemukset!

!!! Peurungan!yritysasiakkaiden!! asiakaskokemukset! Peurunganyritysasiakkaiden asiakaskokemukset EssiKinnunen SamuliLehto Opinnäytetyö Syyskuu2017 Liiketaloudentutkinto

Lisätiedot

!!!!!!!!!!!!!! PIKAOPAS!RAHAN!TEKEMISEEN!!! Opas!verkkokaupan!markkinoinnin!tuloksekkaa< seen!suunnitteluun!ja!toteutukseen!!! Antti!Sirviö!

!!!!!!!!!!!!!! PIKAOPAS!RAHAN!TEKEMISEEN!!! Opas!verkkokaupan!markkinoinnin!tuloksekkaa< seen!suunnitteluun!ja!toteutukseen!!! Antti!Sirviö! PIKAOPASRAHANTEKEMISEEN Opasverkkokaupanmarkkinoinnintuloksekkaa< seensuunnitteluunjatoteutukseen AnttiSirviö JussiKämäräinen Opinnäytetyö Joulukuu2013 Yritystoiminnankehittämisenkoulutusohjelma Liiketalous

Lisätiedot

Hotelli(!ja!ravintola(alan!! kalustehankintoihin!vaikuttavat!tekijät!

Hotelli(!ja!ravintola(alan!! kalustehankintoihin!vaikuttavat!tekijät! Hotelli(jaravintola(alan kalustehankintoihinvaikuttavattekijät HölttäIiro PohtolaSamuli Opinnäytetyö Marraskuu2016 Yhteiskuntatieteiden,liiketalouden(jahallinnonala Yritystoiminnankehittämisenkoulutusohjelma

Lisätiedot

Sosiaalisen!median!markkinointi!

Sosiaalisen!median!markkinointi! Sosiaalisenmedianmarkkinointi Case:RavintolaLeQulkuri AstaAaltola SiljaHeinikangas Opinnäytetyö Helmikuu2017 Matkailu

Lisätiedot

Alle$kouluikäisen$(1.7$v)$lapsen$nilkan$ ja$jalkaterän$virheasennot$

Alle$kouluikäisen$(1.7$v)$lapsen$nilkan$ ja$jalkaterän$virheasennot$ Alle$kouluikäisen$(1.7$v)$lapsen$nilkan$ ja$jalkaterän$virheasennot$ Opas$kotiharjoitteluun$ ReetaRantanen Opinnäytetyö Marraskuu2015 Sosiaali9,terveys9,jaliikunta9ala Fysioterapeutti(AMK) Kuvailulehti*

Lisätiedot

RAI toimintaterapeutin työvälineenä tarkastelussa Kotihoidon RAI

RAI toimintaterapeutin työvälineenä tarkastelussa Kotihoidon RAI RAI toimintaterapeutin työvälineenä tarkastelussa Kotihoidon RAI Outi Ronkainen Opinnäytetyö Toukokuu 2012 Toimintaterapian koulutusohjelma Sosiaali-, terveys- ja liikunta-ala !!!! OPINNÄYTETYÖN!!!! KUVAILULEHTI!!

Lisätiedot

Avokuntoutuksen*sopeutumis.* valmennuskurssin*sisällön** kehittäminen*syöpäjärjestöille*

Avokuntoutuksen*sopeutumis.* valmennuskurssin*sisällön** kehittäminen*syöpäjärjestöille* Avokuntoutuksen*sopeutumis.* valmennuskurssin*sisällön** kehittäminen*syöpäjärjestöille* MinnaPuoliväli Opinnäytetyö Maaliskuu2016 Sosiaali9,terveys9jaliikunta9ala Kuntoutuksenohjaaja(AMK),kuntoutusohjauksenja9suunnittelunkoulu9

Lisätiedot

UUDEN%TYÖNTEKIJÄN%% PEREHDYTTÄMINEN%% ASIAKASPALVELIJAKSI% Case:%Cubus%Willa%Hyvinkää%

UUDEN%TYÖNTEKIJÄN%% PEREHDYTTÄMINEN%% ASIAKASPALVELIJAKSI% Case:%Cubus%Willa%Hyvinkää% UUDENTYÖNTEKIJÄN PEREHDYTTÄMINEN ASIAKASPALVELIJAKSI Case:CubusWillaHyvinkää LAHDENAMMATTIKORKEAKOULU Liiketaloudenjamatkailunala Liiketaloudenkoulutus Palveluliiketoiminta Opinnäytetyö Kevät2018 NeaTervo

Lisätiedot

SÄDEHOITOPOTILAAN!! RAVITSEMUSOPAS!

SÄDEHOITOPOTILAAN!! RAVITSEMUSOPAS! SÄDEHOITOPOTILAAN RAVITSEMUSOPAS OPINNÄYTETYÖ " AMMATTIKORKEAKOULUTUTKINTO SOSIAALI4,TERVEYS4JALIIKUNTA4ALA TEKIJÄT: MirkaLötjönen SonjaMoberg ElinaTorvi SAVONIA4AMMATTIKORKEAKOULU OPINNÄYTETYÖ Tiivistelmä

Lisätiedot

Kuvailulehti. Korkotuki, kannattavuus. Päivämäärä 03.08.2015. Tekijä(t) Rautiainen, Joonas. Julkaisun laji Opinnäytetyö. Julkaisun kieli Suomi

Kuvailulehti. Korkotuki, kannattavuus. Päivämäärä 03.08.2015. Tekijä(t) Rautiainen, Joonas. Julkaisun laji Opinnäytetyö. Julkaisun kieli Suomi Kuvailulehti Tekijä(t) Rautiainen, Joonas Työn nimi Korkotuetun vuokratalon kannattavuus Ammattilaisten mietteitä Julkaisun laji Opinnäytetyö Sivumäärä 52 Päivämäärä 03.08.2015 Julkaisun kieli Suomi Verkkojulkaisulupa

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

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

Lisätiedot

Ammatillinen opettajakorkeakoulu

Ammatillinen opettajakorkeakoulu - Ammatillinen opettajakorkeakoulu 2 JYVÄSKYLÄN KUVAILULEHTI AMMATTIKORKEAKOULU Päivämäärä 762007 Tekijä(t) Merja Hilpinen Julkaisun laji Kehittämishankeraportti Sivumäärä 65 Julkaisun kieli Suomi Luottamuksellisuus

Lisätiedot

Hiustyyligeneraattori Unitypelimoottorilla

Hiustyyligeneraattori Unitypelimoottorilla Hiustyyligeneraattori Unitypelimoottorilla LAHDEN AMMATTIKORKEAKOULU Tekniikan ala Tietotekniikka Ohjelmistotekniikka Opinnäytetyö Kevät 2017 Teemu Hämäläinen Lahden ammattikorkeakoulu Tietotekniikka HÄMÄLÄINEN,

Lisätiedot

SOVELLUSKEHYKSEN KEHITTÄMINEN UNITY-PELIMOOTTORILLE

SOVELLUSKEHYKSEN KEHITTÄMINEN UNITY-PELIMOOTTORILLE SOVELLUSKEHYKSEN KEHITTÄMINEN UNITY-PELIMOOTTORILLE Miikka Kivelä Opinnäytetyö Joulukuu 2015 Tietojenkäsittely Ohjelmistotuotanto TIIVISTELMÄ Tampereen ammattikorkeakoulu Tietojenkäsittely Ohjelmistotuotanto

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Ohjelmistotekniikka. Mika Uurainen UNITY MOBIILIPELIEN KEHITYKSESSÄ

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Ohjelmistotekniikka. Mika Uurainen UNITY MOBIILIPELIEN KEHITYKSESSÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Ohjelmistotekniikka Mika Uurainen UNITY MOBIILIPELIEN KEHITYKSESSÄ Opinnäytetyö 2013 TIIVISTELMÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka Uurainen

Lisätiedot

Geologian tutkimuskeskus M06/3821/-97/1/10 Inari, Angeli. Antero Karvinen Rovaniemi

Geologian tutkimuskeskus M06/3821/-97/1/10 Inari, Angeli. Antero Karvinen Rovaniemi Geologian tutkimuskeskus Inari, Angeli Rovaniemi 17.12.1997 Kaoliinitutkimukset Inarin kunnassa Angelin ympäristössä Jalkavaara 1 ja 2 nimisillä valtausalueilla kaivosrekisterinumero 5622/1 ja 2 Tutkimukset

Lisätiedot

Mobiilipelin kehitys Unity-ympäristössä

Mobiilipelin kehitys Unity-ympäristössä Reino Nikki Mobiilipelin kehitys Unity-ympäristössä Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Insinöörityö 2.12.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Reino Nikki Mobiilipelin

Lisätiedot

Tietokoneen, tabletin ja älypuhelimien hankinta. Seniorit nettiin syksy 2019 Raimo Anttila, Jukka Hanhinen, Tuulikki Paturi

Tietokoneen, tabletin ja älypuhelimien hankinta. Seniorit nettiin syksy 2019 Raimo Anttila, Jukka Hanhinen, Tuulikki Paturi Tietokoneen, tabletin ja älypuhelimien hankinta Seniorit nettiin syksy 2019 Raimo Anttila, Jukka Hanhinen, Tuulikki Paturi Mistä tänään puhutaan? Älypuhelimet Tietokoneet Tabletit VALINTA LÄHTEE TARPEESTA

Lisätiedot

Tietojen tallennusjärjestelmät pelinkehityksessä

Tietojen tallennusjärjestelmät pelinkehityksessä Jouni Peltonen Tietojen tallennusjärjestelmät pelinkehityksessä Metropolia Ammattikorkeakoulu Insinööri (AMK) Tieto- ja viestintätekniikan tutkinto-ohjelma Insinöörityö 20.4.2018 Tiivistelmä Tekijä Otsikko

Lisätiedot

UNITY 5 EDITORIN LAAJENTAMINEN

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

Lisätiedot

PLAY. TP1 Mobiili musiikkikasvatusteknologia MEDIAT Kuvan ja äänen tallentaminen, muokkaaminen ja jakaminen (v1.1)

PLAY. TP1 Mobiili musiikkikasvatusteknologia MEDIAT Kuvan ja äänen tallentaminen, muokkaaminen ja jakaminen (v1.1) PLAY TP1 Mobiili musiikkikasvatusteknologia MEDIAT Kuvan ja äänen tallentaminen, muokkaaminen ja jakaminen 4.2.2016 (v1.1), projektipäällikkö Sisältö Kuvan ja äänen tallentaminen, muokkaaminen ja jakaminen

Lisätiedot

Ali Shadkami GREEN PUZZLE CITY: IOS MOBIILIPELI

Ali Shadkami GREEN PUZZLE CITY: IOS MOBIILIPELI Ali Shadkami GREEN PUZZLE CITY: IOS MOBIILIPELI Tekniikka 2017 VAASAN AMMATTIKORKEAKOULU Tietotekniikka TIIVISTELMÄ Tekijä Ali Shadkami Opinnäytetyön nimi Green Puzzle City : ios Mobiilipeli Vuosi 2017

Lisätiedot

UNITY IPAD-PELIKEHITYKSESSÄ

UNITY IPAD-PELIKEHITYKSESSÄ UNITY IPAD-PELIKEHITYKSESSÄ Essi Suurkuukka Opinnäytetyö Joulukuu 2012 Tietojenkäsittelyn koulutusohjelma Digimedia TIIVISTELMÄ Tampereen ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Digimedia

Lisätiedot

MUSEOT KULTTUURIPALVELUINA

MUSEOT KULTTUURIPALVELUINA Elina Arola MUSEOT KULTTUURIPALVELUINA Tutkimuskohteena Mikkelin museot Opinnäytetyö Kulttuuripalvelujen koulutusohjelma Marraskuu 2005 KUVAILULEHTI Opinnäytetyön päivämäärä 25.11.2005 Tekijä(t) Elina

Lisätiedot

Älypuhelimet. Sisällysluettelo

Älypuhelimet. Sisällysluettelo Älypuhelimet Jussi Huhtala Sisällysluettelo Älypuhelimen määritelmä Historia Laitteistoarkkitehtuuri Käyttöjörjestelmät Android Symbian ios Yhteenveto 1 Älypuhelin Puhelin joka sisältää normaalit puhelimen

Lisätiedot

PELINKEHITYS UNITY-PELIMOOTTORILLA WINDOWS PHONE -LAITTEILLE

PELINKEHITYS UNITY-PELIMOOTTORILLA WINDOWS PHONE -LAITTEILLE PELINKEHITYS UNITY-PELIMOOTTORILLA WINDOWS PHONE -LAITTEILLE Ammattikorkeakoulun opinnäytetyö Tietojenkäsittelyn koulutusohjelma Visamäki, syksy 2014 Markus Uotila TIIVISTELMÄ VISAMÄKI Tietojenkäsittelyn

Lisätiedot

Pikaopas: ReSound LiNX- kuulokojeen käyttäminen iphone puhelimen avulla

Pikaopas: ReSound LiNX- kuulokojeen käyttäminen iphone puhelimen avulla Pikaopas: ReSound LiNXkuulokojeen käyttäminen iphone puhelimen avulla Pikaopas: Made for iphone (MFi) -toiminnon ottaminen käyttöön ja käyttäminen Yhteensopivat laitteet ReSound LiNX on yhteensopiva MFi-toiminnon

Lisätiedot

Samuli Jylhä MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ

Samuli Jylhä MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ Samuli Jylhä MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ Samuli Jylhä Opinnäytetyö Kevät 2018 Tietotekniikan tutkinto-ohjelma

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU. Tietotekniikka / Ohjelmistotekniikka. Teppo Ristola PELI APPLEN KOSKETUSNÄYTTÖLAITTEILLE

KYMENLAAKSON AMMATTIKORKEAKOULU. Tietotekniikka / Ohjelmistotekniikka. Teppo Ristola PELI APPLEN KOSKETUSNÄYTTÖLAITTEILLE KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Ohjelmistotekniikka Teppo Ristola PELI APPLEN KOSKETUSNÄYTTÖLAITTEILLE 2014 TIIVISTELMÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka RISTOLA, TEPPO Opinnäytetyö

Lisätiedot

Mobiilipelin tekninen suunnittelu ja toteutus Unity-pelimoottorilla. Case: Royal Crow Squadron

Mobiilipelin tekninen suunnittelu ja toteutus Unity-pelimoottorilla. Case: Royal Crow Squadron Mobiilipelin tekninen suunnittelu ja toteutus Unity-pelimoottorilla Case: Royal Crow Squadron Juho Tervo Opinnäytetyö Toukokuu 2014 Tietojenkäsittely Ohjelmistotuotanto TIIVISTELMÄ Tampereen ammattikorkeakoulu

Lisätiedot

Mobiilipelin toteuttaminen Unity 2D:llä

Mobiilipelin toteuttaminen Unity 2D:llä Mobiilipelin toteuttaminen Unity 2D:llä Ammattikorkeakoulututkinnon opinnäytetyö Hämeen ammattikorkeakoulu, Tietojenkäsittelyn koulutusohjelma Hämeenlinna, kevät 2017 Miklas Hakkarainen TIIVISTELMÄ Tietojenkäsittelyn

Lisätiedot

Qt kaikkialla? 9.4.2010

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++

Lisätiedot

KANSILEHDEN MALLISIVU

KANSILEHDEN MALLISIVU Teknisiä ohjeita pro gradu -tutkielmalle Teologian osasto 12.11.2013 Tässä annettavat ohjeet ovat suosituksia. Viime kädessä seurataan tutkielman ohjaajan antamia ohjeita! Tutkielman kansilehdelle asetellaan

Lisätiedot

MonoGame- ja Unity-ympäristöjen vertailu pelinkehityksessä

MonoGame- ja Unity-ympäristöjen vertailu pelinkehityksessä Rami Pasanen MonoGame- ja Unity-ympäristöjen vertailu pelinkehityksessä Tietotekniikan kandidaatintutkielma 29. kesäkuuta 2017 Jyväskylän yliopisto Tietotekniikka Tekijä: Rami Pasanen Yhteystiedot: ramipasa@student.jyu.fi

Lisätiedot

Mobiilipelin suunnittelu, toteutus ja testaus Unity3D-pelimoottorilla

Mobiilipelin suunnittelu, toteutus ja testaus Unity3D-pelimoottorilla Joni Uusimäki Mobiilipelin suunnittelu, toteutus ja testaus Unity3D-pelimoottorilla Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Insinöörityö 8.11.2015 Tiivistelmä Tekijä(t) Otsikko Sivumäärä

Lisätiedot

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

Lisätiedot

MOBIILIPELIN TOTEUTTAMINEN UNITY- PELIMOOTTORILLA: CAST INTO HELL

MOBIILIPELIN TOTEUTTAMINEN UNITY- PELIMOOTTORILLA: CAST INTO HELL MOBIILIPELIN TOTEUTTAMINEN UNITY- PELIMOOTTORILLA: CAST INTO HELL Jari Mäkelä Opinnäytetyö Toukokuu 2016 Tietojenkäsittelyn koulutusohjelma Ohjelmistotuotanto TIIVISTELMÄ Tampereen ammattikorkeakoulu Tietojenkäsittelyn

Lisätiedot

CTRL+F Android-sovellus

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

Lisätiedot

Huom! Tunnuksesi pitää olla aktivoitu ennen tilin luomista ja sen yhteydessä näet sähköpostiosoitteesi tarkan muodon.

Huom! Tunnuksesi pitää olla aktivoitu ennen tilin luomista ja sen yhteydessä näet sähköpostiosoitteesi tarkan muodon. Mobiililaitteet ja TUNI-Office 365 asetukset Jotta voisit käyttää jatkossa käyttää TUNI-sähköpostiin vastaa liittyviä palveluja (Sähköposti, kalenteri, osoitekirja) tulee sinun määrittää TUNI-tunnus puhelimesi

Lisätiedot

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja:

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja: AirPrint-opas Tämä käyttöopas koskee seuraavia malleja: HL-340CW/350CDN/350CDW/370CDW/380CDW DCP-905CDW/900CDN/900CDW MFC-930CW/940CDN/9330CDW/9340CDW Versio A FIN Kuvakkeiden selitykset Tässä käyttöoppaassa

Lisätiedot

PERINTEEN!TUNNISTETTAVUUS!! TIERNAPOIKA4ESITYKSEN!! PUVUSTUKSESSA!

PERINTEEN!TUNNISTETTAVUUS!! TIERNAPOIKA4ESITYKSEN!! PUVUSTUKSESSA! SofiaKouvo PERINTEENTUNNISTETTAVUUS TIERNAPOIKA4ESITYKSEN PUVUSTUKSESSA Opinnäytetyö Muotoilu Huhtikuu2016 Tekijä/Tekijät) Tutkinto) Aika) SofiaKouvo Muotoilu Huhtikuu2016 Opinnäytetyön)nimi 55sivua PerinteentunnistettavuusTiernapoika4esityksen

Lisätiedot

Uhkavaara-pelin toteuttaminen

Uhkavaara-pelin toteuttaminen Joni Jokinen Uhkavaara-pelin toteuttaminen Opinnäytetyö Tietotekniikan koulutusohjelma Toukokuu 2016 Tekijä/Tekijät Tutkinto Aika Joni Jokinen Tietotekniikka/ Toukokuu 2016 Peliohjelmointi Opinnäytetyön

Lisätiedot

Lifesize-sovelluksen taulukko

Lifesize-sovelluksen taulukko Lifesize-sovelluksen taulukko Soittosuunnitelmat Tuki sekä suorasoitto että tapaamiskutsu tyyppisille soittosuunnitelmille Voit soittaa suoraan kenelle tahansa käyttäjälle tai mihin tahansa videojärjestelmään

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / ohjelmistotekniikka. Sami Husso 2D-PELIOHJELMOINTI UNITYÄ KÄYTTÄEN

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / ohjelmistotekniikka. Sami Husso 2D-PELIOHJELMOINTI UNITYÄ KÄYTTÄEN KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / ohjelmistotekniikka Sami Husso 2D-PELIOHJELMOINTI UNITYÄ KÄYTTÄEN Opinnäytetyö 2013 TIIVISTELMÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka HUSSO, SAMI

Lisätiedot

AirPrint-opas DCP-J562DW MFC-J480DW MFC-J680DW MFC-J880DW

AirPrint-opas DCP-J562DW MFC-J480DW MFC-J680DW MFC-J880DW AirPrint-opas DCP-J562DW MFC-J480DW MFC-J680DW MFC-J880DW Ennen Brother-laitteen käyttöä Kuvakkeiden selitykset Tavaramerkit Tärkeä huomautus Kuvakkeiden selitykset Koko tässä Käyttöoppaassa käytetään

Lisätiedot

BiiSafe Buddy Ohje. (C) Copyright 2017

BiiSafe Buddy Ohje. (C) Copyright 2017 1 BiiSafe Buddy Ohje Ohje 2 Tämä ohje kertoo, kuinka otat BiiSafe Buddyn käyttöösi, sekä kuvaa erilaisia käyttötapoja ja tuotteen ominaisuuksia. Varmista, että sinulla on: 1. BiiSafe Buddy -laite 2. Mobiililaite

Lisätiedot

Laurea-ammattikorkeakoulu. CRM-järjestelmäratkaisun toteutus - Case Firma

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

Lisätiedot

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/ 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...

Lisätiedot

Malli: E880i. Omistajan käyttöohje SUOMI

Malli: E880i. Omistajan käyttöohje SUOMI Malli: E880i Omistajan käyttöohje SUOMI IV-A Main frame IV-B Central supporting tube IV-C Front tube IV-E Side handle bar IV-F Front handle bar (IV-E1) Left side (IV-E2) Right side IV-D Rear tube IV-G

Lisätiedot

Justus Pousi. Unity-moninpeli HLAPI-rajapinnalla

Justus Pousi. Unity-moninpeli HLAPI-rajapinnalla Justus Pousi Unity-moninpeli HLAPI-rajapinnalla Unity-moninpeli HLAPI-rajapinnalla Justus Pousi Opinnäytetyö Syksy 2016 Tietojenkäsittelyn koulutusohjelma Oulun ammattikorkeakoulu TIIVISTELMÄ Oulun ammattikorkeakoulu

Lisätiedot

Mobiilitulostus-/- skannausopas Brother iprint&scanille (ios)

Mobiilitulostus-/- skannausopas Brother iprint&scanille (ios) Mobiilitulostus-/- skannausopas Brother iprint&scanille (ios) Sisällysluettelo Ennen Brother-laitteen käyttöä... Kuvakkeiden selitykset... Tavaramerkit... Johdanto... Lataa Brother iprint&scan App Storesta...

Lisätiedot

Verkkopelimaailman generointi Unity 2D:llä

Verkkopelimaailman generointi Unity 2D:llä Verkkopelimaailman generointi Unity 2D:llä Ammattikorkeakoulun opinnäytetyö Tietojenkäsittelyn koulutusohjelma Hämeenlinna, kevät 2017 Juho Puoliväli TIIVISTELMÄ Tietojenkäsittelyn koulutusohjelma Visamäki,

Lisätiedot

MALLIN RENDERÖINTI KUVAKSI TAI VIDEOKSI SOLIDWORKS 2012 VERSIOLLA

MALLIN RENDERÖINTI KUVAKSI TAI VIDEOKSI SOLIDWORKS 2012 VERSIOLLA MALLIN RENDERÖINTI KUVAKSI TAI VIDEOKSI SOLIDWORKS 2012 VERSIOLLA TÄSSÄ OHJEESSA KÄSITELLÄÄN: MALLIN RENDERÖINTI KUVAKSI PHOTOVIEW 360 -OHJELMALLA MALLIN ANIMAATION RENDERÖINTI VIDEOKSI KÄYTTÄMÄLLÄ PHOTOVIEW

Lisätiedot

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.

Lisätiedot

Luxomat IR-RC sovitin Pika-ohje Niclas Nylund

Luxomat IR-RC sovitin Pika-ohje Niclas Nylund Luxomat IR-RC sovitin Pika-ohje Niclas Nylund 6.8.2018 Sisällysluettelo Yleistä IR-RC sovittimesta IR-RC sovittimen ottaminen käyttöön ja ohjelmiston asennus älypuhelimeen PD2-M-1C (on/off) ja PD4-M-1C

Lisätiedot

Ohjelmistotekniikan laboratorio plab

Ohjelmistotekniikan laboratorio plab Tekniikka TKI Rovaniemi Ohjelmistotekniikan laboratorio plab Toiminta Virtuaalitodellisuuden ohjelmointilaboratorio plab EAKR projekti aloitettiin vuonna 1999 ja laboratorio avattiin vuonna 2003 Ryhmän

Lisätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_205/ . Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

Janne Aikioniemi MOBIILIPELIN ESITTELYVERSION SUUNNITTELU JA TOTEU- TUS HAMSTERSCAPE-PELISARJAAN

Janne Aikioniemi MOBIILIPELIN ESITTELYVERSION SUUNNITTELU JA TOTEU- TUS HAMSTERSCAPE-PELISARJAAN Janne Aikioniemi MOBIILIPELIN ESITTELYVERSION SUUNNITTELU JA TOTEU- TUS HAMSTERSCAPE-PELISARJAAN MOBIILIPELIN ESITTELYVERSION SUUNNITTELU JA TOTEU- TUS HAMSTERSCAPE-PELISARJAAN Janne Aikioniemi Opinnäytetyö

Lisätiedot

Ota kaikki irti Oticon-kuulokojeistasi

Ota kaikki irti Oticon-kuulokojeistasi Ota kaikki irti Oticon-kuulokojeistasi YHTEYKSIEN LUONTIIN Viihtyisää seuraa Oticon ConnectLine auttaa sinua saamaan kaiken irti Oticon-kuulokojeistasi. ConnectLine helpottaa vuorovaikutusta ja lisää viihtymistäsi

Lisätiedot

Joona Leskinen SUMMER SPORTS -MOBIILIPELI

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

Lisätiedot

Q Hinnasto. iphone huoltohinnasto alv. 24%

Q Hinnasto. iphone huoltohinnasto alv. 24% Q2-2019 Hinnasto iphone huoltohinnasto alv. 24% iphone 5 / 5S / 5C Laitteen vaihto korvaavaan laitteeseen 299,00 iphone SE Laitteen vaihto korvaavaan laitteeseen 349,00 iphone 6 Laitteen vaihto korvaavaan

Lisätiedot

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja: DCP-J132W/J152W/J172W/J552DW/J752DW, MFC-J285DW/ J450DW/J470DW/J475DW/J650DW/J870DW/J875DW

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja: DCP-J132W/J152W/J172W/J552DW/J752DW, MFC-J285DW/ J450DW/J470DW/J475DW/J650DW/J870DW/J875DW AirPrint-opas Tämä käyttöopas koskee seuraavia malleja: DCP-J3W/J5W/J7W/J55DW/J75DW, MFC-J85DW/ J450DW/J470DW/J475DW/J650DW/J870DW/J875DW Versio 0 FIN Kuvakkeiden selitykset Tässä käyttöoppaassa käytetään

Lisätiedot

Novell Messenger 3.0.1 Mobile -aloitusopas

Novell Messenger 3.0.1 Mobile -aloitusopas Novell Messenger 3.0.1 Mobile -aloitusopas toukokuu 2015 Novell Messenger 3.0.1 ja uudemmat versiot ovat saatavilla tuetuille ios-, Android- BlackBerry-mobiililaitteille. Koska voit olla kirjautuneena

Lisätiedot

HSY:N!KIVIKON!JÄTEPALVELUKES: KUKSEN!TOIMISTOHOTELLIN!MONITI: LATOIMISTO!

HSY:N!KIVIKON!JÄTEPALVELUKES: KUKSEN!TOIMISTOHOTELLIN!MONITI: LATOIMISTO! PiritaKeisu HSY:NKIVIKONJÄTEPALVELUKES: KUKSENTOIMISTOHOTELLINMONITI: LATOIMISTO Opinnäytetyö Muotoilunkoulutusohjelma Sisustusarkkitehtuurijakalustemuotoilu 2017 Tekijä' Tutkinto' Aika' PiritaKeisu Muotoilija

Lisätiedot

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje ETÄPALVELU HALTIK Videoportaali - osallistujan ohje 19.5.2015 Laitevaatimukset Tietokoneessa tulee olla asennettuna: Web-kamera Mikrofoni ja kaiuttimet tai kuulokkeet Tietokoneen internet selaimen tulee

Lisätiedot

Matti Lintilä MOBIILIPELIN KÄYTTÖLIITTYMÄN SUUNNITTELU

Matti Lintilä MOBIILIPELIN KÄYTTÖLIITTYMÄN SUUNNITTELU Matti Lintilä MOBIILIPELIN KÄYTTÖLIITTYMÄN SUUNNITTELU MOBIILIPELIN KÄYTTÖLIITTYMÄN SUUNNITTELU Matti Lintilä Mobiilipelin käyttöliittymän suunnittelu Syksy 2016 Tietojenkäsittelyn koulutusohjelma Oulun

Lisätiedot

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

Lisätiedot

Asemakaavatietojen tiedonsiirron harmonisointi

Asemakaavatietojen tiedonsiirron harmonisointi SUUNNITTELUKESKUS OY Asemakaavatietojen tiedonsiirto 1 (8) Asemakaavatietojen tiedonsiirron harmonisointi KOHDELUETTELO (FEATURE CATALOGUE) KOHTEET Name Asemakaava, kohteet Scope Topographic Field of Asemakaavatietojen

Lisätiedot

Rakennuksen tietomalli peliympäristönä

Rakennuksen tietomalli peliympäristönä Saimaan ammattikorkeakoulu Tekniikka Lappeenranta Tietotekniikka Tietojärjestelmien kehitys Joonas Melanen Rakennuksen tietomalli peliympäristönä Opinnäytetyö 2014 Tiivistelmä Joonas Melanen Rakennuksen

Lisätiedot

OPETTAJA VERKOSSA: Mobiililaitteen peilaaminen videotykille tai televisioon

OPETTAJA VERKOSSA: Mobiililaitteen peilaaminen videotykille tai televisioon OPETTAJA VERKOSSA: Mobiililaitteen peilaaminen videotykille tai televisioon 20.2.2016 Oskari Uotinen #opeverkossa Tallenteet: Tinyurl.com/opeverkossa Tulevien webinaarien rekisteröitymislinkit: Tinyurl.com/opeverkossa2

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

OPAS MOBIILIPELIGRAFIIKAN TOTEUTTAMISEEN UNITY- PELINKEHITYSTYÖKALUN JA IOS- LAITTEIDEN VAATIMUKSET HUOMIOIDEN

OPAS MOBIILIPELIGRAFIIKAN TOTEUTTAMISEEN UNITY- PELINKEHITYSTYÖKALUN JA IOS- LAITTEIDEN VAATIMUKSET HUOMIOIDEN OPAS MOBIILIPELIGRAFIIKAN TOTEUTTAMISEEN UNITY- PELINKEHITYSTYÖKALUN JA IOS- LAITTEIDEN VAATIMUKSET HUOMIOIDEN Juho Pietilä Opinnäytetyö Toukokuu 2012 Tietojenkäsittely Digimedia 2 TIIVISTELMÄ Tampereen

Lisätiedot

Toivota maailman viisain kuulokoje tervetulleeksi

Toivota maailman viisain kuulokoje tervetulleeksi Toivota maailman viisain kuulokoje tervetulleeksi Kuvittele uudenlainen kuulokoje, joka saa kaiken kuulumaan. Kuulet kaiken täysin luonnollisena. Kuvittele, miltä helposti ymmärrettävä puhe kuulostaa.

Lisätiedot

Jypelin käyttöohjeet» Millaisia olioita on olemassa?

Jypelin käyttöohjeet» Millaisia olioita on olemassa? Jypelin käyttöohjeet» Millaisia olioita on olemassa? Tässä on esitelty tarkemmin muutama tärkeä olio pelin tekemisen kannalta. Muitakin olioita on tietysti olemassa. GameObject GameObject on peliolio,

Lisätiedot

BEYOND: Two Souls BEYOND Touch Sovellus

BEYOND: Two Souls BEYOND Touch Sovellus BEYOND: Two Souls BEYOND Touch Sovellus BEYOND Touch -SOVELLUS Jotta saisit kaiken irti BEYOND: Two Souls -pelikokemuksesta, suosittelemme pelaamaan peliä langattomalla DUALSHOCK 3-ohjaimella. Jos kuitenkin

Lisätiedot

1. Ceepos Mobiilimaksu... 3

1. Ceepos Mobiilimaksu... 3 CEEPOS MOBIILIMAKSU 2 1. Ceepos Mobiilimaksu... 3 2. Ceepos Mobiilimaksu -sovelluksen määritykset... 3 2.1. Sovelluksen lataaminen... 3 2.2. Sovelluksen avaaminen... 4 2.2.1. Käyttäjäksi rekisteröityminen...

Lisätiedot

GN Hearing -sovellus - käyttöohje

GN Hearing -sovellus - käyttöohje GN Hearing -sovellus - käyttöohje Johdanto Tämä sovellus tuottaa parempia kuuntelemiselämyksiä ja auttaa hyödyntämään kuulokojeitasi täysimääräisesti. Innovatiivinen ääniteknologiamme ja muotoilu yhdistettynä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

Tietoyhteiskunnan perustaidot. Kesäkuu 2014 Tietoyhteiskunnan perustaidot Kesäkuu 2014 Kurssin järjestäjästä Ohjelmistotuotannon ja Tiedonhallinnan Laitos Tuotantotalouden Tiedekunta Lappeenrannan Teknillinen Yliopisto Tietotekniikan koulutusohjelmasta

Lisätiedot

OPTIMOINTI JA DATAN VISUALISOINTI Case: Sähköpostiverkoston visualisointi

OPTIMOINTI JA DATAN VISUALISOINTI Case: Sähköpostiverkoston visualisointi Toni Kirjalainen OPTIMOINTI JA DATAN VISUALISOINTI Case: Sähköpostiverkoston visualisointi Opinnäytetyö Tietojenkäsittelyn koulutusohjelma Huhtikuu 2017 Tekijä/Tekijät Toni Kirjalainen Tutkinto Tradenomi

Lisätiedot

Mobiilipelin luominen Unity 3D:llä

Mobiilipelin luominen Unity 3D:llä Mobiilipelin luominen Unity 3D:llä Ammattikorkeakoulututkinnon opinnäytetyö Hämeen ammattikorkeakoulu, Tietotekniikka Riihimäki, kevät 2018 Riku Pennanen TIIVISTELMÄ Tietotekniikka Riihimäki Tekijä Riku

Lisätiedot

Liite 1: Käyttöliittymäprototyypin esittely

Liite 1: Käyttöliittymäprototyypin esittely Liite 1: Käyttöliittymäprototyypin esittely Tässä liitteessä esitellään kaikki prototyypistä käyttäjille näytetyt ominaisuudet. Toiminnallisuudet kuvataan tarkemmin luvussa viisi ja ne ovat tässä esittelyjärjestyksessä.

Lisätiedot

Sami Anglé PELINKEHITYS. Demosta julkaisuun

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

Lisätiedot

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin Mittaustietojen SAF-aineistokuvaus kaasudatahubiin Versio 1.0 2 (7) Muutokset Versio Pvm Muutos 0.1 5.3.2019 SAF-aineistokuvaus eriytetty omaksi dokumentiksi 0.2 Lisätty mittaustiedon esimerkkisanomaan

Lisätiedot

Erja Manninen THE LEGEND OF ZELDA -PELI UNITY3D-YMPÄRISTÖSSÄ

Erja Manninen THE LEGEND OF ZELDA -PELI UNITY3D-YMPÄRISTÖSSÄ Erja Manninen THE LEGEND OF ZELDA -PELI UNITY3D-YMPÄRISTÖSSÄ THE LEGEND OF ZELDA -PELI UNITY3D-YMPÄRISTÖSSÄ Erja Manninen Opinnäytetyö Kevät 2013 Tietotekniikan koulutusohjelma Oulun seudun ammattikorkeakoulu

Lisätiedot

AirPrint-opas. Tämä käyttöopas soveltuu seuraaville malleille:

AirPrint-opas. Tämä käyttöopas soveltuu seuraaville malleille: AirPrint-opas Tämä käyttöopas soveltuu seuraaville malleille: HL-L850CDN/L8350CDW/L8350CDWT/L900CDW/L900CDWT/ L9300CDW/L9300CDWT/L9300CDWTT DCP-L8400CDN/L8450CDW MFC-L8600CDW/L8650CDW/L8850CDW/L9550CDW

Lisätiedot

Sovelluksen käyttöohje

Sovelluksen käyttöohje Sovelluksen käyttöohje Johdanto Sovellukset tuottavat parempia kuuntelemiselämyksiä ja auttavat hyödyntämään kuulokojeita täysimääräisesti. Innovatiivinen ääniteknologiamme ja muotoilu yhdistettynä ammattitaitoiseen

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Ohjelmistotekniikka. Elina Salo 3D MALLINNUS PELEIHIN JA MALLIEN KÄYTTÖ UNITY3D:SSÄ

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Ohjelmistotekniikka. Elina Salo 3D MALLINNUS PELEIHIN JA MALLIEN KÄYTTÖ UNITY3D:SSÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Ohjelmistotekniikka Elina Salo 3D MALLINNUS PELEIHIN JA MALLIEN KÄYTTÖ UNITY3D:SSÄ Opinnäytetyö 2015 TIIVISTELMÄ KYMENLAAKSON AMMATTIKORKEAKOULU

Lisätiedot

Action Camera Wi-Fi - Waterproof - Ultra HD

Action Camera Wi-Fi - Waterproof - Ultra HD FI - Käyttöohje Action Camera Wi-Fi - Waterproof - Ultra HD OMINAISUUDET Ylös/Toisto -painike Laukaisin/Valinta -painike Virta/Tila -painike Latauksen tilan osoitinvalo Kaiutin Alas/Wi-Fi -painike Mikrofoni

Lisätiedot