Blog i nie tylko

Szczegółowy opis zmian m.in. żetony handlu, tier 4 – Local OTS #3

Szczegółowy opis zmian m.in. żetony handlu, tier 4 – Local OTS #3

Żetony handlu

Żetony handlu stały się alternatywą dla walut w formie monet ulokowanych w ekwipunku. Ów żetony stanowią odrębną bignumową wartość przypisaną do postaci, a więc różnią się od wszystkich wcześniejszych walut. Wprowadziłem nowy rodzaj waluty jako odpowiedź na problemy ze wcześniejszym systemem wymiany dóbr za monety (głównie za crystal coin i gold nugget). Okazało się, że czasem przy pewnych konfiguracjach ułożenia monet w ekwipunku, NPC błędnie uznaje, że postać “nie posiada” wymaganej ilości coinów. Prawdopodobnie problem leży w zbyt “mocnych” zagnieżdżeniach ekwipunku, ale najłatwiejszym rozwiązaniem było wprowadzenie nowego systemu wymiany. Ponadto z poziomu gry, NPC sprawdza czy gracz posiada wymaganą ilość żetonów, pomimo, że jest to wartość bignumowa, a więc nie jest to standardowa zmienna tylko łańcuch znaków. Jednak udało się ostatecznie rozwiązać i ten problem.

Początkowo żetony handlu pozyskiwało się przez otrzymanie wybranej ich ilości po użyciu odpowiednich przedmiotów, które można było pozyskać z łupu z pewnych mobów. Jednak później dodałem również kolejne funkcjonalności do kolejnych przedmiotów tego typu, które pozwalają na zwiększenie już nie o wybraną wartość, ale o zwiększenie procentowe całej wartości.

W praktyce:

Mob Entity [1100000] znajdujący się w Zapomnianym Mieście, po swojej śmierci ma szansę na łup w postaci kilku małych diamentów. Po użyciu małego diamentu do postaci zostaje dodane 1000 żetonów handlu.

Zamiana diamentu na żetony handlu

W dalszych częściach Zapomnianego Miasta, znajdują się respy mobów Entity [1500000], z których jest szansa na drop żółtego klejnotu. Ów klejnot dodaje +10% do łącznej ilości żetonów handlu.

Zamiana zoltego klejnotu na +10% łącznej ilości żetonów handlu

Porównanie wartości przed i po użyciu żółtego klejnotu:

Przed:


13:08 Aktualnie posiadasz 17443423670478535831285 zetonow handlu.
13:08 !zetony

Po:


13:09 Aktualnie posiadasz 19187766037526389414413 zetonow handlu.
13:09 !zetony

Jak widać pozwala to na bardzo szybkie zwiększenie ilości żetonów handlu. Drop żółtych klejnotów z moba Entity [1500000] jest stosunkowo łatwo dostępny i po zdobyciu 500 lub więcej odrodzeń sam mob również nie stanowi większego problemu w unicestwieniu go. Stąd też przy bardziej zbalansowanej rozgrywce trzeba by było zdecydowanie utrudnić proces pozyskiwania takich klejnotów oraz zmniejszyć procentowo przyznawaną wartość do 1-5%. Jednak przy rozgrywce singleplayer i ciągłym eksperymentowaniu uznałem, że przynajmniej w pierwszym świecie nie będę już tego elementu zmieniał. Założenie na pierwszy świat w tym temacie jest bardzo proste. Przy pewnym poziomie zaawansowania postaci, powinno być dostępne miejsce, w którym pozyskiwanie żetonów przychodzi z wielką łatwością.

Poziom handlu

Zastanawiałem się jak można w prosty sposób utrudnić dostęp do niektórych NPC. Najprościej byłoby to zrobić przez stworzenie pewnego rodzaju wymagań do rozmowy z danym interaktywnym mobem. Tak też zrobiłem. W tym celu powstał poziom handlu, będący kolejną bignumową wartością przypisaną do postaci, która jest sprawdzana u niektórych NPC.

