piątek, 22 września 2017

Aktualizacja 0.13.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html


Lista zmian
- Naprawiono błąd który sprawiał, że w niektórych przypadkach podgląd umiejętności działających na najsłabsze żetony nie działał.
- Naprawiono błąd który sprawiał, że żetony aktywujące swoje efekty w chwili zniszczenia nie aktywowały ich jeśli nie zostały zniszczone wskutek zmniejszenia ich wartości.
- Naprawiono błąd który sprawiał, że niektóre efekty graficzne związane ze zmianą typu żetonu nie znikały z czasem.
- Od teraz AI będzie szacowało skuteczność umiejętności dynamitowego żetonu.

Nowe karty


Umiejętność ta zmniejsza wartość żetonów będących celem do wartości najsłabszego żetonu będącego celem. Jest to świetna opcja dla graczy którzy chcą zneutralizować wrogie zagrożenia przy jednoczesnym nie niszczeniu żadnych żetonów.

Umiejętność ta podpala wszystkie wrogie żetony będące celem. Jest to potężniejsza wersja dotychczas istniejącej umiejętności podpalającej, ponieważ nie wymaga ona aby podpalany żeton był zwykły, a także nie podpala własnych żetonów. Umiejętność jest dosyć silna, ale za to żetony towarzyszące tej umiejętności są słabe.

piątek, 15 września 2017

Aktualizacja 0.12.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html

Lista zmian
- Zaktualizowano opisy żetonów działających po turach właściciela w taki sposób, aby gracz łatwiej zdał sobie sprawę że działają one po każdej turze właściciela.
- Naprawiono błąd który sprawiał, że w edytorze zestawów kart żetonów nie zawsze dało się zastąpić kartę, jeśli nie było się na pierwszej stronie kolekcji kart.

- Od teraz umiejętność zadająca obrażenia równe ilości przyjaznych żetonów będących celem nie będzie wyświetlana jako aktywowana jeśli w obszarze umiejętności nie będzie żadnych przyjaznych żetonów, co dotychczas mogło zmylać nowych graczy.



- Zaktualizowano opis i podgląd działania karty przejmującej żetonu, co zapomniano zrobić w poprzedniej aktualizacji.




Nowe karty




Żeton ten po każdej turze właściciela zwiększa swoją wartość o 1 jeśli w pobliżu znajduje się jakiś mocniejszy żeton. Jeśli więc postawimy obok żeton o wartości 9, to powoli jego wartość będzie wzrastała do 9, co może dać dużą przewagę. Niestety przeciwnik może zniszczyć lub przemieścić mocniejszy żeton, przez co ten żeton przestanie rosnąć do momentu aż znajdzie się w pobliżu innego mocniejszego żetonu. Warto też zwrócić uwagę, że żeton ten dobrze się zgrywa z umiejętnościami które odbierają wartość przyjaznych żetonów w zamian za jakieś bonusy.

Żeton ten podobnie do żetonów płonących zmniejsza swoją wartość o 1 po turach właściciela, ale w chwili śmierci eksploduje zmniejszając wartość pobliskich żetonów o 4. Ta tykająca bomba świetnie czyści planszę, ale niestety daje ona przeciwnikowi turę na reakcję, więc może przemieścić ten żeton lub pobliskie żetony, co zmniejszy zabójczość naszego efektu. Może on też w jakiś sposób poświęcić swoje żetony do uzyskania innych korzyści.

Umiejętność ta zwiększa wartość najmocniejszych żetonów będących celem o 1 oraz zmniejsza wartość najsłabszych żetonów będących celem o 1. Jeśli wszystkie żetony w obrębie umiejętności mają taką samą wartość, to efekt jest zerowy. Umiejętność może być wykorzystana do wzmacniania swoich żetonów oraz osłabiania wrogich żetonów, ale zwykle będzie to od nas wymagało uprzedniego przygotowania planszy.

piątek, 8 września 2017

Aktualizacja 0.11.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html

Lista zmian
- Od teraz żetony zagrywane będą spadały z góry, a żetony tworzone będą się pojawiały w białej poświacie. Ma to ułatwić rozróżnianie żetonów zagrywanych od żetonów tworzonych.
- Tooltipy zawsze znikają wraz z zamknięciem menu.

