Autor: kaczy

  • Nelderim DevBlog #19

    Witajcie podróżnicy w kolejnym wydaniu DevBloga.

    Ten wpis rozpoczynamy od czegoś o czym jeszcze nigdy nawet nie wspominaliśmy i czekaliśmy na odpowiedni moment, żeby się wami z tym podzielić!

    Rebranding

    Dzisiaj wszystko co jest i będzie związane z naszym serwerem będzie sygnowane naszym nowym logo, które prezentuje się następująco!

    Przez bardzo długi czas nie mieliśmy spójnej tożsamości naszego serwera i na różnych profilach społecznościowych używaliśmy różnych logo i logotypów z poprzednich odsłon serwera, a na naszej stronie internetowej widnieje nasze logo, ale dostaliśmy sporo opinii, że należałoby coś z nim zrobić 😉

    I tak oto przychodzimy do was z powiewem świeżości.

    Proste, unikatowe logo, które nawet pięciolatek będzie w stanie narysować i mamy nadzieję, że już niedługo każdy będzie kojarzył ten symbol z naszym serwerem 🙂

    Banki Regionalne

    Ci którzy są aktywni na Discord, już wiedzą, że planujemy wprowadzić system banków regionalnych.

    Ma to działać tak:

    Załozenia:

    • Kazda postac ma osobne skrzynie bankowe per region (region moze oznaczac jakis geograficzny region, miasto, wioske albo nawet konkretny budynek banku)
      • Wrzucając przedmioty w skrzyni bankowej w lokacji x, nie sa one dostepne w bankach w innych lokacjach
      • Zloto i waluty rowniez mozna zrobic regionalne, albo utrzymywac jedno saldo we wszystkich instancjach banku
      • Mozliwosc wykupienia uslugi transportu dóbr z jednego banku do drugiego
      • Przyklady uzycia:
        • Jestes kowalem z miasta x i chcesz sprzedac swoje towary w miescie y, to musisz je dostarczyc do miasta docelowego, nie mozesz schowac do banku w miescie x i wyciagnac z banku w miescie y
        • Chcesz cos kupic w miescie x, to musisz miec zloto albo w plecaku albo w banku w miescie x
        • Mozliwosc przewozenie walut w czekach, surowców i materiałow w wekslach

    Wspominaliśmy też, że mamy gotowy system, który tylko należy dostosować, natomiast po rozpakowaniu archiwum system ten okazał się kilkoma totalnie bezużytecznymi skryptami bez ładu i składu, tak więc system ten będzie jednak wymagał od nas trochę pracy 😉

    Poznaliśmy też waszą opinię w dyskusji na Discord i niedługo rozpoczniemy właściwe kroki w stronę implementacji tego systemu.

    Co nowego przynosi ServUO

    Dodatki, które mamy na ServUO mogą spełnić najbardziej mokry sen każdego poszukiwacza przygód, dzikusa czy barbarzyńcy – zbroja ze skóry tygrysa. Tak! Po roku 2010 wprowadzono do obiegu nowe potwory, ale nie mogło zabraknąć też kolejnej gratki dla tych graczy, którzy cenią sobie więcej, niż tylko cyferki w panelu statusu, mianowicie, szyk i elegancję…, no a w tym wypadku, to raczej szok i ekscytację.

    Nowy potwór

    A jak nowy potwór to i nowe skóry:

    Przy wytwarzaniu takowej zbroi z wykorzystaniem umiejętności Krawiectwo, możemy też użyć kolorowych skór, aby nadać temu strojowi nie tylko ciekawego odcieniu, ale i tych upragnionych cyferek, które w MMORPG tak namiętnie gonimy.

    Zbroja z futra tygrysa w swojej okazałości

    Więcej o nich można poczytać tutaj

    Więcej zmian i fixów

    Nowe systemy wymagają przetłumaczenia, więc lwią część czasu zajmuje nam ostatnio tłumaczenie nazw w tych nowościach. Jest to o tyle uciążliwe, iż część tekstu jest w kodzie, a część w Cliloc.enu, co powoduje, że w celu weryfikacji tłumaczeń, musimy podmieniać plik i restartować grę/serwer.

    Tłumaczone również były komendy stajennego. Na ServUO większość komend znajduje się w pliku Speech, który znajduje się w folderze z klientem, więc musieliśmy zanurkować w ten plik i przenieść komendy z RunUO na ServUO. Tym razem zajmowialiśmy się komendami u teresera zwierząt.

    Praca z tym plikiem nie należy do najprzyjemniejszych

    W systemie skrzyń skarbów, które wykopujemy, kiedy posiadamy mapy skarbów, na ServUO, strażnicy mają nadany odpowiedni kolor i nazwę. Oryginalne hues.mul powodowało, że straznicy byli w kolorze kruczoczarnym. Już, na szczęście, nie nazywają się tak jak oryginalnie nazywał się potworek i nie mają czarnego koloru. Na nowym emulatorze mają dopisek (Strażnik).

    A taki kolor mają potwory ze skrzyń

    Podsumowanie

    Koniecznie dajcie nam znać co sądzicie o naszym nowym logo i zacznijcie się przyzwyczajać, bo prędko nie planujemy go zmieniać!

    Jak znacie jakichś pięciolatków, to możecie zrobić eksperyment czy dadzą radę je narysować 😉

    Do następnego!

  • Nelderim DevBlog #18

    Kolejny piątkowy wieczór, na zewnątrz coraz zimniej, a my sumiennie dostarczamy wam świeżą porcję postępów w migracji.

    Frakcje

    Zgodnie z zapowiedzią rozpoczęliśmy implementację naszego systemu frakcji i udało nam się poczynić widoczne postępy

    Podstawy systemu są na miejscu, dodaliśmy w kodzie definicje dla czterech frakcji: Frakcja1, Frakcja2, KompaniaHandlowa oraz VoxPopuli, z czego dla graczy domyślnie będą dostępne tylko Frakcja1 i Frakcja2, które jeszcze nie mają właściwych nazw 🙂

    Aktualnie udało nam się zaimplementować wyświetlanie przypisanej frakcji w paperdollu, możliwość definicji wrogich frakcji, których członkowie będą oznaczanie w grze jako Enemy (domyślnie kolor pomarańczowy) oraz częściowo konto działa „przypisywanie frakcji do konta” i od razu chcemy dodać, że przypisanie to będzie nam dość łatwo wyłączyć, a dodatkowo z pomocą Mistrza Gry będzie istnieć możliwość przypisania konkretnej postaci do dowolnej frakcji, nawet domyślnie nie grywalnej, jeżeli pojawi się taka potrzeba.

    Postać z wrogiej frakcji wyświetlana jako Enemy

    Jak na razie to wszystko co udało nam się zrobić, ale mamy już zaplanowane kolejne kroki, a musicie uwierzyć że ilość systemów które musimy zintegrować z systemem frakcji jest ogromna i minie trochę czasu, zanim wszystko zacznie działać jak należy.

    „Konsekwencjo, tyś wielką cnotą!”

    No właśnie… cnoty. O cnotach mawia się wiele. Wielu twórców o nich pisało. „Zwątpiwszy w miłość i cnotę, zostaje jeszcze rozpusta.„, mówił Albert Camus, „Cnota jest w dzisiejszych czasach rzadsza niż skalny smok.„, pisał Andrzej Sapkowski, ale my tu nie o takich cnotach będziemy mówić.

    Panel cnót

    Dzięki silnikowi ServUO mamy dostęp do całej gamy cnót, nie tylko do 5 (Valor, Honor, Compassion, Justice, Sacrafice), tak jak to jest na RunUO. Poniżej opiszemy działanie tych nowych, czyli (Honesty, Spirituality, Humility), które wejdą wraz ze startem Nelderim ServUO.

    Honesty (Szczerość) – tę cnotę zdobywamy poprzez zbieranie i zwracanie przedmiotów z opisem „Zagubiony Przedmiot (Zwróć, aby pozyskać punkty Szczerości)”. Przedmioty te mogą pojawić się na całej mapie z pominięciem lochów. Podnosząc taki przedmiot mamy 3 godziny czasu rzeczywistego, by odnaleźć jego właściciela, który będzie znajdował się w mieście. Nasza wersja Honesty będzie troszeczkę zmieniona względem tej OSI ze względu na fabułę i mapę. O oryginalnej wersji można poczytać TUTAJ. Ta cnota daje nam zniżki na przedmioty u NPCów.

    Humility (Pokora) – Na OSI Pokora zdobywana jest poprzez zabijanie stworzeń podczas Humility Hunt. Nie mamy jeszcze jasno określonego jaki kształt ona nabierze u nas.

    Spirituality (Duchowość) – Duchowość zdobywa się, stosując ukierunkowane leczenie i zmartwychwstania na innych graczach, w tym bandaże, Close Wounds (Rycerstwo) , Heal, Greater Heal (Magia) , Gift of Renewal (Druidyzm), Cleansing Winds (Mistycyzm) i Rejuvenate (Talenty Barda). Jako nagrodę otrzymujemy możliwość rzucenia na gracza tarczy, która absorbuje obrażenia. Przy pierwszym poziomie cnoty 5% tarczy z 50 HP, przy 2 poziomie 10% tarczy ze 100 HP, przy 3 mamy 20% tarczy z 200 HP. Rzucanie tarczy zużywa punkty cnoty.

    Dekoracje

    Dekorowanie miast i wiosek trwa dalej. Prace nam się rozpraszają na różne lokacje, więc to jeden z większych części przeniesienia Nelderimu na ServUO. Chcemy trochę udekorować pewne miejsca, jako, że wydają się dość surowe jak na ten czas. Inne zaś mamy zamiar przebudowywać. Jeszcze inne miejsca dopiero mają powstać, więc jest na co czekać 🙂

    Poniżej przykład z dekorowania jednego z budynków:

    Podsumowanie

    Wrzało ostatnio na naszym Discordzie po ogłoszeniu systemu frakcji i zapewniamy was, że słuchamy waszych sugestii, bierzemy pod uwagę wszelkie oznaki niepokoju co do wprowadzanych zmian i dokładamy wszelkich starań, żeby wszyscy byli co najmniej trochę zadowoleni 😀

    Do następnego!

  • Nelderim DevBlog #17

    Witamy was po raz siedemnasty na łamach naszego DevBloga!

    Okres wakacyjny dobiega (nareszcie) końca i w momencie pisania tego akapitu prawie cała ekipa jest już dostępna, i możemy wypoczęci wrócić do prac przy migracji.

    Przez ostatnie dwa tygodnie udało nam się osiągnąć malutki kamień milowy, ponieważ niejako przymykamy jeden z większych tematów i rozpoczynamy pracę nad czymś nowym, ale po kolei…

    Gainy

    Przez ostatnie dwa tygodnie większość naszych sił przeznaczyliśmy na domykanie wstępnych modyfikacji systemu gainów zgodnie z naszą wizją i zbliżamy się powoli do momentu gdzie będziemy zadowoleni z tego jak funkcjonuje ten system.

    Na początek wprowadziliśmy zmiany zgodnie z wnioskami, które wyciągnęliśmy po testach opisanych w ostatnim DevBlogu i przystąpiliśmy do kolejnej sesji testów.

    Dotychczasowe sesje testowe są dość proste: obserwujemy prędkość gainów, modyfikujemy globalny modyfikator przyrostów i ponownie obserwujemy czy jest lepiej czy gorzej.

    Jak na razie są to tylko początkowe ustalenia prędkości przyrostów, a wszystkie szczegóły i drobnostki, takie jak modyfikatory dla poszczególnych umiejętności, wpływ zapełnienia całkowitego limitu umiejętności na przyrosty, przyrosty umiejętności oraz inne będziemy dopieszczać na bieżąco, aż do końca migracji i jeszcze dłużej, ale to co mamy aktualnie, wystarczy aby rozpocząć następne tematy 🙂

    Frakcje

    System frakcji jest czymś, co wiedzieliśmy że chcemy mieć prawie od samego początku migracji i nareszcie nadeszła pora, kiedy możemy poczynić korki w tym kierunku.

    Nie będzie to system frakcji znany z dawnej ery UO, ani tez VvV istniejące aktualnie, ale główne założenie będzie bardzo podobne: zachęcić graczy do PvP oraz urozmaicić rozgrywkę i świat.

    Warto też nadmienić, że jak na razie, wszystko odnośnie naszego systemu frakcji jest tylko na papierze, a faktyczna implementacja tego systemu dopiero się rozpoczyna i jesteśmy otwarci na wasze uwagi oraz sugestie 🙂

    Jak na razie jest kilka ogólnych założeń:

    • Świat zostaje podzielony na dwie walczące między sobą frakcje
    • Każdy gracz musi przynależeć do jednej ze stron
    • Przynależność do frakcji jest na poziomie konta, tzn. wszystkie postacie należą do jednej frakcji
    • Każda frakcja posiada swoje miasta, wioski oraz terytorium
    • Będą istnieć również miasta/tereny neutralne, albo należące do fabularnej/niegrywalnej frakcji
    • Gracze frakcji x mogą bezkarnie atakować graczy frakcji y
    • Gracze frakcji x atakujący graczy x będą działać na oryginalnych zasadach blue/crim/red
    • Npc frakcji x będa nietolerancyjni dla graczy frakcji y
    • Straż frakcji x będzie automatycznie atakować graczy frakcji y
    • Zabijanie graczy wrogiej frakcji będzie nagradzane 🙂

    Dajcie znać co sądzicie na temat nowego systemu frakcji, bo mamy świadomość, że może budzić pewne kontrowersje, ale zapewniamy was, że mamy wszystko dobrze przemyślane i każdy powinien być zadowolony z tego rozwiązania 🙂

    Co nowego przynosi ServUO

    Charybdis to potwór morski, którego można przywołać za pomocą specjalnej lunety zwanej Wyrocznią Morską (Oracle of the Sea) oraz specjalnej przynęty na ryby. Wezwanie jest ograniczone do raz na siedem godzin. Chociaż Wyrocznia może wygenerować nową raz na 24 godziny, tylko wtedy, gdy poprzednia nie zostanie wezwana.

    Aby zostać podniesionym z głębin, osoba ze 100 punktami umiejętności Wędkarstwo musi trzymać zarówno Wyrocznię Morza, jak i wędkę z przynętą na Charybdis… próba łowienia samą Przynętą nie wygeneruje „bąbelków”, a co za tym idzie, boss nie zostanie przyzwany.

    Istnieje 1 na 4 szanse na przywołanie Charydbisa na poziomie 100 Wędkarstwa (lub wyższym), gdy wszystkie warunki zostaną poprawnie spełnione.

    Informacje o bossie

    Podsumowanie

    Dotarliśmy do końca dzisiejszego wpisu i już nie możemy się doczekać następnego i nadchodzących zmian!

    Do następnego!

  • Nelderim DevBlog #16

    Jako, że nadal trwa okres urlopowo-remontowy, to dzisiejszy DevBlog będzie mniej obszerny od pozostałych. Niemniej jednak, zachęcamy do zapoznania się z tym, co dzieje się za kulisami 😉

    Miłego czytania!

    Dem gainz!

    W DevBlog#15 mogliście przeczytać, że stworzyliśmy system mnożników przyrostów, które można wykorzystać globalnie, jak i indywidualnie. W ostatnich dniach, gdy nasz czołowy skrypter – Kaczy – był na zasłużonym urlopie, reszta ekipy starała się wziąć pod lupę owy system.

    Pierwsza faza testów pokazała, iż wpływ GainBoostera oraz innych mechanik zwiększających przyrosty, musi zostać jeszcze trochę dopracowana, jako, że udało się w kilka godzin dobić umiejętności Walki Mieczami i Anatomii oraz Taktyki prawie do maksymalnych wartości raptem w kilka godzin.

    Doatkowo, przyrosty statystyk nie zostały odpowiednio uzależnione od wzrostu poziomu umiejętności, więc w kilka godzin mieliśmy pełen Stat Cap. To też wymaga regulacji.

    Dalsze testy będą przeprowadzane już pod okiem Kaczego.

    Co nowego przynosi ServUO

    Dodatek Stygian Abyss daje nam dostęp do kolejnego, potężnego monstrum – Pogromcy Ukrytych. Na serwerach OSI można go znaleźć w dungeonie o nazwie… Stygian Abyss. Więcej o nim powiemy w przyszłości. A wracając do bossa… Ten boss posiada ciekawą mechanikę, jako, że, gdy zostaje zwabiony do tego koła na screenie poniżej, to jego siła jest znacznie obniżona. Jest też odporny na czar Word of Death z Druidyzmu, ale za to podatny na paraliże i czar Earthquake z Magii.

    Sam boss potrafi czarować. Rzuca Strach, Mind Rot (Nekromancja) oraz potrafi zatruć śmiertelną trucizną.

    Więcej o nim tutaj

    Jeśli ktoś chciałby zobaczyć jak wygląda walka z tym bossem, polecam to wideo:

    Upiększanie mapy

    W tak zawanym międzyczasie, gdy jedni testują, inni kodują, to jeszcze inni budują. No, przebudowują.

    Na tym screenie możecie zobaczyć rozdzielanie jednego dużego budnyku na 2 mniejsze

    Pewne części mapy wymagają upiększenia, zmian i przebudowania, więc jurijuice zakasał rękawy, odpalił CentrED (oraz CentrED+) i zaczął upiększać naszą już i tak urodziwą mapkę 🙂 .

    Tasandora z lotu ptaka – w trakcie poprawiania kilku małych elementów

    Oczywiście i tu nie obyło się bez problemów technicznych.

    Podsumowanie

    Jak widzicie, praca wre na wszystkich frontach, pomimo urlopów, czy remontów. Mamy nadzieję dostarczyć wam kolejną porcję dobrych wiadomości w kolejnym DevBlogu już za 2 tygodnie.

    Do miłego!

  • Nelderim DevBlog #15

    Pomimo wyjazdów wakacyjnych w ekipie i nieznośnych upałów, my nie odpuszczamy i jak co dwa tygodnie dostarczamy wam skrót z tego co się działo za kulisami.

    Przywracanie postaci

    Wydarzyła się ostatnio wyjątkowa sytuacja, ponieważ napisał do nas jeden z graczy, że omyłkowo zamiast jednej postaci, usunął wszystkie i czy jesteśmy w stanie coś z tym zrobić.

    Początkowo myśleliśmy, że jedyne co możemy to ręcznie przywrócić umiejętności i statystyki z backupu zaraz przed usunięciem postaci, jednakże w naszych głowach zrodził się szalony pomysł i bez zwlekania przeszliśmy do realizacji.

    Plan był całkiem prosty, bo chcieliśmy postacie zapisać do formatu wpisu xmlspawnera, a następnie z tego formatu odtworzyć je na działającym serwerze.

    W miarę szybko udało nam się rozgryźć odpowiednią składnię i mieliśmy gotowe zapisywanie i odtwarzanie najistotniejszych właściwości postaci, a chwilę później odkryliśmy, że jesteśmy również w dość prosty sposób odtworzyć aktualny ekwipunek, bez zawartości plecaka.

    Nie obyło się również bez pomyłek po drodze 🙂

    Ostatecznie gracz odzyskał wszystkie swoje postacie z podstawowym wyposażeniem.

    Przy najbliższym restarcie, wprowadzimy również blokadę samodzielnego usuwania postaci które mają na liczniku ponad 48h godzin gry na wypadek podobnych omyłek, rage quitów czy włamań na konto.

    Oczywiście postacie, których nie będziecie mogli usunąć samodzielnie, będziecie mogli usunąć z pomocą Mistrza Gry.

    Tak więc mamy nowe narzędzie na takie sytuacje, ale zanim zaczniecie usuwać swoje postacie, wiedzcie że metoda ta jest dość ograniczona, przywrócić możemy tylko postacie do około 48h wstecz, wciąż wymaga to od nas dość sporo manualnej pracy oraz cały wasz dobytek z wyjątkiem aktualnego ekwipunku nie zostanie odzyskany.

    Gainy

    Po długiej przerwie, nareszcie udało nam się wrócić do właściwych prac na serwerze i zaczynamy kształtować docelową wersję systemu gainów.

    Przed nami wiele godzin testów i żeby ułatwić sobie pracę postanowiliśmy już teraz zainwestować trochę czasu w przebudowanie systemu Power Hour.

    Na ServUO system Power Hour będzie działał zupełnie inaczej i umożliwi Mistrzom Gry ustalenie globalnie dowolnego mnożnika gainów na określony czas.

    Pozwoli to na przykład na eventy w postaci x1,25 gainów przez cały weekend, x2 gainów w piątkowy wieczór czy nawet x10 gainów gdy uznamy, że jest odpowiednia okazja 🙂

    Natomiast to co teraz znacie jako Power Hour, od ServUO będzie się nazywać Gain Boost, będzie się aktywować dla konkretnej postaci poprzez jednorazowe przedmioty, natomiast mnożnik i czas działania będziemy mogli dostosowywać podobnie jak dla Power Hour.

    Oczywiście oba te systemy współgrają ze sobą, a mnożniki sumują się.

    Mając z nami te systemy oraz komendę liczącą przybliżony czas treningu możemy nareszcie przystąpić do regulowania systemu przyrostów umiejętności, ale o tym dopiero za dwa tygodnie.

    Co nowego przynosi ServUO

    Wraz z wejściem dodatku Time of Legends, w 2015 roku, otrzymaliśmy dostęp do nowego championa – Smoczego Żółwia. Wraz z wejściem tego championa dostajemy dostęp do nowych potworów, a z nimi również Pogromcę Dinozaurów. Tak, właśnie. Dinozaury. I nie mamy tu na myśli naszych wiekowych graczy, a moby, które zostały udostępnione graczom wraz z ToL, które będziemy starali się zaimplementować na ServUO. Nie jest to łatwe, jako, że fabularnie są one dość trudne do wpięcia w istniejący świat Nelderim.

    Więcej informacji o nim tutaj

    Ten nowy nabytek ma nowy atak specjalny – obszarowo rzuca kamienie dookoła siebie. Dodatkowo truje, wyrzuca broń z ręki i posiada smoczy oddech.

    Po zgładzeniu tej bestii możemy otrzymać jajo smoczego żółwia i możemy wykluć małą wersję takiego żółwia. Więcej informacji tutaj.

    Podsumowanie

    Najbliższe dwa tygodnie pokażą jak dużo pracy będzie wymagać dostosowanie systemu gainów do naszej wizji, a jest to jakby nie patrzeć jedna z dwóch najważniejszych mechanik, zaraz obok systemu Loot i chcemy żeby właśnie te dwa systemy były jak najbardziej dopracowane.

    I pilnujcie swoich postaci, żebyśmy mieli więcej czasu na ServUO 😉

    Do następnego!

  • Nelderim DevBlog #14

    Przychodzi GM na ServUO na testy, a ServUO do GMa:
    -Co ja Patche(r)

    W sumie to już nie Patcher, a Launcher….

    No dobra, to było słabe…, ale wiecie co będzie mocne? Mocny to będzie ten DevBlog. 14 raz zapraszamy was na nasze WWW po nowości na ServUO.

    W tym DevBlogu opowiemy o wczesniej wspomnianym Launcherze, trochę o Talentach oraz jak przebiegały ostatnie testy.

    Weźcie coś zimnego do picia i zapraszamy do lektury! 🙂

    Nadszedł Nelderim Launcher

    Zgodnie z zapowiedzią, udostępniamy wam dzisiaj nową wersję Nelderim Patchera, który razem z niezbędnymi poprawkami otrzymał szereg dodatkowych funkcjonalności, powiew świeżości w postaci najnowszych bibliotek oraz nową nazwę, która powinna zostać z nami już do końca.

    Nelderim Launcher możecie pobrać stąd NelderimLauncher.exe i do jego uruchomienia wymagany jest .NET 6 Runtime

    NelderimLauncher należy umieścić w tym samym folderze w którym aktualnie znajduje się NelderimPatcher, a sam NelderimPatcher możecie usunąć 🙂

    Kod źródłowy pojawi się niedługo na naszym koncie Github, gdy tylko uporamy się z ostatnimi poprawkami.

    Co nowego przynosi ServUO

    Talenty Oswajacza:

    Oswajacz posiada 3 talenty – 1 z nich jest pasywny

    ZAKLINANIE

    Oswajacz zwierząt zwiększa przyrost umiejętności zwierzaka w oparciu o umiejętność Oswajania, Wiedzy o Zwierzętach i poziom Talentu.

    A co to ten trening zwierzaków?

    Po wprowadzeniu patcha Stygian Abyss, profesja oswajacza przeszła dość sporą zmianę. Do czasu ML, byliśmy przyzwyczajeni do oswajania zwierzaka o określonym slocie (1-5) i określonym zakresie statystyk, odporności, umiejętności i ataków specjalnych. Patch SA diametralnie zmienił ten fakt. W oryginalnej wersji tego Talentu (Mastery) znaczna większość oswajalnych stworzeń miała 1-2 sloty i należało je trenować, czyli po prostu wbijać im expa, by zbierały punkty, które możemy później wydać na ulepszenie takiego zwierza. Customizacja jest tutaj ogromna, więc możemy złapać sobie dowolne zwierze nadać im dowolne statystyki, odporności czy ataki zależnie do czego nam jest potrzebny. Raz wytrenowany zwierz nie może być zmieniony. Niestety, wraz z wzmacnianiem zwierzaka, zwiększa się wymagany poziom umiejętności, który potrzebny jest, by to zwierzę kontrolować. Przykład poniżej.

    Wyżynna boura tuż po złapaniu
    W grze znajdziemy opis jak korzystać z rozdawania punktów
    A tak wygląda rozdawanie punktów
    Po około 3 treningach osiągnąłem takie coś

    TRENING BOJOWY

    Oswajacz przygotowuje swojego zwierzaka do walki, dodając mu umiejętności bojowe w oparciu o umiejętność Oswajania Wiedzy o zwierzętach i poziom Talentu.


    Poziom 1 – Wzmocnienie

    Po trafieniu od obrażeń fizycznych zwierzak wchodzi w fazę wzmocnienia, w której zaczyna ładować swoje zwiększone obrażenia i zwiększaa obrażenia zaklęć przez 5 sekund. Podczas tego okresu, zwierzę będzie „przechowywać” wszelkie obrażenia fizyczne. Po zakończeniu okresu wzmocnienia zwierzak wchodzi w fazę uwolnienia na 10 sekund, w której zastosuje zwiększenie obrażeń i premie do obrażeń zaklęć w oparciu o zgromadzone obrażenia.


    Poziom 1 – Jedyny

    Pozwala zwierzakom dzielić obrażenia, gdy znajdują się blisko swojego pana. Wymaga wielu zwierzaków do aktywacji


    Poziom 2 – Berserk

    Gdy twój zwierzak otrzymuje obrażenia, zyskuje wściekłość, która zwiększa jego obrażenia fizyczne i przez 8 sekund zmniejsza wszystkie otrzymywane obrażenia. Podczas wściekłości twój zwierzak nie może się skradać, a wszystkie efekty leczenia są zmniejszone. Po okresie wściekłości następuje 60-sekundowy czas odnowienia, zanim zwierzak ponownie wejdzie w stan wściekłości.


    Poziom 3 – Konsumpcja Obrażeń

    Po trafieniu od obrażeń fizycznych zwierzak wchodzi w fazę absorbcji, w której zaczyna zwiększać swoją szansę na trafienie i regenerację przez okres 5 sekund. Podczas tego okresu absorbowania, zwierzę będzie „przechowywać” wszelkie obrażenia fizyczne. Po zakończeniu okresu „przechowywania obrażeń”, zwierzak wchodzi w fazę uwolnienia na okres 10 sekund, w której wykorzysta swoją szansę na trafienie i premię do regeneracji w oparciu o zgromadzone obrażenia.

    POWIĘKSZONA STAJNIA

    Gdy Talent jest aktywny, oswajacz otrzymuje dodatkowe miejsca w stajni.

    Testy, testy i jeszcze raz testy

    Tym razem na tapetę wzięliśmy kilka aspektów gry. Pierwszym i najważniejszym elementem testów było sprawdzenie wpływu gradacji trudności potworów na ich loot. O autorskim systemie możecie przeczytać we wcześniejszym DevBlogu#4 – TUTAJ.

    Testy odbyły się w Wulkanie nieopodal Ferion. Udało nam się przejść wszystkie 4 poziomy. Nie obyło się bez strat. Wnioski jakie wysnuliśmy z tych testów, to, między innymi: zbyt duża ilość złota, zbyt duża ilość reagentów, odpowiednie nasycenie przedmiotów względem trudności potworów. Podczas testów pojawiło się kilka dość poważnych błędów, takich jak: oswajalne potwory podlegały gradacji siły (co zostanie naprawione w kolejnej wersji systemu), FireBreath od Potężnego Smoka potrafi zabić postać, która nie ma 70 odporności na ogień, a taka która ją posiada, traci 3/4 życia (należy uniezależnić ten atak specjalny od życia potwora).

    Przykładowy loot silnego smoka

    Po wielu zgonach dotraliśmy do bossa, którego udało się zgładzić. Bossy również muszą zostać wyłączone z systemu gradacji.

    No i padliśmy…

    Dodatkowo udało się przetestować nowego zwierzaka – Żuka Mrozu oraz System trenowania zwierząt (opisany powyżej). Przez cały dungeon udało się wbić 40% poziomu. To stanowczo zbyt szybki progres i będzie musiał zostać on delikatnie spowolniony.

    Sam żuk jest bardzo silny. Jego podstawowa wersja miała 800 punktów życia i około 86 odporności na zimno. Więcej o nim TU.

    Podsumowanie

    A więc tak… mamy świetny system gradacji mobów, który pozowli nowej postaci ruszać od razu na dungi, a nie spędzać czas na cmentarzu, czerwonych orkach czy też Świątyni Śmierci.

    Mamy też świetny system ternowania petów.

    I mamy wyczesany Launcher.

    Czegóż to chcieć więcej? No jak to czego… więcej DevBlogów!

    Widzimy się w następnym 😉

  • Nelderim DevBlog #13

    Witamy was po raz trzynasty w naszym blogu, gdzie opisujemy postępy w migracji na nowy silnik, i nie tylko.

    Chyba nareszcie wygrzebaliśmy się z prac około serwerowych i będziemy mogli wrócić do prac nad tym na co wszyscy czekają, no ale bez przedłużania, zapraszamy was do lektury.

    Szereg usprawnień NelderimPatcheraLaunchera

    Zgodnie z zapowiedzią skoncentrowaliśmy nasze siły na usprawnieniu naszego narzędzia, które pozwala w bardzo prosty sposób dostarczać wam aktualizacje klienta.

    Problemami które skłoniły nas do priorytetowego podjęcia działań było niewspieranie połączeń szyfrowanych (HTTPS) oraz niezapamiętywanie adresu serwera z aktualizacjami, co w związku z ostatnimi zmianami na serwerze było dość uciążliwe 🙂

    Przy tak wielkiej okazji, bo NelderimPatcher chyba od początku nie otrzymał żadnej aktualizacji, zdecydowaliśmy się dokonać kilka dodatkowych zmian z myślą o tym co planujemy w przyszłości.

    Chyba najważniejszą kwestia jest to, że NelderimPatcher staje się już teraz zapowiadanym długi czas NelderimLauncherem, jako że docelowo, chcemy żeby zajmował się nie tylko aktualizacjami, ale również zarządzaniem konfiguracją oraz uruchamianiem klienta.

    Dodatkowo nasz plan trochę się zmienił, ponieważ zamiast rozwijać obecny projekt, przepisaliśmy cały kod, podnieśliśmy wersję frameworku do najnowszego .NET 6 oraz zamieniliśmy framework graficzny z WindowsForms na AvaloniaUI, dzięki czemu NelderimLauncher będzie mógł pracować nie tylko na systemie Windows 🙂

    Nowocześniejsza szata graficzna jako efekt uboczny 🙂

    Sam interfejs dużo się nie zmienił, jednakże został on delikatnie uproszczony, okno można teraz rozszerzać, wszystko zostało spolszczone, a dodatkowo okno już nie będzie się zawieszać po kliknięciu „odśwież” 😀

    Oczywiście wymagane poprawki zostały wprowadzone, czyli została dodana obsługa połączeń HTTPS i przy okazji aktualizacja samego klienta HTTP/HTTPS, a także konfiguracja adresu serwera z aktualizacjami będzie „pamiętana” przez NelderimLauncher, a przy okazji mamy możliwość łatwego dodawania dodatkowej konfiguracji w razie potrzeby.

    Ostatnią zmianą którą zapowiadaliśmy i pojawi się w NelderimLauncherze jest funkcja self-update samego NelderimLaunchera, której implementacja okazała się być trochę bardziej skomplikowana niż początkowo myśleliśmy, aktualnie „działa”, ale wymaga jeszcze trochę poprawek oraz dodatkowych testów.

    Oczywiście kod źródłowy NelderimLaunchera zostanie udostępniony na GitHubie, obok naszych innych repozytoriów, jak tylko uporamy się z ostatnimi problemami 🙂

    Tłumaczenia inkantacji Talentów (Skill Masteries)

    Juhuuu! W końcu udało nam się dopiąć sprawy związane z Talentami (Skill Masteries). Tłumaczenia inkantacji Talentów zajęły nam chwilę, ale po kilku dniach przekopywania się przez kod oraz Cliloc.enu, wszystkie słowa zostały przetłumaczone na wersje mniej lub więcej odzwierciedlające oryginalne

    Co nowego przynosi ServUO

    Mistycyzm

    Wraz z nowymi dodatkami pojawiły się nowe umiejętności. Z dodatkiem Stygian Abyss dostaliśmy Mistycyzm. Mistycyzm jest podobny do Nekromancji czy Druidyzmu. Mistyk, aby jego czary były skuteczne, będzie wymagać umiejętności Koncentracja, która będzie działać jak Mądrość z Magią. Mistycyzmu na OSI można nauczyć się od NPC. Niektóre podstawowe czary można zakupić u tego samego NPC.

    Kilka obrazków prezentujące czary i grafiki mistyka

    Więcej o mistycyzmie możecie przeczytać na UOGuide.

    Podsumowanie

    I kolejne dwa tygodnie za nami, małymi kroczkami ale systematycznie dążymy do celu 🙂

    A może wy macie jakieś sugestie jakie funkcje powinniśmy dodać do NelderimLaunchera? Dajcie nam znać na Discordzie.

    Do następnego!

  • Nelderim DevBlog #12

    Witamy was ponownie w okrągłej, dwunastej już części naszego DevBloga.
    Jest to „okrągła” liczba, ponieważ dokładnie pół roku temu rozpoczęliśmy mobilizację w ekipie i skoncentrowaliśmy nasze siły na migracji na nowy silnik.
    A oto co się działo za kulisami ostatnimi czasy…

    Kolejne prace serwerowe

    Ostatnio ogłaszana migracja serwera na system Linux okazała się nawet większym sukcesem niż szacowaliśmy, ponieważ pomimo obniżonych kosztów, okazało się, że serwer pracuje wydajniej pod kontrolą nowego systemu co przekłada się na niższe opóźnienia w rozgrywce oraz skrócone czasy zapisywania świata gry.

    Pomimo tego, że migracja została ogłoszona jako zakończona sukcesem, za kulisami mieliśmy jeszcze sporo pracy, żeby serwer spełniał wszystkie nasze wymagania.

    Pierwszym zadaniem było wprowadzenie certyfikatu oraz szyfrowania połączenia na naszym serwerze WWW.

    Na poprzednim serwerze co prawda również mieliśmy wygenerowany certyfikat dla domeny, ale z powodu problemów konfiguracyjnych ostatecznie zdecydowaliśmy pozostawić naszą stronę jako nieszyfrowaną.

    Na systemie Linux cały proces był praktycznie w pełni zautomatyzowany, nasza strona internetowa jest uznawana za „bezpieczną” już od około tygodnia, a do tego nie zauważyliśmy żadnych problemów tak jak na poprzednim systemie.

    Kolejnym krokiem była instalacja oraz konfiguracja serwerów poczty internetowej, ponieważ bez tego nie byliśmy w stanie wysyłać loginów i haseł dla nowo założonych kont, a tego jednego (nie)szczęśliwca który musiał kilka dni czekać na dane do logowania gorąco przepraszamy 😀

    Oczywiście tutaj dołożyliśmy też wszelkich starań, aby maile wysyłane od nas były szyfrowane, podpisywane i co tam jeszcze tylko było potrzebne, żeby inne serwery nie wrzucały maili od nas bezpośrednio do kubła ze śmieciami 🙂

    Przy okazji tych prac usprawniliśmy dodatkowo sam proces zakładania kont i teraz ekipant do założenia konta potrzebuje jedynie Ultimy Online oraz przeglądarki internetowej, gdzie przed usprawnieniami potrzebne były dodatkowe narzędzia do obsługi bazy danych oraz skrzynki pocztowej.

    Powinno to znacząco skrócić czas oczekiwania na konto, ponieważ na upartego, możemy teraz wykonywać cały proces rejestracji nawet z telefonu 😀

    Niestety nie wszystko poszło tak kolorowo…

    Nadchodzące zmiany w NelderimPatcher

    Zupełnie przypadkiem, przy okazji testów ServUO okazało się, że nasz wspaniały NelderimPatcher nie obsługuje szyfrowanych połączeń i zabezpieczając naszą stronę internetową, zablokowaliśmy możliwość aktualizowania klienta Ultimy Online.

    Tymczasowo udostępniliśmy pliki poprzez połączenie nieszyfrowane, ale docelowo wprowadzimy niezbędną poprawkę do samego NelderimPatchera, a przy okazji tej poprawki, otworzymy sobie furtkę z zupełnie nowymi możliwościami.

    Ową furtką jest wprowadzenie do NelderimPatcher funkcji self-update, dzięki której będziemy mogli w prosty sposób dostarczać wam poprawki oraz nowe funkcjonalności do samego patchera.

    Możliwość wprowadzenia poprawki w prosty sposób w takiej nagłej sytuacji jest nieoceniona, a jako następne w kolejce mamy zadanie, aby NelderimPatcher pamiętał ostatni adres z którego pobierał pliki, żebyście nie musieli za każdym razem podmieniać wpisanego na stałe w NelderimPatcher adresu IP starego serwera 😀

    W związku z zapowiedzią nadchodzącego powolnymi krokami NelderimLaunchera taka możliwość okaże się dodatkowo bardzo pomocna, bo będziemy mogli systematycznie udostępniać wam nowe funkcjonalności, aż pewnego dnia NelderimPatcher przepoczwarzy się w przepięknego NelderimLaunchera, ale to wciąż odległa przyszłość 🙂

    Testy, testy, testy…

    Mieliśmy przyjemność spotkać się w typowym dla naszych testów czterosobowym zespole, gdzie sprawdzaliśmy jak zachowują sie poszczególne AI mobów oraz jak działaja mechaniki nowych bossów.

    Dzięki dodaniu nowych typów sztucznej inteligencji gra staje się dużo bardziej rozbudowana, a przeciwnicy bardziej unikalni. Stwory potrafią posługiwać się takimi magiami jak druidyzm, mistycyzm czy skrytobójstwo. Dodatkowo bossy otrzymały nowe umiejętności oraz nowe animacje jak na przykład ognisty deszcz Stygian Dragona.

    Ściana ognia po lewej stronie to podpalenie po ognistym deszczu

    Co nowego przynosi ServUO

    Z nadejściem nowego silnika, zmieni sie system kopania skarbów. Co ciekawe zmieni się również rozkład umiejętności dla postaci poszukiwacza skarbów.

    Mapy skarbów

    Otrzymujemy na ServUO 5 poziomów skarbów: Stash, Supply, Cache, Hoard oraz Trove (system nie otrzymał jeszcze tłumaczeń). Ciekawym zastosowaniem zostało pominięcie górnictwa jako umiejętności wspomagającej szukanie skarbów, które zostało zastąpione kartografią. Przewiduje ona cztery progi, przy których zmienia sie zakres błedu liczony w kratkach od skarbu podczas kopania:
    0% – 1 kratka
    51% – 2 kratki
    81% – 3 kratki
    100% – 4 kratki
    W grze pojawią się również okulary kartografa, które dodają 5% kartografii, a ten bonus wlicza sie do promienia poszukiwań, w przeciwieństwie do talizmanów, które nie wliczają się w zakres błędu kopania.

    Zmianie ulega również system strażników skrzyni skarbu. Każda skrzynia posiada czas na otwarcie jej aby uniknąć konfrontacji z kolejnymi falami strażników – od pierwszego poziomu w górę 20>60>180>420>540 sekund. Wybuch pułapki, która nie została rozbrojona skutkować będzie pojawieniem się kolejnych strażników. Do gry wprowadzono również nowego stworka, który będzie próbował podwędzić przedmioty ze skrzynki i z nimi uciec. Poznajcie Grubbera!

    Więcej informacji o skrzyniach skarbów znajdziecie TUTAJ

    Podsumowanie

    Od 6 miesięcy, skurpulatnie dokumentujemy nasze pracę, aby co drugi piątek(z jednym malutkim potknięciem ;)) móc podzielić się z wami postępami.

    Postęp jaki udało nam się zrobić przez ten czas robi wrażenie, pomimo wielu przeszkód po drodze i niedoboru czasu.

    Kto wie co nas czeka za kolejne 6 miesięcy, może moment migracji będzie wtedy tuż za rogiem?

    Do następnego!

  • Nelderim DevBlog #11

    Czasem należy zrobić krok w tył, żeby móc zrobić dwa kroki do przodu i właśnie pod takim hasłem stoi dzisiejsza część DevBloga. Gorąco zapraszamy do lektury o kolejnych dwóch tygodniach postępów w pracy nad migracją na nowy silnik 🙂

    Krok w tył na mapie

    Mieliśmy już nie pisać o kliencie, bo ostatnio ogłosiliśmy że był gotowy, ale jak się okazało, nie wszystko poszło zgodnie z planem.

    Chcieliśmy rozpocząć nareszcie prace na mapie, bo szykują się pewne zmiany w związku z przesiadką na nowy silnik i zauważyliśmy, że Orod nie jest w najlepszym stanie.

    Krótko mówiąc wygladało to jakby przeszło tam tornado, ponieważ miejscami obiekty były nie tam gdzie być powinny.

    Początkowo myśleliśmy, że problem dotyczył tylko Orod i że pewnie w którymś momencie jeden z budowniczych „coś źle kliknął” i fragment mapy uległ uszkodzeniu, bo już zdarzały się takie sytuacje.

    W Orod niektóre obiekty były wyżej albo niżej niż powinny

    Z ciekawości sprawdziliśmy czy na pewno tylko Orod zostało uszkodzone i niestety okazało się, że na całej mapie roi się od błędów i że nie jesteśmy w stanie ręcznie wszystkiego poprawić.

    W śnieżnej przystani niektóre obiekty miały zmienione itemID
    W jednym z podziemi niektóre obiekty miały niepoprawne hue lub niepoprawne itemID

    Podjęliśmy decyzję, żeby przygotować mapę na nowym kliencie od nowa, ponieważ wiemy że aktualna mapa nie jest uszkodzona, a dodatkowo po każdym kroku sprawdzaliśmy czy wszystko jest w porządku.

    Na szczęście wszystkie zmiany w plikach mieliśmy skrzętnie udokumentowane i przygotowanie mapy po raz drugi trwało duuużo krócej.

    Nie musieliśmy też długo czekać, aby znaleźć co psuło mapę, bo było to narzędzie do kopiowania fragmentów mapy, którego używaliśmy jako pierwsze do rozszerzenia mapy i przekopiowania dungeonów z innej mapy na mapę główną.

    Szybkie rozeznanie i okazało się, że istnieje nowsza wersja owego narzędzia, która nie niszczy mapy, działa zdecydowanie szybciej, a dodatkowo naprawia kilka innych problemów, które do tej pory naprawialiśmy innym narzędziem.

    Powiększyliśmy mapę, skopiowaliśmy dungeony(tym razem zrobiliśmy to nawet lepiej, bo po ostatnim kopiowaniu jeden dungeon nie był skopiowany poprawnie, podmieniliśmy grafiki, podmieniliśmy kolory, sprawdziliśmy, że wszystko tym razem jest w porządku.

    I teraz już możemy robić „dwa kroki do przodu”, ale o tym innym razem 😉

    Przesiadka na Linuxa

    Dwa tygodniu temu pisaliśmy, że chcemy się przesiąść na inny system operacyjny, a dzisiaj możemy ogłosić, że jesteśmy już bardzo blisko 🙂

    Poprzedniego DevBloga zakończyliśmy działającym serwerem RunUO na wirtualnej maszynie, natomiast zaraz po tym wystawiliśmy serwer na testowej fizycznej maszynie i rozpoczęliśmy testy dla członków ekipy.

    Nie znaleźliśmy żadnych nieprawidłowości i otworzyliśmy testowy serwer dla kilku ochotników, którym jeszcze raz chcemy gorąco podziękować za poświęcony czas.

    Nasi dzielni ochotnicy znaleźli aż jeden błąd w konfiguracji, którego czas naprawy można było liczyć w sekundach 😀

    Zakończyliśmy zamknięte beta testy i przystąpiliśmy do kolejnego etapu, jakim jest przygotowanie się na przeniesienie całej reszty oprogramowania, bo na maszynie działa znacznie więcej niż tylko serwer UO.

    Na testowym serwerze przygotowaliśmy scenariusze na migracje serwera WWW, bazy danych, serwera plików, serwera poczty, naszych narzędzi służących do prac między innymi nad mapą oraz wszelakich certyfikatów, żeby była „kłódka w przeglądarce”, a maile nie trafiały do spamu.

    Teraz coś czego jeszcze nie było w blogu, bo opiszemy wam krótki plan migracji na Linuxa, który dopiero się wydarzy 😀

    W sobotę przygotujemy docelowy serwer, zainstalujemy niezbędne oprogramowanie, przeniesiemy nasze WWW, bazę danych oraz upewnimy się że wszystko działa jak należy.

    W niedzielę o godzinie 20:00 odbędą się stres testy, na które chcemy żeby zalogowali wszyscy, którzy mają taką możliwość, natomiast zaraz przed testami wyłączymy obecny serwer i przekopiujemy aktualny sejw.

    Jeżeli wszystko pójdzie zgodnie z planem, serwer zostanie tak jak będzie stał i będziecie mogli po prostu wrócić do normalnej rozgrywki 😀

    Jeżeli coś pójdzie nie tak, to mamy jeszcze dwa tygodnie na ewentualne poprawki do czasu ostatecznego zabicia aktualnej maszyny.

    Trzymajcie mocno kciuki i mamy nadzieję, że widzimy się w licznym gronie na testach w niedziele o godzinie 20:00!

    Co nowego przynosi ServUO

    Wraz z nadejściem upragnionego ServUO, w konkretnie patcha Stygian Abyss, otrzymujemy kolejny typ golema, jaki możemy stworzyć za pomocą umiejętności Majsterkowanie. Tym nowym typem istoty kontrolowanej jest Vollem.

    Na OSI, aby stworzyć takiego Vollema, należy uprzednio ukończyć quest. Dodatkowo, należy mieć przy sobie odpowiednie materiały:

    Vollem, tuż po pojawieniu się, zajmuje 2 sloty. Może on zostać wytrenowany za pomocą Talentu (Mastery) Oswajacza – dzięki temu można nadać mu skille oraz zwiększyć statystyki, kosztem slotów.

    Vollem może być leczony za pomocą umiejętności Majsterkowanie z wykorzystaniem sztab żelaza – tak jak inne golemy.

    Jak wytresować smoka (i pająka), żeby dał się dosiadać?

    Po pierwszym roku prowadzenia Nelderim, dostaliśmy propozycję odnośnie dużych, 5-slotowych zwierzątkach, które można dosiadać. Dodatkowo, gracze chcieli, by można dosiadać młode smoki. Od jakiegoś czasu staramy się zrealizować te propozycje.

    Dodaliśmy już 2 nowe zwierzaki – smocze pisklę oraz ogromnego pająka.

    Podsumowanie

    Migracja na nowy silnik to strasznie dużo pracy, trzeba być czujnym na każdym kroku i sprawdzać wszystko dwa razy, żeby później nie okazało się że nasza praca pójdzie do kosza. W związku z pracami nad nowym serwerem awarii uległa nasza strona WWW i nie byliśmy w stanie opublikować tej części DevBloga na czas, ale dołożymy dodatkowych starań, żeby następna odsłona pojawiła się w piątek tak jak wszystko inne 🙂

    Do następnego!

  • Nelderim DevBlog #10

    Dziesięć to taka ładna okrągła liczba. Dziesiąty DevBlog oznacza, że mamy dla was sporą porcję informacji. W tym DevBlogu omówimy co dalej robiliśmy z systemem gainów, zmianie środowiska, w którym stał będzie serwer, co nowego na ServUO oraz trochę o tłumaczeniach. Finalnie, dowiecie się też jak zostać naszym Patronem. 🙂

    Miłej lektury!

    Kontynuacja prac nad systemem gainów

    Mineło 5 DevBlogów ( nowa jednostka czasu 🙂 ) odkąd ostatnio pisaliśmy o postępach w systemie gainów i nareszcie udało nam się wrócić do tego tematu.

    Dla przypomnienia: piszemy funkcję, która obliczy dla nas przybliżony czas jaki będzie potrzebny, aby wytrenować konkretną umiejętność na żądany poziom i na podstawie uzyskanych wyników będziemy modyfikować współczynniki systemu gainów, aby dostosować trening postaci pod naszą wizję serwera.

    Umiejętności w grze jest dokładnie 58, dwie umiejętności trenują się same, dwie są nieużywane, a dla każdej z pozostałych indywidualnie wyznaczamy w jaki sposób liczyć estymatę czasu treningowego.

    I tak oto od ostatniego devbloga udało nam się wykreślić z listy do zrobienia, wszystkie umiejętności z wyjątkiem umiejętności stricte bojowych (walka mieczami, parowanie, walka wrecz, itp.)

    Kontynuowaliśmy prace zaczynając od umiejętności magicznych, ponieważ była to grupa umiejętności, które można było teoretycznie rozwiązać jednym kodem, a w praktyce okazało się, że jednak są to dwie grupy magicznych umiejętności(czary oraz „ruchy specjalne”), które należało traktować delikatnie inaczej.

    Była to zarazem grupa umiejętności najbardziej rozbudowana, ponieważ należało brać pod uwagę, którym czarem najlepiej trenować oraz regenerację many z uwzględnieniem wszystkich zmiennych jak inteligencja, medytacja, przemiany, magiczne właściwości oraz aktywna medytacja.

    Była to też pierwsza grupa, w której pierwsze estymaty odbiegały znacząco od realnych wyników i musieliśmy się naszukać i trochę pogłówkować zanim znaleźliśmy jak należy poprawić formułę.

    Ostatecznie udało nam się otrzymać wyniki różniące się o zaledwie dwie minuty od czasu prawdziwego treningu o czasie dwóch godzin!

    Czas trenowania umiejętności na pewno ulegnie zmianie 🙂

    Po umiejętnościach magicznych, wzięliśmy na celownik wszystkie umiejętności których nie dało się w żaden sposób pogrupować i dla każdej z osobna wyznaczyliśmy mniej, lub bardziej celne współczynniki dla estymat.

    I zabrakło nam już bardzo niewiele, bo mniej niż 10 umiejętności, które należy dodać do funkcji, następnie porządnie wszystko przetestować, a dopiero po tym wszystkim szaleńczo kręcić pokrętłami w systemie gainów, aż do uzyskania zadowalających wyników, ale o tym może następnym razem 😉

    Bardziej dociekliwi mogą zapoznać się z kodem źródłowym, może znajdą jakieś błędy albo będą mieć sugestie jak możemy coś poprawić 🙂

    Porzucamy okna na rzecz pingwina

    Teraz będzie troszeczkę mniej o ServUO, a do tego poruszymy temat o którym w zasadzie już kiedyś mówiliśmy, ale pojawiła się nowa, piękna wizja i bez zastanawiania wzięliśmy się potwierdzanie pewnej hipotezy.

    Niektórzy pewnie już wiedzą po nagłówku o co chodzi, ale żeby było jasne, postanowiliśmy spróbować przenieść obecny serwer z systemu Windows na Linux, a główną zaletą przesiadki jest to, że licencja na system Windows Server jest droższa od samego sprzętu, a Linux jest darmowy 🙂

    RunUO od zawsze kojarzyło się bardziej z systemem Windows ze względu na platformę .NET i nawet nie rozważaliśmy nic innego na początku Nelderim, jednakże w wielu miejscach można było się natrafić na wzmianki o Linuksowym zamienniku dla .NET o nazwie MONO.

    Wiemy że ServUO będzie od samego początku stało na systemie Linux, jako że w bardzo niedalekiej przyszłości ma posiadać oficjalne wsparcie dla systemów Linux oraz MacOS dzięki .NET w wersji 5, a serwer testowy już teraz jest Linuksowym polem doświadczalnym dla ekipy 🙂

    Pojawił się szalony pomysł próby przeniesienia obecnego serwera na system Linux i platformę MONO i nic nie stało na przeszkodzie, aby chociaż spróbować.

    Oprócz niższych kosztów są też dodatkowe zalety, takie jak to, że już teraz ekipa by się mogła szkolić w obsłudze Linuxa, a dodatkowo jak wykonamy migrację na nowy system już teraz, to będziemy mieć dużo mniej roboty w okresie końca migracji samego silnika 🙂

    Pierwsza próba została przerwana niekompilującym się serwerem, szybkie poprawki i jedziemy dalej.

    Kolejną przeszkodą były niekompilujące się niektóre skrypty oraz błędy w samym projekcie, które również w miarę sprawnie udało nam się załatać.

    I gdy już wszystko się kompilowało i serwer dawał znaki, że udało mu się wystartować napotkaliśmy bardzo nieprzyjemny problem w postaci zawieszającego się serwera oraz klienta w momencie wyboru shardu.

    Problem był na tyle uciążliwy, że nie objawiał się żadnym komunikatem, oba procesy najzwyczajniej zawieszały się, a dodatkowo za nic w świecie nie mogliśmy połączyć się narzędziami diagnostycznymi do serwera, ponieważ nie wszystko jest odpowiednio wspierane przez platformę MONO.

    Nakombinowaliśmy się okropnie, żeby tylko uzyskać jakąkolwiek informację co jest nie tak, próbowaliśmy na wiele sposobów w przeciągu kilku dni i jedyne co udało nam się ustalić, to że klient wysyła pewien komunikat, który ginie gdzieś po drodze do serwera i dlatego oba procesy się zawieszają.

    Nie udało nam się jednak definitywnie namierzyć dlaczego serwer nie może odebrać komunikatu i po wielu próbach wpadliśmy na pomysł, że jest szansa, że już to ktoś kiedyś rozwiązał i był to strzał w dziesiątke 🙂

    Przeszukaliśmy projekt ServUO, ale kod sieciowy zbyt mocno się różnił, aby wywnioskować jak należy przygotować poprawkę i na ratunek przybył nam kod oryginalnego RunUO, który mimo wszystko jest bardziej aktualny od kodu bazowego Nelderim.

    Kod sieciowy RunUO okazał się również dość mocno zmodyfikowany, ale dużo bardziej przypominał to co mamy na Nelderim i była szansa że znajdziemy tutaj rozwiązanie naszego problemu.

    Zamiast namierzać dokładnie co należy naprawić, zastąpiliśmy jeden do jednego wadliwą część kodu sieciowego kodem z RunUO i jak rękął odjął wszystko zaczęło działać.

    I tak oto pojawiło się światełko nadziei, że już niedługo nasze portfele będą szczęśliwsze, jednak jeszcze dużo pracy i przede wszystkim testów, żeby upewnić się że stabilność serwera będzie na takim samym poziomie po zmianie systemu.

    Co nowego na ServUO

    Wraz z ServUO otrzymujemy nowego bossa z ciekawą mechaniką.

    Corgul uderza mocno zarówno w walce wręcz, jak i zaklęciami. Corgul ma aurę życia, która spowoduje, że opcje/umiejętności przedmiotów wysysających życie (np. Vampiric Embrace) będą działały w odwrotny sposób. Gracze odczują spadek życia zamiast oczekiwanego efektu leczenia. Wysysanie many i wytrzymałości działają normalnie.

    Corgul jest podatny na Pogromcę Humanoidów (Repond Slayer), ale jest także Nekromantą, więc uważaj na Przysięgę Krwii (Blood Oath).

    Corgul ożywi martwego (Animate Dead), więc trzymaj go z dala od ciał. Uważaj, walcząc jednocześnie z Corgulem i dodatkowymi grupami przywołańców, ponieważ te dodatkowe grupy mogą się odradzać w pobliżu Corgula. Jeśli będziesz nieostrożny, możesz znaleźć się po środku potyczki z armią nieumarłych i Corgulem.

    Weź mi to przetłumacz…

    Od dłuższego czasu pracujemy nad Masterkami. Nadszedł czas, by nadać im trochę polskiego akcentu. Oto propozycje tłumaczeń, które przygotowaliśmy do tej pory:

    Primer przetłumaczony jako Księga Umiejętności Specjalnej
    Mastery przetłumaczone zostało jako Talent

    Jako, że mamy nowy silnik, nowe patche, oznacza to też, że mamy dużo nowych przedmiotów, dla których należy znaleźć nową nazwę. Oto przykłady nowych przedmiotów w menu kucharza

    Zostań naszym Patronem

    Po pewnych perturbacjach ze stronami, które pozwalają na postanie patronem projektu Nelderim, w końcu udało nam się znaleźć idealne miejsce w sieci dla nas. Jest nim Patreon. Założyliśmy tam profil, który będzie pozwalał wam wspierać naszą pracę niewielką sumą w modelu subskrybcji, gdzie płatność odbywa się co miesiąc. Dostępne są 3 plany, które pozwolą wam między innymi odznaczenie się wśród tłumu na Discord jako nasz Patron, a także wcześniejszy wgląd w planowane zmiany przed ich wprowadzeniem.

    Więcej dowiecie się tutaj: Patreon Nelderimu

    Podsumowanie

    Zbierając to wszystko do przysłowiowej kupy: czas naszego ukochanego koxu z pewnością zmieni się. Ponadto, porzucamy Windowsa na rzecz Linuxa. Mamy nowego bossa w naszej palecie PvM, a co za tym idzie, nową mechanikę, którą można potencjalnie wykorzystać w innych bossach. Przy nowych systemach pojawia się dość spora ilość tłumaczeń. Od teraz możecie zostać Patronami Nelderim 🙂

    I to by było na tyle w 10-ej odsłonie DevBloga. Mamy nadzieję, że w kolejnej porcji nowości i zmian będziemy mogli zaserwować wam równie pokaźną ilość smaczków.

  • Nelderim DevBlog #9

    W tym tygodniu DevBlog jest raczej skromny, ale udało nam się odnieść znaczący sukces, tak więc możecie otwierać małego szampana 🙂

    Finał wstępnych prac nad klientem

    Nareszcie udało nam się zamknąć jedną z większych kwestii wymaganych do migracji, jaką było przeniesienie wszystkich naszych modyfikacji w kliencie Ultimy Online.

    W ciągu ostatnich dwóch tygodni przenieśliśmy zmiany znajdujące się w gumpach, czyli w interfejsie graficznym oraz w tiledata, czyli w informacjach uzupełniających grafiki o atrybuty mówiące na przykład czy postacie mogą przechodzić przez daną grafikę, albo czy daną grafikę można ekwipować.

    Dzięki gotowemu klientowi:

    • możemy dokładnie testować, czy wszystko działa i wyświetla tak jak należy,
    • mamy udokumentowane wszystkie modyfikacje, przez co możemy nakładać zmiany z nowszych wersji klienta i nareszcie dokładnie wiemy co wam udostępniamy 🙂
    • możemy skupić się teraz bardziej na pracach nad serwerem,
    • możemy dodawać do klienta nowe modyfikacje w postaci grafik, dźwięków i innych, gdzie pierwsze efekty tego były widoczne w poprzedniej części bloga w postaci kolorowych świateł, a kolejne nowości będziemy wrzucać na bieżąco, zaczynając od teraz 🙂

    Graficzny upgrade

    Jako, że Ultima Online ma już swoje lata, niektórzy mawiają, że jej interfejs, grafika, są trochę przestarzały. Prawda? Możliwe. Dlatego zdecydowaliśmy się wykorzystać dostępne w internecie zasoby, w celu nadania naszej ulubionej grze trochę świeżości. To jeden z kilku graficznych upgrade’ów jakie planujemy. Na screenach poniżej możecie zobaczyć jakie grafiki zostały zmienione

    Grafiki terenu również otrzymały mały powiew świeżości. Zostały one bowiem podmienione na grafiki, które są bardziej wygładzone i wyglądają trochę bardziej nowocześnie.

    Rozważamy również dać wam możliwość zdecydowania indywidualnie czy chcecie używać nowych grafik, czy przywrócić oryginalne wersje, jeżeli na przykład jesteście zbyt bardzo przywiązani do starego wyglądu, albo nowe grafiki po prostu wam się nie podobają 🙂

    Co nowego w ServUO

    Nowe zwierzaki

    Nowe tamowalne stworki

    Wraz z pojawieniem się nowych dodatków (Stygian Abyss, High Seas, Times of Legends), pojawiły się też stwory do oswojenia, a co za tym idzie, również nowe grafiki. Część z tych stworów, to zwierzęta dla Oswajacza, ale nie tylko. Przykładem jest żelazny żuk, który, UWAGA, UWAGA!, jest petem dla górnika… Tak! Górnika. Kopie on bowiem rudę bez naszego udziału.

    Umiejętności, ataki specjalne… to wszystko jest nieistotne, ponieważ pojawiający się w patchu Stygian Abyss system masterek, który opisywaliśmy w poprzednich DevBlogach, diametralnie zmienia użyteczność i dobór zwierząt przez oswajacza. System ten pozwala na personalizowanie zwierzaczków, lecz o tym, w następnych DevBlogach 😉

    Podsumowanie

    I to już koniec wieści z frontu, a przynajmniej koniec wieści, którymi możemy się z wami podzielić na ten moment, bo niektóre tematy nie są jeszcze gotowe „do pokazania”, a część chcemy zachować w tajemnicy aż do momentu migracji 🙂

    Jak zawsze, dajcie znać co sądzicie o nadchodzących zmianach.

    Do następnego!

  • Nelderim DevBlog #8

    Minęły już cztery miesiące odkąd rozpoczęliśmy pracę nad pierwszą częścią bloga i przynosimy wam kolejną porcje rezultatów naszej pracy nad przenosinami świata Nelderim na nowy silnik 🙂

    Przygotowywanie nowego klienta – cześć 3/4

    Trzeci raz rozpoczynamy bloga informacjami o nowym kliencie i jesteśmy prawie pewni, że nasza batalia przenoszenia wszystkich obecnych modyfikacji powoli dobiega końca.

    Tym razem na celownik trafiły grafiki które możecie podziwiać w świecie Nelderim. W naszym zbiorze można było znaleźć przeróżne pomniki, kolumny, ołtarze, dzbany, głazy, figurki, meble, nowe grafiki przedmiotów oraz wiele innych.

    Rozpoczęliśmy od stworzenia listy co należy przenieść i z pomocą przyszło nam gotowe narzędzie do porównywania grafik między klientami Ultimy Online.

    Narzędzie to samo w sobie tylko pokazywało różnice, a do tego nie dawało w pełni poprawnych wyników, ale wprowadzając kilka poprawek i modyfikacji uzyskaliśmy listę 913 różnic w grafikach między aktualnym klientem, a „czystym” nowym klientem.

    Następnym krokiem była przypisanie grafiki do jednej z trzech grup:

    1. Nasza grafika i miejsce w nowym kliencie jest wolne
    2. Nasza grafika i potrzebuje nowego miejsca
    3. Modyfikowana oryginalna grafika – ten przypadek ignorujemy, bo oficjalne poprawki się przydadzą 🙂

    W pierwszej i drugiej grupie zostało łącznie 385 pozycji, a przenosząc grafiki z pierwszej grupy bez żadnej modyfikacji zostały nam 63 grafiki, które potrzebowały dodatkowej pracy.

    Dla każdej z pozostałych grafik trzeba było ręcznie wyszukać wolne miejsce pliku, a następnie podmienić wszystkie wystąpienia danej grafiki na mapie.

    Tutaj z pomocą przyszedł nasz program do podmiany kolorów na mapie, który po drobnej modyfikacji, poprawił grafikę dla 1020 obiektów.

    I gotowe, mając gotową tą część klienta, otworzyło to możliwość wprowadzania nowości…

    Chodź pomaluj mój świat…

    .. na wiele różnych kolorów!

    Dawno temu, natknęliśmy się na forum ServUO na gotową paczkę umożliwiającą tworzenie kolorowych świateł i od razu wiedzieliśmy że chcemy to mieć.

    Nadszedł ten dzień, kiedy nareszcie mogliśmy dokonać wymaganej modyfikacji w kliencie, wrzucić gotowy skrypt na serwer i tak oto, razem z przejściem na nowy silnik, świat Nelderim będzie mógł czarować graczy nowymi kolorowymi światłami.

    Powinno to pozwolić nam tworzyć lepsze wrażenia w podziemiach, a wam da więcej możliwości dekorowania budynków.

    Mamy nadzieję, że jesteście gotowi odblokować poziomy światła w kliencie 😉

    Zostań naszym Patronem

    Od czasu do czasu pojawiają się pytania od was czy i jak możecie wesprzeć finansowo serwer.

    Nie ukrywamy, że utrzymanie serwera oraz domeny kosztuje swoje i jesteśmy bardzo wdzięczni tym którzy do tej pory odciążyli chociaż trochę nasze portfele 🙂

    Żeby ułatwić proces dobrze wszystkim znanego „donate”, nareszcie udało nam się poczynić odpowiednie kroki i już niedługo będą dostępne dwie metody wsparcia serwera.

    Pierwszą metodą będzie możliwość zostania naszym Patronem w serwisie Patronite, gdzie będziecie mogli wspierać nas ustaloną kwotą, każdego miesiąca.

    Drugą metodą, będzie możliwość wpłaty jednorazowej darowizny poprzez serwis PayPal.

    Jesteśmy w trakcie dopinania ostatnich szczegółów z oboma serwisami i jak tylko wszystko będzie gotowe, pojawi się wpis ze wszystkimi istotnymi informacjami 🙂

    I na koniec chcemy podkreślić, że gra na Nelderim była i zawsze będzie darmowa, ewentualne darowizny są dobrowolne, a pay2win mówimy stanowcze nie.

    Co nowego przynosi ServUO

    Kolejna porcja masterek została przetestowana. Tym razem pod lupę wzięliśmy masterki bojowe, takie jak: Walka mieczami, Szermierka, Walka obuchami, Łucznictwo, Rzucanie i Walka Pięściami. Jeśli jeszcze nie wiecie czym są masterki, to zapraszamy do zerknięcia na DevBlog#4, gdzie po krótce jw omówiliśmy.

    Masterki Łucznictwa:

    Flaming Shot

    Łucznik wystrzeliwuje salwę płonących strzał w cel lub lokalizację. Po udanym trafieniu obrażenia od ognia w oparciu o poziom mistrzostwa są zadawane wielu celom w promieniu w oparciu o umiejętność łucznictwa i taktyki.

    Playing the Odds

    Członkowie drużyny łucznika zbierają się, by otrzymać zwiększoną szybkość ataku (SSI) i szansę na trafienie (HCI), gdy zasięg łucznika jest zmniejszony, mają szansę na zastosowanie osłabienia obrony (HLD) na celach w ciągu 5 pól od rzucenia. Wzmocnienie członków drużyny jest oparte na umiejętnościach łuczniczych i taktycznych łucznika wraz z poziomem mistrzostwa (Tier).

    Masterki Szermierki:

    Thrust

    Zdolność zapewnia zwiększone obrażenia od ataku fizycznego i zmniejsza obrażenia od ataku fizycznego celu w oparciu o poziom mistrzostwa (Tier) do szermierza, jednocześnie zużywając manę, gdy jest aktywna. Ta zdolność nie nakłada się ze specjalnym ruchem Feint (Skrytobójstwo). Obrażenia w PvP są ograniczone do 35.

    Pierce

    Szermierz wykonuje przeszywający atak na swoim przeciwniku, powodując osłabienie wytrzymałości i jej drenaż na ofierze w zależności od umiejętności szermierki i taktyki i poziomu mistrzostwa szermierza (Tier)

    Masterki Walki Obuchami:

    Stagger

    Wojownik wykonuje oszałamiający atak na swoim przeciwniku, powodując osłabienie prędkości ataku (SSI) i ogromne obrażenia ofierze w zależności od poziomu mistrzostwa (Tier).

    Toughness

    To zdolność, która zapewnia wojownikowi osiągnąć zwiększone punkty wytrzymałości w oparciu o taktykę i umiejętności walki obuchami oraz poziom mistrzostwa (Tier). Uwaga Toughness zużywa manę, gdy jest aktywny.

    Masterki Walki Mieczami:

    Onslaught

    Wojownik wykonuje serię ataków na przeciwnika, zmniejszając jedną z odporności ofiary (Resist) w oparciu o umiejętności walki mieczami i taktyki wojownika oraz rodzaj obrażeń używanej broni przez jakiś czas w zależności od poziomu mistrzostwa (Tier).

    Focused Eye

    To zdolność, która zapewnia zwiększenie szansy na trafienie (HCI), ale to wzmocnienie zależy od umiejętności walki mieczami i taktykę oraz poziom mistrzostwa (Tier). Umiejętność ta zużywa manę, gdy jest aktywna.

    Masterki Rzucania:

    Elemental Fury

    Po aktywacji osoba korzystająca z tej umiejętności wygeneruje pulę furii w zależności od rodzaju obrażeń broni. Każdy udany atak, który zada rzucający, doda furii do puli. Gdy pula się zapełni, rzucający uwolni Furię Żywiołów. Czas trwania i wielkość puli furii zależą od poziomu mistrzostwa rzucającego (Tier), umiejętności rzucania i taktyki. Obrażenia w PvP są ograniczone do 35.

    Called Shot

    Rzucający wykonuje wywołany strzał, który zapewnia zwiększenie szansy na trafienie (HCI) i zwiększenie obrażeń (DI) w zależności od umiejętności rzucania i taktyki oraz poziomu mistrzostwa (Tier). Obrażenia są ograniczone w PvP do 100 obrażeń przed odpornością (Resist).

    Masterki Pieściarza:

    Knockout (pasywny)

    Gdy mistrzostwo pięściarza jest aktywne, otrzymuje on premię do obrażeń do każdego trafienia w zależności od poziomu mistrzostwa (Tier).

    Rampage

    Pięściarz próbuje nieustannie uderzać przeciwnika, przy czym po każdym udanym uderzeniu atakujący otrzymuje premię do regeneracji punktów życia (HPReg), regeneracji wytrzymałości (StamReg), skupienia się na rzucaniu (Casting Focus) i zwiększenia prędkości ataku (SSI) w oparciu o umiejętności Walki Pięściami, Mądrość lub umiejętności anatomicznych i poziom mistrzostwa (Tier). Efekt zostaje utracony, jeśli pięściarz chybi, jego przeciwnik sparuje atak lub nie rzuci zaklęcia.

    Fists of Fury

    Pięściarz próbuje szybko zadać trzy ciosy kolejnemu celowi, który zada mu obrażenia w promieniu 2 pól. Jeśli atak się powiedzie, trzecie uderzenie zada bezpośrednie obrażenia w oparciu o poziom mistrzostwa (Tier) pięściarza. Czas trwania tej umiejętności zależy od umiejętności Walki Pięściami i umiejętności Anatomii lub Mądrości.

    Wszystkie wymienione masterki widoczne są w pasku buffów.

    Musimy jednak pamiętać, że masterki posiadają duże opóźnienie między użyciem umiejętności, ponieważ niektóre z nich są rzucane jak czary. Posiadają inkantacje lub emotki.

    Przykładowe użycie masterki (emotka jeszcze nie jest przetłumaczona)
    Delay użycia tego samego czaru z masterek
    Przykładowe masterki bojowe i ich tiery

    *Wszelkie nazwy zostały podane po angielsku, jako, że obecnie jesteśmy w trakcie tłumaczenia całego systemu. Jeśli macie sugestie co do nazw jakie można nadać poszczególnym masterkom, to zapraszamy do podania swoich pomysłów na kanale #sugestie na Discord 🙂

    Podsumowanie

    I to by było na tyle. Z każdym kolejnym wpisem na blogu jesteśmy coraz bliżej upragnionego celu. Mamy też nadzieję, że jeszcze nie wymęczyły was opisy o przygotowaniach klienta, bo widzimy już linię mety i potrzeba jeszcze tylko trochę, żeby dokończyć ten temat i wziąć na celownik nowe tematy. Kto wie, może wydarzy się to już za dwa tygodnie? 🙂

    Do następnego!

  • Nelderim DevBlog #7

    To już siódmy wpis na naszym blogu, i pomimo tego że te dwa tygodnie były pomiędzy wielkanocą, a majówką, to my dołożyliśmy wszelkich starań, żeby dotrzymać obietnicy i żeby pojawiła się kolejna cześć bloga. Nie przedłużając, tym razem skromnie, ale mamy nadzieję, że nie będziecie zawiedzeni 🙂

    Nowy klient płata figle

    Dwa tygodnie temu pochwaliliśmy się sukcesem w temacie nowego klienta i jakiś czas po opublikowaniu poprzedniej części bloga odkryliśmy, że jednak nie wszystko poszło zgodnie z planem.

    Po dokładnej analizie okazało się, że daliśmy się złapać w dość oklepaną pułapkę informatyczna zwaną „1 based indexing„.

    Problem ów polegał na tym, że najpopularniejsze narzędzie do edycji plików Ultimy Online UOFiddler wyświetla kolory zaczynając od indeksu 0, a w plikach gry, przypisane kolory zaczynają się od indeksu 1 ( bo kolor o indeksie 0 oznacza brak koloru, i przedmiot posiada oryginalne kolory grafiki)

    Wszystko na pierwszy rzut oka wyglądało poprawnie, ale około 30 kolorów wyświetlało się błędnie i nie mogliśmy sobie pozwolić na taką pomyłkę oraz na związaną z tym dodatkową pracę nad poprawianiem mapy 🙂

    Góra: poprawne kolory, Dół: kolory nowe, niepoprawne

    Ktoś by pomyślał, ze nic się nie stało, uruchomić poprawiony proces jeszcze raz na oryginalnej mapie i po problemie, ale jako że nie marnujemy czasu, to zdążyliśmy wpuścić budowniczych na mapę i zostały już naniesione zmiany.

    Z szacunku dla pracy naszych budowniczych, ustaliliśmy że odwracamy proces, żeby osiągnąć stan mapy ze starymi kolorami, ale ze zmianami wprowadzonymi przez budowniczych, a następnie uruchomimy ponownie poprawiony proces i jesteśmy w domu.

    Napotkało nas przysłowiowe szczęście w nieszczęściu, ponieważ odwrócony proces uświadomił nam, że nasze początkowe rozłożenie kolorów w wolne miejsca zostało wykonane niepoprawnie, i dla 62 przypadków, w wolne miejsce próbowaliśmy przypisać dwa kolory.

    Problem był na tyle skomplikowany, że wymyślanie jak to wszystko teraz naprawić trwało trochę dłużej i nawet na poważnie zaczęliśmy traktować opcję poświęcenia pracy budowniczych i nałożenie zmian od nowa 😐

    Na całe szczęście udało się przy pomocy oryginalnej mapy namierzyć które przedmioty powinny mieć zagubione kolory i ostatecznie (chyba) wszystko udało się doprowadzić do stanu taki jaki powinien być.

    Nowy, mocno przekombinowany proces zgłosił podmianę koloru dla 331765 obiektów, natomiast dla 3129 obiektów został przywrócony zagubiony kolor 🙂

    Bierzemy również pod uwagę, że po tych wszystkich procesach, podmianach i kombinowaniach, mogły się pojawić jakieś błędy na mapie, lecz skala problemu powinna być tak mała, że zdecydowaliśmy, że będziemy to naprawiać ręcznie, na bieżąco 🙂

    Jeszcze, jako wisienka na torcie w temacie kolorów, przepieliśmy skrypty serwerowe, żeby używały kolorów z nowych miejsc i oficjalnie możemy ogłosić, że temat kolorów zostaje zamknięty!

    Jako następny cel obieramy sobie przenoszenie grafik, ale z doświadczeniem z kolorami powinno pójść całkiem szybko.

    Burze mózgów

    Dużo się ostatnio dzieje w kwestii ustaleń tego, jak chcemy, żeby wyglądał Nelderim na ServUO, zbieramy pomysły, ustalamy ogólne założenia, chcemy żeby wizja serwera była spójna i żeby wszyscy mówili, że to właśnie Nelderim jest najlepszym polskim shardem RPG Ultimy Online 🙂

    Dlatego chcemy się z wami podzielić zawczasu kilkoma pomysłami, które chcemy wprowadzić:

    System imion

    Temat ten przewijał się często na serwerze Discord i na razie wiemy tyle, że chcemy, aby gracze „poznawali” inne postacie oraz żeby były możliwości ukrywania swojej tożsamości. Bardzo ogólnikowo, ale na pewno system ten musi zostać zaimplementowany przed końcem migracji.

    System osiągnięć

    Chcemy, żeby gracze mieli cały czas coś robienia i jednym z takich „animatorów” będzie możliwość zbierania różnego rodzaju achievementów. Bardzo oklepany koncept, ale według nas masę zabawy i satysfakcji dostarczą powiadomienia, że udało ci się zabić dziesięć tysięcy smoków, odwiedzić wszystkie miasta na świecie, wykopać milion bryłek rudy i odbyć swój pierwszy pobyt w ośrodku wypoczynkowym za kratami 🙂

    Koniec zwojów nagród

    Koniec zwojów nagród, ale zamiast tego będzie coś innego, o czym na pewno jeszcze będziemy mówić, jak już będziemy wiedzieć co to dokładnie jest 🙂 Problemem zwojów nagród jest to, że każdy chomikuje zwoje nagród, żeby kiedyś połączyć je wszystkie i dostać upragniony zwój klasy pierwszej.

    Założenia nowego systemu nagród dla graczy są take, że nie będzie powodu, żeby zbierać je w nieskończoność, a zawartość nagrody będzie czymś przydatnym dla danego, albo innego gracza.

    Na ten moment możemy zdradzić tylko (i aż) tyle.

    Co nowego przynosi ServUO

    Wraz z przejściem na nowy silnik, otrzymujemy dostęp do nowej grupy mobów – Myrmidexy. Jako, że jest to nowa grupa potworów, będzie potrzebny nowy Pogromca. Tym pogromcą jest nic innego jak Myrmidex Slayer – Pogromca Myrmidexów, który będzie można otrzymać z puli propsów z lootu lub wtedy, gdy tworzymy broń za pomocą runicznych narzędzi.

    Potwory, które będą wrażliwe na tego pogromcę, to:

    Myrmidexy jakie są, każdy widzi, takie mrówki, tyle że trują, natomiast ich królowa dołącza do zacnego grona bossów i cechuję się wyjątkowymi mechanikami!

    Królowa ta potrafi pluć trującym jadem, rzucać jajami z których wyklują się nowe myrmidexy, rzucać głazami oraz sprawiać, że skalne kolumny będą ranić tych którzy ośmielą się wtargnąć do jej gniazda.

    Myrmidexy

    Podsumowanie

    Były to dwa tygodnie, gdzie niestety było bardzo mało czasu na prace nad naszym ukochanym shardem, ale mimo to udało się poczynić postępy i kolejny raz dotrzymać obietnicy i dostarczyć kolejną część bloga.

    Jak zawsze zachęcamy was gorąco do dzielenia się opinią co wam się podobało w blogu, co możemy poprawić, a także czy podobają się wam nadchodzące zmiany 🙂

    Do następnego!

  • Nelderim DevBlog #6

    Kolejne dwa tygodnie za nami i dużo się działo przez ten czas!

    Prace na migracją w ostatnim czasie wyglądały trochę inaczej, bo nie dotyczyły bezpośrednio serwera, ale po kolei.

    Wielka batalia z klientem

    Jestesmy na takim etapie, że mniej-więcej wszystko działa, a my powoli szlifujemy świat i mechaniki i dokładamy kolejne cegiełki do naszego projektu.

    „Mniej-więcej” jest kluczowe w powyższym zdaniu, ponieważ żeby móc w ogóle zacząć prace oraz móc się upewnić że serwer działa jak należy, poszliśmy na skróty z testowym klientem, i można powiedzieć, że jest zlepkiem plików ze starego i nowego klienta, byleby można było połączyć się z serwerem i testować.

    Na wiele rzeczy przymykaliśmy oko, ponieważ nie były one kluczowe, ale nadszedł czas, żeby przygotować gotową paczkę klienta, w której już nie trzeba będzie na nic przymykać oka i budować świat dokładnie taki jaki chcemy 🙂

    Już przy pierwszym DevBlogu wspominaliśmy o problemach z mapą na najnowszym kliencie, a problem zamietliśmy pod dywan najzwyczajniej kopiując starą mapę do nowego klienta i było to wystarczające do testów.

    Problem z mapą tak na prawdę okazał się problemem ze wszystkimi plikami klienta używającymi nowego formatu UOP, ponieważ nie udało nam się znaleźć żadnego narzędzia, które potrafiło by modyfikować pliki w formacie UOP.

    Próbowaliśmy wiele przeróżnych narzędzi, wiele przeróżnych klientów, bo może pliki UOP się różnią zależnie od wersji, przegrzebaliśmy przeróżne fora, strony, discordy i co tylko udało nam się znaleźć i nie udało nam się znaleźć dobrego rozwiązania.

    Ilość klientów które próbowaliśmy potrafi przyprawić o zawrót głowy

    Padła propozycja, że skoro stary format MUL po prostu działa, to może należy bazować na ostatniej wersji klienta z plikami w tym formacie, ale okazało się, że brakuje tam wielu grafik, animacji, a nawet obsługi niektórych systemów, w tym UO Store o którym pisaliśmy w DevBlog #3

    Bardzo nam się nie podobała wizja, że ominęło by nas wiele nowości, które już chwaliliśmy i zapewnialiśmy, że będą, więc poszukiwania trwały dalej.

    I nagle uświadomiliśmy sobie, że przecież istnieją serwery, które bazują na względnie nowych klientach i posiadają nieoryginalne mapy oraz grafiki, więc jakoś na pewno się da to zrobić!

    A co najlepiej zrobić jak ktoś wie coś czego my potrzebujemy? Zapytać! Tak więc stwierdziliśmy, że nikogo nie będziemy o nic pytać, i użyjemy umiejętności Zaglądanie do plików klienta innych serwerów, bo to akurat każdy serwer udostępnia swoim graczom 🙂

    I naszym oczom ukazały się pliki z starego klienta uruchamiane przez nowego klienta, tak więc dokładnie to samo czym jest nasz zlepek plików, znany jako klient testowy 🙂

    Pewnie macie teraz wrażenie, że utknęliśmy w punkcie wyjścia, ale tak na prawdę uświadomiliśmy sobie że kilkukrotnie byliśmy bardzo blisko rozwiązania tej zagadki!

    Wiemy, że nie istnieje narzędzie potrafiące zapisać pliki w nowym formacie, ale istnieje conajmniej jedno narzędzie, które potrafi odczytać dane w nowym formacie oraz cały zestaw narzędzi potrafiących modyfikować pliki w formacie MUL.

    Plan jest prosty: wziąć najnowszego klienta z plikami w starym formacie, wyeksportować wszystkie nowości z najnowszego klienta i dodać je do plików w starym formacie i dopiero na to nałożyć cały nasz custom content.

    Brzmi jak bardzo dużo pracy i dokładnie tak jest, bo już na sam research opisany powyżej poświęciliśmy około 20 godzin na przestrzeni kilku dni, nie licząc przerw 😀

    Zaczęliśmy od mapy i wzięliśmy naszą główną mapę oraz wszystkie pozostałe oryginalne mapy w najnowszej modyfikowalnej wersji.

    Przy okazji odkryliśmy, że nasza mapa jest w baaardzo starym formacie i za pomocą kilku narzędzi jesteśmy w stanie powiększyć ją do nowego rozmiaru i zyskać dzięki temu dodatkowy obszar 1024×4096 kratek na nowe dungeony 🙂

    Nowy obszar zaczęliśmy już wykorzystywać, ponieważ przenieśliśmy tam wszystkie nasze dungeony które robiliśmy w wolnych miejscach na innych mapach, jako że nie mieściły się na mapie głównej.

    Wszystko po prawej stronie strzalki to nowy obszar

    Mapa byłaby w tym momencie gotowa, gdyby nie to, że z oryginalną definicją kolorów świat wyglądał trochę inaczej niż go znacie.

    Tasandora – LSD edition

    Zaczęliśmy dokładną analizę pliku z definicją kolorów i znaleźliśmy dokładnie 740 kolorów których używamy, a które nie są dostępne w oryginalnym kliencie.

    Na szczęście okazało się, że w oryginale znajduje się mniej więcej 830 wolnych miejsc na kolory, więc możemy przenosić kolory i na pewno się ze wszystkim zmieścimy.

    Następna analiza polegała na wyznaczeniu których kolorów nie musimy ruszać, ponieważ już znajdują się w wolnych miejscach i odfiltrowaliśmy już tylko 371 sztuk dla których musieliśmy znaleźć nowy dom.

    Szybka rozpiska, wszystkim kolorom znaleźliśmy nowe miejsce, i wyznaczyliśmy 15 paczek które umieściliśmy w „dziurach” w oryginalnym kliencie.

    W świecie ultimy istnieje wiele narzędzi które potrafią działać cuda, i znaleźliśmy jedno, które potrafi dodawać „hurtowo” zasoby do plików, więc wystarczyło tylko przygotować plik z odpowiednimi instrukcjami i wszystkie nasze kolory były już na swoich docelowych miejscach.

    Kolory dostały nowe identyfikatory, ale teraz gra musi wiedzieć, że obiekty na mapie które mają przypisany jeden z naszych kolorów, muszą teraz mieć nowy identyfikator koloru!

    Ku naszemu zdziwieniu, jeszcze nikt nie napisał takiego narzędzia, tak więc usiedliśmy do programowania.

    35 linii kodu później nasz malutki program powiadomił nas, że zgodnie z naszym życzeniem zamienił kolory dla 1,021,708 obiektów i na szczęście nie musieliśmy tego robić ręcznie 🙂

    Przed nami jeszcze dużo pracy, bo teraz serwer musi się dowiedzieć o nowych identyfikatorach kolorów, a ponadto czeka nas podobna przeprawa tylko, że na większą skalę z przenoszeniem grafik, ale o tym i nie tylko kiedy indziej, bo prace nad klientem to nie jedyne o czym chcemy napisać 🙂

    Gramy w otwarte karty

    Niedługo po udostępnieniu poprzedniego wpisu DevBloga, pojawiła się sugestia na serwerze Discord, że skoro cała nasza praca idzie w kierunku ServUO, to czy możemy udostępnić kod źródłowy obecnego serwera, żeby gracze mogli sami robić poprawki w serwerze, gdy my jesteśmy skupieni na migracji.

    I tutaj będziemy szczerzy, planowaliśmy taki ruch od dłuższego czasu, a powyższa sugestia utwierdziła nas, że jest to dobry krok, a do tego jest to odpowiedni moment.

    Tak więc z dniem dzisiejszym ogłaszamy, że udostępniamy publicznie kod obecnego serwera!

    I kod serwera na nowym silniku też! 😀

    Dokładnie tak, z dniem dzisiejszym Nelderim staje się serwerem z otwartym kodem źródłowym i każda osoba posiadająca chęci oraz umiejętności może przyczynić się do jego rozwoju.

    Kod źródłowy obu serwerów dostępny jest na naszej organizacji w serwisie GitHub https://github.com/UONelderim

    Czy to oznacza, że każdy może coś zmienić w serwerze?
    Tak, ale wszystkie zmiany najpierw muszą zostać przez nas zaakceptowane 🙂

    Czy to oznacza, że każdy może uruchomić swój Nelderim?
    Tak i nie. Udostępniamy kod serwera, ale z pustym światem, więc nie obawiamy się konkurencji ze strony nowo powstałych Nelderimów 😀

    Chcielibyśmy też prosić o rozwagę i jeżeli zdecydujecie się że chcecie wprowadzić jakieś zmiany do serwera, to skonsultujcie to uprzednio z nami, żeby nie okazało się, że wasza praca pójdzie na marne.

    Jako że kod serwera jest od teraz publiczny, chcemy też publicznie udostępnić tablicę z zadaniami, nad którymi aktualnie pracujemy oraz tymi które mamy w planach, jednakże zanim to się stanie, musimy mieć pewność, że nie udostępnimy czegoś, czego nie chcemy udostępnić 😉

    Co nowego przynosi ServUO

    Nowy silnik, to nie tylko nowe grafiki, ale i nowe umiejętności. Jedną z nich jest umiejętność Rzucania (Throwing). Umiejętność została dodana w dodatku Stygian Abyss. Jest to umiejętność, która oryginalnie była alternatywą dla Łucznictwa dla rasy Gargulców. My zaś planujemy udostępnić ją dla wszystkich ras.

    Ale czym dokładnie to Rzucanie jest?

    Rzucanie pozwala graczom używać nowego zestawu broni do rzucania jako umiejętności ataku dystansowego.

    Mechanika

    Każda broń ma dostęp do podstawowego i maksymalnego zasięgu, przy czym podstawowy zasięg jest modyfikowany przez siłę gracza, aby określić rzeczywisty zasięg.

    Absolutny maksymalny zasięg jest ograniczony. Obliczony maksymalny zasięg, na jaki gracz może rzucić swoją bronią, jest używany do określenia, jak dokładny jest jego rzut, gdy próbuje trafić w cel z określonej odległości. Dzięki temu gracz ma „sweet spot”, w którym rzucanie jest najskuteczniejsze, podczas gdy naciskanie na maksymalny zasięg lub rzucanie, gdy jest zbyt blisko celu, powoduje mniejsze obrażenia lub celność.

    Rzucony za słabo – Jeśli broń wyposażona w broń ma maksymalny zasięg do sześciu pól, a gracz rzuci w gracza dwa pola dalej (zbyt blisko), ma on karę do szansy na trafienie w wysokości 12%, ale bez redukcji obrażeń.
    Idealny – Maksymalny zasięg sześciu płytek, rzucony na odległość czterech płytek. Brak kary do szansy na trafienie, brak redukcji obrażeń
    Przerzucony – Maksymalny zasięg sześciu płytek, rzucony na odległość sześciu płytek. Kara za brak szansy na trafienie, ale o 47% zmniejszenie obrażeń

    Walka w zwarciu

    Mimo że mogą być przeznaczone do rzucania, wszystkie te bronie mają ostre, wredne krawędzie – idealne do złapania niczego niepodejrzewającego wojownika walczącego w zwarciu. Zręczność gracza i umiejętność rzucania na poziomie conajmniej 100 zniweluje karę za szansę trafienia za walkę w zbyt bliskiej odległości.

    Kary za Tarcze

    Wszystkie bronie do rzucania są jednoręczne, co pozwala rzucającemu na założenie tarczy lub innego przedmiotu w drugiej ręce. Gracz poniesie karę obrony (DCI) i szansy na trafienie (HCI) za użycie tarczy podczas używania broni do rzucania. Kary te można zrównoważyć, inwestując punkty umiejętności w Parowanie. Gracze bez Parowania będą teraz mieli minimalną szansę na trafienie (HCI).

    Broń w Paperdollu
    A tak prezentuje się w plecaku

    Wraz z dodaniem nowych broni, mamy też nowe specjale:

    Cyklon posiada Moving Shot i Infused Throw

    Czakram posiada: Mystic Arc i Concussion Blow

    Gwieździsty Czakram posiada: Armor Ignor i Mortal Strike

    Podsumowanie

    Kolejne tygodnie mijają, a my nie zwalniamy tempa. Rozwiązujemy kolejne problemy, zamykamy kolejne zadania, przybliżamy się krok po kroku do osiągnięcia celu. A do tego jeszcze znajdujemy troszeczkę czasu żeby dostarczać poprawki na obecny serwer 🙂

    Oto, co pojawi się na serwerze w niedługim czasie:

    • zmniejszenie wagi harfy oraz innych ciężkich instrumentów
    • księga zleceń będzie zapamiętywać stronę na której była otwarta
    • poprawienie błędnych komunikatów wykrywacza pułapek
    • przełącznik dla ekipy, który umożliwia wyłączenie komunikatów NPC na czas eventów
    • umożliwienie zielarzowi i łukmistrzowi zbierania konopi i jedwabiu
    • poprawienie przetapiania smoczej zbroi
    • umożliwienie postaci męskiej oswajania jednorożca bez możliwości dosiadania go
    • umożliwienie cięcia butów nożyczkami w celu odzyskania skór
  • Nelderim DevBlog #5

    Już prawie dwa miesiące odkąd rozpoczęliśmy prowadzenie dev bloga i nie mamy zamiaru przestawać 🙂

    Blog spełnia swoją najważniejszą rolę, czyli zagania nas do roboty, bo musimy mieć o czym pisać co dwa tygodnie, a dodatkowo wy możecie poczytać o tym jak idą nam prace.

    NelderimLauncher

    Żeby rozpocząć przygodę ze światem Nelderim trzeba przebrnąć przez instrukcję instalacji składająca się z kilku kroków, a następnie poprzez NelderimPatcher upewnić się, że posiadamy aktualne pliki gry.

    Chcemy żeby Nelderim był grą dostępną dla każdego i doszliśmy do wniosku, że obecna procedura instalacji oraz kroki wymagane, żeby być na bieżąco z zasobami gry takimi jak mapa, grafiki, tłumaczenia mogłyby zostać bardzo mocno uproszczone.

    Nasza wizja jest prosta: program który zajmie się instalacją gry, aktualizacjami oraz ustawieniami. Chcemy, aby gracze mogli pobrać jeden mały program i wszystko co jest potrzebne do gry, zostanie przygotowane automatycznie. Chcemy również, aby Nelderim Launcher obsługiwał wszystkie popularne systemy operacyjne, a nie tylko system Windows jak jest w przypadku NelderimPatchera.

    Aktualne prace są na bardzo wczesnym poziomie, ale zrobiliśmy research odnośnie gotowych rozwiązań oraz technologii i zaczerpnęliśmy trochę inspiracji od innych twórców gier oraz przygotowaliśmy grafikę koncepcyjną przedstawiającą, jak chcemy, żeby wyglądał interfejs 🙂

    Wersja koncepcyjna Nelderim Launchera

    Kolejne wieści o pracach w systemie gainów

    Lwią część czasu z ostatnich dwóch tygodni poświęciliśmy na pracę nad systemem gainów, czyli treningu naszych postaci.

    Jednym z największych osiągnięć w tej kwestii jest częściowo działająca komenda pozwalająca oszacować jak dużo czasu powinien zająć trening danej umiejętności, żeby osiągnąć pożądany poziom.

    Komenda ta już w tym momencie jest w stanie wyliczyć takie estymaty dla około połowy istniejących umiejętności, a porównując wyniki z rzeczywistymi wartościami, które dostarczył jeden z ekipantów, możemy z czystym sumieniem stwierdzić, że estymaty są wystarczająco dobre, aby oprzeć na nich konkretne decyzje o zmianach w prędkości gainów 🙂

    Dla bardziej skomplikowanych umiejętności, w których trening wchodzi więcej czynników, pierwsze testy wskazały, że estymaty mocno odbiegają od wartości rzeczywistych i musimy poświęcić trochę więcej czasu na szlifowanie tego rozwiązania, żeby móc na nim bazować 🙂

    Aktualne wartości w systemie gainów wymagają znacznych zmian

    Dodatkowo, oprócz widocznej pracy, udało nam się również ustalić kolejne wytyczne odnośnie tego jak chcemy, żeby docelowo wyglądał system gainów

    Historia punktów fabularnych

    Czyli „Dostałeś punkty? Nie wiesz od kogo? To już wiesz!”
    No dobra, a teraz pora na CSa

    A tak całkiem poważnie – do tej pory mieliśmy w ekipie oddzielny kanał discord na punkty fabularne, na którym opisywaliśmy kto dostał punkty, od kogo i za co wraz z ilością przydzielonych punktów. Było to dość uciążliwe, jako, że należało pamiętać o zapisaniu tego, a czasem potrafiło się to przypomnieć po kilku dniach. Sam gracz również nie znał szczegółowych informacji na temat przydzielonych mu punktów. DO tej pory widział jedynie informację, iż został nimi nagrodzony. Aż po dziś dzień…

    Na nowym silniku dostępny jest nowy panel na którym każdy z graczy i GMów może zobaczyć kto, kiedy, dlaczego oraz jaką liczbę punktów przydzielili graczowi mistrzowie gry.

    Widok panelu karty postaci dla gracza

    Żeby nie było, że wszystkie ładne rzeczy będą dostępne dopiero po migracji, to ten panel będzie dostępny również na obecnym silniku Nelderim w niedalekiej przyszłości 🙂

    Co nowego przynosi ServUO

    Jak zwykle, staramy się przemycić kilka ciekawostek i uchylić rąbka tajemnicy z tego co drzemie na ServUO. Poniżej możecie się zapoznać ze zmianami w systemach zleceń rzemieślniczych, z których będziecie mogli korzystać w formie dopasowanej do świata Nelderim.

    Zlecenia rzemieślnicze

    Dotychczas rzemieślnik mógł korzystać ze zleceń kowalskich, krawieckich oraz naszych autorskich zleceń łukmistrza. Od dawna planowaliśmy wprowadzenie większej ilości zleceń, lecz tutaj ServUO wychodzi z gotowymi rozwiązaniami 🙂

    Do dyspozycji graczy pozostają znane już zlecenia kowalskie oraz krawieckie (ze zmodyfikowanymi listami nagród), oraz zlecenia alchemika, skryby, majstra, stolarza, kucharza oraz nowy system zleceń łukmistrza, nad którym musimy posnuć kilka przemyśleń, jak pogodzić je z naszym obecnym systemem.

    Dodatkowo zmianie ulega diametralnie system odbioru nagród, naszym oczom ukazuje się w menu NPC rzemieślnika możliwość rozwoju listy nagród. System ten funkcjonuje identycznie dla pozostałych rzemiosł, poniżej przykład dla kowalstwa.

    Oddając losowe zlecenie zostajemy poinformowani o możliwości przypisania punktów do naszego salda lub wybrania w tym momencie nagrody o maksymalnej wartości przewidzianej za dane zlecenie. Zachowane punkty wynoszą 2% wartości danego zlecenia.

    Wybierając przedmiot, który chcemy wybrać z listy, zostaniemy zapytani czy na pewno chcemy pozyskać ten przedmiot. Po akceptacji trafi on do naszego ekwipunku.

    System ten, różni sie tym od oryginalnego, że oprócz przejrzystej listy otrzymujemy możliwość wymiany punktów nagrody na taką o tej samej lub niższej cenie, co eliminuje w pewnym stopniu efekt losowości. Dodatkowo możemy zachować część punktów na koncie do wykorzystania w przyszłości, dzięki czemu wszystkie gorsze zlecenia zyskują na wartości. Z racji tego przy wykonaniu wielu słabych zleceń możemy odebrać nagrody jak za dużo bardziej wymagające do skompletowania zlecenia.

    Dodatkowo istnieje też opcja przekupienia miastowego rzemieślnika, aby za niemałą sumę złotych monet wprowadził „poprawkę” w waszym zleceniu rzemieślniczym, co poskutkuje podniesieniem wartości zlecenia poprzez zwiększenie ilości wymaganych towarów, dodanie wymogu na wyjątkowe towary albo zmianę materiału towarów w zleceniu na materiał wyższej klasy.

    Kto pierwszy będzie niebiańskim kowalem z valorytowym młotem w dłoni? 🙂

    Podsumowanie

    To już piąty raz, kiedy udaje nam się bez większych przeszkód przedstawić wam postępy w pracach nad migracją Nelderim na nowy silnik ServUO. Tak jak już wspominaliśmy, prowadzenie bloga daje nam nieustanny zastrzyk motywacji i pcha prace do przodu. Z kazdym kolejnym wpisem jesteśmy coraz bliżej końca migracji, i już nie możemy się doczekać, aż otworzymy bramy nowego serwera dla was 🙂

    Do usłyszenia za dwa tygodnie!

  • Nelderim DevBlog #3

    Kolejne dwa tygodnie za nami i kolejna część bloga z postępów w migracji na ServUO, zapraszamy do lektury 🙂

    Rozszerzenie istot o poziom siły

    Doszliśmy ostatnio do wniosku, że bardzo przydała by się na Nelderim możliwość prostego sposobu na podniesienie albo obniżenie poziomu trudności niektórych podziemi, poszczególnych poziomów podziemi albo konkretnych potworów w spawnie.

    Od razu skojarzyły nam się niektórym dobrze znane pomniejsze i większe demony, jednak każdy z tych rodzajów demonów jest osobnym typem istoty i posiada odrębny kawałek kodu. Na wzór tych demonów chcemy rozszerzyć silnik, aby każda istota w grze (z wyjątkiem graczy :)), mogła być oznaczona współczynnikiem typu młody/pomniejszy/większy/potężny(nazwy robocze) i automatycznie zostaną przeskalowane statystki oraz loot dla tej istoty. Ponadto chcemy to rozszerzenie zintegrować z systemem regionów, żebyśmy mogli w łatwy sposób ustalać że np. na cmentarzu przy tasandorze 40% potworów będzie typu młody, a w krypcie 10% będzie typu większy, przez co mniej doświadczeni gracze będą mieli większą szansę przeżyć, a ci szukający wrażeń dostaną większe wyzwanie oraz lepszy loot.

    Cała ta zmiana pozwoli nam w dość prosty sposób zwiększyć różnorodność poziomu trudności na świecie. Warto też nadmienić, że ta zmiana jest w fazie koncepcyjnej i finalna wersja może się różnić od zamieszczonego tutaj opisu.

    Wyspa startowa – tutorial

    Mamy świadomość, że Ultima Online jest grą która posiada wysoki próg wejścia. Mało intuicyjny interfejs, retro grafika, gracz nie jest prowadzony za rękę, mechaniki gry są poukrywane albo opisane na stronie internetowej. Przez te i inne aspekty wiemy że nie udało nam się utrzymać na serwerze wszystkich osób, które dopiero co rozpoczynały swoją przygodę z UO.

    Wychodząc na przeciw oczekiwaniom rozpoczęliśmy pracę nad wyspą startową – tutorialem, gdzie nowi gracze będą mogli zaznajomić się ze wszystkimi podstawowymi mechanikami, konceptami, a także również interfejsem.

    Chcemy przygotować obszar gdzie gracze będą mogli w prosty sposób zaznajomić się z walką, magią, rzemiosłem, pozyskiwaniem zasobów oraz innymi umiejętnościami które są potrzebne w grze, a cały ten proces poznawania UO uczynić jak najbardziej przystępnym. Poprzez proste questy ze szczegółowymi opisami i ilustracjami, chcemy pomóc przyswoić chociaż najbardziej podstawową wiedzę, aby zredukować do minimum ilość graczy których odstrasza sam początek w świecie Nelderim.

    Wyspa startowa jest jeszcze na bardzo wczesnym etapie prac, ale już teraz możemy wam zdradzić, że wybraliśmy już miejsce gdzie będziemy szkolić nowych poszukiwaczy przygód, a jest to pewna wyspa z oryginalnej mapy :). Jeżeli macie podejrzenia która wyspa zostanie wyspą startową, dajcie nam znać na Discordzie.

    Testy lootu

    Wciąż trwa testowanie przedmiotów jakie możemy zdobyć podczas PvM. Skłaniamy się ku refleksji, że pierwotnie założone przez nas progi zdają się być zbyt niskie, przez co nawet ze średniopoziomowych potworów zazwyczaj nie dostaniemy nic wartego uwagi (1-2 propsy, niskie nasycenie). Z tego względu mocno zastanawiamy się aby podkręcić loot ze słabszych potworów. Podczas przechodzenia labiryntu, jedyne ciekawsze przedmioty uzyskaliśmy z bossa – władcy minotaurów. (nasycenie między ok. 57-85%, 2-4 propsy – podwyższone odporności zaliczają sie jako props). Przedmioty zostały zdobyte bez żadnego lucka w ekwipunku.

    Pamiętajmy również, że nie jest to zbyt wymagający przeciwnik, dlatego też postanowiliśmy podczas następnego spotkania skontrolować loot z przeciwników wiele mocniejszych, oraz wysokopoziomowych władców podziemi, aby mieć pełniejszy obraz sytuacji.

    System chorób / System Wampirów i Wilkołaków

    Na Nelderim obecnie funkcjonują one jako klasy fabularne. Dzięki współpracy z pewnym Kanadyjczykiem z forum ServUO, udało nam się wejść w posiadanie systemu, który ma być przyjemniejszą alternatywą do jedynie fabularnych podklas Wampira i Wilkołaka.
    Na obecną chwilę udało nam się dokonać serii tłumaczeń w całym systemie, oraz zmodyfikować nieco oryginalny kod, który powodował odtwarzanie dźwięku bicia serca, gdy gump (widoczny na screenie ponieżej) zmieniał swój kolor, tym samym imitując bicie serca. Zdecydowaliśmy się na ten ruch, by zminimalizować ilość wysyłanych pakietów między klientem, a serwerem, tym samym niwelując problem potencjalnych lagów. Dodatkowo, ten dźwięk był dość irytujący, gdy słyszało się go przez 2h 😉

    Sam system jest kompletnym automatem. Ma generować zakażone wilki (białe wilki, leśne wilki, ogromne wilki, wściekłe wilki, piekielne ogary), które są nosicielami wirusa Likanotropii i mają szansę na zarażenie gracza. Są też nietoperze wampiry, które przenoszą wirusa Wampiryzmu, którym można zarazić się poprzez ugryzienie takiego nietoperza.
    Każda z tych podklas ma swoje bonusy, jak i kary.

    Wampiry otrzymują obrażenis od słońca, gdy nie mają nakrycia głowy lub gdy bez niego poruszają się poza budynkami i lochami. Każdy z wampirów ma dostęp do umiejętności: Wyssanie Krwi – umiejętność działająca automatycznie – zadaje bardzo małe obrażenia, które zależą od poziomu „choroby”, Paląca Krew – umiejętność ofensywna – zadaje małe obrażenia, które zależą od poziomu „choroby”, oraz Kąpiel w Krwii – umiejętność defensywna, która ma regenerować małą ilość many.

    Wilkołaki zaś mają do dyspozycji Karmienie – umiejętność działająca automatycznie – zadaje bardzo małe obrażenia, które zależą od poziomu „choroby”, Gniewne Uderzenie – umiejętność ofensywna – zadaje małe obrażenia, które zależą od poziomu „choroby” i Wściekłe Odepchnięcie – umiejętność defensywna, która leczy małą ilość ran. Wilkołaki otrzymują obrażenia, jeśli w pobliżu znajduje się srebro.

    Każda z tych podklas, ma zmieniony wygląd (kolor skóry/zmiana kształtu ciała). Siła bonusów i kar zależy od stadium choroby. Poziom/siła choroby pokazuje gump na obrazku.

    Poziom choroby i stowrzenia, które zarażają

    Dodatkowo, na świecie, od gracza możemy złapać inne choroby – grypa, przeziębienia, itd. Każda choroba objawia się kichaniem/kasłaniem/emotami i odpowiednimi informacjami, a to wszystko, aby zwiększyć poczucie immersji.

    Co nowego przynosi ServUO

    Ultima Store

    Nowsza wersja klienta udostępnia nam wspaniałą funkcjonalność jaką jest Ultima Store. Jest to wbudowany w grę sklep z przeróżnymi przedmiotami, dekoracjami oraz usługami dla graczy za specjalną walutę.

    Największą widoczną zmianą dla was będzie to, że już nie trzeba będzie ingerencji Mistrza Gry, abyście mogli wymienić swoje ciężko zarobione punkty fabularne czy inną specjalną walutę na nowe dekoracje do domu, specjalne farby do ubrań czy zmianę płci, rasy albo imienia postaci.

    System jest gotowy w kliencie oraz w serwerze, a my tylko musimy ustalić, co i za ile będzie można kupić. Jest również wbudowana możliwość generowania kodów promocyjnych z doładowaniem punktów, które możemy rozdawać graczom na przeróżnych eventach 🙂

    Ceny i dostępne rzeczy oraz usługi w sklepie na pewno ulegną zmianie

    Podsumowanie

    Ostatnie dwa tygodnie spędziliśmy raczej na planowaniu i pracach koncepcyjnych aniżeli na programowaniu, czy właściwej pracy i potrzebujemy trochę więcej czasu aby efekty były dostrzegalne gołym okiem. Niektóre blogi, podobnie jak ten, będą troche mniej nafaszerowane nowościami z ServUO, a skupią się na tym co dopiero planujemy wprowadzić. Jeżeli macie jakieś sugestie albo pomysły odnośnie przyszłości na ServUO to gorąco zachęcamy do dyskusji na naszym serwerze Discord 🙂

    Do zobaczenia za czternaście dni!

  • Nelderim DevBlog #2

    Minęły dwa tygodnie od ostatniego wpisu, i zgodnie z obietnicą przynosimy kolejną garść informacji z frontu.

    Postępy

    Od ostatniego bloga nie próżnowaliśmy i udało nam się popchnąć parę rzeczy do przodu.

    Jednym z większych sukcesów jest to, że udało nam się dostosować silnik spawnów XmlSpawner, żeby poprawnie działał z ServUO. Było to dla nas bardzo ważne, ponieważ zdecydowana większość aktualnego świata działa na XmlSpawnerze i Nelderim bez tego by zwyczajnie nie istniał. Przy okazji zaktualizowaliśmy XmlSpawner do najnowszej wersji, z wieloma usprawnieniami i poprawkami.

    Kolejną większą zmianą jest to, że udało nam się zainstalować bibliotekę VitaNex Core i dostosować do ServUO oraz Linuxa. Biblioteka ta rozszerza serwer o wiele nowych funkcjonalności, ułatwia pisanie nowych skryptów, oraz otwiera nam drzwi na wykorzystywanie gotowych modułów bazujących na tej bibliotece.

    Przykładowe efekty z uzyciem VitaNex Core

    Udało się również dopiąć zmiany w regionach związanych populacją NPC na świecie i pierwsze testy wykazały, że NPC spawnują się tak jak powinni i tam gdzie powinni. Rozwiązało to problemy z poprzednich testów, z brakiem imion i niepoprawnymi rasami NPC.

    Namierzyliśmy też i naprawiliśmy błąd w systemie Loot, który generował zdecydowanie zbyt dużo przedmiotów, na przykład kamieni jubilerskich. Oryginalny system Loot, który powinien być wyłączony, potrafił mimo to generować przedmioty razem z naszym systemem. Aktualnie podjęliśmy decyzję, aby oba systemy Loot działały w symbiozie, gdzie nasz system generuje podstawowy Loot (kosztowności, ekwipunek, magiczne zwoje i składniki, mikstury oraz niektóre zasoby), a oryginalny system Loot zajmuje się uzupełnianiem Lootu o przedmioty specyficzne dla danych potworów.

    Nelderim Team podczas testów

    Podczas restartów serwera testowego nękał nas problem „niedostępnych” przedmiotów. Przedmioty takie sprzątane były przy każdym restarcie, a porządki potrafiły zawiesić serwer nawet na kilkanaście minut. Problem został początkowo zniwelowany optymalizacją procedury sprzątającej, a aktualnie pracujemy z zespołem ServUO, żeby przygotować odpowiednią poprawkę.

    Niedostępne przedmioty są już przeszłością, a pozostałe porządki mamy na celowniku

    Do tego wszystkiego na bieżąco tłumaczymy co uda nam się wyłapać oraz dostosowujemy istniejące systemy do naszego świata, na przykład oryginalne Stuck Menu da wam możliwość uwolnienia się z sytuacji bez wyjścia do jednego z nelderimowych miast.

    I na zakończenie przykładowy problem z którym jeszcze się nie uporaliśmy, ale do czasu przyszłego wpisu na pewno będzie o czym opowiadać 🙂

    Mapa płata nam figle

    Co nowego przynosi ServUO

    Z każdym wpisem postaramy się utrzymać waszą ciekawość ujawniając po kawałeczku nowości jakie będą na was czekać gdy już zakończymy proces migracji.

    UltimaLive

    UltimaLive jest modyfikacją klienta, która pozwala nam streamować mapę z serwera bezpośrednio do graczy w czasie rozgrywki.

    Co to oznacza?

    • Nie będzie wymagany ani restart serwera, ani pobieranie patchy, aby dokonać zmiany w mapie.
    • Wszystkie zmiany w mapie możemy dokonywać w grze, a zmiany będą widoczne dla graczy od razu
    • Możemy udostępnić klienta bez mapy, a gracze będą mogli odkrywać świat
    • Możemy kształtować teren, budować budowle, naprawiać bugi
    • Możemy dać graczom możliwość budowania bezpośrednio na mapie 🙂
    • Zdecydowanie większe możliwości podczas eventów
    • NelderimPatcher wciąż będzie potrzebny do zmian w pozostałych plikach, ale te pojawiają się dużo rzadziej niż zmiany w mapie

    Nowa funkcji anatomii

    Jedną z rzeczy która dodaliśmy jest rozbudowany system anatomii, podobny do aktualnego systemu wiedzy o zwierzętach. Będzie on pozwalał na dokładne zbadanie podstawowych statystyk wszelkich istot i graczy.

    Co się działo oprócz ServUO

    Kolejne zgłoszenia odnośnie nie działających systemów, zwróciły naszą uwagę w kierunku regionów.
    Udało nam się dokonać kilku ważnych zmian:

    • dokonaliśmy generalnego przeglądu wszystkich danych odnośnie regionów,
    • usunęliśmy duplikaty i błędne regiony,
    • dokonaliśmy bardziej szczegółowej kategoryzacji,
    • poprawiliśmy granice,
    • podzieliliśmy niektóre regiony na mniejsze podregiony,
    • przygotowaliśmy narzędzia przydatne w pracy z regionami
    • Wszystkie te zmiany zostały przeniesione na ServUO bez dodatkowej pracy.

    Podsumowanie

    W ciągu tych dwóch tygodni udało nam się stawić czoła kilku naprawdę ważnym kwestiom i zdecydowanie był to duży krok ku nowej, odświeżonej odsłonie Nelderim. Przed nami wciąż bardzo dużo pracy, ale z każdą poprawką rozgrywka staje się płynniejsza, a lista zadań się kurczy. Bardzo możliwe, że niedługo będziemy mieć dla was pewną niespodziankę, ale na razie musicie być cierpliwi 🙂

    Do zobaczenia za dwa tygodnie!

  • Geriador wskrzeszony!

    Grupa śmiałych jarlingów pod wodzą Synów Północy, wygnana z Tasandory i stęskniona za swym śnieżnym domem na północy nie tylko ów dom odbiła z rąk sił zła, ale i zdołała go utrzymać! Dzisiaj rozegrała się druga faza wielkiej bitwy o Garlan. Miasto to było od wielu lat w rękach potworów, jednak niedawno jarlingowie przywrócili je do życia i zaczęli się zbroić i bronić, gdyż siły zła nie dawały za wygraną. Morlokowie upatrzyli sobie śnieżne miasto na własną twierdzę, a jest to wróg o wiele groźniejszy od bezrozumnych gadów. Oblężenie trwało długo, polało się wiele krwii, a bohaterstwo wojowników Pana nie miało sobie równych. Utrzymali swoją stolicę i przystąpili do odbudowy dawnego państwa jarlingów, Królestwa Geriadoru! Wybrano władcę miasta, kanclerzy i tymczasowego regenta, bowiem jarlingowie postanowili przywrócić władzę dynastii, która ją utraciła i wierzą, że gdzieś na świecie żyje jeszcze godny tronu dziedzic. Potrzebna jest siła, która będzie w stanie przeciwstawić się zarówno mocom zła, Morlokom, jak i totalitarnej Tasandorze. Kto wie, co przyniesie przyszłość?

  • Konkurs na najlepszą emotkę na Discord

    Ogłaszamy bardzo prosty konkurs do piątku 12.03.2021 do godziny 20:00 możecie przesyłać swoje zgłoszenia.

    Konkurs polega na stworzeniu najlepszej emotki na nasz serwer Discord.

    Zgłoszenia można kierować do Maupishona, Levego lub Kaczego. Zgłoszenie powinno zawierać emotkę oraz alias do wywołania emotki na czacie.

    Emotka musi być w formacie png, a rozmiar pliku nie może przekraczać 256kB. Nazwa emotki musi mieć conajmniej 2 znaki i może zawierać tylko znaki alfanumeryczne i znaki podkreślenia.

    Zasady:

    Jedna osoba może zgłosić tylko 1 emotkę.

    Zostanie utworzony specjalny kanał, gdzie od 12.03 do 15.03 będzie można głosować.

    Nagroda będzie przyznawana względem głosowania graczy oraz ekipy.

    Do wygrania:

    Miejsce I: Emotka udostępniona na naszym Discrodzie, Zwój Nagrody klasy 9, unikalna dekoracja do domu.

    Miejsce II: Emotka udostępniona na naszym Discrodzie, Zwój Nagrody klasy 10, unikalna dekoracja do domu.

    Miejsce III: Emotka udostępniona na naszym Discrodzie, Zwój Nagrody klasy 10.

    Nagrody pocieszenia dla uczestników: Zwój Nagrody klasy 13.

    Ekipa zastrzega sobie prawo do odrzucenia zgłoszenia, które zostanie uznane jako nieodpowiednie oraz do modyfikacji zwycięskich emotek albo aliasów w przypadku problemów z kompatybilnością (niepoprawne wyświetlanie, konflikt nazw)

  • Rada Miejska Tasandory!

    Mineło już trochę czasu odkąd tamaelowie, jarlingowie i krasnoludowie spowrotem zawitali na rodzimym lądzie. Porządek utrzymywany względnie przez Frona z Talas, generała wojsk Tasandory, w porozumieniu z pozostałymi jednostkami jarlingów i krasnoludów, którzy nie polegli w Wojnie Trzech Bogów, wydaje się stabilizować. Mieszkańcy miasta, skupieni na odnalezieniu się na nowo w starym świecie, poczuli, że nadszedł czas na ich decydowanie o własnym losie, szczególnie w związku z nasilającym się bezprawiem ze strony, zarówno szajek Rzezimieszków działających pod nosem skorumpowanej Straży Miejskiej, jak i wysłanników Skarbu Tasandory, którzy zbierają nieuczciwe podatki. Niebezpieczeństwo z zewnątrz zażegnane, teraz nadszedł czas zająć się stanowieniem prawa i tym, co wewnątrz Tasandory. To pora na oddolny ruch. Próba zorganizowania Rady Miasta Tasandory.

    Zapraszamy chętnych mieszkańców do kandydowania na członków Rady. Prosimy o przygotowanie przemówień i oddawanie uczciwie głosów na po godzinie 20 23 dnia miesiąca w Teatrze Miejskim Tasandory! (godzina 20:00 23go sierpnia)

  • Zmian ciąg dalszy

    • Dodano algorytm szukania ścieżki do AI mobów
    • Dodano starożytne narzędzia krawieckie (jeszcze nie do zdobycia)
    • Naprawiono starożytne narzędzia łukmistrza oraz kowala
    • Naprawiono błąd powodujący znikanie zwierząt ze statuetek
    • Zabroniono rzucania czarów nekromanty na terenie Cesarstwa
    • Zezwolono na przywołańce w miastach Cesarstwa
    • Naprawiono możliwość interakcji z NPC poprzez ścianę
    • Naprawiono możliwość pobierania zamówień będąc na wierzchowcu
    • Dodano wrażliwość na umiejętności bardowskie dla większych demonów
    • Wygładzono trawę w obozie dzikusów
    • Usunięto kratkę dywanu z morza
    • Zwiększono ilość ziół w lasach i na polanach
    • Dostosowano spawny w krypcie naurów
    • Dostosowano spawny w demonowie
    • Naprawiono dojście do teleportu w wieży w demonowie

    Powyższe zmiany wymagają użycia NelderimPatcher.exe !

  • Czas na UP!

    Czas na UP!

    Witajcie poszukiwacze!

    Chcielibyśmy z radością poinformować was o oficjalnym UPie trzeciej odsłony Serwera Nelderim. Ta odsłona otrzymuje tajemniczy podtytuł Aderthand.

    Oficjalny start serwera: PIĄTEK 05.06.2020r. o godzinie 20:00!

    Do zobaczenia w świecie Nelderim!