Author
luka-kozuh
View
236
Download
0
Embed Size (px)
DESCRIPTION
games
[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.
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