Na ten moment wymagania poziomu handlu znajdują się u tzw. teleporterów, czyli NPC umożliwiających teleportację gracza w wybrane miejsce po spełnieniu wymagań i uiszczeniu odpowiedniej ilości żetonów handlu.

NPC Teleporter umożliwia teleportację do Zapomnianego Miasta jeśli gracz posiada minimum 10 poziom handlu.

NPC Pradawny Teleporter umożliwia teleportację do Mistycznej Wieży jeśli gracz posiada minimum 20 poziom handlu.

Aby zwiększyć poziom handlu trzeba pokonać bossa Power of Eternity [10000000] i użyć niebieski klejnot, który wypada z bossa po jego śmierci. Niebieski klejnot zwiększa o +1 poziom handlu. Przy niskim odrodzeniu boss jest bardzo trudny do pokonania, ponieważ ma 2147483647 punktów życia, co stanowi największą ilość HP na jaką pozwala silnik gry (int32).

Specjaliści NPC, zmiany NPCtów i nowe Temple

Dla tieru 1 i 2 zostali dodani NPC: Specjalista HP Tieru 1 i 2 oraz Specjalista MP Tieru 1 i 2. Umożliwiają oni transfery z HP/MP tieru 1 do 2 i odwrotnie oraz pozwalają na zwiększenie tieru 2. Bazują oni jeszcze na starym systemie walut.

Dla wyższych tierów:

Transferer HP Tieru 3 - NPC pozwalający na transfer HP z tieru 2 do 3 lub odwrotnie. Bazuje na żetonach.
Transferer MP Tieru 3 - NPC pozwalający na transfer MP z tieru 2 do 3 lub odwrotnie. Bazuje na żetonach.
Multiplicatio HP Tieru 3 - NPC pozwalający na procentowe zwiększenie HP tieru 3. Wymaga żetonów handlu.
Multiplicatio MP Tieru 3 - NPC pozwalający na procentowe zwiększenie MP tieru 3. Wymaga żetonów handlu.
Transferer HP Tieru 4 [1] - NPC umożliwiający transfery HP tieru 3 do tieru 4 i tieru 4 do bazowego HP (tieru 1).
Transferer MP Tieru 4 [1] - NPC umożliwiający transfery MP tieru 3 do tieru 4 i tieru 4 do bazowego MP (tier 1).

Jedynka w kwadratowym nawiasie NPCtów typu Transferer Tieru 4 oznacza ich poziom. Teoretycznie ten sam wariant NPC, ale z wyższym poziomem pozwalałby na identyczne funkcjonalności, ale możliwe by było ewentualnie dokonywanie większych transferów.

Informator - NPC udzielający ogólnych informacji dotyczących rozgrywki na OTSie.

Wszystkie powyższe NPC znajdują się w nowym Temple. Dlaczego w “nowym”? Ponieważ świątynia została całkowicie przebudowana.

Pierwsze piętro temple:

Nowe Temple - pierwsze piętro

Drugie piętro:

Nowe Temple - drugie piętro

Mnożniki

Mnożniki pozwalają na zwiększenie ilości tieru 4 HP lub MP. Stały się alternatywą dla wcześniejszych pomysłów typu “Reverse Arbitrary Precision Health Point / Mana Point”. O czym szerzej mówiłem w tym załączniku do serii: Załącznik 3: Local OTS #2 Omówienie Tieru 3 i 4 czyli nieco o Reverse Arbitrary Precision Health.

Początkowo odwrócona precyzja była jednym z pomysłów dla definicji tieru 4. Miało to polegać na dzieleniu tieru 3 przez wybraną wartość (np. przez 1000, 10 000 lub 100 000, itd. w zależności od poziomu specjalizującego się w tym NPC). Wartość tieru 3 była kopiowana do dodatkowego pliku tekstowego, a po podzieleniu również. Dzięki czemu “ostatni fragment od prawej strony” danej liczby mógł zostać już ręcznie porównany, pozyskany i odwrócony (odwracana została kolejność cyfr fragmentu wartości po podzieleniu). Ten fragment został dołączony do zewnętrznej wartości – tieru 4. Przy kolejnym tego typu działaniu, cały proces miał przebiegać analogicznie, natomiast z tą różnicą, że odwrócona wartość została dołączona od prawej strony do wcześniejszej wartości.