- Od teraz efekt wizualny Piorunów tworzonych przez umiejętność zadającą 2 pkt. obrażeń pojawiają się tylko wtedy gdy warunek umiejętności zostaje spełniony. Efekt wizualny celowników tej umiejętności nadal będzie widoczny.
- Teraz nazwy żetonów specjalnych we wszystkich opisach będą pisane z wielkiej litery (np. Złoty Żeton).
- Naprawiono błąd który sprawiał, że program zamiast odczytywać pozycję ostatnio zagranego żetonu odczytywał pozycję na której był zagrano ostatni żeton. Błąd ten miał miejsce gdy ostatnio zagrany żeton zmienił pozycję po zagraniu.
- Naprawiono błąd który sprawiał, że losowanie zestawu w edytorze nie działało poprawnie jeśli nie miało się otwartej pierwszej strony kart.

Zmiany w umiejętnościach
Od teraz umiejętność ta działa tylko na żetony o wartości 3 lub mniejszej. Umiejętność przejmująca żetony była niezwykle skuteczna w przypadku żetonów o wysokich wartościach. Właściwie nie było w tym nic złego, gdyby nie to, że mocno ogranicza to możliwość projektowania nowych kart. Zredukowanie siły efektu tej umiejętności nie likwiduje tego problemu, ale nieznacznie go zmniejsza. Umiejętność ta nadal jest skuteczna przeciwko żetonom specjalnym, przykładowo przejęcie Złotego Żetonu o wartości 3 da nam łącznie 9 punktów przewagi (6 jeśli uwzględnimy bazową wartość żetonów posiadających tą umiejętność), a z mocniejszymi żetonami możemy sobie radzić na inne sposoby, przykładowo spalając je lub wypychając poza planszę..

Nowe karty




Umiejętność ta odpycha 1 pkt. wartości żetonów będących celem od zagrywanego żetonu. Ten punkt wartości może utworzyć zwykły żeton o wartości 1 lub wzmocnić następny żeton o 1. Umiejętność tą możemy wykorzystywać na wiele sposobów:
- Możemy przenosić wartości wrogich żetonów na nasze żetony.
- Możemy przenosić wartości żetonów jednego typu na żetony innego typu (np. ze Zwykłych na Złote).
- Możemy wypchnąć wartości poza planszę.
- Możemy zapełnić planszę nowymi żetonami.
I wiele więcej. Umiejętność ta wprowadza wiele głębi taktycznej do gry.

Umiejętność ta zmniejsza wartość następnego żetonu zagrywanego przez przeciwników o 2 za każdy wrogi żeton będący celem. Jeśli więc umiejętność obejmie działaniem 4 żetony, to następny żeton przeciwnika będzie miał wartość mniejszą o 8. Jest to niezwykle skuteczne zagranie przeciwko żetonom o dużych wartościach, ale jest niemal bezużyteczne jeśli przeciwnik zagra żeton o niskiej wartości, ale za to z mocną umiejętnością. Powód jest prosty: żeton jest usuwany z planszy jeśli jego wartość stanie się mniejsza niż 1, a więc nie ma różnicy czy 1 zredukujemy do 0 czy -7. Sama umiejętność ma wymuszać na przeciwniku zmianę strategii i postaranie się aby zagrał kartę, której główna siła opiera się na umiejętności.

Ta umiejętność przekazuje 1 pkt. wartości zagrywanego żetonu dla przyjaznych żetonów będących celem. Możemy więc zagrać tą umiejętność aby wzmocnić nasze żetony specjalne, co jest szczególnie efektywne w przypadku Złotych Żetonów. Dodatkowo żetony które znajdują się na planszy zwykle znajdują się w skupiskach, a więc są mniej narażone na umiejętności wroga, czyli przekazywane przez nas punkty są często bezpieczniejsze niż punkty w zagrywanym żetonie.

piątek, 1 września 2017

Aktualizacja 0.10.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html

Inteligentne zestawy losowych kart żetonów:
- Od teraz w trakcie losowania kart do zestawu aplikacja będzie starała się dobierać nowe karty w taki sposób, aby jak najlepiej zgrywały się z resztą wylosowanych kart. Teraz losowe zestawy powinny być co najmniej dobre.

