Primer trka rdeče ptice in kosa lesa. Prenos gibalne količine lahko povzroči tudi vrtenje kosa lesa, odvisno od tega, kam in pod kakšnim kotom je bil zadet. Gibanje ptice po trku je prav tako odvisno od kota zadetka. Upoštevan je zakon ohranjanja gibalne količine.

Najprej se moramo vprašati, kako igra zazna trk ptice ob oviro. Večina trkov v igri je med premikajočim predmetom (ptico) in statično strukturo. Tak trk je v igrah najenostavneje simulirati, še posebej s predpostavko, da so vse ptice okrogle. Niso pa prav vsi trki taki. Zgodi se, da naslednjo ptico izstrelite, ko se struktura podira, zato ptica udari v padajoči del strukture, kar je očitno trk dveh predmetov v gibanju.

Kaj je potrebno, da algoritem zazna trk? Izstrelek ima težišče, kar vpliva na krivuljo leta in telo okoli njega. Da algoritem zazna trk, mora spremljati položaje telesa med letom in predmete v okolici. Najbolj preprosta oblika za spremljanje pa je krog. Ker se ptice med letom ne vrtijo in se telo ne obrača okoli svojega težišča, je dovolj, da algoritem spremlja le njihove prednje dele, recimo pol kroga. Po daljšem igranju opazite, da igra ne upošteva okončin ptice, torej kril in repa. Včasih ptica leti tako blizu strukture, da bi se jo morala dotakniti vsaj s krilom, ampak do trka ne pride.

Bolj pomembno vprašanje je, kaj se zgodi po trku. Kako se zadeta struktura odzove na trk? Ker gre za preprosto igro, so tudi tu uporabili nekaj poenostavitev. Trk je tog, kar pomeni, da se ptica pri trku ne deformira – njeno telo ostane takšno, kot je, preprosto zato, da so se avtorji izognili potratnemu preračunavanju količine energije, ki jo ptica prenese na strukturo. Trk ptice v strukturo v igri zato ni trk dveh avtomobilov, prej trk dveh krogel na biljardni mizi. Upoštevana pa je osnova fizike, natančneje Newtonov zakon o ohranitvi gibalne količine. Vsota gibalnih količin predmetov pred trkom je enaka vsoti po njem z upoštevanjem, da je gibalna količina vektor, kar pomeni, da ima smer in velikost. Energija (moč), ki jo ptica prenese na strukturo, pa je preprosto zmnožek njene teže in hitrosti gibanja.

Ko trčita dva toga predmeta, na primer krogli za biljard, pride do spremembe smeri njunih poti, pa tudi hitrosti gibanja. Fizika je pri razlagi dogodka natančna. Do sprememb pride zaradi sil pospeška, ki na predmeta delujejo nekaj časa. V igri za tako zapleteno fiziko ni prostora, zato do spremembe pride v trenutku. Preprosteje je uporabiti 'impulz', kar je poenostavljeno zelo velika sila, ki deluje kratek čas. Z delovanjem impulza na točki trka je mogoče v igri spremeniti gibanje dveh predmetov, ne da bi se pri trku deformirala.

Odziv na impulz

Kako se algoritem igre odzove na impulz, je pogojeno s stopnjo realizma, ki ga v igri želimo. V bistvu gre za definiranje elastičnosti trka oziroma definiranje relacij med vhodno in izhodno hitrostjo predmetov ali količine energije, ki jo trk absorbira. Najboljši mogoči elastični trk predstavlja trk dveh togih krogel, nasprotje – neelastični trk – pa je bližnje srečanju mehke gline s tlemi. Med letom ima ptica vektor, ki je obrnjen v smeri gibanja. Po trku mora algoritem izračunati temu pravokotno normalo, torej linijo, na kateri pride do trka, oziroma vektor, ki nastane, ko se gibalna količina ptice prenese na strukturo, in nov vektor gibanja ptice po trku. Govorimo o osnovni rdeči ptici, ki ničesar ne razbije, ampak gibanje prenese na predmet, ki ga zadene. Pri pravokotnem zadetku ptica prenese največ energije na strukturo, njeno gibanje je po trku počasno, pri bolj položnem trku pa na strukturo prenese manj energije, hitrost ptice po odboju se manj zmanjša in lahko zadene novo strukturo.

