Pages

Saturday, June 11, 2011

Attack rating

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:
gdje je a "attack rating" napadaća i d "defense rating" mete. To je zapravo jednostavan omjer, napadač ima a naprama d š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. Osobno tu pojavu nazivam "eksponencijalnom zamkom".

Primjer drugi, D&D. U D&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.

Varijacija na temu je model koji se koristi u iPhone igri Uniwar [1]. 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&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.

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&D-u i Uniwaru, čini kao way to go. 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.

No comments:

Post a Comment