Wiele poprawek w AI:
- Naprawiono błąd który sprawiał, że po ostatniej aktualizacji AI bezmyślnie używało kart dających turę przeciwnikowi.
- Naprawiono błąd który sprawiał, że AI nie umiało posługiwać się żetonami podpalającymi.
- Od teraz AI będzie zwracało więcej uwagi na to, czy po postawaniu żetonu wokół niego znajdują się wolne miejsca, na którym mógłby się pojawić żeton będący w stanie wypchnąć stawiany żeton.
- Od teraz AI zwraca więcej uwagi na to, czy niszczone żetony pozostawiają po sobie zwykły żeton o wartości 1.
- Od teraz AI dokładniej bada korzyści wynikające z zyskania dodatkowej tury.
- Od teraz AI dokładniej analizuje premie nadawane przez sąsiednie żetony jeśli jego wartość będzie zmniejszać się z czasem.
- Od teraz AI będzie unikało ustawień żetonów które umożliwiają przeciwnikowi zranienie żetonów z obu stron żetonu stawianego przez przeciwnika.
- Od teraz AI śmiało będzie stawiało żetony w zasięgu żetonów raniących co turę, jeśli wie że umiejętność żetonu natychmiast je zniszczy.

Inne:
- Od teraz karta żetonu dająca bonusową turę przeciwnikowi nie jest już losowana do pierwszej kolumny losowych zestawów kart żetonów. Karta ta niesie za sobą duże ryzyko, a według założeń pierwsza kolumna powinna oferować karty o niskim ryzyku.
- Od teraz żetony po zniszczeniu będą niszczone na kawałki zamiast unosić się do góry.
- Naprawiono błąd który sprawiał, że ikonki wyświetlane w prawym górnym rogu ekranu nie utrzymywały się tam podczas zmiany rozdzielczości.
- Naprawiono błąd który sprawiał, że podgląd zestawu kart żetonów w trakcie gry działał na serwerze, a na kliencie nie.
- Naprawiono błąd który sprawiał, że piąty zestaw kart żetonów nie mógł być pobrany do edytora.
- Poprawiono kilka efektów wizualnych.

Zmiany w umiejętnościach:


Od teraz wartość tworzonych żetonów będzie wynosiła 2 zamiast 1. Ma to zachęcić graczy do unikania sytuacji w których tworzą tą umiejętnością żeton dla przeciwnika.



Od teraz umiejętność ta zamienia żetony w złote jeśli ich wartość jest mniejsza lub równa 3, zamiast mniejsza lub równa 2. Po ostatnich zmianach w grze znacznie łatwiej jest stworzyć żetony o dużej wartości, a także wiele żetonów bazowo jest żetonami złotymi, przez co aktywowanie tej umiejętności stało się znacznie trudniejsze.

Od teraz umiejętność ta kradnie do 2 pkt. wartości z przyjaznych żetonów zamiast do 1 pkt. wartości. Wraz ze wzrostem ilości umiejętności ofensywnych złote żetony zaczęły wiązać się z dużym ryzykiem i zyskiwana przewaga okazywała się być pozorna, ponieważ szybko ją traciliśmy.


Nowe umiejętności:


Umiejętność ta zadaje 2 pkt. obrażeń żetonom będącym celem. Jest to potężniejsza wersja pierwszej umiejętności która została dodana do tej gry.



Umiejętność ta niszczy najsłabsze żetony będące celem, ale co najmniej 2 żetony muszą być obrane za cel. Jeśli więc w obszarze umiejętności znajdują się żetony o wartościach 4, 3 i 3, to dwa żetony o wartości 3 zostaną zniszczone. Umiejętność ta dodaje do gry dużo głębi taktycznej: aby za pomocą tej umiejętności zniszczyć jakiś żeton musimy wpierw umieścić w odpowiednim miejscu mocniejszy żeton. Czasami gracz będzie musiał usunąć słabsze żetony z planszy, aby móc aktywować tą umiejętność, a więc gracz musi wykazać się planowaniem długoterminowym. Albo po prostu liczyć na szczęście.

Nowe karty żetonów:



Nowe umiejętności zostały już opisane, więc żetonów z nową umiejętność nie ma potrzeby opisywać po raz drugi, ale karty tworzące 4 przyjazne żetony zasługują na nieco uwagi. Kiedyś takie karty nie mogły się pojawić, ponieważ żetony o wartości 0 nie miały racji bytu, a na turę otrzymywało się średnio 4 pkt. przewagi nad przeciwnikiem. Teraz nie tylko można korzystać z podpalonych żetonów (które są prawie jak żeton o wartości 0), lecz także średni zysk przewagi wzrósł, a więc to idealna okazja dla tych żetonów. Tylko dlaczego podpalone żetony mają wartość 2 a nie 1? Otóż stawiane żetony były rozproszone i przeciwnikowi łatwo je było zniszczyć umiejętnością obszarową. Zwiększenie wartości żetonu o 1 dała nam turę na reakcję - przykładowo możemy w tym czasie stworzyć dla przeciwnika drugie zagrożenie, aby ten mógł zareagować tylko na jedno z nich, albo przemienić ten żeton w złoty.

