of 33 /33
TINR @ FRI, draft v09, Peter Peer ++ 97 Poglavje #6 (meniji in zvok) (Bojan Klemenc++) Aktualne škatlice: infrastruktura o meniji shranjevanje (dodatek k poglavju 4) zvok o 2D zvok o 3D zvok o glasba 1. Meniji Vmesnik Vmesnik je mreža komponent, ki omogočajo igralcu interakcijo z igro:

TINR Skripta Predavanj 6

Embed Size (px)

DESCRIPTION

games

Text of TINR Skripta Predavanj 6

  • [email protected],draftv09,PeterPeer++ 97

    Poglavje#6(menijiinzvok)

    (BojanKlemenc++)

    Aktualnekatlice:

    infrastrukturao meniji

    shranjevanje(dodatekkpoglavju4) zvok

    o 2Dzvoko 3Dzvoko glasba

    1.Meniji

    Vmesnik

    Vmesnikjemreakomponent,kiomogoajoigralcuinterakcijozigro:

  • [email protected],draftv09,PeterPeer++ 98

    Samvmesniksicerigrenemorenareditidobre,vendarslabvmesniklahkohitroodvrneigralce,dabiponovnoposegliponjej.

    Grafiniuporabnikivmesnik(GUI,angl.graphicaluserinterface)

    Naini,kakolahkouporabnikisodelujejo(interakcija)zraunalniki,pridobivajoinformacijein,dalahkoteinformacijekoristnoinuinkovitouporabijo,soedenglavnihelementovvrazvojuprogramskeopreme.Uporabnikivmesnik(UI,angl.userinterface)jeglavnavezmedraunalnikom(inprogramom)teruporabnikom.Grafinivmesniki(predvsemvprimerjaviztekstovnimiukaznimivrsticamiCLI,angl.commandlineinterface)omogoajokomunikacijoinnadziranjeraunalnikaprekografinihelementov(vizualniindikatorji,ikone).Grafineelementeneposrednomanipuliramoinrezultatisenampravtakoprikaejoneposrednoprekografinihvmesnikov.Grafinivmesnikisointuitivni,karnajvekratdoseemospreslikovanjemrealnosti(recimonamizje),hkratipaanimiranjeakcijdajetakojnjoinformacijootem,aliakcijavodikeljenemuciljualine(opazovanjenapredka,recimoobkopiranjudatotek).

    Zaizdelavodobregagrafinegavmesnikajepotrebnopoznatiprincipegrafinegaoblikovanja.Besediloinvizualnielementimorajobitiorganiziraninataknain,daomogoajouporabnikupreprostopridobivanje,urejanjeinhrambopodatkov.Grafiniuporabnikivmesnikiosnovneidejegrafinegaoblikovanjanadgradijotudizinteraktivnostjoinzvokom.Najboljiuporabnikivmesnikisonevpadljiviinzauporabnikaneopazni.Obratnovelja,dasoslabivmesnikiprecejopazniingredolahkouporabnikuprecejnaivce.Pogostovelja,dajenajboljiminimalistienpristopkizgradnjivmesnika.Popotrebilahkopotemdodajamoboljkompleksneelemente,ejenujnopotrebno.

    Nekajprincipovgrafinegaoblikovanja

    Vizualnauravnoteenost(simetrinainasimetrina):zagotavljaslikistabilnostnasprotujoihsisil,pritemjeskupnateamajhnihobjektovpriasimetrinipostavitviustreznoskoncentrirana:

    Ritem:sponavljanjemrazlinihelementovustvarimovzorec,kiustvariredinomogoanapovedljivost,predvidljivost(glejspodnjolevosliko).

    Poudarek:kadarsegibanjealivzorecprekine,dobimotoko,nakateropreusmerimofokus(tolahkonaredimozbarvo,obliko,velikostjo,teksturo):

  • [email protected],draftv09,PeterPeer++ 99

    Skladnostprvininenotnostizgleda:vsesestavineseujemajointvorijoenotnocelotocelotenuporabnikivmesnikimaenotenizgled(temo).

    Glavnielementigrafinegaoblikovanja:

    (Ktemelementomlahkododamovsajebarvo.)

    Principinartovanjauporabnikegavmesnika

    Kajmoramoupotevati?

    Preprostost:Najboljuinkoviteinnajlajezauporabosopreprostereitve.

    Konsistentnost:Navadalahkozelopospeiuporabovmesnikaevemokjesebopojavilokaknookno,kjesebopojavilkakengumb(primer:OK,Cancel),kjesevmenijukaknastvarnahaja,lahkoprecejhitrejeinuinkovitonavigiramopovmesniku.Vnasprotnemprimerusemorauporabnikvvsakemoknunanovonauitivmesnik,karpovzroaneuinkovitostinjeprecejneprijaznodouporabnika(nezaelenapodrojafrustracije,glejpoglavje4).

    Poznavanjeciljnegauporabnika:Vmesnikizaotrokebodoprecejdruganiodvmesnikovzaodrasle.Predvidetimoramo,kaknojeznanjeinkaknesopotrebe,priakovanjakonnegauporabnika(tudirecimopriakovanja,kiizvirajoizrazlinihkultur).

    Uporababarv:Doloenepodatkelahkopoudarimozbarvami,vendarnajbarvaneboedinipokazateljkritinihinformacij.Obtemvzamemovzakuptudilastnostibarvneslepote.Potrebnojepravilnouporabljatikontraste,eposebej,kadarelimo,dajebesediloberljivo(izogibamoserecimo

  • [email protected],draftv09,PeterPeer++ 100

    velikikoliinisvetlegatekstanatemnipodlagi).Vpovezavispoznavanjemuporabnikajepotrebnoupotevati,daimajovrazlinihkulturahrazlinebarvelahkodrugaenpomen.

    Povratneinformacije:Vidneinslunepovratneinformacijepovedouporabnikukakosodelujezvmesnikom.Naprimergumblahkoimarazliniikoni,odvisnoodtega,alisemikinkazalecnahajanadgumbomintakouporabnikve,dajetamtokainterakcije.Kokliknemo,seikonalahkospetspremeni,dobimopaezvonopovratnoinformacijo.enalaganjevsebinetrajavekotnekajsekund,jekoristnododatinekpokazateljpoteka(npr.odstotki),kerdrugaeizgledakotdasevmesnikneodziva.Vsplonemigralec,uporabnikimplicitnospraujeHoemnareditito.Alilahko?,vmesnikpasemoraustreznoodzvatinaenoddvehnainov:Zahtevaizvrena,aliTeganemorenarediti.Slabodzivvigrahpovzroiobutekcenenostileteh.

    Elementinartovanjauporabnikegavmesnika

    Zanemosspiskiinformacij,kibijihigralec,uporabniklahkoelelvedeti.Natojihuredimo,postavimoprioriteteterpredstavimovoblikimiselnihvzorcev(mindmaps):

    Uporabnikivmesniklahkonatolepopredstavimozdiagramipoteka(prehodimedstanjipozakljueniaktivnosti)indiagramistanj(prehodimedstanjiobdogodkih).

    Primerdiagramapotekazaglavnimenivigri:

  • [email protected],draftv09,PeterPeer++ 101

    (https://wiki.abertay.ac.uk/display/logicgate/Overview)

    Spodnjaslikapredstavljadiagramstanjzasistemmenijev(meni"Multiplayer").Sistemmenijevjeavtomat,kjerseprehodimedposameznimistanji(meniji/zasloni)vrijoobustreznihdogodkih(izbira/kliknaposameznopostavkovmeniju)(primerjajzagentisstanjivpoglavju5):

  • [email protected],draftv09,PeterPeer++ 102

    Spomojodiagramapotekaindiagramastanjlahkougotovimonapakevfunkcionalnostivmesnika.Tojeeposebejpomembno,kadarestetsko(izgled)infunkcionalnooblikovanjedelatadverazliniosebi.Takouporabadiagramaizloifunkcionalnenapakepredenzanemoudejanjatiizgled.Popravljanjenapakvfazi,kojevmesnikgrafinoprecejdodelan,jedrago.

    Koimamojasnosliko,kajuporabnikivmesnikmoraponuditi,kakomoradelati,pripravimoskice,kifunkcionalnezahteveumestijovizgled.Pritemmoramovsekontroleustreznoumestitivtemoigre(gametheme),dazagotovimoenotenizgled:

    Preprostvmesnikjepotrebentudizato,kerlovekovkratkoronispominhraniuinkovitoleod5do7elementov.Veinafunkcijnajseaktiviraponajve3do5akcijahuporabnika(npr.klikov).Podobnefunkcijenajbodogrupiraneskupaj.Takouporabnikunipotrebnoskakatiodenegakoncaekranadodrugega,karlahkopovzroi,daseizgubi.

    Mrea:Zavmesnikijepogostodefiniranamrea,kisluikotloginastrukturaoziromaogrodje,nakateropripnemoelementevmesnika:

  • [email protected],draftv09,PeterPeer++ 103

    Vestopenjskimeniji(tieredmenus):Menijiseprilagajajopotrebam/zahtevamuporabnika.Boljnaprednemuuporabnikurecimoponudimovemonosti.Uporabniklahkosamnadzorujekoliinoponujeneinformacije.

    Lokalizacija:Obnartovanjumislimonaprevodvmesnikavdrugejezike.Besedilanikolinevstavljamoneposrednovkodo,ampakmedpodatke.Besedilonajbosestavljenoizznakov(bodisikotpisavaTrueType,bodisikotpisavaBitmap)innevcelotikotslika.Kadarjebesedilovsebovanovsliki,najboslikasestavljenaizslojev.Okolibesedilavednorezerviramodovoljprostora(okoli30%)zajezike,kjersobesededolge(npr.Nemina).Pisavenesmejobitipremajhne,splonopravilopravi,danegremopod12slikovnihtok.

    Izbirapisave:

    Izberemopisavo,kijedobroberljiva.Pritemsemoramozavedati,dalovekrazpoznaveoblikovneenote,skloprk,neposameznerke.Posameznerkerazpoznavamolevprimeruteksta,kjerjevsezapisanozvelikimitiskanimirkami,karjetudirazlog,dajebranjeteje,daberemopoasneje.

    Pisavesserifisolajeberljive,sajdodajajohorizontalnostrukturo,kijimoilajesledijoskozibesedo,vendarjihloljivostekranavasihnedopua.Kerigrenavadnonimajovelikekoliineteksta,talastnostserifovvigrahnimaenaketeekotpritekstuvrecimodokumentih.

    Kadardelamozmislijonalokalizacijo,seprepriamo,dapisava,kismojoizbrali,podpirarke,kiseuporabljajovdrugemjeziku.Uporabljamotudiustreznokodiranjeznakov(unicodezazapisznakauporabljaodenegadotiribajte,karnajbizadoalozazapisveinesvetovnihjezikovvkljunozJaponinoinKitajino).

    ejemono,poskrbimo,dasorkevizualnoenakooddaljeneenaoddruge(kerning).Razmakmedrkaminastavimotako,dasedelenerkeoziromanjenaomejujoapovrina(boundingbox)prekrivazdelomnaslednje.Takodoseemovejokompaktnostbesedinvejoberljivost.

    Zaprikaznaekranulahkouporabljamoposebenpostopek(hinting),kispremeniizgledznakapredsamokonverzijovbitnosliko.Glavninamenpostopkajezagotavljatiberljivost,tudiprimanjihpisavah.

    Osnovneznailnostipisav:

  • [email protected],draftv09,PeterPeer++ 104

    Neposrednauporabapisav(TrueTypefonts)zahtevavepomnilnikainposebentretmaznotrajkode,vendarsorezultatilepi(kerning,razlinevelikosti,matematienopis).enemoremouporabititaknihpisav,naredimoteksturonakateroizriemovsemonerke(bitmapfonts)mreacelicsrkamimoraimetidovoljprostoramedrkami,dalahkobrezteavizriemovsakorko(kerningnavadnoniomogoen).

    Pridoloenihpisavahjepotrebnoposkrbetizalicence,zatolahkoustvarimotudisvoje,vendarjetoasovnozelopotratno.

    Prototipiranje:

    Nartovaleclahkonarediprototipuporabnikegavmesnika(eposebejmenijev)zrazlinimiorodji,takotestiravmesnikepredengaprogramerjiimplementirajoinodkrijemorebitnenapake.Preprostotestiranjezajemaanalizodiagramapoteka,lahkotudipreprostorealizacijovHTMLjualiFlashu.

    Elementigrafinegavmesnika

    Zelementigrafinegavmesnikasestavljamoposameznezaslonegrafinegavmesnika.Grafineelementelahkodelimona[en.wikipedia,Graphical_user_interface_elements,2010]:

    (a)strukturneelementeprikazujejoinformacijeinvizualnopredstavljajovmesnik,omogoajointerakcijozuporabniki.Odzivajosenavhode,kijihposredujemoprekointerakcijskihelementov.

    (b)interakcijskeelementeelementivmesnika,kiomogoajooperacijeinspremembe.

    Podrojegrafinihvmesnikovjeprecejirokopodrojeinnimavelikostandardnihreitev.Vendarpasonekaterereitvekarprecejpogoste.Pogostejielementigrafinegauporabnikegavmesnikaso:

    Strukturnielementi:

    Oknojezaokroenopodrojenazaslonu,kjerseprikazujejoinformacijeneodvisnoodostalihdelovzaslona.Oknasolahkozelospecializirana:vsebniki,podokna,oknassporoili,terminalskaokna(CLIcommandlineinterface).

    Menijeseznamukazovskateregalahkouporabnik(spomojonekevrstekazalca)izbereprimerenukaz(vprimerjavisCLI,kjerseukazipiejo).Menijisolahkoorganiziranihierarhino.Specializiranimeniji:

    menijskavrsticavsebujevespustnih(pulldown)menijev

    kontekstnimeniseprikae,kouporabnikskazalcemizvededoloendogodek(npr.desniklik)vdoloenemkontekstu.Pogostoseprikaenamestu,kjersejezgodildogodek.Meniselahkoprikaekotnavadniseznamalipakronimeni(piemenu).Prednostkronegamenijaje,dasovsemonostienakooddaljeneinpomonostivednonaistemmestu,karpoveauinkovitostdostopa.Vendarpakronegamenijavednonemoremouporabiti(npr.Zaradiprevepostavk).

    Navadniinkronikontekstnimeni:

  • [email protected],draftv09,PeterPeer++ 105

    Ikonesosliice,kipredstavljajoobjekte(npr.datoteke,programe,spletnestrani,ukaze).

    Nadzornielementi(kontrole):

    grafinapredstavitekazalca vpisnopolje(textbox) gumb(button) hiperpovezava(hyperlink) spustniseznam(dropdownlist) seznam(listbox) kombiniranopolje(combobox) stikalo/potrditvenopolje(checkbox) radijskigumb(radiobutton) podatkovnamrea(datagrid).

    Interakcijskielementi:

    Kazalec(pointer,cursor)terselekcija/oznaba(selection).Slednjajeseznam/oznabaelementov,nadkaterimiselahkoizvrinekaakcija.

    Podobnostmedsamoigroinmeniji

    Podobnokotsoelementiigralnostinasceniigre,soelementigrafinegavmesnikanascenigrafinegauporabnikegavmesnika.Odzivajosenavhodnenaprave,lahkojihanimiramo,izvajamofizikokakrnosmoizvajalivsamiigri(naprimerpritiskanjenagumbelahkoizvedemozdetekcijotrkovmedkazalceminkontrolo).Pogonigretorejlahkozelopodobnoobravnavamenijeindejanskoigro.

    PolegWIMPa(window,icon,menu,pointingdeviceokno,ikona,meni,kazalec)sevraunalnikihigrahuporabljajotudidruganigrafiniuporabnikivmesniki,naprimerzaslonHUD.

    HUD(headupdisplay)

    HUDjeprosojenzaslon,kiprikazujepodatkevvidnempoljuuporabnikainstempreprei,dabiuporabnikmoralpogledativstraninstemzgreilkakenpomembendogodek(npr.pilotunipotrebnogledatinavzdolnakazalcenaprav):

  • [email protected],draftv09,PeterPeer++ 106

    VigrahHUDpogostoprikazujestanjeigralca: energijainivljenja sposobnosti/zmonostiigralca podatkiopredmetihvlastiigralca podatkionapredku:toke,soba meniji minizemljevidi kontekstnoodvisnipodatki(sporoila,analizeobjektovigre).

    Naini,kakosopodatkiprikazani,seprecejrazlikujejoodigredoigre:lahkosotevilski,rte,ikoneitd.NekatereigrepredstavijoHUDvkontekstusvetaigraneigre,npr.dirkakesimulacijeimajonotranjostavtomobila.

    Dogodkovnovodenvmesnik

    Najboljpogostoseinterakcijomeduporabnikomingrafinimuporabnikimvmesnikomimplementirazdogodki(dogodkovnovodenoprogramiranje).Uporabnikivmesnikjevnekemstanjuinobdoloenemdogodku(npr.klikmikenadoloengumb)sezgodinekaakcija,kinaspripeljevnovostanje.

    Modelpogledkrmilnik(ModelViewControllerMVC)[en.wikipedia,ModelViewController,2010]

    UporabnikivmesniklahkozgradimotudipoprincipuMVC.MVCjeoblikaarhitektureprogramskeopreme,kiloilogikoaplikacijeoduporabnikegavmesnika(vhodiinprikaz)instemomogoineodvisenrazvojvsakekomponenteposebej:

  • [email protected],draftv09,PeterPeer++ 107

    Modelrokujespodatkinanivojuaplikacije,seodzivanazahteveoposredovanjustanja(odpogleda)inseodzivanaukazezaspremembostanja(odkrmilnika).Vdogodkovnovodenihsistemihmodelobvestiopazovalce(poglede),dasosepodatkispremenili,takodalahkoopazovalciustreznoreagirajo.

    Pogledpredstavimodelvtakniobliki,dajeprimerenzainterakcijo:elementiuporabnikegavmesnika.Vepogledovlahkoobstajazaistimodel,vsakodpogledovimalahkorazlinenameneuporabe.

    Krmilniksprejemavhodeinjihposredujekotukazemodeluinpogledu.

    JavinSwing(delJavaFoundationClassesJFC)skorajvcelotigradikomponentevmesnikakotsistemeMVC.

    2.Shranjevanjeinnalaganje

    Shranjevanjealiserializacijajepostopekpretvarjanjapodatkovnestrukturevpomnilniku(objekt,njegovostanje)vobliko,kijojemogoeshraniti(naprimervdatotekoalimedpomnilnik)alipaprenaatiprekoomrenepovezave.Kasnejelahkotoserializiranooblikoponovnodeserializiramonaistemalidrugemraunalniku,torejnaloimonazajvpomnilnik.Prishranjevanjuinnalaganjustanjaigre,nastavitevinrezultatovigre,gretakozaserializacijo(shranjevanje)indeserializacijo(nalaganje).

    Mnogoobjektnousmerjenihprogramskihjezikov(Java,ObjectiveC,PHP,Python,Ruby,Smalltalkinjezikiizdruine.NET)neposrednopodpiraserializacijobodisivsintaksi,bodisiimajodefiniranstandardnivmesnikzaserializacijo.Pridrugih(npr.C++)lahkodobimoknjinicoskaterimisilahkopomagamo[en.wikipedia,Serialization,2010].

    VObjectiveCseserializacijaindeserializacijaimenujetaarchiving/dearchiving.VJavimoraobjektimplementirativmesnikjava.io.SerializableinJavaposkrbizaserializacijo.eelimonapisatisvojokodozaserializacijoindeserializacijolahkouporabimovmesnikjava.io.Externalizable.

    Gledenatovkaknooblikoseshranijoserializiraniobjektiloimo:

    binarnoserializacijo

    tekstovnoserializacijo

    strukturiranotekstovnoserializacijo(serializacijovXML,JSON,YAML,PropertyListipd.).

  • [email protected],draftv09,PeterPeer++ 108

    Rezultatovbinarneserializacijeljudjenemoremobratidirektno(kerjotekodekodiramo),zatososepojaviliformati,kijihlahkoljudjedirektnoberemo.Nadrugistranipamorabititakformatevednoberljivtudizaraunalnikepojavilisosestrukturiraniserializacijskiformati(npr.XML),kihranijopodatkevstrukturiranitekstovniobliki.Vendarpasorezultatitakneserializacijeprecejvejikotpribinarniserializaciji.Taproblemsereujezdodatnimstiskanjemstrukturiranihtekstovnihoblik(npr.binarniXML)alipazuporabokaknegadrugegaformata(npr.JSON),kiimaboljkompaktenopisstrukture.

    PrimerjavaJSONinXML(http://www.scriptol.com/ajax/jsonxml.php):

    JSON XML[ { "menu": "File", "commands": [ { "value": "New", "action":"CreateDoc" }, { "value": "Open", "action": "OpenDoc" }, { "value": "Close", "action": "CloseDoc" } ] } ]

    [true, null, -42.1e7, "A to Z"] true -42.1e7 A to Z

    3.Zvok

    ZvokjebilprisotenvraunalnikihigraheodasaPonga,vendarpajebilovzadnjihtridesetihletihnatempodrojuprecejnapredka.Vosemdesetihletihsejeveinazvokainglasbedigitalnosintetizirala(nazaetkuboljvoblikipiskov)spomojozvonihkartic.V90ihletihjekapacitetapomnilnikihmedijevnarasla,pojavilsejeCDROMinstemselahkonamestosintetiziraneglasbe,uporabilopravoposnetoglasbo.Zvokizvokovnibilopotrebnovesintetizirati,kersoselahkoposnelivnaprej.Predvajalosejelahkotudivezvokovnaenkrat(vekanalov).

    Primernapredkazvonihkartic:EvolutionofPCAudioAsToldbySecretofMonkeyIsland.flv

    Znaraanjemkapacitetsejepojavilamonostuporabesinhronizatorjevzagovorjenobesedilo.Monojepostaloprostorskopredvajanjezvoka(angl.surround).Zdodatnostrojnoopremoinboljimiprocesorjijepostalomonoobdelovatizvokvivo:dodajanjeodmevov,odbojev,izraunokluzije.Stemsoigreprecejpridobilenarealizmu,sajsozvokiodraalidogajanjeinvzdujenasliki.

    Znaraanjemkompleksnostisotudiekipezadolenezazvoknaraale.Nazaetkujebilzazvokodgovorenkarprogramersam.Sedajlahkotodeloopravljaveekip:zazvok,zasinhronizacijo,zaglasbo.Vprimerjavisfilmom,kjerzvokspadavpostprodukcijo,jepriigrannanjpotrebnomislitievseodzaetka.eprizvokuvigrinaredimonapako,selahkozgodi,daboletoigralecmoralvnajslabemprimeruposluatiureinure(slabaglasba,ponavljajoisezvoniuinki).

  • [email protected],draftv09,PeterPeer++ 109

    Predenopremimoigrozzvokom,jepotrebnoporazumetiosnovezvoka.

    Kajjezvok?

    Zvokjevalovanjemedija(tipinotaknovalovanjenariemokotamplitudovodvisnostiodasa:Slika1).Medijjelahkotrdninaalitekoina(kapljevinaaliplin).Vtrdninahsepojavljatakovzdolnovalovanje,kottudipreno,medtemkosepritekoinahpojavljasamovzdolno.Prizvokunavadnomislimonavalovanjezraka(plintorejobravnavamosamovzdolnovalovanje)sfrekvencami(nihljajinasekundo)med20in20000Hz,karjetudizaznavnirazponlovekegaslunegasistema.epravsezvokvsamemzaznavnemsistemu(Slika2)prenesetudiskozidrugemedije,zvidikaprogramiranjazvokatonitakovano.

    Slika1.Amplitudavodvisnostiodasaprisinusnemvalovanju

    Zapredvajanjezvokanavadnouporabljamozvonikealislualke,kivsebujejomembrano,kinihasfrekvencami,kisovzvonemzapisu.Tivzdolnivalovipridejodobobnia,kijetudimembranainzanihazistimifrekvencami.

    Frekvencainspekter

    Frekvencazvokainzaznavaviinetonastatesnopovezana.evzamemosinusniton,potemprinaslednjihfrekvencahsliimotaknetone:

    Slika2.Skicalovekegaslunegasistema:odzvonihvalov,prekobobnia,koicvpolainkotsignalvmogane

  • [email protected],draftv09,PeterPeer++ 110

    Tabela1.Frekvenceinglasbenitoni

    Vijefrekvencezaznamokotvijetone(eimanekton2xvejofrekvencokotnekdrugton,reemo,dajezaenooktavoviji).Vendarpasovnaravizvenisestavljeniizvelikegatevilatonovzrazlinimifrekvencami.Pravtakosoglasbenitonisestavljeniizvetonov,vendarsopriglasbenemtonufrekvencetehtonovcelotevilskivekratnikifrekvencenekegaosnovnegatonaletadoloatudinjegovoviino.Izkaese,datudi,efrekvencategaosnovnegatonaniprisotnavzvoku,moganimanjkajoitonrekonstruirajo.Tosespridomizkoriaprimajhnihzvonih,kizelotekoreproducirajonizkefrekvence(Slika3).

    Slika3.Velikostizvonikovinfrekvennirazpon

    Spekterzvenajeporazdelitevfrekvenctonov,kisestavljajotazven.Zveniinglasbenitonizrazlinimspektromimajorazlinobarvozvoka.Napodlagitebarvezvokalahkoloimoglasbilamedseboj.

    Amplitudainglasnost

    Jakost(lahkotudimo)zvokamerimovdB(1/10bela).Izraunamojotakole:

  • [email protected],draftv09,PeterPeer++ 111

    epoveamoamplitudozadvakrat,sejakostzvokapoveaza4x.Decibelimerijorelativnojakostzvoka(gledenanekoreferenco,kerimamoamplitudi0neskonnodecibelov).Zaznavaglasnostinaraalinearno,evzamemo,dajakostnaraalogaritmino:

    eimamodvakratnopoveanjeglasnosti,potemjejakostza10*log10(2)=3,01dBveja(pogovornoza3dBboljglasno).

    Vasihdecibeleuporabljamodirektnonaamplitudi:

    eseamplitudapoveazadvakrat20*log10(2)=6,02dBveja(pogovornoza6dBboljglasno).

    eseglasnostuporabljakotabsolutnaskala,sevseprimerjaznajtijimmonimzvokom,kigalovekzazna:pritisk20mikropascalov.Priigrahnaszanimapredvsemrelativnavrednosti,keruporabnikregulirakonnoglasnost.

    Kerjelajedelatizintervalimed0in1terlinearnimiskalami,rajedelamovlinearniskali(vdecibelezaamplitudo):

    Vzorenje

    Dabilahkozvokshranilikotpodateknaraunalnik,jepotrebnoanalognovalovanjespravitivdigitalnoobliko.Najboljpogostotonaredimozvzorenjemzvoka.DigitalizacijozvokaimenujemotudiADC(angl.analogtodigitalconversion),nasprotnojeprireprodukcijizvonikih,kjerimamoDAC(digitaltoanalogconversion).Vdoloenihasovnihintervalih(zdoloenofrekvenco)zajamemoamplitudovalovanja(Slika4).Kakonatannomerimoamplitudo,jeodvisnoodtegaskolikobitijozapiemo(angl.bitdepth).

  • [email protected],draftv09,PeterPeer++ 112

    Napaka,kinastanezaradirazlikemedshranjenoamplitudoindejanskoamplitudoimenujemokvantizacijskanapaka(angl.QuantizationError):

    Kolikoumasmovneslispremajhnimtevilombitovzazapisamplitudelahkoizraunamokotrazmerjesignalum(angl.Signaltoquantizationnoiseratio).Raunamozamplitudo:

    Natannostjenavadnomed4in24bitivendarveinaljudinezaznarazlikemed16in24biti,jeparazlikaprecejopaznamed8biti(256vrednosti,SQNR~48dB)in16biti(65536SQNR~96dB,mejazaznavalovekegauesajeca.100dB).

    Prifrekvencivzorenjajepotrebnoupotevati,dajezapravilnoreprodukcijozvokaznekofrekvencozajematizvokzvsajdvakratnikomnjegovefrekvence(Nyquistovafrekvenca).Vnasprotnemprimerunebomodobiliprecejpopaenokrivuljo(Slika5).

    Slika5.Premajhnafrekvencavzorenja(levo,sredina)inzadostna(desno)

    Gledenaomejitvelovekegasluhajefrekvencavzorenjanajve44kHz.Frekvencavzorenjaprecejboljvplivanakakovostkotnatannostzapisaamplitude.

    Predvajanjezvokainmeanje

    Potoddigitaliziranegazapisadopredvajanjazvoka(Slika6):

    Slika4.Vzorenje

  • [email protected],draftv09,PeterPeer++ 113

    Zvonipodatkisenajprejpreberejoizmedijainseshranijovpomnilnik.Potemzvokdodelimozvonemukanalu(angl.soundchannel).Zvonikanaljekoncept,kipredstavljapot,nakateriseizvajajodoloeneoperacijenadzvokom.Pogosteoperacije:spremembaglasnosti(volume),viine(pitch),pozicioniranjezvokalevoalidesnoprimonozvoku(pan).Kosevsakposamezenkanalobdela,sezmeajoskupaj(angl.mix),opravijoseprocesiranjanavsehpodatkihskupaj.

    Slika6.Odzapisadopredvajanjazvoka

    Podatkelahkozaobdelavovpomnilnikprenaamonavenainov:

    - primajhnihvzorcihvcelotivpomnilnik- privejihsenaloisamodel

    Tokzvoka(streamingaudio)

    Uporabimo,kadarmoramovejodatotekopodelihnalagativpomnilnik.Poznamodverazliici(Slika7).Primedpomnilnikusakalnovrstoimamodvamedpomnilnika:izenegaberemo,medtemvdrugegapiemo(polnimo)zdiska.Koprvegapreberemo,morabitidrugpripravljen,potemsamozamenjamomedpomnilnikainzanemobratiizdrugega,medtemkopolnimoprvega.Prikronemmedpomnilnikupiemoinberemoistimedpomnilnikhkrati.Priemermoramoposkrbeti,davednopreberemodovoljpodatkov,dabralnikazalecnikolineprehitipisalnega.Navadnoberemoizdiskacelotnebloke:konecprebranegainvpomnilnikzapisanegablokaoznaimozpodatkovnimkazalcem.Kosebralnikazalecprevepribliapodatkovnemukazalcu,seproibranjebloka.

  • [email protected],draftv09,PeterPeer++ 114

    Slika7.Primerjavakronegamedpomnilnikainmedpomnilnikasakalnovrsto

    Navadnozvok,kigaprenesemovpomnilnikpoanglekoimenujemosample(rahlonerodnopoimenovanje,kiseprekrivazvzorenjemlahkobimurekliinstanca).Ponavadisesamplihranijovmedpomnilnikuinhkratiimamolahkonaloenihvetiso.Enkanallahkomeanajveensample.tevilokanalovpajebilovasihomejenozaradistojnihomejitev,danespasevrinaprogramskemnivoju,kjerjetehomejitevmanj.

    Kompresija

    Zvonizapisinadiskuselahkoshranjujejovoriginalninestisnjeniobliki(wavIBM/MicrosoftinaiffMAC).Kerpazavzamejoogromnoprostora,sosepojavilirazlininainistiskanja.Vgrobempoznamodvevrsti:

    zredukcijobitov zizkorianjempsihoakustinihlastnostizvoka

    Redukcijabitovnpr.ADPCM(Adaptivedifferentialpulsecodemodulation)

    hitrejakotpsihoakustini neizgubnostiskanje stiskavrazmerju1:4 seuporabljapriPSP,NintendoWii,NintendoDS

    Zizkorianjempsihoakustinihlastnosti:

    izgubni,vendarpriustreznihparametrihizgubarazlikaskorajneslina stiskanjeod1:5do1:25(dobrakakovostdo1:10) dvaznanaformatastaMP3(euporabimovigriimamoproblemgledelicence)inOggVorbis

    (prostformat)

  • [email protected],draftv09,PeterPeer++ 115

    Kakoprogramiramo?

    Nipotrebepopisanjunizkonivojskihmealnikov(mixer),takoselahkoosredotoimonaprogramiranjenasrednjemnivoju(angl.Middlelevelprogramming).Imamrazlineprogramskevmesnike(APIje)zarazlinesisteme:

    XAudio;prostodostopenzaWin,Xbox;nadomestiDirectSound OpenAL,kotzvonialisliniekvivalentOpenGLju;naveplatformah SDKjizaspecifineplatforme:PS3,Wii drugikomercialniAPIjipogostopoenostavijouporabokaknihfunkcij,uporabnona

    veplatformahSplaasepregledatiinspoznativeAPIjev.

    Trendi

    Izstrojneopremeseobdelovanjezvokaselinaprogramskoopremo:

    - modernivejedrniprocesorjisosedajdovoljmoni,daizvajajovsezahtevaneoperacije(pogostosamonaenemjedru)

    - glavnaprednostjekonsistenca:ninampotrebnoskrbetialiboproizvajalecstrojneopremepodpiralI3DL2aliEAX

    - fleksibilnost:programabilnicevovod,lajauporabafiltrovzapostprocesiranje;nemogoevveinistrojneopremesfiksnofunkcionalnostjo

    - WindowsVistaopustilstrojnomeanje,modernekonzoleXbox360,PS3naredijoveinooperacijnadzvokomnaprogramskemnivoju

    Skriptiranjezvokainintegracijavpogonigre

    Programerjinajnebi(ve)programiralizvoka(direktno).Pogonigremorapodpiratiizvajanjezvonihproilcevinskript.Programerjiinpogonigresetorejukvarjajosamosskriptamiinneneposrednozzvoki.

    Problemi,povezanizzvokom,kijihjepotrebnoreiti,kododajamozvokvigro:

    razlinevariacijezvokapriponavljajoihzvokih(npr.koraki) prekomernoponavljanjezvokajepotrebnoomejiti(npr.50hkratnihaliprekrivajoihvirov

    zvokapribitki) sestavljeniponavljajoisezvoki(zvokistrojevsopogostokronoponavljajoi,vendarse

    zankazvokanezaneizni,ampakimajonekuvodnizvokinzakljunizvok;primerdvigala) nareditirelistinoozadje(ambient)zdovoljvariacije,dazveninaravno

    3Dzvok

    lovekzaznalokacijovprostoru,odkoderprihajazvok,napodlagirazlikistegazvoka,kipridedoobehues(asovnizamik,razlikevglasnosti,frekvenci)Slika8.

  • [email protected]

    Slika8.Lok

    Torejbilaodobehusenazvo

    Lajareitzvonikih.njegovekpreslikamkamere).

    Odmev(e

    Zvoklahk(odboj)pr

    Slika9.Ne

    RI,draftv09,

    kacijazvokav

    ahkoterazlikeues:HRTF(hnikihneobn

    tev:sistemiz.Taproblemkoordinateinmokoordinate

    echo)inodbo

    ovprostoruredennasdos

    eposredenzvok

    PeterPeer++

    prostoru

    ezaposamezeadrelatedtnesedobroin

    vezvonikireizanaszvvektorpogledeviravkoordi

    oj(reverberat

    donaspotujesee(Slika9)

    k,odmevinod

    +

    znouhosimutransferfunctdelujesamo

    (npr.5.1,7.1vonisistem.da(analognoinatniprosto

    tion)

    eneposredno.

    dboj

    liralinasluation)prenoszaenegapos

    ).PotemjepNajprejjepokameri).Potrposlualca(

    o,lahkopase

    lkahalizvonsnafunkcija,rslualca.

    otrebnozvoktrebnodefiniemumestimoanalognokoo

    eodbijeenkra

    nikih,enakoorelativnanag

    kesamoepoiratiposlualcovprostortuordinatepolig

    at(odmev)ali

    11

    odstranjenihglavo.Vendar

    orazdelitipocavprostoruudivirzvokaigonavprosto

    ipavekrat

    16

    :nor

  • [email protected],draftv09,PeterPeer++ 117

    +++

  • [email protected],draftv09,PeterPeer++ 118

    Slika10.Amplitudnaovojnicaodmevainodbojagledenapodanizvok

    Okluzija/zastiranje(occlusion)terobstrukcija(obstruction):

    Okluzijasezgodi,kadarjemedposlualceminviromnekaovira,kisamodelnoprepuazvok(npr.samodoloenefrekvencezzmanjanoamplitudo).(EAX_Occlusion_Demo.mp4)

    Upotevanjepojavovkotsoodmev,odbojinokluzijaskupnojihimenujemouinkiokolja(environmentaleffects)precejpovearealistinostigre(EAXDemonstration.flv).Njihovizraunpanipreprost,zatososedolgoasalahkoizvajalisamonaustreznistrojniopremi(zvonekarticezpodporozaEAX).

    EAXinI3DL2

    EAX(EnvironmentalAudioExtensions)inI3DL2stastandardazastrojnoimplementacijouinkovokolja.EAXlahkonpr.uporabimovAPIjihkotstaDirectSoundinOpenAL.

    GlavnipoudarkiEAXaso:

    Odboj(reverberation)inodmevvrazlinihokoljih

  • [email protected],draftv09,PeterPeer++ 119

    Okluzija(occlusion)inobstrukcija(obstruction):o okluzijafizinaloitevvirainposlualca(nizkitonigredoboljeskozizidovekot

    visoki)o obstrukcijaobavistemprostoru,oviramednjima

    Smerzvoka(SourceDirectivity)ezvokusmerimo,nivvsehsmerehenak(nizkimzvokomtekodoloimosmer,visokimlaje)

    Kakointegriramozvoneuinkeokolja?

    Uinkisodoloenizoblikamisobinmateriali(npr.velikekamnitedvoraneodmevajoSlika11).

    Alijihlahkodoloamoavtomatsko?Poznamogeometrijoobjektov,materiale,torejbilahkoizraunali.

    Kerpapostajajosvetovivseveji,postajaproblemizraunavseboljkompleksen.

    Slika11.Doloanjeuinkovokoljagledenasobe

    Dinaminaokluzija

    Dodatenproblemsepojavi,kersosvetovivigrispremenljiviinsepogojizaokluzijoinobstrukcijodinaminospreminjajo:

    primer:dinaminospreminjajoaokolica(npr.vrataSlika12) reujemolahkoziskanjempotizvoka,streljanjearkov(raytracing) problemkakoizraunativrealnemasu

    Slika12.Dinaminookoljeinokluzija

  • [email protected],draftv09,PeterPeer++ 120

    Glasnostgledenarazdaljo(attenuation)

    Polegzgorajnatetihuinkovokolja,krealizmuvigrahdoprinesetudiupotevanjedrugilastnostizvoka,kotnaprimerpadanjeglasnostizrazdaljo.Jakostzvokasezmanjujezakvadratrazdalje,vendarnienakazavsefrekvence.Visokefrekvencesevzrakuprejabsorbirajo(primer:Testattenuationofsoundatsomedistancefromthesoundzone.flv).

    Dopplerjevpojav

    Frekvencazvokasespreminja,esegibamoprotialistranodvirater,esevirgibaprotialistanodnas.Spremenjenofrekvencolahkoizraunamopoformuli(velja za manje hitrostiodhitrostizvokavmediju):

    kjerje:

    fopazovanafrekvenca

    f0oddanafrekvenca

    vhitrostzvokavmediju

    vrhitrostsprejemnikarelativnonamedij(pozitivna,eseprejemnikpremikaprotiviru)

    vshitrostoddajnikarelativnonamedij(pozitivna,eseviroddaljujeodmedija)

    Frekvencajevija,kosenamvirpribliujeinnija,koseodnasoddaljuje(primer:Slika13).

    Dopplerjevpojavlahkouporabimonpr.vdirkainah.

    Slika13.Dopplerjevpojavprikonstantnihitrostivira,vodvisnostiodrazdaljedovira

    Glasba

    Glasbalahkoustvaripravovzdujevigrialipadritem.Glasbalahkoigravozadju,lahkopajetudivospredju:obstajaveiger,kjerjeglasbaglavnielementigralnosti(npr.DanceDanceRevolution,GuitarHero).

  • [email protected],draftv09,PeterPeer++ 121

    Vgrobemdvanainazapisaglasbe:

    digitalnizvonizapis(CDaudio,MP3) zapisvMIDIobliki(insorodnihoblikah)

    MIDI(MusicalInstrumentDigitalInterface)insintezazvoka

    Tukajnimamozvonegazapisa,ampakjeglasbazapisanazdogodki,kotsozaetektona,konectona,menjavaglasbilaitd.MIDIdogodkeposredujemosintetizatorjuzvoka,kipotemustreznosintetizirazvok.

    Poznamodvanainasintezezvoka:

    sintezasfrekvennomodulacijo(angl.FMSynthesis) sintezanapodlagiobstojeihzvonihzapisov(angl.WaveTableSynthesis)

    Prifrekvennimodulacijizvokposkuamomatematinoopisati.Prisintezinapodlagiobstojeihzvonihzapisovpaobstojeezapisespreminjamoinmeamo.

  • [email protected],draftv09,PeterPeer++ 122

    Prisintezizvokamoramopolegfrekvencdoloititudiamplitude.egledamozvokvcelotijetorejpotrebnodoloitiamplitudnoovojnico(14).ParametriADSR(attack,decay,sustain,release)opisujejotoovojnico:

    Attackaszaetnegadviganjaamplitude

    Decayaspadcaamplitudepredenseletastabilizira

    Sustainamplitudanakateriostanezvokdaljias

    Releaseas,odtoke,koseigranjetonazakljui,dotokekotondokonnoizzveni

    ADSR

    PrednostiMIDIja:

    velikostjezanemarljivapreprostojenadzirati,spreminjatiincelogeneriratiMIDIvrealnemasu

    SlabostiMIDIja:

    tekonareditivisokokakovostnoglasbouinkovitosamo,evsepovsoddoseemoenakopredvajanje,zakarjepotrebenistinaborglasbil

    Zaradiproblemaenakegapredvajanjajepotrebnoposkrbetizaistinaborglasbil(npr.DLS,SoundFont).DLS(DownLoadableSound)jestandardiziranformatzadefiniranjeglasbil,vendarseneuporabljaveliko.

    Dabilahkoimelizapisglasbe,glasbila(DLS)inzvonizapisvenidatoteki,sejepojavilpredlogstandardazavsebnikiXMF(InteractiveeXtensibleMusicFormat).Predvsemnajbibilnamenjeninteraktivniglasbi.

    Digitalnizvonizapis

    JepravonasprotjeMIDIzapisa.Nekajprednostizvonegazapisa:

    Slika14.AmplitudnaovojnicainADSR

  • [email protected],draftv09,PeterPeer++ 123

    odlinareprodukcijazvokajezagotovljena skladateljilahkodelajokakorinsimerelijo(posnamejozvokekakorelijo)

    Slabosti:

    slabainteraktivnost(vendarevednolahkokreiramosegmenteinjihmedsebojpovezujemo)

    velikedatotekeInteraktivniglasbenisistem/dinaminaglasba

    Glasbaselahkoprilagajadogajanjuvigri,lahkopazdinaminoglasbozgoljprepreujemoprekomernoponavljanjemelodije.

    Predpogojzadinaminoglasboje,dalahkoskladborazdelimonasegmentein,dalahkosegmentepostavljamovakalnovrsto.RealiziramolahkozMIDIjemalizzvonimzapisom.Vendarsesplohprislednjempojaviproblem,kermoramoimetiposebnetranzicijemedvsakimaposameznimadeloma(tehjelahkoprecej).Primeruporabe:

    DinaminomenjavanjepesmiIgraizvedeprehodmeddvemarazlinimapesmimaobspremembiokolja,stopnjealiobspremembistanjavigri(npr.mirno/boj,normalnoigranje/energijapod10%/dokoncalee30sekunditd.)DinaminomenjavanjedelovpesmiIgraizvedeprehodmedrazlinimdelomistepesmi,takodaseohranjatematrenutnopredvajanepesmi.Pesemjelahkorazdeljenanavedelov,kiselahkoponavljajodelisourejenipointenziteti(mirno,hitreje,akcija,skrivanjeitd.).Dodatnojepotrebnoeposkrbetizaprehodnedele(npr.uvod,prehodimedintenzitetami).Dinaminogeneriranje/komponiranjeglasbe

    Igrapovsemdinaminosestavljacelotnopesem.Tukajnegrevezaklasinokomponiranje,kjerskladateljtonodoloisestavodoloenepesmi,temvezuporaborazlinihokolijzadinaminokomponiranjesestavistatistinimodelskladbe.PrimerjeigraSpore,kjersouporabiliokolje

  • [email protected],draftv09,PeterPeer++ 124

    PureData,spomojokateregasogeneriraliglasbovodvisnostioddogajanjavigri(SporeMusicSpace.flv).

    Sinhronizacijaustniczgovorom

    Gledenato,daimamolahkozelorealistineizriseobrazov,potrebujemotudirealistineanimacijegovora.Vnajslabemprimeruselahkoanimacijagovorasinhroniziranaamplitudozvonegazapisa.Tareitevdelujepresenetljivodobroeposebejegledamooddale.Obstajataedvenaprednejimetodissimulacijoizgovarjaveposameznihglasov:

    o kombiniramobesedilo,kijeznanovnaprej,inzvoko uporabimoizkljunoanalizozvoka(univerzalno:lahkouporabimozavsejezike)

    Naprednauporabagovora

    Predvsemportneigremorajopodpiratikomentiranjedogajanjavigri.Kersevedanimonovnaprejposnetivsakeigre.Posebenproblemjevstavljanjeimenavkomentar,brezdabiseslialoskupajzlepljeno.etejiproblemjegeneriranjegovora.

    Prepoznavanjezvoka

    Lahkozaznavamoposameznebesedeinbesednezvezealipazaznavamocelotengovor.Natanainlahkoraunalnikprepoznaukazeinstempridobimoeenkomunikacijskikanaldoraunalnika(vendargledenapovratneinformacijeodigralcevninajboljpopularno).

    Produkcijazvoka,skupineinvloge

    Zvokjepostalvigrahprecejpomemben,hkratisosepovealetudiekipeinproraunizarealizacijozvoka.Takoselahkonekatereigreeprimerjajosfilmskoprodukcijo.Vendarpaobstajajopomembnerazlike.Prifilmujezvokjedelpostprocesiranja,priigrahpaelimo,dajezvokintegriranvsvet,torejgajepotrebnonartovatiodzaetka.Proraunizazvoknekaterihigrepresegafilmskega:orkestrizavelikokoliinoglasbe,sinhronizacija.

    Kljubtemu,damorabitizvokdeligreeodzaetka,neelimo,dajedelkode(torej,dajeigrapodatkovnovodena)indajemono,dazvokobdelujejotudinepoznavalcitehnike.

    Takoimamopriizdelavizvokalahkoveekip:

    ekipazaglasbo ekipazazvok ekipazadialoge

    Primanjihpodjetjihlahkoigraenaosebavevlog.Vasihjebilzavsevlogezadolennavadnoenprogramer(un,kiimazvokez).

    Ekipazaglasbo

    Vodjaglasbeneekipe(MusicDirector)

    - imenadzornadvsemivisokonivojskimiodloitvami- odloakaknoglasbonajseustvari,koganajeti

  • [email protected],draftv09,PeterPeer++ 125

    - imakontakteglasbenikov,zalonikov- odgovorenzalicenciranjeobstojeihskladb,pesmi- lahkoproblem,eseneodloaobjektivno(kaknaglasbamujeveprevevplivana

    njegoveodloitve)Skladatelj

    - pielastnoglasbo(lahkojotudisnemainmea)- navadnonajetzatrajanjeprojekta- privejiprojektihimapomonike

    Glasbeniproducent

    - imavizijo- zagotavlja,daseposnetkipretakajomednartovalci,glasbenikiinprogramerji- vendarpasopriigrahvseenoredki

    Snemalnitehnik(RecordingEngineer)

    - poskrbizafizinizajemzvoka- pogostonartovaleczvoka(angl.sounddesigner)

    Mealnitehnik(MixEngineer)

    - izenaujeglasnostposameznihposnetkovMasteringEngineer

    - posluavseposnetkeinienapake- naredizadnjorazliico- igrapomembnovlogo,eimamorazlineproizvajalcezvoka

    Ekipazazvok

    Vodjazvoneekipe

    - vodiekipo(aliekipe)- imepreglednadresursiinterminskimiplani- izvrujevizijoproducenta(kakennajbozvokinkakninajbododialogi)

    Nartovalec/oblikovaleczvoka(SoundDesigner)

    - nepogreljivlanekipe- dodajozvoke:jihustvarijoaliprenesejoizresninegaokolja- oblikovalcisonajvekratzadolenitudizapostavitevspiskazvonihdogodkov,kipreslika

    posameznezvokevdogodkeigrealivmesnika

  • [email protected],draftv09,PeterPeer++ 126

    Implementer

    - dodazvokeokolju,likom,dogodkom- pogostojekarnartovalecalipavnajslabemprimeruprogramer

    Ekipazadialoge

    Agentzasinhronizatorje(CastingAgent)

    jenavadnonajetmoraimetikontakte,hitropriskrbetiprimernesinhronizacijezaprojekt

    Vodjasinhronizacije(VoiceOverDirector)

    skrbizakvalitetosinhronizacije

    Sinhronizatorji

    sinhronizirajoenegaalivelikovmorajobitidovoljkakovostni

    Urednikdialoga(DialogEditor)

    organizirahrambodatotekposnetihglasovposameznegasinhronizatorjanadzorkakovosti

    Nasvetigledezvokavigrah

    Ozvokuseodloamovpredprodukciji Najamemovodjoekipezazvokinnaredimoproraunterterminskiplan Razdelimonalogenapodproblemeinjihrazdelimoustreznimizvajalcem(npr.skladateljine

    delajozvonihuinkov) ejemonoimamopokritenaslednjevloge(nenujnozacelotnotrajanjeprojekta):

    vodjaekipezazvok,skladatelj,nartovaleczvoka,zvonitehnik Neponavljamozvoka,razenglasbeneteme,vendartuditamuporabimovariacijo Glasbanajseskladazdogajanjemnazaslonu Glasbanajseskladastipomigre

  • [email protected],draftv09,PeterPeer++ 127

    Nasvetizapretepaine

    Neponavljamoglasbe,zvokovudarcev Velikonajbozvokovzapokodbe,sajsebodopogostopredvajali Lahkouporabimotudiglasbozbesedilom Glasbanajseskladazpremikiigralcev,energijoitd.

    Nasvetizadirkaine

    Uporabimoprilagodljivoglasbo Spremembanpr.,eigralcalovipolicija Aktiviranjeglasbeobdoloenihdogodkih Likvigrilahkoposluaradio

    PrizvokulahkouporabimoresnineinsintetiziranezvokiskupajNasvetizaigrezugankami

    Prilagodljivaglasbagledenateavnost Prepreujemoponavljanje,vkljunozzvokizapoteze(vendarnepreve)

    Nasvetizaportneigre

    Glasbasespreminjagledenadogodkeinstanja(npr.goli,kazni) Lahkouporabimoglasbo,kisevresniciuporabljaobprekinitvah Publikanajzveniimboljrealistino Komentatornajsesliikotporadiualiteleviziji

    Nasvetizaakcijskeinpustolovskeigre

    Uporabljamozvokeokoljainznjimiustvarimoustreznovzduje Uporabimoprostorskizvok

    Dodatniviri:

    [1]JoeKowalski,VideoGamesandtheUserInterface,UX(UserExperience)Week2010:http://www.youtube.com/watch?v=hQe_TS5opu8,16min.(Workingasauserinterfacedesignerinthegamesindustrypresentssomeuniqueopportunitiestoengageplayers.Sowhyarememorableinterfacesararity?Joewillattempttoanswerthatquestion,andhe'llofferhisperspectiveontheindustry,showsomeofhisworkfrommajortitles,andtalkaboutwhatinspireshim.)

    [2]Virtusphere3DGameInterface:http://www.youtube.com/watch?v=NmpOQZgHUMo,5min.(Virtusphereahollowsphere,whichisplacedonaspecialplatformthatallowsthespheretorotatefreelyinanydirectionaccordingtotheuserssteps.Transmittingavirtualenvironmenttoourwirelessheadmounteddisplay,userscanmovefreely360degreescreatingthemostimmersivevirtualexperience.Ourinnovationwillchangehowwetrainandentertainpeople.)

    Naloganavajah:

    Zaobveznodomaonalogotokratvigrovkljuitezvoke.

  • [email protected],draftv09,PeterPeer++ 128

    ???

    Povzetek:

    Meniji

    grafiniuporabnikivmesnik(GUI)o zelozapletenopodrojezmalostandardnimireitvamio envelikdelsomenijio drugmanjideljeHUD(headsupdisplay)GUImedsamimigranjemo GUIjedodatnascena,kipravtakopotrebujesvojupdatezainterakcijoindrawza

    izriso najpogostejesereagiranjenainterakcijoimplementirazdogodki(eventdriven

    programming),epravspoveevanjemtevilakontrolinodvisnostimednjimipostanezelokompleksen

    o alternativajeMVCpristop,kjerimakontrolerboljmonolitiennadzornadprehodimedstanji variantMVCjajeeveliko zaenkratnajboljebranjenatotemo:

    http://martinfowler.com/eaaDev/uiArchs.html razlinekontrole(gumbi,izbirniki,seznamiipd.)

    o znjimisestavljamoposameznezasloneo karsoelementiigralnostinasceniigre,sokontrolenasceniGUIjao odzivajosenavhodnenaprave,lahkojihanimiramoipd.o zasampogonjepraktinovseeno,aliizvajafizikonadigralcivigrialinadkontrolami

    vmenijuo recimopritiskanjenagumbelahkoizvedemozdetekcijotrkovmedkurzorjemin

    kontrolo avtomatstanj

    o skrbizapremikanjemedrazlinimizaslonio vfazidizajnagapredstavimozgrafomstanjinprehodov

    Shranjevanje

    namen pristopi

    2Dzvok

    zvoki,zvoneinstance(soundcue) lastnostizvonegakanala(glasnost,usmerjenost(pan)) efekti(spreminjanjeviine(pitchshift),dspefekti(reverb...))

    3Dzvok

    pozicioniranjezvokov glasnostgledenarazdaljo(attenuation),dopplerjevefekt

    Glasba

  • [email protected],draftv09,PeterPeer++ 129

    oblikeglasbeo vnotnioblikidoloenokaterenoteigrakateriintrument(midi,musicXML,mod)

    zapredvajanjepotrebnouporabitineksintetizatoralipasamplerzvokovo vzvonioblikipesmisoeposnetekotzvonisignal(mp3,wma...)

    glasbakotzvonainstancao streamingnamesto,dajenaloenvcelotivramu

    dinaminaglasbao dinaminomenjavanjepesmi

    igraizvedeprehodmeddvemarazlinimapesmima obspremembiokolja,stopnje obspremembistanjavigri

    mirno/boj normalnoigranje/ivljenjepod10%/dokoncalee30

    sekund...o dinaminomenjavanjedelovpesmi

    igraizvedeprehodmedrazlinimdelomistepesmi,takodaohranjatemotrenutnopredvajanepesmi

    pesemrazdeljenanavedelov,kiselahkoponavljajo deliurejenipointenziteti(mirno,hitreje,akcija,skrivanje...)

    dodatnosotueprehodnideli(uvod,prehodimedintenzitetami...) vasihjetaknainpodpiralDirectMusic,danesnivevuporabi,namesto

    tegasedeladirektnozo dinaminokomponiranje

    igrapovsemdinaminosestavljacelotnopesem negrevezaklasinokomponiranje,kjerskladateljtonodoloisestavo

    doloenepesmi,temvezuporaborazlinihokolijzadinaminokomponiranjesestavistatistinimodelskladbe.

    primer Spore,vurejevalnikih