Blog i nie tylko

MyOTS v6 #2 – Więcej niż jeden świat, alternatywa dla sektorów

MyOTS v6 – Więcej niż jeden świat, alternatywa dla sektorów

02.02.2022:

Więcej niż jeden świat.

Na poprzedniej edycji MyOTSa wprowadziłem sektory. Był to technicznie nowy świat gry, który na wstępnym etapie rozgrywki nie ingerował w domyślny, początkowy świat. Później do zmian między światami mogło dojść poprzez chociażby podjęcie przeze mnie decyzji o przetransferowaniu części przedmiotów z jednego świata na drugi. Aczkolwiek ów transfery nie były cykliczne. Ich wykonywanie i rozkład w czasie był dość chaotyczny – odpowiednio niezdefiniowany czasowo.

W obecnej edycji szóstej również postanowiłem wprowadzić coś podobnego, ale już z (tak mi się wydaje) bardziej przemyślaną nomenklaturą. Zamiast sektorów będą wprowadzane kolejne światy oznaczane literą “s” z odpowiednią numeracją. Domyślny świat to MyOTS v6 (s1). S1 ująłem w nawiasie, ponieważ świat pierwszy jest bazowy, podstawowy, a więc nazwy: “MyOTS v6” lub “MyOTS v6 s1” są równocześnie poprawne. Przy czym “MyOTS v6” to też sygnowanie kolejnej edycji projektu i kolejnej (obecnej) serii blogowej.

Na ten moment w projekcie MyOTS v6 znajdują się następujące światy:

– MyOTS v6 s-1,
– MyOTS v6 s0,
– MyOTS v6 s1 (lub MyOTS v6),
– MyOTS v6 s2.

Warto zwrócić uwagę na fakt, iż w świecie “MyOTS v6 s-1” znak “-” jest dosłownie minusem, proszę go nie mylić z myślnikiem. Zatem powinno się odczytać ów nazwę jako “MyOTS edycja szósta świat minus jeden”.

s-1

W MyOTS v6 s-1 znajduje się mały magazyn ze skrzynką, w której będą znajdować się coraz bardziej zagnieżdżone przedmioty (ryby i plecaki). Cała lokacja osadzona jest na stronie, technicznie s-1 nie jest plikami gry, a bardzo małym na ten moment przynajmniej światem, w którym znajduje się jedynie nieco roślinności i wspomniany wcześniej magazyn.

Przedmioty, które mają się znajdować w jednej ze wspomnianych skrzyń będą podczas transferu konwertowane na stronę ze świata pierwszego.

s0

Świat, który bazuje na s1. Głównie wykorzystywany do kwestii roboczych, związanych z serią, ale raczej nie będący w niej fabularnie. Znajdują się w nim liczne kopie lokacji z innych światów, a w przyszłości możliwe, że również inne elementy plików gry. To właśnie w tym świecie została wymapowana lokacja magazynu do świata s-1.

s1

Początkowy, bazowy świat. W nim głównie łowione są ryby na postaci Wedkarz (tak celowo bez litery “ę”, ponieważ oryginalnie gra nie koduje polskich znaków).

s2

Świat drugi bazował początkowo na pierwszym świecie przy czym został bardzo mocno zmieniony. Mapa została zredukowana niemal do minimum, a w mieście przy świątyni (częste miejsce odradzania postaci) powstał Magazyn Zewnętrzny.

Magazyn Zewnętrzny to obiekt, w którym planuję w dalszej przyszłości wprowadzać część dostaw od postaci fabularnej: Rybak.

Również na tym świecie została dodana lokacja pod wspomniane powyżej dostawy ryb.

Ogólna mapa zostanie prawdopodobnie w przyszłości jeszcze bardziej zmieniona, a jej nieaktualne elementy będą przeniesione do s0 (świata roboczego).

Uzyskana umiejętność łowienia na głównej postaci.

W chwili pisania tego zdania jest to 121. poziom łowienia i 43% do poziomu 122.

Co kilka awansów robię zrzuty ekranu z gry:

Awans na poziom łowienia: 50 na postaci Wedkarz.

Awans na 50 poziom łowienia na postaci Wedkarz.

Awans w łowieniu [100].

Fishing 100.

Awans w łowieniu [120].

120 fishing ots

Więcej awansów można znaleźć w załącznikach do serii.

Planowany pierwszy transfer ryb ze świata pierwszego do MyOTS v6 s-1.

Podczas łowienia cały czas dosłownie pod postacią gromadzą się złowione ryby. Skrypt serwerowy na łowienie został przeze mnie jakiś czas temu przebudowany w taki sposób, że po osiągnięciu 100. fishingu dostaje się jeszcze więcej ryb za każdą fizyczną próbę. Ów umiejętność zyskuję głównie poprzez macro na BicTrainerze, co znacznie przyspiesza pozyskiwanie tibijskich fishy.

Wszystko to sprawiło, że niebawem waga pliku houseitems.xml może przekroczyć jeden megabajt danych. Jest to dobry moment, aby niebawem dokonać pierwszego transferu i tym samym odciążyć nieco serwer. W praktyce dla silnika gry taka waga pliku z przedmiotami w domach nie jest znaczącym obciążeniem, ale jeśli nagromadzi się zbyt wiele itemów w obszarze blisko postaci to z tego przynajmniej co zauważyłem na wcześniejszej edycji, dochodzi do coraz częstszego samo-wylogowywania z gry.