Zmiany w żetonach:


W grze pojawiło się sporo żetonów które osiągają duże wartości i nie usuwają z planszy innych żetonów. Sprawiło to, że planszę znacznie łatwiej było zapełnić, żetony zazwyczaj zbijały się w skupiska i trudniej było objąć działaniem wiele żetonów. Dodatkowo wraz z nowymi żetonami coraz mniejsze znaczenie miał fakt ile żetonów uszkodziliśmy, bo coraz ważniejsze było które żetony uszkadzamy. Wymienione karty można było wzmocnić zwiększając ich wartość, ale to jedynie pogłębiało ich problem, ponieważ doprowadzało to do szybszego zapełniania się planszy i trudniejszego wykorzystania żetonów. Postanowiłem więc zamienić ich umiejętność na mocniejszy odpowiednik. Niestety okazały się wtedy zbyt mocne, więc postawiłem osłabić żetony wystawiane przez te karty - dla pierwszych dwóch dałem 2x słabsze złote żetony które generują ten przychód, ale są 2x bardziej ryzykowne, a trzeci żeton zamieniłem na podpalony, który automatycznie niszczy się po naszej turze.


Te karty z umiejętnościami przemieszczającymi okazały się trochę zbyt słabe w porównaniu do innych odpowiedników tych kart, dlatego wymagały lekkiego wzmocnienia. Żeton przerzucający o obszarze działania 8 w przeciwieństwie do żetonu odpychającego nie wymagał tego wzmocnienia, ponieważ żetony były stawiane głównie w centrum planszy, a więc znacznie łatwiej było wykorzystać drugą kartę.


W grze powstało wiele sposobów na radzenie sobie z żetonami specjalnymi, więc skuteczność tych żetonów znacznie zmalała. Wzmocniłem je aby dostosować je do nowych warunków.


W tym patchu znacznie łatwiej jest zdobyć więcej niż 4 punkty przewagi niż kiedyś, więc zyskanie żetonu o wartości 8 kosztem bonusowej tury dla przeciwnika nikomu już nie imponowało, tym bardziej że możliwość wykonania nieprzerwanej sekwencji 2 ruchów mogła dać przeciwnikowi dużą przewagę. Dodatkowo żeton ten wiązał się z dużym ryzykiem - mógł być łatwo wypchnięty poza planszę lub podpalony.


Aby ta karta z obszarem 4 była użyteczna musiało być spełnione zbyt wiele warunków: w jej obszarze musiał być co najmniej 1 żeton przyjazny, oraz 2 wrogie, a nawet wtedy użyteczność tej karty była zaledwie przeciętna. Z kolei karta z obszarem 8 była bardzo elastyczna i wyjątkowo skuteczna w połączeniu z upartymi/zdradzieckimi/podpalonymi żetonami oraz przeciwko większości żetonów specjalnych przeciwnika.


Mimo ostatniego osłabienia wieżyczki nadal wywierały na graczach zbyt dużą presję. Usunięta więc została przypisana karcie umiejętność, aby przeciwnik miał nieco więcej czasu na reakcję.


W związku z tym że przeciętna przewaga zyskiwana nad przeciwnikiem w trakcie tury nieznacznie wzrosła, ten żeton również zaczął odstawać na tle innych. Dodatkowo sam żeton wymagał spełnienia wielu warunków aby w ogóle być użytecznym. Zamieniłem więc żeton na zwykły i wzmocniłem o 1 aby ogólnie lepiej sobie radził, a także poprawił nieco użyteczność nowych kart żetonów.


Tym kartom nie tylko wzmocniono umiejętność (o czym pisałem wcześniej), ale także wzmocniono wartość żetonu o 1 z tych samych powodów: przewaga którą ta karta nam generowała była łatwa do utracenia. Dodatkowo istniało duże ryzyko że po odpowiednim ustawieniu sojuszniczych żetonów przeciwnik mógł postawić coś między nimi, co zapobiegało skutecznemu wykorzystaniu tych kart.


