18.01.2015

Matematyka a Bitewniaki - część 4 - Rzuty przeciwstawne

Powiedzmy sobie szczerze, dzisiejszy odcinek będzie mieć niewiele wspólnego z matematyką :-)

Bardziej z rzutami kością i kostkologią w grach i będzie swoistą kontynuacją wątku, który rozpocząłem tutaj.

Poruszę dzisiaj tematykę testów, a konkretnie testów przeciwstawnych.




Najprostsza forma testu jest powszechnie znana i lubiana. Mamy cechę X, a następnie rzucamy kością KY, gdzie Y >=X i porównujemy rezultat z cechą X. Jeżeli wyrzuciliśmy mniej lub tyle samo, test jest udany. Tego rodzaju testy sprawdzają się w sytuacjach zależnych wyłącznie od 1 cechy ludka oraz od czynników zewnętrznych skumulowanych do postaci modyfikatora rzutu +/- Z. Przykłady takich testów do testy Leadership w Warhammerze, albo Ballistic Skilla.

Co jednak jeżeli wynik testu jest zależny od dwóch różnych cech? Cechy A jednej strony oraz cechy B drugiej strony. Przykładem warhammerowym może być walka wręcz - WS atakującego i obrońcy, albo zadanie rany - Strength vs Toughness. Taki rzut tradycyjnie nazywany jest rzutem przeciwstawnym albo porównawczym. W dzisiejszym poście przedstawię kilka znanych metod wykonywania takiego rzutu. Rzecz jasna nie wymienię ich wszystkich, tylko te, które uważam za swego rodzaju kamienie milowe w rozwoju mechanik bitewniaków. Jeżeli ktoś z czytelników stwierdzi, że pominąłem coś istotnego, będę bardziej niż kontent zobaczyć to w stosownym komentarzu :-) Znam wiele różnych mechanik, ale rzecz jasna nie znam ich wszystkich!

Pierwszą mechaniką o której wspomnę to tabelki, znane na pamięć przez wszystkich graczy obojga Warhammerów. A więc bierzemy cechę A, odnajdujemy ją w odpowiednim wersie tabelki, a następnie odnajdujemy cechę B w odpowiedniej kolumnie i patrzymy co wyskoczy na ich przecięciu. Z reguły tyle musimy wyrzucić. Proste, czytelne, ale wymaga posiadania tabelek pod ręką, lub znania ich na pamięć. Taką mechanikę mamy przy porównywaniu Weapon Skilla walczących (zakres od 2-6+), oraz przy obrażeniach Strength vs Toughness (oba w zakresie 2-6+). Napisałem 6+, bo z reguły wartość dochodzi do 6, ale są przypadki kiedy możemy się spotkać nawet z dziesiątką (np. działa imperialne).

Kolejna mechanika rzutów przeciwstawnych jaką poruszę to obrażenia w pierwszej edycji Warzone.
Mamy tutaj wszechobecny rzut K20. Mamy obrażenia oscylujące w zakresie 8-16, oraz pancerz w zakresie 20-26 (mniej więcej). Mechanika jest bardzo prosta. Rzucamy K20 dodając do wyniku obrażenia. Jeśli wyrzuciliśmy tyle co pancerz, lub więcej, to wchodzi rana. Prosto i zrozumiale. Jedyna wada tego rozwiązania to operacje arytmetyczne w głowie na liczbach powyżej 20. Tak, to nie jest problem zakładając, że gramy z przeciwnikiem, który skończył I klasę podstawówki, jednakże takie operacje wykonywane są w statystycznie dłuższym czasie niż np. w zakresie 1-10.

Kolejnym przykładem będzie krok wstecz jaki wykonano w drugiej edycji Warzone. Tu obrażenia i pancerz to wartości oscylujące w okolicach 10. Bazowy test jaki wykonujemy to rzut na 10 albo mniej. Modyfikujemy go o różnicę między obrażeniami a pancerzem. Niby klarownie, ale niepotrzebnie komplikuje sam rzut. Często człowiek zastanawia się czy ma coś odjąć czy dodać, choć jak zawsze jest to kwestia wprawy.

