Zadrapania są mechaniką gry, w której każdy udany atak zawsze powoduje minimalną ilość obrażeń. Jest to często stosowane w odejmujących systemach walki, w których obrona jest odejmowana bezpośrednio od obrażeń zadanych przez atakującego. Dlatego cel zawsze otrzyma minimalne obrażenia.
Minusem takiego systemu jest dla mnie przynajmniej hack. Że ma wzór prostego, jak Damage = Attack - Defense
i obraca się go w (nieznacznie) bardziej złożony: Damage = max(Attack - Defense, 1)
.
Uważam również, że osłabia to umiejętność gracza w rozwijaniu jego postaci / itp. Bez względu na to, ile bonusów obronnych otrzymują, każdy atak spowoduje niewielkie obrażenia. Po co więc tak wysoko bronić się, jeśli to nic nie znaczy?
Ponadto zachęca to teraz do używania większej liczby punktów życia i obrażeń, tak że obrażenia zadrapania są naprawdę znikome. W końcu, jeśli minimalne obrażenia wynoszą 1, a ty masz tylko 10 Hp, to nadal 10% twojego zdrowia. Nawet przy 20 Hp to 5%. Wolałbym raczej unikać takich większych liczb, chyba że jest to absolutnie konieczne.
Istnieje jednak jedna bardzo ważna zaleta szkód zadrapania: rozwiązuje problem impasu.
Zakleszczenie występuje, gdy żadna ze stron nie jest w stanie wyrządzić szkody drugiej stronie. Jeśli zainwestujesz wszystkie swoje zasoby w obronę, a kilka w atak, twoja postać może nie przyjąć obrażeń, ale nie będzie też w stanie zadawać zbyt wiele. W ten sposób możesz natknąć się na spotkanie, w którym żadna ze stron nie będzie w stanie zadać obrażeń, więc bitwa trwa wiecznie. Jest to szczególnie ważne, jeśli nie masz losowych mechanizmów, takich jak trafienia krytyczne (których również nienawidzę).
Przynajmniej w przypadku zadrapania, ktoś w końcu wygra. Może to być tylko ten, który ma najwięcej Hp lub największą liczbę ataków, ale bitwa się skończy.
Lubię więc system walki, w którym zawsze będzie wynik. Ale nie lubię zadrapań. Jakie są moje alternatywy?
Alternatywy, które nie wymagają losowania liczb losowych; Chcę, aby walka była w 100% deterministyczna. Jeśli toczy się ta sama bitwa, musi nastąpić dokładnie ten sam wynik.
Jeśli chcesz poznać szczegóły rozgrywki, zastanów się nad walką turową, w której bitwę można zautomatyzować (projektujesz swoje siły, a następnie rzucasz je na innych).
źródło
Odpowiedzi:
Możesz wdrożyć system zmęczenia / wytrzymałości. W miarę wykonywania coraz większej liczby ataków gracz staje się coraz bardziej zmęczony, co oznacza, że nie jest w stanie utrzymać tak dobrej obrony (ramię tarczy nagle zaczyna czuć się naprawdę ciężkie po machnięciu mieczem 50 razy) wraz ze wzrostem zmęczenia, obrona spada. Oznacza to, że gracz, który wykształcił dobrą postać, nie odniesie obrażeń w szybkich spotkaniach, ale dłuższa walka spowoduje zwiększenie obrażeń zapobiegających impasowi.
źródło
To wydaje się pytaniem bardzo otwartym. Rozwiązania (o których jeszcze nie wspomniano) zapobiegające zakleszczeniom:
źródło
Jako wariant możesz dodać akumulację rany. Z pewnością gigantyczny miedziany topór nie przebije ciężkiej stalowej zbroi, ale spowoduje pewne tępe obrażenia, a nawet może złamać kości. To samo dotyczy kul i kamizelek.
Za każdym razem, gdy postać zostanie trafiona, zamień część obrażeń przebijających i tnących na obrażenia tępe, które kumulują się. Po pewnym progu (na przykład zależnym od wytrzymałości), skumulowane obrażenia będą zakłócać umiejętności bojowe postaci. Niektóre opcje tutaj:
Pancerz może być mniej skuteczny przy trafianiu w te same części ciała.
Znaczące rany: okresowe uszkodzenia, osłabienie z powodu bólu.
Ciężkie rany: krótkotrwała utrata przytomności (czyniąc postać bardzo wrażliwą).
Ekstremalne rany: trwała utrata statystyk (jeśli postać przeżyje).
Powiązane: Mechanika obrażeń w Dwarf Fortress
źródło
Zadawaj różne rodzaje obrażeń, używając zbroi, które chronią tylko przed niektórymi rodzajami obrażeń. Na przykład uszkodzenie kinetyczne, uszkodzenie kwasem, uszkodzenie ognia, itp. Żaden pancerz nie powinien chronić przed każdym rodzajem uszkodzenia.
Użytkownicy mogli nakładać pancerze, aby chronić się przed wszystkimi typami obrażeń, ale nie mogli chronić przed wszystkimi typami obrażeń jednocześnie. Wprowadza to także pewną strategię do bitew, w których gracze muszą zmieniać typy obrażeń, aby przejść przez różne warstwy zbroi.
źródło
Po prostu mogłyby nie mieć stat obrony i po prostu dać większy wrogom większy KM. Wiem, że chcesz unikać gigantycznych liczb, ale jeśli chcesz deterministyczną grę turową, w której ataki nie są oparte na bezpośrednim wkładzie graczy (nie ma szans, że błąd ludzki zepsuje atak), statystyka obrony wydaje się trochę bezcelowa także.
Jeśli martwisz się aspektem prezentacji, możesz rozbić HP na Kierki lub Pipsy Zdrowia EG 100 KM = 1 serce. Serca zaczynają ciemnieć, gdy postać traci HP, a następnie znika całkowicie. W ten sposób gracz łatwiej jest zrozumieć niż 129301239103123 KM, ale nie musisz się martwić zrównoważeniem jakiegoś magicznego równania.
Jeśli martwisz się realizmem, zawsze możesz mieć animację, aby wyglądał jak cel ataku skutecznie blokuje lub jest tylko lekko porysowany, aż do zabójczego ciosu.
źródło
Dodaj mechanikę zużycia do obrony. Spraw, by każdy atak nieznacznie zmniejszał obronę celu.
W końcu nawet słaby atak zużyje wystarczającą obronę celów, aby spowodować rzeczywiste obrażenia.
źródło
Jeśli nie masz nic przeciwko wyjściu ze świata liczb całkowitych i chcesz urozmaicić system odejmowania, możesz użyć algorytmu redukcji obrażeń z Warlords Battlecry III:
Jest to funkcja, która zachowuje się bardzo podobnie do powyższego pseudokodu:
Kiedy DR jest mniejsze niż atak (obrażenia przychodzące), zachowuje się jak atak - k * DR, gdzie k wynosi 0,693 (
ln(2)
dokładnie). Kiedy DR jest bliskie lub większe, otrzymywane obrażenia sąDR/attack
niszczone o połowę . Na przykład dla DR = 30 i ataku = 10 obrażenia wyniosą 1,25 (atak zmniejszy się o połowę 3).Może to wyglądać na bardziej skomplikowane i trudniejsze do oceny dla człowieka, ale nie wymaga hackowania, a zmiany obu parametrów są istotne. Jeśli atakujący zyska dodatkową siłę ataku lub obrońca zyska lub straci DR nawet w niewielkich ilościach, wynikłe obrażenia zmienią się.
źródło
Użyj pływaków.
Nawet jeśli graczowi poda się całkowitą liczbę HP, użyj float, aby uzyskać HP, i float, aby zadać obrażenia.
Używam teraz frakcyjnych klas zbroi, w których pancerz 1.0 jest niezwyciężony, a pancerz 0.0 oznacza „przyjmuje pełne obrażenia”. Obrażenia są zmniejszane, ponieważ:
Ta formuła pozwala na „podwójne obrażenia” poprzez ustawienie pancerza na -1.
Podzieliłem również obrażenia na kategorie, patrz na przykład obrażenia wstrząsowe / wybuchowe Starcraft lub system typów obrażeń Ewy .
Więc teraz trochę imp drapie w twojej zbroi klasy .99 , ostatecznie Cherry Cherry cię zabije, ale ataki nie będą zadawać obrażeń graczowi (pozostanie przy 1 hp, gdy wzrośnie z 1,15 hp do 1,1499 hp the następny atak ..)
źródło
Wykres umiejętności może postawić niektóre umiejętności zadawania obrażeń jako warunek wstępny umiejętności obronnych na wyższym poziomie, aby zmniejszyć zdolność gracza do wykonywania wysoce asymetrycznych buildów.
Trafienia krytyczne mogą powodować obrażenia, o ile obrona nie jest absurdalnie wysoka. Jeśli uczynisz je okresowymi, a nie losowymi, nadal będziesz miał deterministyczną walkę.
Po kilku nieudanych trafieniach możesz automatycznie zmniejszyć prędkość ataku na korzyść większej szansy na trafienie i obrażeń. Twoja superszybka postać zadrapująca wykonywała dziesięć ataków na sekundę; teraz, po piętnastu atakach nie powodujących obrażeń, otrzymuje trzy ataki na sekundę przy + 50% do trafienia i + 200% obrażeń. Jest to podobne do trafień krytycznych, ale w takich sytuacjach jest szybsze.
Możesz użyć procentowej redukcji obrażeń ze zbroi, ale aby uczynić ją bardziej interesującą niż inny sposób na wzmocnienie maksymalnego HP, możesz mieć większy procent redukcji w przypadku słabszych trafień. Na przykład 90% redukcji obrażeń o 1-20 KM, 60% na 20-30 i 30% na wszystko inne.
Wreszcie, nie martw się o duże liczby. Dają ci dużo lepszą kontrolę niż małe. Posiadanie postaci na pierwszym poziomie ze 100 punktami wytrzymałości oznacza, że możesz mieć coś, co zabija ich w siedmiu trafieniach, ale nie w pięciu. Oznacza to, że możesz zadawać obrażenia od trucizny i inne obrażenia w czasie, które nie są skandalicznie niszczące (a także niektóre, które są, jeśli chcesz). Jeśli nie lubisz wyświetlać dużych liczb, znajdź sposób, aby ich nie wyświetlać.
źródło
Mówisz, że chcesz, aby zawsze istniała rezolucja, ale czy to musi być zwycięstwo?
Zastanów się nad podejściem stosowanym przez Dominions - po 50. godzinie atakujący automatycznie rutuje. Podczas tury 75 obrońca automatycznie ucieka. (Trasa nie działa automatycznie - niektóre jednostki są odporne na rutowanie, a nawet jeśli unieruchamia je unieruchomiona jednostka, tak naprawdę nie może odejść.) Podczas tury 100 wszystko, co pozostało, zostaje zabite.
Chociaż nie zgadzam się z dokładnym sposobem jego działania (są sytuacje, w których zabicie drugiej strony zajmuje zbyt długo) podstawowa idea pozostaje aktualna.
Co sugerowałbym:
Spójrz na jakąś miarę mocy każdej strony. (Punkty życia są oczywistym punktem wyjścia, ale uważaj, Dominions ma problem w tym względzie, w którym liczy się „utrata” punktów życia, która nie jest znacząca - zmiana kształtu, przywoływanie itp., Co powoduje rozbijanie armii z powodu ofiar, które nie były nawet nie weź żadnych.) Śledź osiągniętą minimalną wartość i zwróć uwagę na liczbę zwojów, jakie upłynęły od ustawienia nowego minimum. Jeśli trwa to zbyt długo bez ustalenia nowego minimum, masz jakiś impas i atakujący powinien się wycofać.
źródło
Alternatywą, której jeszcze nie widziałem, jest to, że ponieważ twoja wartość pancerza czyni atak negatywnym, możesz dodać trochę RNG dla prawdziwego bloku:
Im wyższy jest deficyt obrażeń po zbroi, tym więcej ataków postać może zablokować przed kolejnym atakiem zadrapania.
Zapewnia to dodatkową skalę statystyk obronnych, nie czyniąc ich jednocześnie niewrażliwymi, pozwala także atakom przejść przez tę mechanikę bloków, jeśli chcesz, i naturalnie zapobiegnie zakleszczeniom.
Walki mogą zająć dużo czasu, jeśli ułożysz statystyki w obronie nad atakiem, ale w końcu się tam dostanie.
źródło
Wiele gier walki 3D pozwala uniknąć zadrapań. Przykładami są Tekken i Soul Calibur 2. Unikają tego, utrudniając idealną obronę. Niektóre ataki są po prostu zbyt szybkie, aby na nie zareagować. Myślę, że to całkiem dobre rozwiązanie.
źródło
Myślę, że zmniejszenie skuteczności obrony nie jest dobrym rozwiązaniem. Deportacja gracza prowadzi do złych wrażeń z gry. Dlaczego nie odwrócić się?
Czemu nie wzmocnić ataku w miarę upływu czasu. To z czasem zwiększa obrażenia zadrapania, zmniejszając motywację do blokowania. W środkowej fazie gry postać może zabić inną, wyjącząc go, gdy się broni.
Niektóre pliki RPP typu pnp zawierają „mechanizm napięcia”. Napięcie w każdym zakręcie wzrasta o jeden. Wszystkie rzuty mają dodatkowy modyfikator wartości napięcia, co popycha bitwę do końca.
Innym pomysłem, pochodzącym z gier walki, jest atak przechodzący przez obronę. Nie wiem, czy twoja gra opiera się na grze turowej, czy w czasie rzeczywistym, ale atak ten może również otworzyć przeciwnika na kombinację lub tymczasowo wyłączyć go lub niektóre jego umiejętności.
Uważam, że sztuczką nie jest osłabienie obrony. Wybierz inne opcje równie dobre jak obrona lub zmniejsz czasy, w których obrona jest dobrą opcją.
źródło