Tu bi se morala zadeva še bolj zaplesti. Predmet, ki ga ptica zadene, bi moral energijo prenesti po enakih fizikalnih načelih na druge predmete strukture, ki bi med seboj reagirali, učinek pa je popolnoma odvisen od fizike. Pisci so fizikalne zakonitosti upoštevali do te mere, da so dobili primerno stopnjo realizma v igri, ne pa toliko, da bi naredili fizikalno simulacijo. Zato se po trku ptice v predmet uporaba fizikalnih enačb konča. Rekli bi lahko, da igra upošteva energijo ptice (koliko napnemo elastiko), kot, pod katerim je izstreljena, in točko zadetja strukture, da se ta zgrudi po prej opisanem scenariju. Priznati pa moramo, da je sesedanje strukture realistično in da tudi v tem primeru igra upošteva vsaj osnovne zakonitosti fizike, padanja, medsebojnih vplivov delov strukture in podobno.

Jezni ptiči v vesolju

Pri prvih treh igrah, osnovni, sezonski in Rio, na let ptice po izstrelitvi iz frače vpliva izključno zemeljska gravitacija. Z novo igro Angry Birds Space pa so ptiči poleteli v vesolje. Njihovo gibanje je temu primerno prilagojeno. Spet vzemimo rdečo ptico. Če nanjo ne deluje teža 'kamna' v vesolju, leti premočrtno, ko pa pride na področje delovanja gravitacije, kar je prikazano kot atmosfera okoli kamnitih krogel, se zavrti okoli nje in na koncu trešči na njeno površje. To pomeni, da znotraj območja deluje sila, nasprotna sili leta (upora zraka). Če ptica zaide v območje delovanja gravitacije pod majhnim kotom, je njena krivulja leta bolj položna. Na drugi strani kamnite krogle zaradi hitrosti zapusti območje vpliva ali pa bolj počasi pada proti površju (nekajkrat obkroži kroglo). Ko je 'zadetek' območja delovanja gravitacije krogle pod večjih kotom, ptica hitreje in po bolj ostri poti pade na površje. Krogle v igri so različnih oblik, zato imajo različne sile privleka (svoje gravitacije). Hkrati se področja privleka lahko prekrivajo, kar mora aplikacija upoštevati, ko ptica leti prek takih področij. Ne da bi se preveč poglobili v zakone fizike, ki so tudi pri tej igri upoštevani v svoji preprosti obliki, je let ptic skozi območja delovanja gravitacije pogojen s kotom, pod katerim vstopijo vanj, in hitrostjo, ki jo imajo pri tem. Podobno kot pri vesoljskih ladjah. Če ta vstopi v zemeljsko atmosfero pod prevelikim kotom, prehitro trešči na zemljo, pod premajhnim kotom pa jo odbije nazaj v vesolje.

Tudi za to igro bi lahko dejali, da ima določeno stopnjo realizma. Izračunali so, da je, podobno kot pri ostalih treh igrah, tudi tu ptica izstreljena s hitrostjo 25 m/s. Mimogrede, frača naj bi bila visoka pet metrov, premer rdeče ptice pa sedemdeset centimetrov. Sile privleka skal v vesolju torej niso sorazmerne z njihovimi velikostmi, ampak so prilagojene stopnji igre in predvidenim načinom rešitev. Razbijanje struktur je prav tako prilagojeno razmeram v vesolju, še zlasti ko gre za dele strukture, ki so v vesolju, ali pa tiste, ki so delno v vesolju in delno v območju delovanja gravitacije. Če strukturo potisnemo v to območje, tudi oni padejo na površje. Kroženje okoli 'krogel' v vesolju je presenetljivo zelo podobno 'orbitam', ki jih izračunajo simulacijski programi. Podrobnejšo analizo najdete na: http://tinyurl.com/7zwbkd5.

Moj mikro, maj 2012 | Jan Kosmač