Bonusowa tura jest czymś fajnym jeśli aktualnie mamy przewagę nad przeciwnikiem - dzięki tej turze skracaliśmy czas na reakcję przeciwnika i zmniejszaliśmy szansę na to, że uda mu się odzyskać przewagę zanim gra się skończy. Niestety zwiększenie przyrostu przeciwnika o 1 było zbyt dużą wadą. Skoro w poprzedniej aktualizacji dodałem żetony podpalone, postanowiłem je tu wykorzystać - są one niczym żetony o zerowej wartości, więc stanowiły tutaj idealny złoty środek dla równowagi.


Żetony pochłaniające wartość przyjaznych żetonów okazały się być zbyt ryzykowne, z kolei żetony przejmujące były bardzo skuteczne. Po wzmocnieniu tych pierwszych drugie stały się zdecydowanie zbyt mocne przez wzgląd na ich synergię, a więc zostały osłabione i teraz będę generować przeciwnikowi 1 dodatkowy punkt.


W związku ze zwiększeniem ilości żetonów specjalnych karty z umiejętnością podpalenia także zaczęły odstawać od reszty.

poniedziałek, 28 sierpnia 2017

AI vs AI i statystyki

Postanowiłem przekodować nieco aplikację abym mógł uruchomić grę AI vs AI z pominięciem tego co widzimy na kliencie, czyli z pominięciem wszystkich animacji itp. Z perwspektywy programowania taka funkcjonalność ma 3 następujące zalety:
- Pozwala wykryć błędy zwązane z wywoływaniem funkcji nie na tym sprzęcie co trzeba (przykładowo okazało się, że niektóre fragmenty kodu były wywoływane zarówno na serwerze jak i kliencie, mimo iż powinny być wywoływane tylko na kliencie),
- Przy wielokrotnym uruchomieniu gry AI vs AI pozwala szybko wykryć błędy które występują w bardzo specyficznych sytuacjach.
- Pozwala sprawdzić optymalność kodu, czyli ile gier na sekundę byłby w stanie utrzymać serwer (gdyby był moim laptopem).

Statystyki


Po załataniu kilku błędów postanowiłem pójść o krok naprzód i zacząłem zbierać statystyki z tych gier. Zbierałem 3 rodzaje statystyk:
- Win ratio kart żetonów.
- Win ratio kombinacji par kart żetonów w zestawach.
- Win ratio kart żetonów przeciwko innym określonym kartom żetonów.

Właściwie to nie do końca było to prawdziwe "win ratio". Zamiast tego wszystkie podstawowe wartości ustawiłem na 0.5, a po każdej grze mnożyłem odpowiednie wartości przez 0.999, oraz dodawałem 0.001 w przypadku wygranych. Od zwykłego win ratio różni się tym, że największy wpływ na statystyki mają najnowsze gry, dzięki czemu można szybko obserwować zmiany wynikłe ze zmian w balansie/AI, ale jednocześnie statystyki nie wahają się zbytnio wskutek losowości. Alternatywnym rozwiązaniem byłoby zapamiętywanie historii tylko 1000 ostatnich gier, przy początkowym wypełnieniu ich naprzemiennymi wygranymi i przegranymi, ale takie rozwiązanie nie byłoby praktyczne.

Takie statystyki są bardzo pomocne. Jeśli jakaś karta ma zbyt duże win ratio, to znaczy że albo AI nie potrafi sobie z nią radzić, albo ta karta jest zbyt silna. Jeśli jakaś karta ma zbyt niskie win ratio, to albo AI nie potrafi z niej poprawnie korzystać, albo jest zbyt słaba. Dzięki tym statystykom szybko zorientowałem się po ostatniej zmianie w działaniu umiejętności dającej bonusową turę właścicielowi AI nie posługiwało się nią prawidłowo, więc szybko mogłem naprawić ten problem.

Mimo iż statystyki obejmowały wiele gier, to nie uznawałem je za zbyt wartościowe. Powód jest prosty: karty żetonów posiadają różną skuteczność w zależności od tego jakie ma się pozostałe karty w zestawie. Przykładowo jeśli posiadamy żeton który wzmacnia przyrost punktacji sąsiednich żetonów, to będzie on znacznie lepiej sobie radził jeśli będziemy posiadali umiejętności które generują wiele żetonów.

Poprawiony generator zestawów kart żetonów

Skoro już zebrałem statystyki dotyczące synergii żetonów, postanowiłem je wykorzystać. Dotychczas zestawy były generowane w taki sposób, aby w pierwszej kolumnie były losowe żetony którymi opłaca się rozpocząć grę, a prócz tego jedyną zasadą był brak powtórek kart - wszystkie miały tę samą wagę. Postanowiłem to zmienić i przerobiłem algorytm tak, aby wagi wszystkich dostępnych kart były wymnażane przez win ratio każdej dodawanej do zestawu talii. Innymi słowi jeśli jakaś karta nie zgrywa się z tymi które już wylosowaliśmy, to mieliśmy mniejszą szansę na jej otrzymanie.