Przykład:

Początkowa wartość tieru 3 HP:


98765456978

NPC dzieli wartość przez 1000 (bignumowo, bez przecinków):


98765456978 / 1000 = 98765456

Podczas dzielenia wartości 98765456978 i 98765456 jest logowana, a więc widać, że został “ucięty” następujący ciąg cyfr:


978

Kolejność cyfr zostaje odwrócona:


879

Wartość 879 staje się początkową wartością 4 tieru HP.

Następnie załóżmy, że gracz nie zwiększył tieru 3 HP i od razu przystępuje do kolejnego dzielenia.


98765456 / 1000 = 98765

456 -> 654

Wartość 654 zostaje “dołączona” od prawej strony do wartości 879:


879654

Po powyższych dwóch dzieleniach i dołączeniach do tieru 4, wartość tieru 4 HP wynosi: 879654.

Metoda dołączenia jednej wartości do drugiej przed odwróceniem kolejności cyfr wydaje się być czymś zupełnie innym niż standardowa arytmetyka jaką znamy. I słusznie, jest to zupełnie inne “działanie”, zdefiniowane na potrzeby początków działania tieru 4. Jednak od razu widać, że gdybyśmy w pełni przykładową wartość 879654 odwrócili w ten sam sposób (456978) to właściwie nie ma to sensu ani w jedną, ani w drugą stronę (otrzymane wartości różnią się od siebie i nie ma ich z czym porównać). Zachowanie utraconych cyfr w ten sposób i traktowanie tego jako jakiś nowy, nietuzinkowy transfer mija się z jakimkolwiek sensem, ponieważ sama idea odwracania cyfr powstała tylko dlatego, aby przy archiwizacji większych wartości nie trzeba było “doklejać” liczby od lewej strony, tylko dla ułatwienia zawsze od prawej. Jednak ponowne odwrócenie całego ciągu cyfr i tak nie reprezentuje żadnej konkretnej wartości, która miałaby bazować na po prostu arytmetyce. Mamy więc tu do czynienia z jakimś dziwnym “pseudoarytmetycznym potworkiem”. :D

Odpowiedzią na ten problem i jednoczesną próbą zachowania jednak arytmetyki (i zdrowego rozsądku) było wprowadzenie mnożników i ustalonej utraty precyzji dla wielkich liczb.

Stąd też obecne pełna nazwa tieru 4 to Zapasowe Punkty Życia/Many Końcowej Ograniczonej Precyzji.

“Końcowa Ograniczona Precyzja” oznacza dokładnie ograniczenie precyzji do 10 tysięcy cyfr, natomiast sam wyraz “końcowa” odnosi się do precyzji po dokonaniu wszystkich wcześniejszych obliczeń, ponieważ w trakcie obliczania różnych mnożników precyzja może tymczasowo być większa.

Po omówieniu historycznej mechaniki tieru 4, przejdę do części właściwej tego rozdziału.

Pierwszym mnożnikiem jest mnożnik podstawowy. Można go zwiększyć o +x1 u NPC Basic-Multiplicatio [1].

Kolejnym mnożnikiem jest mnożnik tymczasowy. Można go zwiększyć u NPC Temp-Multiplicatio [1]. Zwiększenie mnożnika tymczasowego bazuje na mnożniku podstawowym. Jeśli wartość mnożnika podstawowego wynosi np. 200. To za każdym razem mnożnik tymczasowy jest mnożony przez 200. Przez to wartość ta rośnie bardzo szybko. Nie jest to jednak mnożnik z największym tempem przyrostu.

Mnożnik bonusowy to mnożnik, który przydzielają NPC: Final-Multiplicatio [2] i NPC typu Universal. Otrzymuje się go po pomnożeniu mnożnika końcowego, mnożnikiem tymczasowym. Następnie mnożnik tymczasowy zostaje zresetowany.