Ponadto im większa waga pliku houseitems.xml tym zapis serwera trwa dłużej. Bez przedmiotów lub z ich bardzo małą ilością jest to w moim przypadku ~0.020 sekundy. Gdy wspomniany plik ma około megabajt zapis trwa ~0,1 – 0,2 sekundy, a więc wielokrotnie dłużej. Przy ułamkach sekund nie jest to jeszcze dokuczliwe, natomiast w dalszej przyszłości na serwerze, w którym planuję wszystko umieszczać bezpośrednio w houseitems.xml (czyli w świecie drugim) może to powodować nawet kilkusekundowe zatrzymanie czasu gry podczas zapisu. W przyszłości chciałbym, aby s2 był m.in. wręcz specyficznym benchmarkiem praktycznych limitów ilości przedmiotów w domkach.

Oczywiście transfery z konwersją webową z s1 do s-1 nie będą miały takich kłopotów (między innymi po to je wprowadziłem).

Czy zdobycie 205. fishingu będzie w ogóle możliwe?

W poprzedniej części poświęciłem kilka akapitów zagadnieniu potencjalnemu zdobyciu technicznie maksymalnego fishingu.

Z uwagi na:

– Duży limit ilości prób na danej umiejętności.
– Moje obliczenia.
– Wartości, które podaje tibijski kalkulator.

Jednak zdobycie 205. poziomu łowienia może nie być możliwe.

31 stycznia 2022 dokonałem obliczeń szybkości zdobywania kolejnych prób po 110. poziomie umiejętności łowienia (gdyż w tamtym czasie taki właśnie poziom miałem na głównej postaci Wedkarz):

Obliczenia nie są najdokładniejsze z uwagi na nie do końca precyzyjne pozyskanie danych bazowych (o to możliwe, że zadbam innym razem) i nadmierne zaokrąglenie wyników. Jednak nawet przyjmując, że pomyliłem się o kilkadziesiąt procent nie robi to większej różnicy, biorąc pod uwagę to jak duży okres wychodzi z poniższych szacunków.

Informacja bazowa: 12% na 110 fishingu zajęło ~10 min.
Na awans z 110. na 111. fishing potrzeba: 275 612 prób.
275 612*0,12 = ~33 073 prób.
10 min – 33 073 prób.
1 min – ~3 307 prób.
1 h – 198 420 prób.
1 d – 4 762 080 prób.
1 rok – 1 738 159 200 prób.
Od 110. do 205. poziomu łowienia potrzeba łącznie 23 580 490 981 prób.
Zatem teoretycznie przy obecnej prędkości potrzeba ~13,6 lat (23 580 490 981 / 1 738 159 200) na zdobycie 205 poziomu łowienia.

Dopiero po potencjalnym momencie zdobycia 205. fishingu będzie można zsumować ilość wszystkich prób wykonanych na tymże skillu (do teoretycznej przyszłej kwestii fabularnej).

Szacowany okres 13. lat i około 7. miesięcy jest przy założeniu, że postać zdobywała by umiejętność łowienia 24 godziny na dobę przez ten czas, natomiast w praktyce w ciągu dnia postać jest online kilka – kilkanaście godzin wykorzystując bezczynność w grze przy użyciu BicTrainera. Zatem tym bardziej wizja zdobycia maksymalnego poziomu łowienia staje się bardzo mało prawdopodobna.

Możliwość poprawienia precyzji obliczeń i ich dalsza przydatność.

Obliczenia można później wykonać przy użyciu stopera i sprawdzić ilość prób w danym momencie przed uruchomieniem stopera za pośrednictwem pliku XML z postacią i tą samą metodą sprawdzić je po wyłączeniu stopera.

Ponadto jeśli dane bazowe będą bardziej precyzyjne będę mógł je wykorzystywać do szacowanego czasu potrzebnego na każdy kolejny dany poziom umiejętności.

03.02.2022:

Pierwszy transfer.

W pliku houseitems.xml znajdowało się:

43 544 stosów po 100 ryb i jeden stos z 99. rybami, a więc łącznie 4 354 499 ryb. Przed rozpoczęciem transferu została wykonana kopia pliku, a z obecnego pliku zapisującego przedmioty w domkach, w MyOTS v6 s1 zostały usunięte wszystkie ryby, które po policzeniu zostaną osadzone w s-1.

03.02.2022, 11:02:

Pozostało 34 499 ryb do włożenia w skrzynce, w s-1. 4 320 000 ryb zostało w pełni przetransferowane. Aby zobaczyć w pełni ich układ na stronie należy przejść do odnośnika z zawartością skrzynki w magazynie w świecie minus pierwszym (nieaktualny fragment świata) i kliknąć na dolną skrzynię.

Mapy światów: s1, s2 (domyślna wysokość: 7):

MyOTS v6 s1:

Mapa świata 1 MyOTS v6.

MyOTS v6 s2:

Mapa świata 2 MyOTS v6.

Planowana pierwsza dostawa od Rybaka (postaci fabularnej).

Prawdopodobnie nastąpi to w kolejnej części serii. Na ten moment nie jestem pewien, czy aby na pewno pierwszym światem, w którym to nastąpi będzie s2. Możliwe, że rozpocznę to od głównego świata, gdyż w bazowym świecie powinno odbywać się jak najwięcej akcji fabularnych. Przynajmniej na razie. Później może dojść do pewnego rozproszenia historii, ale o tym może kiedy indziej. Wpierw trzeba ów mini-fabułę w ogóle wprowadzić na łamach tej serii.

Autor artykułu: Danys-Ynfi
Opublikowano: 03.02.2022
Rozpoczęcie serii: 31.01.2022.

Seria bazuje na dawnych elementach gry Tibia (wersja 7.6) oraz na wielu moich modyfikacjach głównie około-gameplayowych i fabularnych.
Oficjalna gra najnowszej wersji bez modyfikacji: Tibia .