Ku moim oczekiwaniom po wprowadzeniu tej zmiany win ratio poszczególnych elementów zmieniło się. Jeśli jakiś element wymagał synergii, to jego win ratio wzrosło, bo zwyczajnie rzadziej zdażały się sytuacje w których ta synergia nie występowała. Co więcej zmiana ta spowodowała nieustanne zmiany w win ratio wszystkich kart - jeśli jakaś karta okazywała się słaba, zaczęła występować rzadziej, a wtedy karty przeciwko którym była skuteczna zaczęły występować częściej, ponieważ zginęło ich naturalne zagrożenie. Elementy papier-kamień-nożyce w tej grze są dosyć mocne, więc takie zmiany mogą zachodzić niemal bez końca.

Balans na podstawie statystyk

Karty żetonów które mocno wychodziły na plus postanowiłem osłabić, a karty które radziły sobie okropnie postanowiłem wzmocnić. Zmieniałem tylko te karty, które odstawały najmocniej, a następnie analizowałem zmiany. Zmienione karty albo pozostawały słabe/silne (choć w nieco mniejszym stopniu), albo stawały się przeciętne, co pozwala mi sądzić że zmiany były w miarę rozsądne.

Wraz z wprowadzaniem zmian można było zauważyć, że zmiana najbardziej skrajnych kart sprawiała tylko, że mniej skrajne karty zajmowały ich miejsce, co jest dysyć przewidywalne, bo jeśli jakiś element przestał być słabszy od innego elementu, to prawdopodobnie będzie teraz z nim wygrywać.

Inną przewidywalną zależnością było dążenie statystyk do małej liczby kart z pozytywnym win ratio, przy jednoczesną nieznaczną pozytywnością. Win ratio żadnej karty nie przekroczyło 53%, a większość pozytywnych kart miała w przybliżeniu 51% win ratio, z kolei siła słabych kart była bardzo różnorodna i potrafiła sięgać nawet 37%. Powód tego był prosty: najlepsze karty występowały w zestawach częściej, a więc "wygrani grali z wygranymi". Nawet gdyby któraś karta początkowo miała 90% win ratio, to po rozegraniu dużej liczby gier z przeciwnikiem na tym samym poziomie win ratio zbliżyłoby się do 50%. Z kolei słabsze karty rzadko miały okazję grać naprzeciw słabszym kartom, a więc ich win ratio spadało w dół.

Przy całej tej zabawie najbardziej rzuciło mi się w oczy, że karta z żetonem o wartości 9 (dotychczas 8) dająca bonusową turę przeciwnikowi na przemian miała neutralne i negatywne win ratio. Gdy jej win ratio stawało się neutralne, win ratio kart które mogły wypchnąć ten żeton poza planszę wzrastało. Gdy wzrastało win ratio kart przemieszczających, to win ratio karty z bonusową turą dla przeciwnika malało, a gdy zmalało, to win ratio kart wypychających znowu spadało. Spośród wszystkich kart ta jest chyba najbardziej ryzykowna.

Oto grafika przedstawiająca zebrane dane: po lewej jest win ratio poszczególnych kart, po środku jest win ratio ich kombinacji, a po prawej jest win ratio ich potyczek:


Czysty żółty kolor oznacza 50% win ratio, czysty zielony 60% win ratio, czysty czerwony oznacza 40% win ratio, a czysty fiolet oznacza 30% win ratio. Kolory pośrednie to oczywiście wartości pośrednie.

Póki co zagwozdkę dla mnie stanowią karty które mają inną skuteczność mimo iż różnią się tylko obszarem umiejętności, nawet jeśli obszar umiejętności obejmuje tyle samo pól. O ile w przypadku umiejętności przemieszczających łatwo zrozumieć dlaczego tak się dzieje (umiejętności przemieszczające po skosie częściej natrafiają na sytuacje w której mogą coś wypchnąć poza planszę), to w przypadku innych umiejętności nie jest to takie jasne. Różnica ta jest najbardziej widoczna w przypadku umiejętności przejmującej, która w działaniu skośnym ma lepsze wyniki. Przypuszczam że jest to związane z żetonem który co turę właściciela rani wrogów w linii pionowej/poziomej - wtedy przejęcie żetonów po skosie jest dla nas bardziej opłacalne, ponieważ można przejąć więcej żetonów przy jednoczesnym nie narażaniu ich na obrażenia.