Mnożnik końcowy to ostateczny mnożnik, który może zostać zresetowany jedynie po pomnożeniu HP lub MP tieru 4. Umożliwia to NPC Final-Mul-Transferer.

Mnożnik bonusowy tieru 2 to mnożnik, który umożliwia zwiększenie mnożnika końcowego. Mnożnik ten można zwiększyć u NPC typu Universal. Po zwiększeniu mnożnika końcowego wartość mnożnika bonusowego tieru 2 nie zostaje zresetowana.

Mnożnik wykładniczy to mnożnik, który przy pewnym stopniu zaawansowania postaci gwarantuje największe możliwe tempo przyrostu w grze samego tego mnożnika oraz mnożnika końcowego. Można go zwiększyć tylko u NPC typu Universal poziomu 6 lub wyżej. Zwiększenie mnożnika wykładniczego bazuje na mnożniku podstawowym. Dla Universala poziomu 6 na każde pełne 100 000 wartości mnożnika podstawowego przypada +x1e1 do mnożnika wykładniczego, a więc po prostu x10. Przykładowo dla mnożnika podstawowego o wartości równej 3 miliony, można przy jednej transakcji zwiększyć mnożnik wykładniczy o +x1e30, a więc o x10^30. Mnożenie mnożnika końcowego, mnożnikiem wykładniczym nie resetuje mnożnika wykładniczego. Z poziomu gry np. x1e3000 jest po prostu bignumową wartością równą “3000”, natomiast wykładnik jest dodany dopiero na warstwie opisowej i około-gameplayowej jako wartość częściowo-zewnętrzna.

Mnożnik końcowy jest w pełni wartością zewnętrzną, tak samo jak tier 4. Jednak możliwe są transfery in-game na warstwie opisowej i przy użyciu manualnych i/lub częściowo manualnych metod przetwarzania wartości.

Przykład mnożenia mnożnika końcowego, mnożnikiem tymczasowym:

Statystyki mnożników: podstawowego, tymczasowego i wykładniczego:


10:44 Statystyki czesci mnoznikow:
10:44 Mnoznik podstawowy: x1282540
10:44 Mnoznik tymczasowy: x1
10:44 Mnoznik wykladniczy: x1e4944.
10:44 !mnozniki

Fragment początku rozmowy z NPC Temp-Multiplicatio [1]:


10:46 Test Char 14: hi
10:46 Temp-Multiplicatio [1]: Dzien dobry Test Char 14! Zwiekszam mnoznik tymczasowy w oparciu o mnoznik podstawowy. [mnoznik tymczasowy] [wiecej informacji] [o mnie] [ceny]

Po zaledwie czterech mnożeniach mnożnikiem podstawowym, mnożnika tymczasowego, wartość ów mnożnika wynosi:


10:47 Mnoznik tymczasowy: x2705725130072030822560000.
10:47 !mnozniktymczasowy

Fragment rozmowy z NPC Universal [6]:


10:49 Test Char 14: hi
10:49 Universal [6]: Dzien dobry Test Char 14! Umozliwiam zwiekszenie wielu wartosci. [wiecej informacji][mbt2] [mkxmb2] [wzrost mnoznika wykladniczego] [mnozenie mnoznikiem wykladniczym] [mnoznik koncowy]
10:50 Test Char 14: mnoznik koncowy
10:50 Universal [6]: Gratulacje, Test Char 14 . Zwiekszono mnoznik koncowy w oparciu o mnoznik tymczasowy i bonusowy (x1e500). Wartosc mnoznika tymczasowego zostala zresetowana.

Mnożnik tymczasowy jak widać poniżej faktycznie został zresetowany:


10:51 Mnoznik tymczasowy: x1.
10:51 !mnozniktymczasowy

W pliku “Test Char 14.txt” zostały wygenerowane następujące wpisy:


