<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7065745021682099372</id><updated>2012-03-09T14:59:56.326+01:00</updated><category term='matematika'/><category term='projekt'/><category term='game mechanics'/><category term='Zvjezdojedac'/><category term='math'/><category term='project'/><category term='game'/><category term='progress'/><category term='security'/><category term='random'/><category term='vjerojatnost'/><title type='text'>Nexus 64213</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-8759493326492288568</id><published>2012-03-09T14:59:00.000+01:00</published><updated>2012-03-09T14:59:56.332+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><title type='text'>Zvjezdojedac, space combat GUI</title><content type='html'>Polako ali ide. Svako tolko naletim na nešto na grafičkom sučelju što nemrem riješiti s nečim gotovim već moram potrošiti cijelu noć. &lt;i&gt;Source code&lt;/i&gt; ću uploadati u repozitorij tek kada bude stabilan a to će biti tek kada će bitke funkcionirati. Naime, trenutno se ne može započeti novi krug ako se se ne razriješe sve bitke a bez funkcionalnog space combata to se ne može. Napravio sam tako sustav kako bi kasnije lakše odvojio "dužnosti" jezgre igre i grafičkog sučelja. No, da ne bi sve ostalo na obećanjima i frazama tipa "radim, radim" i "bit će, bit će", prilažem &lt;i&gt;screenshoot &lt;/i&gt;trenutnog stanja sučelja za svemirske bitke:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DyXVzqFGpBo/T1oFs5iHB2I/AAAAAAAAAN4/UtWY6GFslqM/s1600/Zvjezdojedac+bitke.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="198" src="http://4.bp.blogspot.com/-DyXVzqFGpBo/T1oFs5iHB2I/AAAAAAAAAN4/UtWY6GFslqM/s320/Zvjezdojedac+bitke.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Crni kvadrati s crvenim linijama su polja s pozicijama boraca. U kvadratima će se nalaziti oznake tipa da li igrač ima brodove na toj poziciji i da li mu dio brodova odlazi ili dolazi na tu poziciju. Klikom na kvadratić će se prikazati koji su sve brodovi na toj poziciji. Za prikaz liste brodova predviđen je prostor ispod. Na &lt;i&gt;screenshootu&lt;/i&gt; je prikazana situacija kada svaka strana ima jedan tip brodova pa se ne vidi sva funkcionalnost liste. I da, iz nekog čudnog razloga bot je uspio u jednom krugu napraviti 97 tisuća &lt;i&gt;colony shipova&lt;/i&gt; :). Blah, mislim da je bug u pamćenju ostatka gradnje. Uglavnom, ideja je da svaka stavka u listi skup brodova s istim dizajnom i da su prikazani prosječna izdržljivost štitova i oklopa za takve grupe.&lt;br /&gt;&lt;br /&gt;Now back to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-8759493326492288568?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/8759493326492288568/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2012/03/zvjezdojedac-space-combat-gui.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8759493326492288568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8759493326492288568'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2012/03/zvjezdojedac-space-combat-gui.html' title='Zvjezdojedac, space combat GUI'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DyXVzqFGpBo/T1oFs5iHB2I/AAAAAAAAAN4/UtWY6GFslqM/s72-c/Zvjezdojedac+bitke.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-5325033596294240583</id><published>2012-02-27T15:30:00.000+01:00</published><updated>2012-03-09T14:59:45.018+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><title type='text'>Zvjezdojedac i Lovac na demone</title><content type='html'>Kao i obično, razvoj igre ide jako sporo. Nažalost, čini mi se kako Zvjezdojeca radim isključivo za vlastitu dušu. Eh, da ima više za pokazati, više bi ga reklamirao a time i više radio na njemu.&lt;br /&gt;&lt;br /&gt;Anyway. Odlučio sam svaki dan napraviti nešto u Zvjezdojecu, pa makar to bila 1 linija koda. Naime, kako to biva, ono što realno treba isprogramirati je dosta kompleksnije od ono što vidi u fazi razmišljanja. Probao sam pristupiti implementaciji space combata na način da si uzmem jedan dana u tjednu i kodiram. Je l, dizajn dokument sam napisao, samo ga treba pretočiti u kod. Ispalo je da ima još fina količina posla oko arhitekture koda. Pristup da svaki dan napravim nešto je super za razbijanje blokada. Kad zapnem na nečem, ugasim razvojnu okolinu, slijedeći dan razmislim i natipkam rješejne.&lt;br /&gt;&lt;br /&gt;Za sada imam napravljeno detektiranje situacija u kojima se događa svemirska bitka, opisnike stanja bitke i pripremljene podatke za prikaz na grafičkom sučelju. Možda se ovo ne čini kao puno ili težak posao ali dosta mi je problema stvarala činjenica da se krug (&lt;i&gt;turn&lt;/i&gt;) ne može isprocesirati do kraja dok se ne obrade svemirske bitke. Konkretno, problem je bio kako uskladiti jezgru igre i grafičko sučelje, tko koga pušta dalje i tko kada barata s kojim podacima.&lt;br /&gt;&lt;br /&gt;U međuvremenu sam radio malo na prototipu RPGa u koje bi isprobao onu silnu teoriju koju sam pisao u prošlim postovima, vezanim za &lt;i&gt;attack&lt;/i&gt;, &lt;i&gt;defense&lt;/i&gt; i &lt;i&gt;armor reductition&lt;/i&gt;. Zapravo, ne bi nazvao to RPGom, više neki SBG (stats building game). Za sada imam napravljeno kreiranje lika, saveanje, loadanje, jedan probni quest i skoro gotov mehanizam za bitke. Kada bude koliko toliko gotovo, staviti ću link za download. No, ima jedna lijepa stvar a to je da iskustvo izrade mehanizama za bitke iz ove igre mogu iskoristit u Zvijezdojecu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-5325033596294240583?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/5325033596294240583/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2012/02/zvjezdojedac-i-lovac-na-demone.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5325033596294240583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5325033596294240583'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2012/02/zvjezdojedac-i-lovac-na-demone.html' title='Zvjezdojedac i Lovac na demone'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-7017353328051380008</id><published>2011-12-16T16:47:00.001+01:00</published><updated>2011-12-16T16:47:42.178+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Achievementi</title><content type='html'>Nekoć davno su igre imale isključivo bodove kao mjerilo igračeve vještine. Danas su to mjerilo postali &lt;i&gt;achievementi&lt;/i&gt;. Ako se igra distribuira preko Steama, jednostavno mora imati &lt;i&gt;achievemente&lt;/i&gt;. Zanimljivo je promatrati kakve sve ideje ljudi imaju za achievemente, bedževe i ostale &lt;i&gt;unlockable&lt;/i&gt; stvari. Ali ima par stvari koje mi se ne sviđaju i na koje bih se osvrnuo.&lt;br /&gt; &lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Achievementi&lt;/i&gt; za puku činjenicu da igrač igra igru. To su &lt;i&gt;achievementi&lt;/i&gt; tipa "završi igru", "skupi &lt;i&gt;x&lt;/i&gt; toga i toga", "uništi &lt;i&gt;y&lt;/i&gt; neprijatelja". Te stvari uopće nisu dostignuća, ne odražavaju igračev trud (s time da ponavljanje jednostavnih radnji milijun puta ne smatram trudom). Ipak govorimo o igrama a ne o poslovima u stvarnom životu. Isto tako ne prihvaćam &lt;i&gt;achievemente&lt;/i&gt; tipa "pokupi rijetki &lt;i&gt;random drop&lt;/i&gt;" kao dostignuća jer je riječ o šansi koja nema veze s igračevom vještinom.&lt;br /&gt;&lt;br /&gt;Po mom mišljenu &lt;i&gt;achievementi&lt;/i&gt; bi se trebali otključavati na akcije koje ne spadaju pod regularno igranje igre i iziskuju dodatan trud od igrača. Npr. završavanje neke misije bez primanja štete ili prelazak nekog dijela nivoa na teži način i sl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-7017353328051380008?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/7017353328051380008/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/12/achievementi.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/7017353328051380008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/7017353328051380008'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/12/achievementi.html' title='Achievementi'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-9008253894253522653</id><published>2011-12-05T14:15:00.000+01:00</published><updated>2011-12-05T15:49:53.208+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><title type='text'>Zvjezdojedac, space combat</title><content type='html'>Izgleda da će implementacija space&amp;nbsp; combata ići puno sporije nego što sam mislio. Prvo zato što izrada dokumentcije traje, drugo, mislim napraviti promjene na GUIu za dizajniranje brodova i treće zato što je &lt;i&gt;real life&lt;/i&gt; posao uvatio maha.&lt;br /&gt;&lt;br /&gt;Dokumentacije sam se uhvatio zato što&amp;nbsp; na mali milijun mjesta imam napisane ideje za space combat koje nisu 100% konzistantne i potpune. Za sada imam 4 strane i materijala za još dvije. Ne zvuči puno ali za svaki odlomak sam morao pet puta razmisliti da li dobro opisuje ono što želim, kako se to slaže s ostalim idejama i da li bi taj odlomak trebalo premjestiti na neko drugo mjesto u dokumentu. Dokumentaciju bih trebao dovršiti ovaj tjedan.&lt;br /&gt;&lt;br /&gt;GUI za dizajniranje brodova trebam kompletno pretumbat. Možda čak napraviti ispočetka. Pod broj jedan zato što se &lt;i&gt;bussines&lt;/i&gt; logika promjenila. Pod broj dva i tri zato što bih napravio kao odvojen prozor, ne kao tab i zato što promjenio izgled same forme.&lt;br /&gt;&lt;br /&gt;Neću ni procjenjivat kad će space combat bit gotov. Bio bi sretan da ove godine :). S druge strane, kad imam viška vremena a nisam pri kompu, pišem si ideje za tehnologije. Za sada imam 30-ak tehnologija i inspiracije za još upola tolko. Poućen iskustvom s Char lovca i Zlih poligona, smišljanje sadržaja igre ne treba čekati kraj programerskog posla jer se jednostavno izgubi zanos. Isto tako, treba razmišljati o brojkama u smislu ako je na početku izdržljivost oklopa &lt;i&gt;x&lt;/i&gt;, pred kraj normalne partije na srednje velikoj mapi bi trebala biti &lt;i&gt;5x&lt;/i&gt;. A sad nazad na dokumentaciju...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-9008253894253522653?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/9008253894253522653/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/12/zvjezdojedac-space-combat.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/9008253894253522653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/9008253894253522653'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/12/zvjezdojedac-space-combat.html' title='Zvjezdojedac, space combat'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-5996527083723595399</id><published>2011-11-24T15:45:00.000+01:00</published><updated>2011-11-24T15:45:38.356+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Passwordi</title><content type='html'>Nedavno sam guglajuči jedan pojam, naletio na drugi koji mi je odvukao pažnju, znate kako to biva. U jednom trenutku sam naletio na članak na &lt;a href="http://www.codinghorror.com/blog/2005/07/passwords-vs-pass-phrases.html"&gt;Coding Horroru&lt;/a&gt;&amp;nbsp;u kojem autor tvrdi da je sigurnost u internetu jako slaba tj. da &lt;i&gt;passwordi&lt;/i&gt; koje većina ljudi ima su "preslabi".&lt;br /&gt;&lt;br /&gt;Ono što mnogi članci koji se bave tom temom iznose (i s čime i ja slažem) je činjenica da su korisnici web usluga tako reći trenirani da smišljaju komplicirane šifre (kombinacija brojeva, velikih i malih slova i specijalnih znakova). Zbog naglaska na složenost, kako bi ih lakše pamtili, ljudi obično smišljaju kratke &lt;i&gt;passworde.&lt;/i&gt; Tipa 6 do 8 znakova. Na &lt;i&gt;siteu&lt;/i&gt; InfoWorld.com sam čitao &lt;a href="http://www.infoworld.com/d/security-central/password-size-does-matter-531?page=0,0"&gt;članak&lt;/a&gt; u kojem čovjek koji se navodno bavi probijanjem &lt;i&gt;passworda &lt;/i&gt;(u svrhu ispitivanja sigurnosti, ne zato da krade podatke) tvrdi da se šifre kraće od 10 znakova probijaju bez problema. E sad, da li to znači da ih se probije u roku deset sekundi ili u roku sat vremena, ne znam al sam uvjeren da je u pitanju manje od 24 sata.&lt;br /&gt;&lt;br /&gt;Nazad na problem. Postoji problem s "algoritmom" po kojem obični smrtnici smišljaju šifre. Kuharica ide ovako:&lt;br /&gt;1. uzmi nasumičnu riječ, npr. klokan&lt;br /&gt;2. zamjeni slova s brojkama (klokan -&amp;gt; k10k4n)&lt;br /&gt;3. pretvori nekoliko malih slova u velika (k10k4n -&amp;gt; k10K4n)&lt;br /&gt;4. ako šifra nije dovoljno dugačka, dodaj nešto jednostavno na kraj (k10K4n -&amp;gt; k10K4n5)&lt;br /&gt;&lt;br /&gt;Problem je u tome što je recept dobro poznat. Svako ko na ovaj način smišlja šifre misli da je pametan i da mu je šifra neprobojna dok napadači s druge strane znaju da puno ljudi ima upravo takav tok misli. Mane kod smišljanja kompleksnih šifri postaju izraženije kada isti korisnik mora pamtiti više takvih šifri. Čovjek prirodno želi sebi olakšati posao a to znači pamtiti čim manje kompliciranih stvari. S toga ljudi ili smišljaju više lako pamtljivih šifri ili manji broj (obično jedan) &lt;i&gt;master passworda&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;OK, ljudi smo, imamo ograničeno pamćenje i strpljenje no kako da si pomognemo? Moderne tehnologije zaštite podataka se nažalost temelje &lt;i&gt;passwordima&lt;/i&gt;. Koliko je "jaka" šifra, toliko su dobro zaštićeni podaci. Možemo si pomoći na dva načina, korištenjem tzv. &lt;i&gt;passphrasea&lt;/i&gt; i zapisivanjem šifri koje ne možemo zapamtiti.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Passphrasei&lt;/i&gt; su zapravo šifre sastavljene od više nasumičnih riječi. Na primjer "AutoBakaCiklaDvoranaEtanol". Fora kod &lt;i&gt;passphrasea&lt;/i&gt; je da su dugački kada se raspišu a lagani su za zapamtiti. No koliko je siguran ovakav pristup? Gore sam spomenuo navod iz članka koji tvrdi da &lt;i&gt;password&lt;/i&gt; mora imat barem 10 znakova da bi se mogao smatrati sigurnim no brojanje slova u &lt;i&gt;passphraseu&lt;/i&gt; ne daje pravu mjeru sigurnosti. Daleko od toga. Ako napadač pretpostavi da žrtva koristi &lt;i&gt;passphrasse&lt;/i&gt; onda se može ograničiti na određen skup riječi a ne pogađat nasumce sve znakove.&lt;br /&gt;&lt;br /&gt;Uzmimo s jedne strane &lt;i&gt;passworde&lt;/i&gt; koji se sastoje isključivo od engleskih slova i brojki (ukupno 62 različita znaka) i s druge strane &lt;i&gt;passphrasove &lt;/i&gt;načinjenih od nasumično odabranih riječi iz rječnika s 5000 riječi (vidi linkani člank s Coding Horrora). Ne toliko kompliciranom matematikom (log 5000 / log 62 = 2.0637) dobivamo da svaka riječ &lt;i&gt;passphrasea&lt;/i&gt; vrijedi oko dva znaka &lt;i&gt;passworda&lt;/i&gt;. Znači da bi postigli sigurnost &lt;i&gt;passworda &lt;/i&gt;duljine 10 znakova, &lt;i&gt;passphrase&lt;/i&gt; treba bit načinjen od 5 riječi. Ne zvuči baš puno bolji omjer sigurnosti i praktičnosti od klasičnih šifri. Ubacivanje nasumičnog znaka na nasumično mjesto može malo poboljšati sigurnost &lt;i&gt;passphrase. &lt;/i&gt;Za &lt;i&gt;passphrase&lt;/i&gt; AutoBakaCiklaDvoranaEtanol svako dodavanje nasumičnog znaka (slovo engleske abecede ili broj) podiže sigurnost za 1.78 znaka prethodno opisanog oblika &lt;i&gt;passworda&lt;/i&gt;. No ako se u &lt;i&gt;passphrase&lt;/i&gt; ubaci puno takvih znakova, izgubi poanta &lt;i&gt;passphrasea&lt;/i&gt;. &lt;i&gt;Passphrase&lt;/i&gt; zapravo postane dugački &lt;i&gt;password&lt;/i&gt; sa svim manama &lt;i&gt;passworda&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Druga metoda je korisnik za sve ima drugačiji i siguran &lt;i&gt;password&lt;/i&gt; (dovoljno dugačak i nasumičan) i da ih sve ima zapisane na jednom mjestu. Znači, da korisnik ne pamti sve šifre&lt;i&gt; &lt;/i&gt;nego da ih drži na sigurnom mjestu i kopira od tamo kada mu koja zatreba. Mane ovakvog pristupa su sigurnost i pristupačnost repozitorija šifri. Ako napadač probije zaštitu repozitorija, dobiva na raspolaganje sve šifre koje su pohranjene u njemu. Ako korisnik izgubi repozitorij (npr. krepa disk), gubi pristup šiframa i svime što te šifre otključavaju. E sad, ako je netko optimističan i misli da neće pobrati &lt;i&gt;keyloggera &lt;/i&gt;ili neki sličan &lt;i&gt;spyware&lt;/i&gt;, može probati Keepass 2 u kombinaciji s DropBoxom.&lt;br /&gt;&lt;br /&gt;U svakom slučaju, za stvari koje su vam bitne imajte šifru duljine barem 10 znakova.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-5996527083723595399?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/5996527083723595399/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/11/passwordi.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5996527083723595399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5996527083723595399'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/11/passwordi.html' title='Passwordi'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-999247402861674006</id><published>2011-11-18T15:12:00.001+01:00</published><updated>2011-11-20T01:26:57.471+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><title type='text'>Zvjezdojedac, progress report</title><content type='html'>Napravih računalnog igrača koji nasumično gradi brodove i pripremih teren za pravi UI (umjetnu inteligenciju) koju će igra kasnije imati. Uz to dio te podloge bi se mogao iskoristiti i za multiplayer, za &lt;i&gt;remote&lt;/i&gt; igrače.&lt;br /&gt;&lt;br /&gt;Prošli &lt;i&gt;feature&lt;/i&gt; na kraju nisam zapakirao i stavio na download jer nije bilo skoro ništa vidljivih promjena. Uvođenje jednostavne UI isto nije neki vidljivi napredak ali količna popravljenih stvari bi opravdala podizanje verzije za 0.0.1. Tako da ću ovih dana staviti za download novu verziju.&lt;br /&gt;&lt;br /&gt;Edit:&lt;br /&gt;Prema indikatoru na Google Codu, projekt je nazad na "high activity". Jupi!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-999247402861674006?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/999247402861674006/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/11/zvjezdojedac-progress-report.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/999247402861674006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/999247402861674006'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/11/zvjezdojedac-progress-report.html' title='Zvjezdojedac, progress report'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-4865749425514625485</id><published>2011-10-12T11:15:00.000+02:00</published><updated>2011-10-12T11:15:06.841+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game mechanics'/><title type='text'>Hit pointi i razine damagea</title><content type='html'>Jedna ideja za &lt;i&gt;game mechanic&lt;/i&gt; koja mi se mota po glavi već duže vrijeme je podjela razine &lt;i&gt;damagea&lt;/i&gt; na tri razine, &lt;i&gt;shock&lt;/i&gt;, &lt;i&gt;minor&lt;/i&gt; i &lt;i&gt;major&lt;/i&gt;. Pod "razine &lt;i&gt;damagea&lt;/i&gt;" u ovom slučaju mislim na &lt;i&gt;hit pointe &lt;/i&gt;koji nedostaju unesrećenom, ne na snagu napada. Ideja je ovakva:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Major damage&lt;/i&gt;: ono što je trajno uništeno, što se ne može zakrpati. Npr. kad na letjelici nedostaje cijelo krilo. Jedini način popravka ovakve štete je vraćanje u tvornicu.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Minor damage&lt;/i&gt;: onaj dio štete koji unesrećeni može samostalno popraviti. Npr. ogrebotine i manje rane na čovjeku. Unesrećeni "umire" kada je zbroj &lt;i&gt;minor&lt;/i&gt; i &lt;i&gt;major damagea&lt;/i&gt; veći ili jednak od maksimumu &lt;i&gt;hit pointa&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Shock damage&lt;/i&gt;: opterećenje obrane. Nije prava šteta no utječe na sposobnost primanja štete. Kod većih razina šoka napadi imaju rade veću štetu, bilo da se napadi vode kao jednostavno jači napada ili da rade ozbiljniji oblik štete (&lt;i&gt;major&lt;/i&gt; umjesto &lt;i&gt;minor&lt;/i&gt; i &lt;i&gt;minor&lt;/i&gt; umjesto &lt;i&gt;shock&lt;/i&gt;). Šok s vremenom nestaje, hlapi.&lt;/li&gt;&lt;/ul&gt;Nešto slično sam vidio u Mortal Kombatu gdje se dio štete može regenerirati ako igrač neko vrijeme ne prima novu štetu.&lt;br /&gt;&lt;br /&gt;Ovaj sustav bi mogao lijepo funkcionirati u akcijskim igrama. Igrač ne mora imati puno veći maksimum &lt;i&gt;hit pointa &lt;/i&gt;od protivnika da bi preživio višestruke okršaje a s druge strane smanjuje se potreba za omraženom pasivnom regeneracijom. RPGi bi se mogli dizajnirati tako da su paketi prve pomoći koji liječe &lt;i&gt;minor damage&lt;/i&gt; lagani za nabaviti a napitci koji liječe &lt;i&gt;major damage&lt;/i&gt; znatno skuplji ili da za oporavak od &lt;i&gt;major damagea &lt;/i&gt;treba otići u grad kod iscjelitelja.&lt;br /&gt;&lt;br /&gt;Još jedan primjer u kojem bi se ovaj sustav mogao iskoristiti su situacije gdje hrpa napadača sa slabim napadom napada dobro oklopljenu metu (12 &lt;i&gt;Protoss Scouta&lt;/i&gt; protiv &lt;i&gt;Ultraliska&lt;/i&gt;). Obično u tim slučajevima treba cijela vječnost da se uništi oklopljena meta no s ovim sustavom meta bi s vremenom primala sve veću štetu po napadu. To bi tjeralo napadnutog igrača da se aktivno brani čak i u bunkeru.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-4865749425514625485?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/4865749425514625485/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/10/hit-pointi-i-razine-damagea.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/4865749425514625485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/4865749425514625485'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/10/hit-pointi-i-razine-damagea.html' title='Hit pointi i razine damagea'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-3980331489988045349</id><published>2011-09-26T12:33:00.000+02:00</published><updated>2011-09-26T12:33:13.061+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='projekt'/><title type='text'>Zvjezdijedac, progress report</title><content type='html'>Upravljanje na razini zvjezdanog sustava je bilo gotovo u srijedu ali sam još uvijek nezadovoljan prezentacijom. Mogo bih staviti download ovih dana premda kažem, ne izgleda mi kao zaokružena cjelina. Nedostatke GUIa kanim u što većoj mjeri ispraviti u zadatku #38 (&lt;span class="h3"&gt;Overhaul colony info window) u kojem se ne bih ograničo samo na GUI za kolonije.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="h3"&gt;Uz to, trebao bih konačno konsolidirati procesiranje &lt;i&gt;turnova&lt;/i&gt;. Trebao bih si staviti na papir, odnosno napravit si nekakav dijagram na kojem je opisano što se kada računa. Hmmm, možda bih čak mogao dokument s tim dijagramom staviti u repozitorij. I svakako trebam čim više smanjiti ovisnost o podacima pohranjenim u generičnim &amp;lt;string, double&amp;gt; rječnicima. To bi sve moglo povezati sa zadatakom #33 (&lt;/span&gt;&lt;span class="h3"&gt;Turn processing in background&lt;/span&gt;&lt;span class="h3"&gt;) u kojem planiram među ostalom napraviti procesiranje turnova u pozadini.&lt;/span&gt;&lt;br /&gt;&lt;span class="h3"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="h3"&gt;I na koncu, opet bih mijenjao utjecaj uvjeta na planeti. Imam problema s konceptom da zračenje, gravitacija i atmosfera utječu na maksimun populacije. Što bi se trebalo dogoditi kada se uvjeti pogoršaju? Da li bi populacija koja prelazi novi maksimum trebala nestati u idućem &lt;i&gt;turnu&lt;/i&gt;? Ja bih rađe da se ti uvjeti preslikavaju na teže održavanje i manju produktivnost kolonije. Još nisam otvorio zadatak za to ali bih svakako to riješio prije zaključivanja verzije 0.4.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-3980331489988045349?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/3980331489988045349/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/zvjezdijedac-progress-report.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3980331489988045349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3980331489988045349'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/zvjezdijedac-progress-report.html' title='Zvjezdijedac, progress report'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-4217626053640858384</id><published>2011-09-18T22:37:00.000+02:00</published><updated>2011-09-18T22:37:04.622+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><title type='text'>Zvjezdojedac, progress report</title><content type='html'>Implementacija upravljanja zvjezdanim sustavom je stvarno naporna stvar. Nakon čišćenja donjeg dijela sučelja &amp;nbsp;na redu je bilo izbacivanje vojne gradnje iz kolonije. To je prošlo manje više bezbolno. Ali dodavanje (više prenamjena stare vojne gradnje) upravljanja sustavom je potrajalo skoro cijeli tjedan. Još nije gotovo, GUI nisam skoro ni taknuo, ostalo je hrpa nekonzistentnih imena, sejvanje trenutno ne radi itd.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nadam se da ću do srijede bit gotov s time i da će sjest download nove verzije.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-4217626053640858384?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/4217626053640858384/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/zvjezdojedac-progress-report.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/4217626053640858384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/4217626053640858384'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/zvjezdojedac-progress-report.html' title='Zvjezdojedac, progress report'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-5556749861625599335</id><published>2011-09-12T19:17:00.000+02:00</published><updated>2011-09-12T19:17:21.124+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='math'/><category scheme='http://www.blogger.com/atom/ns#' term='matematika'/><title type='text'>Online kalkulatori</title><content type='html'>Pišući prošli post suočio sam se problemom izračuna limesa za modificiranu funkciju&amp;nbsp;&lt;i&gt;damage reductiona&lt;/i&gt;&amp;nbsp;korištenu u igri Warlord Battlecry 3. Možda da nisam taj dio pisao u jedan sat u noći, možda bi sam rješio taj limes. U želji da čim prije odem spavat a da ne ostavljam dio posla nezaključen, upisah u Google "limes calculator". Naravno, Google je našao što tražim bez problema i limes je bio rješen za manje od minute.&lt;br /&gt;&lt;br /&gt;Postoji cijelo more online kalkulatora. Prethodno spomenuti&amp;nbsp;&lt;a href="http://www.numberempire.com/limitcalculator.php"&gt;limes kalkulator&lt;/a&gt;&amp;nbsp;samo je dio alata koje &lt;a href="http://www.numberempire.com/"&gt;The Number Empire&lt;/a&gt; nudi. Ostali alati koji site nudi variraju od rješavača sustava jednadžbi i određivanja derivacije do egzotičnih alata kao što je kalkulator inverza funkcije. Još jedna od "alatki" na koju sam naletio je &lt;a href="http://www.handymath.com/calculators.html"&gt;handymath.com&lt;/a&gt;&amp;nbsp;sa zanimljivim alatima vezanim za geometriju, fiziku i kemiju.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-5556749861625599335?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/5556749861625599335/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/online-kalkulatori.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5556749861625599335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/5556749861625599335'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/09/online-kalkulatori.html' title='Online kalkulatori'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-3700632223039802789</id><published>2011-08-23T15:21:00.000+02:00</published><updated>2011-08-23T15:21:29.914+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game mechanics'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><category scheme='http://www.blogger.com/atom/ns#' term='matematika'/><title type='text'>Armor u strategijama i RPGovima</title><content type='html'>Nastavak na temu matematike u igrama, što mi znači +2 armora što mi daje paladinova aura?&lt;br /&gt;&lt;br /&gt;Slično&amp;nbsp;&lt;i&gt;attack&lt;/i&gt; i &lt;i&gt;defence ratingu &lt;/i&gt;igrice mogu imati mehanizam &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;i &lt;i&gt;armora&lt;/i&gt;/&lt;i&gt;resistencea&lt;/i&gt;. Tipičan primjer su strategije kao npr. Warcraft III i Starcraft. Ako se usredotočimo na strategije, dva su pristupa: oduzimanje i dijeljenje vatrene moći napada. RPGovi ili kombiniraju jedan od ova dva pristupa ili jednostavno svrstavaju &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;pod &lt;i&gt;defense rating&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Damage&lt;/i&gt; minus &lt;i&gt;armor&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?damage=fire power-armor" title="damage=fire power-armor" /&gt;&lt;/div&gt;&lt;br /&gt;Starcraft je primjer igre u kojoj se primjenjuje oduzimanje. Napad od 12 &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;protiv jedinice s 3 &lt;i&gt;armora &lt;/i&gt;oduzima 12-3=9 &lt;i&gt;hit pointa&lt;/i&gt;. Posljedice ovakvog pristupa su da ako&amp;nbsp;&lt;i&gt;damage&lt;/i&gt;&amp;nbsp;i&amp;nbsp;&lt;i&gt;armor &lt;/i&gt;nisu sumjerljivi da se gubi značaj ili&amp;nbsp;&lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;ili&amp;nbsp;&lt;i&gt;armora&lt;/i&gt;. Ako je &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;veći od &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;tada meta ne bi trebala primiti nikakvu štetu. Dizajnerima Starcrafta se to nije svidjelo pa su i igru stavili pravilo da &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;ne može smanjiti &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;ispod 0.5. U obrnutom slučaju, kada je &lt;i&gt;damage&lt;/i&gt; puno veći od &lt;i&gt;armora&lt;/i&gt;, utjecaj &lt;i&gt;armora&lt;/i&gt;&amp;nbsp;postaje nezamjetan. Utjeće na račun ali čisto simbolički. Npr. ako napač vrši napad od 1100 &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;na meti s 2 &lt;i&gt;armora, &lt;/i&gt;taj &lt;i&gt;armor &lt;/i&gt;neće bitno utjecati na ishod, niti će nadogradnje koje povećavaju &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;mete za 1 bitno joj promijeniti izglede za preživljavanje.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Damage&lt;/i&gt; podijeljen s &lt;i&gt;armorom&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?damage=\frac{fire power}{1+armor}" title="damage=\frac{fire power}{1+armor}" /&gt;&lt;/div&gt;&lt;br /&gt;Ovo izgleda malo neobično ali takvog oblika je formula za &lt;i&gt;damage reduction&lt;/i&gt;&amp;nbsp;u Warcraftu III (zapravo, količnik je 1+6*&lt;i&gt;armor&lt;/i&gt;). Za razliku od pristupa s oduzimanjem, pristup s dijeljenjem nema problem nesrazmjera, slab &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;će malo umanjivati &lt;i&gt;damage, &lt;/i&gt;jak &lt;i&gt;armor&lt;/i&gt; će jako umanjivati &lt;i&gt;damage&lt;/i&gt;. Naime, štos je u tome da postotak reduciranog &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;ne ovisi o iznosu&lt;i&gt;&amp;nbsp;damagea&lt;/i&gt;. To je po mom mišljenju ujedno i loša strana ovog pristupa jer na taj način &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;nije ništa drugo nego +% &lt;i&gt;hit pointa&lt;/i&gt;, odnosno isti efekt se postiže povećanjem &lt;i&gt;hit pointa&lt;/i&gt; jedinice.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jedan neobičan pristup&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Pišući ovaj tekst, sjetih se jedne igre koja je imala zanimljiv pristup. U strateškoj igri Warlord Battlecry koristi se nešto slično geometrijskom redu. Ako je &lt;i&gt;armor&lt;/i&gt; manji ili jednak &lt;i&gt;damageu&lt;/i&gt;, za svaki poen &lt;i&gt;armora damage&lt;/i&gt;&amp;nbsp;se umanjuje za 0.5. Ak je veći od &lt;i&gt;damaga&lt;/i&gt;&amp;nbsp;tada se efekt dodatnog &lt;i&gt;armora&lt;/i&gt;&amp;nbsp;prepolavlja. Primjer, recimo da napadač vrši napad s 10 &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;i da meta ima 25&amp;nbsp;&lt;i&gt;armora&lt;/i&gt;. Prvih 10 poena&amp;nbsp;&lt;i&gt;armora&lt;/i&gt;&amp;nbsp;reducira &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;za 5 (10*0.5), sljedećih 10 za 2.5 (10*0.25) i zadnjih 5 za&amp;nbsp;0,625 (5*0.125) i napadač vrši ukupno 10 -5 - 2.5 -&amp;nbsp;0.625 =&amp;nbsp;1.875 poena štete. Znači za svaki višekratnik &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;oduzima dodatan &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;ali s dvostruko manjim faktorom. To je približno jednako eksponencijalnom utjecaju, pogotovo za veće vrijednosti &lt;i&gt;armora&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?damage=firepower*2^{-\frac{armor}{firepower}}" title="damage=firepower*2^{-\frac{armor}{firepower}}" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Usporedba&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Očigledno je da sam protiv Warcraftovog&amp;nbsp;&lt;i&gt;damage reduction&lt;/i&gt;&amp;nbsp;pristupa (jer utjecaj &lt;i&gt;armora&lt;/i&gt; ne može ne ovisiti o napadaču). Pristup s oduzimanjem ima mane kada su&amp;nbsp;&lt;i&gt;damage&lt;/i&gt;&amp;nbsp;i&amp;nbsp;&lt;i&gt;armor&lt;/i&gt;&amp;nbsp;u nesrazmjeru. Kada je &lt;i&gt;damage &lt;/i&gt;puno veći od &lt;i&gt;armora&lt;/i&gt;, zapravo je i logično da bi &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;trebao imati jako mal utjecaj. Činjenice da se moraju izmišljati dodatna pravila kada je &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;veći od &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;i da se brojke ponašaju skokovito kad je &lt;i&gt;damage &lt;/i&gt;jedva nešto veći od &lt;i&gt;armora&lt;/i&gt;&amp;nbsp;razlozi zašto ne odabrati takav pristup.&lt;br /&gt;&lt;br /&gt;Pristup kojeg koristi igre Warlords Battlecry je zanimljiv i nakon malo analize, rekao bih da ispunjava očekivanja. Nedavno sam i sam smišljao formule za utjecaj &lt;i&gt;armora&lt;/i&gt;. Formula do koje sam došao slična je onoj koja se obično koristi za vjerojatnost pogotka a izgleda ovako:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?damage=\frac{firepower^{2}}{firepower+armor}" title="damage=\frac{firepower^{2}}{firepower+armor}" /&gt;&lt;/div&gt;&lt;br /&gt;Usporedbe radi napravih sljedeća dva grafa. Prvi prikazuje funkcije za &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;= 10 (pretežno slučajevi kada je &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;veći od &lt;i&gt;armora&lt;/i&gt;) a drugi za &lt;i&gt;armor =&amp;nbsp;&lt;/i&gt;40 (slučajevi kada je &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;veći od &lt;i&gt;damagea&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-MznA4atYRCs/TlOU8D1y2vI/AAAAAAAAAHQ/VTeNrRRb7mw/s1600/armor+2.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-HhpF-OFGL9E/TlOU7oPtFwI/AAAAAAAAAHM/AYpLlh71uFo/s1600/armor+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/-HhpF-OFGL9E/TlOU7oPtFwI/AAAAAAAAAHM/AYpLlh71uFo/s320/armor+1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Kao što se može iz ovog grafa vidjeti, pristup iz Warlords Battlecrya za veće vrijednosti &lt;i&gt;damagea&lt;/i&gt;&amp;nbsp;u odnosu na &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;prelazi u obično oduzimanje (ali s duplo manjom vrijednosti za &lt;i&gt;armor&lt;/i&gt;). Kontinuirana inačica WB pristupa tj.&amp;nbsp;eksponencijalna funkcija se u području kada je &lt;i&gt;armor&lt;/i&gt; veći od &lt;i&gt;damagea&lt;/i&gt; gotovo poklapa s originalnom WB metodom. Zbog toga i zato što je ta inačica lakša za ukucavanje u Excel (lijenost FTW i zapravo sam koristio OpenOffice ekvivalent za MS Excel), na drugom grafu nije prikazana originalna WB metoda. U području gdje je &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;manji od &lt;i&gt;damagea&lt;/i&gt;, kontinuirana WB inačica konvergira u obično oduzimanje ali s neobičnom vrijednosti za &lt;i&gt;armor&lt;/i&gt;&amp;nbsp;(&lt;i&gt;armor&lt;/i&gt;*&lt;i&gt;ln(2)&lt;/i&gt;)&lt;i&gt;. &lt;/i&gt;No ta neobičnost ionako nije važna jer je tada &lt;i&gt;damage&lt;/i&gt;&amp;nbsp;ionako ogroman u usporedbi s &lt;i&gt;armorom&lt;/i&gt;. Ono što je bitno je činjenica da se na početku ponaša slično kao i originalna WB metoda, da ima približno jednak utjecaj kao obično oduzimanje s &lt;i&gt;armor/2&lt;/i&gt;. Moja funkcija također konvergira u obično oduzimanje ali za razliku od WB pristupa, konvergira u pravo oduzimanje kakvo je u Starcraftu i to relativno brzo.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-MznA4atYRCs/TlOU8D1y2vI/AAAAAAAAAHQ/VTeNrRRb7mw/s1600/armor+2.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="167" src="http://3.bp.blogspot.com/-MznA4atYRCs/TlOU8D1y2vI/AAAAAAAAAHQ/VTeNrRRb7mw/s320/armor+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Na koncu, kontinuirana inačica WB pristupa mi se čini kao najelegantniji pristup. Doslovce &lt;i&gt;one liner&lt;/i&gt;&amp;nbsp;i jasno razumljiva formula. Plus k tome, bazom potencije se može podešavati strmina funkcije.&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-3700632223039802789?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/3700632223039802789/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/08/armor-u-strategijama-i-rpgovima.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3700632223039802789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3700632223039802789'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/08/armor-u-strategijama-i-rpgovima.html' title='Armor u strategijama i RPGovima'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HhpF-OFGL9E/TlOU7oPtFwI/AAAAAAAAAHM/AYpLlh71uFo/s72-c/armor+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-8427389273195342484</id><published>2011-08-01T20:55:00.001+02:00</published><updated>2011-08-01T21:02:44.244+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><category scheme='http://www.blogger.com/atom/ns#' term='projekt'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Zvjezdojedac, planovi za verziju 0.4</title><content type='html'>Ukratko stavke za slijedeću verziju Zvijezdojeca su slijedeće:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Upravljanje na razini zvjezdanog sustava&lt;/li&gt;&lt;li&gt;Umjetna inteligencija za upravljanje kolonijama&lt;/li&gt;&lt;li&gt;Svemirske bitke&lt;/li&gt;&lt;li&gt;Preinaka prikaza informacija za kolonije&lt;/li&gt;&lt;li&gt;Prikaz liste kolonija&lt;/li&gt;&lt;li&gt;(Možda) Preinaka varijabli za formule da budu strong typed&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Upravljanje na razini zvjezdanog sustava&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Kao što sam napisao u prošlom postu, maknu bih podjelu gradnje na civilnu i vojnu i napravio bih da se brodovi grade na razini cijelog zvjezdanog sustava. Nešto slično kao u prvom Master of Orionu.&amp;nbsp;Na svakoj koloniji bi se moglo odrediti koliko se sredstava odvaja za projekte na razini sustava a upravljanje redom gradnje bi se vršilo na sučelju koje je trenutno prikazuje informacije o zvijezdi i popis planeta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Umjetna inteligencija za upravljanje kolonijama&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Globalni plan za UI je da se upravljanje razlomi na razine. Prva razina bi bila glavna mapa. Algoritam bi određivao koliko je pojedini sustav u posjedu ugrožen i kolko su ostali sustavi pogodni za istraživanje i naseljavanje. Na temelju tih informacija bi se slali brodovi i određivala tendencija gradnje brodova. Druga razina bi bila pojedinačni zvjezdani sustavi. Algoritam bi za tu razinu na temelju informacija s prve razine određivao što će se graditi na razini sustava (da li ratni brodovi, da li kolonizatori ili poboljšanja za planete). Također, na toj razini bi se određivala tendencija ulaganja u zvijezdani sustav tj. &amp;nbsp;koliko će kolonije odvajati sredstva za sustav a koliko za sebe. Treća i najniža razina bi upravljala samim kolonijama. Znači, što kolonije grade i koliko u što ulažu.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Za početak napravio bih nešto jednostavno, UI koji će razvijati svaku koloniju kao da je sama svemiru.&amp;nbsp;I dodato bih neki jednostavan algoritam za drugu razinu kako bi računalni protivnici gradili brodove za testiranje bitaka.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Svemirske bitke&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Najsočniji dio svake igre. Trebam još definirati kako će se koji atribut ponašati. Imam neke ideje ali moram ih još uskladiti. O tome više kada ova stavka dođe na red.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Preinaka prikaza informacija za kolonije&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Trenutni prikaz mi se čini kao da prikazuje previše informacija odjedanput. Htio bih napraviti sučelje na kojem se na prvi pogled može vidjeti koliko je koja kolonija razvijena i produktivna a da se do detaljnijih informacija može doći kada se miš pozicionira iznad pojedine stavke (Civilization 4) ili na klik (desni klik u Master of Orionu 2). Time bih dobio više mjesta za prikaz detaljnih informacija i izračuna kako je koja brojka dobivena i na sučelju za kratki pregled, ne bih morao prikazivat puno toga.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Prikaz liste kolonija&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Nekoć davno 4X strategije sam igrao na način da bi svaki krug zavirio u svaki grad/koloniju i gledao da li mogu što poboljšati. Takvi &lt;i&gt;turnovi&lt;/i&gt;&amp;nbsp;su znali potrajati i po 10 minuta. S vremenom sam se naučio kako se većina &lt;i&gt;micromanagmenta&lt;/i&gt; može izvesti preko popisa kolonija (Master of Orion) odnosno gradova (Civilization 3). Kod takvog pristupa, &lt;i&gt;turnovi&lt;/i&gt; traju pola minute. Moć popisa kolonija zasniva se na prikazu bitnih informacija i načinu sortiranja stavki. Dobar popis kolonija treba biti u stanju odgovarati na upite dosta visoke razine, kao npr. "koje kolonije su dobre za izgradnju brodova?" ili "koje se kolonije još trebaju razvijati".&lt;br /&gt;&lt;br /&gt;Za početak ću napraviti jednostavnu listu s nazivom kolonije, populacijom, procjenom razvijenosti i nazivom zgrade u gradnji i s mogućnošću sortiranja po tim svojstvima.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Preinaka varijabli za formule da budu strong typed&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Ovo više finesa ispod haube. Ideja je da od &amp;lt;string, double&amp;gt; hash tablica u kojima se može nalaziti sve i svašta, napravim singleton razred u kojem će za svaku varijablu u igri postojati članska varijabla. Prednosti takvog pristupa su da ću imati jedno mjesto na kojem će varijable biti hijerarhiski poslagane, neću morati izvoditi finese s nazivima varijabli (trenutno skoro svaka varijabla ima za svoj naziv const string da ne moram rovat po kodu i prepisivati), možda će biti brže, ne ću morati instancirati toliko dictionary&amp;lt;string, double&amp;gt; objekata i biti će manje parametara u metodama za izračun vrijednosti formula.&lt;br /&gt;&lt;br /&gt;Uglavnom, uz par velikih djelova &lt;i&gt;gameplaya&lt;/i&gt;&amp;nbsp;ova verzija će biti više fokusirana na fluidnost sučelja. Nadam se da ću je dovršiti do kraja godine a ako Bog da, u roku 2 mjeseca. I da ću po implementiranim &lt;i&gt;featureima&lt;/i&gt;&amp;nbsp;prestići FreeOrion :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-8427389273195342484?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/8427389273195342484/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/08/zvjezdojedac-planovi-za-verziju-04.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8427389273195342484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8427389273195342484'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/08/zvjezdojedac-planovi-za-verziju-04.html' title='Zvjezdojedac, planovi za verziju 0.4'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-3631231789933410354</id><published>2011-07-10T00:04:00.001+02:00</published><updated>2011-07-10T00:05:21.525+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zvjezdojedac'/><category scheme='http://www.blogger.com/atom/ns#' term='projekt'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Zvjezdojedac v0.3</title><content type='html'>Konačno, nakon skoro godinu dana, dovrših verziju 0.3 Zvjezdojedaca. Stvari koje su nove u toj verziji su:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Lokalizacija&lt;/li&gt;&lt;li&gt;Pomicanje brodova&lt;/li&gt;&lt;li&gt;Podešavanje veličine GUIa&lt;/li&gt;&lt;li&gt;"Knjižnica" (prikaz istraženih tehnologija i dostupnih komponenti za brodove)&lt;/li&gt;&lt;li&gt;Migracija populacije&lt;/li&gt;&lt;li&gt;Odabir početne populacije&lt;/li&gt;&lt;/ul&gt;Od navedenih, najviše sam se namučio s lokalizacijom, mislim da sam tjedana dana radio na tome. Al mislim da je to &lt;i&gt;feature&lt;/i&gt;&amp;nbsp;koji trenutno najviše doprinosi pristupačnosti igre široj publici. Naime, do sada je igra bila isključivo na hrvatskom.&lt;br /&gt;&lt;br /&gt;Mogućnost pomicanja brodova je najznačajniji &lt;i&gt;feature &lt;/i&gt;što se tiće igrivosti. To sam napravio praktički u 2 dana (po sat - dva svaki dan). I još sam se najviše namučio radeći na GUIu. I naravno da nisam zadovoljan sa &amp;nbsp;sučeljem.&lt;br /&gt;&lt;br /&gt;Migracija populacije je malo manje značajan &lt;i&gt;feature&lt;/i&gt;&amp;nbsp;ali sa značajnim posljedicama. Naime, za implementaciju migracije, dodao sam efekte na razini zvjezdanog sustava (npr. ukupan broj ljudi koji se može seliti unutar sustava) što će kasnije omogućavati fensi mogućnosti kao npr. sustav za preusmjeravanje zračenja s jednog planeta na drugi kako bi se povećala temperatura na planetima koji su daleko od matične zvijezde. Općenito mislim neke stvari maknuti s planeta i staviti na razinu cijelog sustava. Jedna od većih ideja je maknuti podjelu gradnje na civilnu i vojnu i napraviti svi planeti u sustavu sudjeluju u gradnji brodova. Nešto u stilu posebnog &lt;i&gt;building queue&lt;/i&gt;a za sustav i da se na svakoj koloniji može odrediti koliko resursa se izdvaja za taj&amp;nbsp;&lt;i&gt;building queue&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Odabir početne populacije je isto mali &lt;i&gt;feature&lt;/i&gt;&amp;nbsp;s velikim posljedicama. Naime, taj &lt;i&gt;feature&lt;/i&gt;&amp;nbsp;me natjerao da preinačim kalkulacije vezane za uvjete na planetu. Morat ću si jedonom sve te formule staviti na jedno mjesto i mic po mic ih podešavati. Bit će dosta posla za slijedeću verziju. Budem sutra razmišljao što ću sve raditi u verziji 0.4.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-3631231789933410354?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/3631231789933410354/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/07/zvjezdojedac-v03.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3631231789933410354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/3631231789933410354'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/07/zvjezdojedac-v03.html' title='Zvjezdojedac v0.3'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-1055900745609834698</id><published>2011-06-22T15:40:00.003+02:00</published><updated>2011-06-22T15:47:36.475+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vjerojatnost'/><category scheme='http://www.blogger.com/atom/ns#' term='game mechanics'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><category scheme='http://www.blogger.com/atom/ns#' term='matematika'/><title type='text'>Attack rating II</title><content type='html'>&lt;div&gt;&lt;i&gt;Ovaj post se nastavlja na &lt;a href="http://ikravarscan.blogspot.com/2011/06/attack-rating.html"&gt;prethodni&lt;/a&gt;.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Razmatranje nelinearnih modela htjeli ili ne, zahtjeva malo višu matematiku. Pokušati ću ne komplicirati.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ima jedna igra u kojoj sam vidio na djelu ne linearnu inačicu modela temeljenog na razlici attacka i defensa. Master of Orion II. Inače, obožavam tu igru no neću koristiti ovu priliku da ju hvalisam. Master of Orion II: battle at Antares koristi tzv. logističku sigmoidalnu funkciju&amp;nbsp;&lt;a href="http://www.gamefaqs.com/pc/197873-master-of-orion-ii-battle-at-antares/faqs/16743"&gt;[1]&lt;/a&gt;&amp;nbsp;za pretvaranje razlike attacka i defensa u vjerojatnost pogotka. Logistička sigmioda ima mnogo lijepih svojstava &lt;a href="http://mathworld.wolfram.com/SigmoidFunction.html"&gt;[2]&lt;/a&gt;, linearna je oko nule, derivabilna je, ima lijepi integral itd. U Master of Orionu II dobro funkcionira dok je razlika između attacka i defensa manja od 100 no izvan&amp;nbsp;intervala [-100, 100]&amp;nbsp;praktički se&amp;nbsp;događa&amp;nbsp;imunost na kocku. Mislim, u svakom modelu &amp;nbsp;će se&amp;nbsp;uz dovoljno veliku razliku u attacka i defensa pojaviti imunost na kocku. Ili tako da kocka uopće ne utječe na ishod ili tako da je vjerojatnost jednog ishoda 99.9999% a drugog 0.0001% (tzv. zasićenje). Naime, to je ok kada je razlika attacka i defensa, u kontekstu igre, ogromna. Npr. kada običan miš pokušava ozlijediti ninđu.&lt;br /&gt;&lt;br /&gt;Da bi nastavili analizirati nelinearne modele, moramo prvo definirati relevantna svojstva. Naš idealan model trebao bi zadovoljavati slijedeće:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Linearnost oko nule. Ako su attack i defense jednaki, vjerojatnost pogotka je 50%. Manja odstupanja od jednakosti linearno povećavaju ili smanjuju vjerojatnost. Npr. 1 poen attacka ili defensa povećava ili smanjuje vjerojatnost za 1%.&lt;/li&gt;&lt;li&gt;Asimptote na 0% i 100%. Za veće razlike u korist attack ratinga, vjerojatnost se približava vrijedosti od 100% ali ju nikad ne sustiže (niti ne prelazi). I obratno, za velik defense u odnosu na attack vjerojtanost teži u 0%. Ovo svojstvo povlači zahtjev da nelinearna funkcija mora imati vrijednosti u intervalu [0, 1] (1 = 100%).&lt;/li&gt;&lt;li&gt;Opadajuća granična korisnost. Kod većih razlika attacka i defensa, 1 poen gore-dolje manje utječe na vjerojatnost pogotka nego kod manjih razlika. &lt;/li&gt;&lt;li&gt;Simetrija s obzorom na (0, 0.5). Drugim riječima ako je attack rating &lt;i&gt;x&lt;/i&gt; poena veći od defense ratinga, da je vjerojatnost pogotka jednaka vjerojatnosti promašaja kada bi attack rating bio istih&amp;nbsp;&lt;i&gt;x&lt;/i&gt;&amp;nbsp;poena manji od defense ratinga.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Ponašanje granične korisnosti je svojstvo po kojem se dobri modeli razlikuju od loših. Npr. u linearnom modelu događa se da kod malih vjerojatnosti pogotka svaki poen puno znači, recimo da svaki poen mjenja vjerojatnost za 5%. +5% na 5% znači duplo veća vjerojatnost dok +5% na 90% ne čini tako drastičnu razliku. I to smatram lošim. Dobar model bi trebao biti taka da svaki poen ima otprilike jednak utjecaj na vjerojatnost pogotka.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;Eksponencijalna funkcija&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ako želimo da svaki poen razlike jednako utječe na vjerojtanost tako da svaki poen razlike&amp;nbsp;povećava ili smanjuje&amp;nbsp;očekivan broj pogodaka &amp;nbsp;za 1% (npr.&amp;nbsp;ako je vjerojatnost pogotka 30% i napadač si poveća attack rating za 10 poena, da se vjerojatnost pogotka poveća na 33%), tada je traženi model u obliku eksponencijalne funkcije. Osobi pokušaj konstrukcije takve funkcije doveli su me do formule slijedeće formule:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?f(x)=\left\{\begin{matrix}%20\frac{1}{2}a^{-x}%20&amp;amp;%20x%20\leq%200\\%201-\frac{1}{2}a^{x}%20&amp;amp;%20x%20%3E0%20\end{matrix}\right." style="cursor: move;" title="f(x)=\left\{\begin{matrix} \frac{1}{2}a^{-x} &amp;amp; x \leq 0\\ 1-\frac{1}{2}a^{x} &amp;amp; x &amp;gt;0 \end{matrix}\right." /&gt;&lt;/div&gt;&lt;br /&gt;Gdje je baza potencije (parametar&amp;nbsp;&lt;i&gt;a&lt;/i&gt;) utječe na strminu funkcije, odnosno na to koliko svaki poen utječe na vjerojatnost. Ako želimo da bude točno 1 poen -&amp;gt; 1% tada baza treba biti&amp;nbsp;&lt;img src="http://latex.codecogs.com/png.latex?\inline%20e^{-0.02}" style="cursor: move;" title="\inline e^{-0.02}" /&gt;. Ako je nekome to preekzotičan broj, može slobodno uzeti&amp;nbsp;&lt;i&gt;a =&amp;nbsp;&lt;/i&gt;0.98 što je otprilike tu negdje. Funkcija je podijeljena na dva segmenta kako bi se postigla simetričnost.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Na slijedećoj slici prikazane su logistička sigmoidalna funkcija (zlatna linija), prilagođena eksponencijalna funkcija (plava linija), linearna funkcija (crvena) i &lt;a href="http://latex.codecogs.com/png.latex?\inline f(x)=\frac{1}{2}\frac{0.02x}{1%2B|0.02x|}%2B0.5" target="_blank"&gt;još jedna sigmiodalna funkcija&lt;/a&gt; (ljubičasta linija). Funkcije su podešene tako da nagib u nuli iznosi 0.01 (za pomak na x osi za jednu jedinicu, funkcija raste ili pada za 0.01 jedinicu na y osi).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3S5dIJhmGhY/TgHekmW3KoI/AAAAAAAAAGs/meHswWxvZQs/s1600/sigmoida+i+eksponencijala.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://2.bp.blogspot.com/-3S5dIJhmGhY/TgHekmW3KoI/AAAAAAAAAGs/meHswWxvZQs/s320/sigmoida+i+eksponencijala.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Iz grafa se može vidjeti kako linearna finkcija izvan intervala [-50, 50] više ne može poslužiti kao funkcija vjerojatnosti (jer joj vrijednost izlazi iz intervala [0, 1]). Logistička sigmoida nema takvo ograničenje ali njena praktična primjena prestaje izvan intervala [-100, 100]. Modificirana eksponencijala ni se nekako čini najbolji izbor, interval na kojem je primjenjiva je otprilike [-150, 150], možda čak i na [-200, 200] i trend promjene je upravo takav da svaki poen ima svoj značaj. No da li bi to bio dobar izbor, jednostavno treba isprobati.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-1055900745609834698?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/1055900745609834698/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/attack-rating-ii.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/1055900745609834698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/1055900745609834698'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/attack-rating-ii.html' title='Attack rating II'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-3S5dIJhmGhY/TgHekmW3KoI/AAAAAAAAAGs/meHswWxvZQs/s72-c/sigmoida+i+eksponencijala.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-7394220449646618617</id><published>2011-06-11T12:15:00.001+02:00</published><updated>2011-06-19T11:44:11.885+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vjerojatnost'/><category scheme='http://www.blogger.com/atom/ns#' term='game mechanics'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><category scheme='http://www.blogger.com/atom/ns#' term='matematika'/><title type='text'>Attack rating</title><content type='html'>Mnoge igre, posebice RPG-ovi uključuju "bacenje kocke" u procesima odlučivanja. I većina igara radi to ofrlje, izabirući jednostavan model. Na primjer, u Diablu 2 vjerojatnost zadavanja štete računa se po formuli ovoj formuli:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?p=\frac{a}{a+d}" title="p=\frac{a}{a+d}" /&gt;&lt;/div&gt;gdje je &lt;i&gt;a &lt;/i&gt;"attack rating" napadaća i &lt;i&gt;d&lt;/i&gt; "defense rating" mete. To je zapravo jednostavan omjer, napadač ima &lt;i&gt;a&lt;/i&gt; naprama &lt;i&gt;d&lt;/i&gt; šansi za pogodak. Taj pristup smatram lošim jer dovodi do toga da kako igrač napreduje, attack i defense rating moraju rasti eksponencijalno. Recimo da na početku igrač ima attack rating 10 i da neprijatelji imaju defense rating isto 10. To daje vjerojatnost pogotka od 50%. Da bi igrač podigao vjerojatnost pogotka n 75%, mora si utrostručiti attack rating (znači na 30). Da bi neprijatelji bili izazov, moraju do neke mjere pratiti igračev razvoj tako da će se u jednom trenutku dogoditi da igrač ima attack rating 30 i neprijatelji defense rating 30. I opet igrač mora utrostručiti svoje brojeve da bi dobio prednost i tako u nedogled. Brojevi počnu divljati, sustav postane noćna mora za balansiranje i u najgorem slučaju dio igre ovisan o tom modelu odlučivanja kockom prestane funkcionirati.&amp;nbsp;Osobno tu pojavu nazivam "eksponencijalnom zamkom".&lt;br /&gt;&lt;br /&gt;Primjer drugi, D&amp;amp;D. U D&amp;amp;D-u (mislim da od 2nd editiona na dalje) odlučivanje o pogotku se vrši tako da se na napadačev attack rating doda iznos s kocke i ta suma usporedi s defense ratingom mete. Ako je defense rating manji od te sume, napadač je pogodio. Ovakav pristup nema problema s eksponencijalnim rastom brojeva i čini mi se dosta lakši za balansiranje. No pati od problema kojeg osobno nazivam "imunost na kocku". Ako je napadačev attack rating bez kocke veći od metinog defense ratinga, napadač će uvjek pogoditi. S druge strane, ako meta ima veći defense rating od sume napadačeva attack ratinga i maksimalnog iznosa kocke, tada napadać neće nikad pogoditi. Taj se problem može izbjeći pravilima da napadać ima barem x% šansi da pogodi (npr. ako dobije 20 na d20 "kocki") i barem y% šansi da promaši (ako dobije 1 na d20). No osobno, kada bi radio RPG pokušavao bi izbjeći takvim iznimkama.&lt;br /&gt;&lt;br /&gt;Varijacija na temu je model koji se koristi u iPhone igri Uniwar &lt;a href="http://www.uniwar.com/forum/posts/list/454.page"&gt;[1]&lt;/a&gt;. Ako napadač ima attack rating jednak defense ratingu mete, šanse za pogodak su mu 50%, za svaki poen razlike, šansa se povećava ili smanjuje za 5%. Praktički isto kao i u D&amp;amp;D-u samo je uklonjena potreba da defense rating u startu bude 10. I u Uniwaru to savršeno funkcionira iz prostog razloga što je igra strategija a ne RPG. Attack i defense rating jedinica se ne mjenja u tolikoj mjeri kao u RPG-ovima i balansom je postigunto da ne dolazi do problema imunosti na kocku.&lt;br /&gt;&lt;br /&gt;Dosta sam si razmišljao kakav model odabrati u igrama koje trenutno postoje samo u mojoj glavi. Trenutno mi se model temeljen na razlici, kao u D&amp;amp;D-u i Uniwaru, čini kao &lt;i&gt;way to go&lt;/i&gt;. No ono što mi se ne sviđa je spomenuti problem imunosti na kocku. Ako se malo bolje pogleda, taj problem prizlazi iz toga što se vjerojatnost linearno mjenja s razlikom attacka i defensa, bez obzira da li je ta razlika 0, 10, 100 ili - 500. Znači, u model treba dodati nelinearnost. Malo sam se igrao s brojkam i formulama, no rezultate ću iznijeti u sljedećem postu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-7394220449646618617?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/7394220449646618617/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/attack-rating.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/7394220449646618617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/7394220449646618617'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/attack-rating.html' title='Attack rating'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7065745021682099372.post-8744999186192210004</id><published>2011-06-04T18:47:00.000+02:00</published><updated>2011-06-04T18:47:33.183+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random'/><title type='text'>Otvorih blog</title><content type='html'>Odlučih nakon skoro godinu dana da ipak nastavim s pisanjem blogova. Pa odlučih to raditi na "google compatible" blog sajtu. Stari blog sam vodio na &lt;a href="http://pljs.blog.hr/"&gt;http://pljs.blog.hr/&lt;/a&gt;&amp;nbsp;ako koga slučajno bude zanimalo.&lt;br /&gt;&lt;br /&gt;Kad ulovim vremena, pisati ću o svojim projektima i o ponekim idejama iz sfere programiranja i stuff like that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7065745021682099372-8744999186192210004?l=ikravarscan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ikravarscan.blogspot.com/feeds/8744999186192210004/comments/default' title='Objavi komentare'/><link rel='replies' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/otvorih-blog.html#comment-form' title='0 komentara'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8744999186192210004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7065745021682099372/posts/default/8744999186192210004'/><link rel='alternate' type='text/html' href='http://ikravarscan.blogspot.com/2011/06/otvorih-blog.html' title='Otvorih blog'/><author><name>Ivan Kravarscan</name><uri>https://profiles.google.com/117146928730041638235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-nQrDkXisqEE/AAAAAAAAAAI/AAAAAAAAAIQ/21uWWtU1DkA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