Twórcy gry Infinity wpadli na pomysł jak z dobrego zrobić lepsze. W Infinity również bazowym rzutem jest K20. Autorzy wzięli rzut na pancerz z pierwszej edycji Warzone i uczynili go lepszym. Od pancerza każdego ludka odjęli jego minimalną możliwą wartość, w związku z czym pancerz przybiera wartości od 0 do 5 (w przypadku zwykłych ludków). Obrażenia broni oscylują w okolicach 10. Rzucając na obrażenia musimy wyrzucić mniej niż ich wartość, aby odnieść sukces. Do wyniku dodajemy wartość pancerza. Proste i eleganckie.

Jak wszyscy czytelnicy tego bloga zdążyli zauważyć, moim ulubionym rzutem jest 2K6. Mechanika rzutów przeciwstawnych opartych o taką kostkę występuje w Warmachinie.
Mamy tutaj bazowe cechy, nazwijmy to aktywne w zakresie 5-9, zaś cechy pasywne w zakresie 10-16. Musimy rzucić 2k6, dodać do wyniku cechę aktywną, a rezultat musi być wyższy bądź równy cesze pasywnej. Czyli I edycja Warzone, ale z podmienioną K20 na 2K6. Test warmachinowy miał się stać podstawowym testem w Clashu, do czasu aż...

... aż przeczytałem zasady do gry Dark Ages. Jej autorzy zrobili pewien błyskotliwy trick, aby uprościć liczenie w trakcie gry. Podstawowa kostka tutaj to K20, a cechy aktywne i pasywne są odwrotnie wartościowane. Czyli im więcej skilla mamy tym lepiej, ale im więcej wartości pancerza tym gorzej. Coś jak przy TraK0 z AD&D. Teraz wystarczy tylko dodać do siebie skill aktywny i pasywny i to jest nasz Target Number, który musimy wyrzucić! Genialny w swej prostocie pomysł na przyspieszenie obliczeń w głowie.

Mechanika jaką zastosowałem w Clashu do testów, to połączenie Warmachiny i Dark Ages, a więc mamy tu 2K6 oraz szybką arytmetykę obliczeń. Choć na pierwszy rzut oka same wartości charakterystyk wydają się być nieintuicyjne, ale to kwestia przyzwyczajenia.

Weźmy jako przykład archetypicznego szkieleciego wojownika.


Załóżmy, że taki szkielet próbuje zaatakować drugiego szkieleta.

Musi wykonać test na trafienie, robimy to dodając Skill z jego walki bronią do Defence przeciwnika. Czyli (Skill) 4 + (Defence) 2 = 6. Tyle musi wyrzucić szkieleci wojownik na 2K6, aby trafić innego szkieleta.

Teraz robimy test na obrażenia. Tutaj dodajemy Power broni do Armoura przeciwnika. 4 + 2 również jest równe 6 i to jest nasze minimum do uzyskania na 2K6.

Mechanika ta ma następujące zalety. Jest bardzo szybka, wymaga tylko 2 rzutów kośćmi (w sumie turlane są 4 kostki), które w dodatku mają rozkład prawdopodobieństwa zbliżony do rozkładu normalnego. Do tego liczenie w pamięci zostało sprowadzone do minimum.

3 komentarze:

  1. Ciekaw jestem, jak się zmiany sprawdzą w praniu :)

    OdpowiedzUsuń
  2. Bardzo ciekawy cykl wpisów, nie ukrywam, że zerkam z zainteresowaniem wykraczającym poza zwykła ciekawość;)
    A znasz to?

    http://deltavector.blogspot.com/search/label/Game%20Design

    OdpowiedzUsuń
    Odpowiedzi
    1. Cieszy mnie to bardzo! Nie, nie znam, ale widzę, że będę miał co czytać przez kilka następnych dni :-) Dzięki za linka!

      Usuń