2023-01-04 10:50 ------------------------------ (Test Char 14)
2023-01-04 10:50 Eksport mnoznika tymczasowego x mnoznik bonusowy. (Test Char 14)
2023-01-04 10:50 Wartosc mnoznika tymczasowego: (Test Char 14)
2023-01-04 10:50 | Test Char 14 270572513007203082256000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2023-01-04 10:50 Koniec eksportu mnoznika tymczasowego z mnoznikiem bonusowym. (Test Char 14)
2023-01-04 10:50 ------------------------------ (Test Char 14)

Liczba 270572513007203082256 to bezpośrednia wartość pochodząca ze wcześniejszego mnożnika tymczasowego, natomiast dodane zera, a dokładniej 500 zer to mnożenie dodatkowym mnożnikiem bonusowym, który dla NPC Universal poziomu 6 wynosi x1e500.

Następnie cała wartość 270572513007203082256000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 może zostać zapisana jako wartość zewnętrzna w postaci mnożnika końcowego. Wartość ta nie znajduje się bezpośrednio w grze, ale wciąż może dotyczyć postaci (kwestia wspomnianej definicji).

Następnie mnożnik końcowy można w ten sposób zwiększać bardzo szybko. Wystarczy ponownie dokonać mnożenia mnożnika końcowego, mnożnikiem tymczasowym, nawet bez wcześniej zwiększania samego mnożnika tymczasowego poprzez mnożnik podstawowy.

Kolejny dialog z NPC Universal [6]:


10:59 Test Char 14: hi
10:59 Universal [6]: Dzien dobry Test Char 14! Umozliwiam zwiekszenie wielu wartosci. [wiecej informacji] [mbt2] [mkxmb2] [wzrost mnoznika wykladniczego] [mnozenie mnoznikiem wykladniczym] [mnoznik koncowy]
10:59 Test Char 14: mnoznik koncowy
10:59 Universal [6]: Gratulacje, Test Char 14 . Zwiekszono mnoznik koncowy w oparciu o mnoznik tymczasowy i bonusowy (x1e500). Wartosc mnoznika tymczasowego zostala zresetowana.
10:59 Test Char 14: bye
10:59 Universal [6]: Wszystkiego dobrego, Test Char 14!

Wówczas w Test Char 14.txt pojawią się nowe wpisy:


2023-01-04 10:59 ------------------------------ (Test Char 14)
2023-01-04 10:59 Eksport mnoznika tymczasowego x mnoznik bonusowy. (Test Char 14)
2023-01-04 10:59 Wartosc mnoznika tymczasowego: (Test Char 14)
2023-01-04 10:59 | Test Char 14 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2023-01-04 10:59 Koniec eksportu mnoznika tymczasowego z mnoznikiem bonusowym. (Test Char 14)
2023-01-04 10:59 ------------------------------ (Test Char 14)

Następnie mnożę pierwszy eksport mnożnika tymczasowego z drugim eksportem:


270572513007203082256000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 * 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 = 27057251300720308225600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Ograniczona precyzja podobnie jak w tierze 4 jest stosowana również w wielkich mnożnikach, a więc na końcowym etapie obliczeń wielu mnożników precyzja jest “ucinana” do 10 000 cyfr. W przypadku powyższej, przykładowej wartości dalej mamy do czynienia z zachowaniem pełnej precyzji, ponieważ powyższa wartość ma jedynie 1025 cyfr.

Mnożenie pozostałych wartości zewnętrznych odbywa się na podobnej zasadzie jak w przypadku mnożenia mnożnika końcowego, mnożnikiem tymczasowym.

Do wartości zewnętrznych należy: tier 4 HP/MP, mnożnik końcowy, mnożnik bonusowy tieru 2, mnożnik wykładniczy.

Niepotrzebny tier 3