No cóż, pozostaje mi posiedzieć jeszcze nad sztuczną inteligencją. Obecnie unika ona stawiania wartościowych żetonów w obszarze obrażeń wieżyczek, więc to może być przyczyną niektórych zaburzeń. Niedługo dojdzie jeszcze nieco nowych kart, które także mogą zamieszać w balansie.

piątek, 25 sierpnia 2017

Aktualizacja 0.9.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html

Zmiany w żetonach:

- Od teraz umiejętność tworząca wrogie żetony będzie tworzyła własne zdradzieckie żetony, które generują punkty dla przeciwnika. Zapewni to większą jednolitość w grze i efekt nie będzie tworzył wątpliwości w trybie sandbox, w którym jest tylko 1 gracz.

Edytor zestawów kart żetonów:

- Naprawiono błąd który sprawiał, że nie dało się wczytać zestawu jeśli na kliencie nie miało się dostępu do dysku serweru.
- Od teraz można zapisywać także nieprzepisowe zestawy (czyli takie które nie mają co najmniej 2 kart w każdej kolumnie).
- Od teraz po zapisie zestawu nie będzie się już przekierowywanym do menu głównego, lecz dalej będzie się w edytorze zestawów.
- Od teraz można zmieniać nazwy zestawów kart żetonów.
- Od teraz w edytorze można generować losowe zestawy kart żetonów.
- Od teraz w edytorze można włączyć podgląd listy zestawów kart żetonów bez konieczności cofania się do menu.


Ustawienia:

- Od teraz w trakcie gry widoczna jest ikonka menu, które dotychczas można było otworzyć tylko skrótem F10.
- Od teraz wspomniane menu umożliwia dostęp do ustawień.
- Od teraz w ustawieniach można ustawić dla konta czas trwania animacji oraz odstępy między ruchami. Dzięki temu nowi gracze nie będą się gubić wskutek zbyt szybkich animacji, a weterani nie będą musieli tyle na nie czekać.

Zmiany ogólne:

- Zmieniono zestaw żetonów tworzony dla nowych kont na bardziej intuicyjny. Na pierwszych 2 stosach kart umieszczono tylko karty z obszarem obejmującym 2 pola, na trzecim stosie kart są umiejętności z obszarem obejmującym 3 pola, a na czwartym są umiejetności z obszarem obejmującym 4 pola. Zmiana ta nie ma wpływu na kolekcję kart, więc w edytorze zestawów można go zmodyfikować tak jak dotychczas.
- Od teraz komunikat o końcu meczu wyświetli się po zakończeniu wszystkich animacji.
- Od teraz rozmiar okienka komunikatu będzie dopasowywał się do długości jego tekstu.
- Od teraz aplikacja uniemożliwia rozpoczęcie gry jeśli wybrany/e zestaw(y) nie są zgodne z zasadami gry i wyświetla odpowiedni komunikat.
- Zmieniono wygląd graficzny menu głównego, menu wyboru trybu gry i menu w trakcie gry.

Omówienie nowych kart żetonów:


Umiejętność oznaczona tym symbolem zmienia wrogie żetony będące celem w zwykłe i zwiększa ich wartość o 1. Jest to mocny efekt jeśli przeciwnik posiada jakieś specjalne żetony których właściwość daje mu większą korzyść niż 1 pkt. wartości. Dodatkowo umiejętność ta jest doczepiona do żetonów o wartości 4 - opłaca się je wystawiać nawet jeśli nie mamy okazji do wykorzystania naszego efektu, pod warunkiem że w obszarze umiejętności nie będzie wrogich żetonów. Sprawia to, że w trakcie gry żetony będą mogły być trochę bardziej rozproszone, dzięki czemu będzie większa swoboda w wykorzystywaniu umiejętności obszarowych.

Umiejętność oznaczona tym symbolem podpala zwykłe żetony będące celem sprawiając, że otrzymują one 1 pkt. obrażeń po turach ich właściciela. W ten sposób można pozbywać się większych żetonów przeciwnika, ale trzeba to robić wcześnie, ponieważ efekt ten jest rozłożony w czasie. Dodatkowo w połączeniu z wyżej wymienioną umiejętnością możemy spalić dowolny żeton, ale będziemy potrzebowali do tego 2 ruchów.