Po wielu zmianach reguł i mechanik rozgrywki doszło do sytuacji, w której tier 3 HP i MP jest zupełnie niepotrzebny. Najszybciej zwiększać tier 4 można poprzez mnożnik końcowy lub mnożnik tymczasowy. Z drugiej strony tier 1 i 2 jest tak naprawdę najbardziej związany z samą grą, gdyż w bezpośredni sposób może wpływać na ilość HP postaci. Tier 3 jest jednak dość powolny jeśli chodzi o tempo przyrostu. Jedynym plusem jest możliwość transferowania jednocześnie aż 10 milionów HP z tieru 3 do 2, co gwarantuje nieco większe tempo przyrostu niż bezpośrednie zwiększenie tieru 2, natomiast i tak dalsze transferowanie z tieru 2 do bazowego HP jest dużo wolniejsze.

Tier 4 jest z punktu widzenia praktycznej gry w tym sensie dużo lepszy od tieru 3, że pozwala na jednoczesny transfer aż miliona punktów życia lub many do bezpośredniej bazowej ilości HP lub MP (bez pośrednictwa z tierem 3 czy 2). Ponadto Tier 4 jest wartością zewnętrzną z ograniczoną precyzją, co sprawia, że gdy wartość ta jest większa niż 10 006 cyfr, a utrata precyzji jest na 10 000 cyfrach, wówczas transfery “do gry” są niemalże nieskończone i nie traci się jednocześnie ani jednego punktu z tieru 4, ponieważ utrata precyzji sprawia, że odjęcie zaledwie 6 ostatnich cyfr od tak wielkiej liczby na granicy utraty precyzji nic nie zmienia w tej wartości (na końcu dalej będą nieprecyzyjne zera). Teoretycznie tylko od 10 006 cyfr, gdyż przy mniejszych liczbach, jeszcze od tego tieru powinna być odpowiednio odejmowana transferowana wartość, ponieważ jest przed granicą precyzji.

Mnożnik transferowy

Mnożnikiem archaicznym, jednak wciąż istniejącym w grze jest tzw. mnożnik transferowy. Powstaje on w momencie przenoszenia tieru 3 do tieru 4 u NPC Transferer HP Tieru 4 [1].

Przykładowo:

Wartość tieru 3 HP wynosi: 9874944021. NPC dzieli 9874944021 bignumowo przez 1000 (9874944). Pozostała “odcięta” wartość staje się mnożnikiem do tieru 4: x021. Jeśli występuje zero od lewej, zostaje ono zamienione na 1: x121. Jeśli wcześniejsza wartość tieru 4 wynosiła bazowe “1”, wówczas po zaktualizowaniu będzie wynosić po prostu 121. Następnie kolejna transferowana wartość stanie się mnożnikiem liczby 121, itd. Transfer jest tutaj bardzo zbliżony do dawnego Reverse Arbitrary Precision Health/Mana.

Mnożnik jest archaiczny z uwagi na tempo przyrostu tieru 3, które jest dużo mniejsze niż dla mnożników tymczasowych i innych wyższych mnożników.

Zapomniane miasto

Jest to lokacja, w której można bardzo szybko zwiększać ilość żetonów handlu, z uwagi na moby, które dropią kryształy zwiększające ów wartość procentowo. Jest to również lokacja pośrednicząca w dostępie do Mistycznej Wieży.

Mistyczna Wieża

Można powiedzieć, że jest to ostatnia lokacja pierwszego świata. Znajdują się tu wszystkie NPC zwiększające różne mnożniki oraz NPC umożliwiający zwiększenie tieru 4 HP lub MP za pośrednictwem mnożnika końcowego lub tymczasowego.

Mistyczna Wieża ma na ten moment 4 piętra:

Na pierwszym piętrze znajdują się NPC:

  • Basic-Multiplicatio [1],
  • Temp-Multiplicatio [1],
  • Final-Multiplicatio [1],
  • Final-Multiplicatio [2].

Piętro drugie (NPC):

  • Final-Mul-Transferer.

Piętro trzecie (NPC):

  • Universal [1],
  • Universal [2],
  • Universal [3],
  • Universal [4].

Piętro czwarte (NPC):

  • Universal [5],
  • Universal [6].

Snapshoty – stan obecny i plany

Przyznać muszę, że jest dla mnie najciekawszy element serii w ostatnim czasie. To niesamowite jak ze zwyczajnego sposobu archiwizacji statystyk postaci powstał wielopoziomowy pseudo-system wyświetlania informacji o postaci z gry.

Jednak od początku, czym są snapshoty?

Definicja z Wikipedii:


Snapshot – rodzaj zrzutu danych rozumianego jako sposób zapewniania dostępu do starszych wersji danych przechowywanych w pamięci masowej, zwłaszcza dyskowej. Ze względu na brak utrwalonego i zaakceptowanego odpowiednika w języku polskim zjawisko to opisywane jest czasami przy pomocy kalki językowej migawka.

Link: Snapshot (informatyka).

Upraszczając jest to najzwyczajniej “zrzut starszych wersji danych”. Pasuje to idealnie do mojego zastosowania tego terminu w projekcie Local OTS.

Dla przykładu:

Postać Test ma 1 poziom, 30 punktów doświadczenia i 1000 HP. Robię w tym miejscu snapshot. Gram dalej, postać ma 3 poziom, 120 punktów doświadczenia i 1500 HP. Również w tym miejscu robię snapshot. Wówczas mam dwa snapshoty:

Snapshot 1: Postać: Test, 1 poziom, 30 punktów doświadczenia i 1000 HP.
Snapshot 2: Postać: Test, 3 poziom, 120 punktów doświadczenia i 1500 HP.

I dokładnie to samo robię w ramach odrębnego typu załączników do serii na subdomenie archiwum: Local OTS: Snapshoty postaci Danko.

Jednak jak widać ów snapshoty zawierają dużo bardziej szczegółowe informacje niż we wcześniejszym przykładzie, który miał na celu tylko przedstawienie samej idei.

Początkowo publikowałem snapshoty głównej postaci Danko tylko na subdomenie archiwum. Później rozdzieliłem snapshoty na dwa rodzaje: archiwalne i w postaci nowych załączników, dostępnych na subdomenie zalaczniki.blogint.pl. Pierwszy i drugi rodzaj snapshotów różnił się w sposobie wizualnej prezentacji danych. Archiwum snapshotów miało za zadanie prezentowanie zrzutów danych z jak największą dokładnością nawet dla naprawdę dużych liczb, natomiast snapshoty znajdujące się w zalaczniki.blogint.pl miały być pod tym względem mniej dokładne i bazować głównie na notacji wykładniczej. Okazało się, że nawet przy użyciu odpowiednich skryptów, wyświetlanie wielu podstron zawierających setki tysięcy cyfr może na wielu urządzeniach lub na słabym połączeniu internetowym ładować się stosunkowo długo (nawet do kilku sekund), a oprócz tego nie jestem pewien jak usługodawca hostingu może zareagować na publikację dużej ilości tego typu treści. Z tego powodu postanowiłem wprowadzić jeszcze jeden pod-rodzaj lub poziom snapshotów jakim są snapshoty archiwalno-lokalne.

Obecnie snapshoty na subdomenie “.archiwum” i “.zalaczniki” posiadają różne wykonania wizualne, z uwagi na następujące zmiany w sposobie prezentacji danych pomiędzy datami publikacji snapshotów. Planuję na przestrzeni kilku tygodni ustandaryzować wszystkie snapshoty publiczne i prowadzić je jedynie na subdomenie zalaczniki.blogint.pl. Snapshoty wyświetlające o wiele więcej cyfr, eksperymentalne, czy też mniej czytelne w ogólnym odbiorze planuję dodawać jedynie do lokalnego archiwum. Uproszczone wersje przynajmniej części tych snapshotów możliwe, że za jakiś czas będą umieszczane znowu w archiwum.blogint.pl

Autor artykułu: Danko
Opublikowano: 07.01.2023
Seria bazuje na starych elementach gry Tibia (wersja 7.6) oraz na wielu moich modyfikacjach zawartości gry i systemów.
Oficjalna gra najnowszej wersji bez modyfikacji: Tibia.