No a to właśnie jest podpalony żeton, który otrzymuje 1 pkt. obrażeń po turach właściciela.



piątek, 18 sierpnia 2017

Aktualizacja 0.8.0

Nową wersję gry można pobrać pod tym adresem:
https://drive.google.com/open?id=0B_YKEPym2wKDVGJKZk9Vb0pPVk0

Zasady gry można znaleźć pod adresem:
http://tokenbattle.blogspot.com/2016/07/zasady-gry.html

Nowości:
- Od teraz w trakcie gry po wejściu w historię ruchów można kliknąć na dowolną miniaturkę planszy aby zobaczyć jak wyglądała plansza przed wykonaniem ruchu związanego z tą miniaturką. Dzięki tej funkcjonalności gracz będzie mógł przypomnieć sobie jak plansza wyglądała parę tur wcześniej.
- Od teraz żetony i umiejętności mają swoje nazwy.
- 5 nowych kart żetonów.

Zmiany w żetonach i umiejętnościach:
- Od teraz umiejętność dająca ekstra turę przeciwnikowi zapewnia extra turę wszystkim przeciwnikom zamiast następnemu graczowi, który w przypadku trybu sandboxu był graczem używającym umiejętność.
- Od teraz umiejętność dająca ekstra turę właścicielowi wymaga objęcia obszarem umiejętności 4 żetony, zamiast obejmować wszystkie możliwe pola. Dzięki tej zmianie działanie umiejętności jest bardziej intuicyjne, oraz ułatwia to aktywację nowego żetonu który ma obszar działania 8 pól.
- Od teraz żetony raniące co turę pierwsze napotkane żetony w orientacji pionowej/poziomej będą to robić tylko po turach właściciela.

AI:
- Od teraz AI nie będzie się wieszało w sytuacji gdy 4 wieżyczki biją się wzajemnie.
- AI teraz dokładniej określa ryzyko związane z umieszczaniem żetonów w pobliżu krawędzi.

UI:
- W edytorze zestawów żetonów zamieniono miejscami kolekcję kart z zestawem żetonów, aby ułożenie odpowiadało standardom w dzisiejszych grach (gdzie zwykle kolekcja kart jest po lewej stronie lub na górze, a budowany przez graczy zestaw jest po prawej stronie lub na dole).

Tooltipy:
- Dotychczas na małych rozdzielczościach gry tooltipy mogły wychodzić poza górną krawędź ekranu. Aby temu zapobiec od teraz tooltipy wyświetlają się z boku kursora gdy nie mieszczą się wyżej.
- Od teraz tooltipy nie zasłaniają obiektu który opisują. Jeśli obiekt jest fragmentem innego obiektu (np. ikona umiejętności jest fragmentem całej karty), to cały obiekt nie będzie zasłoniony.
- Tooltipy teraz poprawnie wyświetlają się po najechaniu myszką na obiekty w podglądzie historii meczów i zestawów żetonów w trakcie gry.

Naprawione błędy:
- Od teraz żeton odpychający będzie poprawnie się szarzał gdy jego efekt nie zadziała na żeton.

Omówienie nowych kart żetonów:



Żeton ten generuje punkty dla przeciwnika. W pewnym sensie jest to żeton o wartości ujemnej, bo zamiast ułatwiać nam zwycięstwo utrudnia nam je. Jednak im słabszy żeton, tym mocniejsze umiejętności przypisane do karty, a więc wprowadzenie tego żetonu znacznie zwiększyło możliwości projektowania gry.



Umiejętność oznaczona tym symbolem przejmuje kontrolę nad żetonami które są celem umiejętności, ale wzmacnia żeton który sami postawiliśmy o wartość przejętych żetonów. Umiejętność tą posiadają tylko żetony generujące pukty dla przeciwnika, więc odzyska należącą do niego wartość. Umiejętność świetnie się sprawdza to przejmowania żetonów specjalnych, których główną zaletą jest ich umiejętność, a nie wartość, ale sprawdza się także w sytuacjach w których chcemy przejąć żetony o dużej sumie wartości.


Ta umiejętność kradnie 1 pkt. wartości od naszych przyjaznych żetonów w obrębie działania umiejętności. Pozwala nam ona na pozbycie się naszych żetonów o niskich wartościach bez ponoszenia konsekwencji, a samo odblokowanie pól może zaskoczyć przeciwnika, odsłaniając jego słabe strony. Dodatkowo dzięki tej umiejętności możemy zredukować nieco wartość żetonów które generują punkty przeciwnikowi.