Monthly Archives marzec 2022

Nelderim DevBlog #4

O masterkach słów kilka

Na najnowszej wersji klienta, dostajemy do dyspozycji Skill Masteries, roboczo nazywanych “masterkami”. Są to dodakowe umiejętności bazujące na skillach postaci. Tylko jedna z masterek może być używana w tym samym czasie. Dziś na tapetę weźmiemy jedne z najlepszych masterek opierające się na skillach barda, które tworzą z niego niezastąpionego kompana każdej wyprawy (o innych masterkach możecie poczytać TUTAJ lub TUTAJ). Aby nauczyć się umiejętności potrzebujemy elementarz danej dziedziny, dostępny w trzech stopniach zaawansowania, oraz minimum 90% umiejętności, dla której chcemy rozwinąć masterkę.

Następnie “czytamy” go jak zwój umiejętności. Aby korzystać z poznanych masterek potrzebujemy jeszcze księge.

Kiedy znamy już potrzebne masterki, mamy księgę, możemy przejść do wspomagania naszych kompanów. Siła buffów zależy od poziomu masterki oraz poziomu umiejętności. Klikając na księge masterii rozwijamy listę poznanych masterek. Dzięki temu możemy wybrać tę, z której chcemy korzystać w danej chwili.

Następnie możemy rozpocząć korzystanie z umiejętności. Buffy te w czasie działania ciągle korzystają z many i będą tak długo się utrzymywać jak długo im ją zapewnimy. Im więcej członków drużyny obejmujemy wzmocnieniami tym więcej many zużywa dana pieśń. Poniżej zestawienie umiejętności oraz buffów przy 100 oraz 120% umiejętności.

Uspokajanie
Prowokacja

Dezorientacja natomiast posiada 2 umiejętności, które wpływają na przeciwników zadając im obrażenia lub obniżając ich statystyki.

Dzięki tym umiejętnościom gra bardem nabierze nowego kierunku jako świetne wsparcie, dodatkowo będzie to idealne uzupełnienie naszego autorskiego systemu magii barda.

Pierwsza implementacja “Poziomu trudności” potworów

Kontynuujemy wątek z poprzedniego wpisu, jako że udało nam się dowieźć na testowy serwer pierwszą wersję systemu DifficultyLevel, roboczo nazwanego w poprzednim wpisie “poziomem siły”. Aktualna implementacja nie różni się zbyt wiele od opisu sprzed dwóch tygodni, z wyjątkiem tego, że skala trudności jest 7-poziomiowa ( od -3 do +3, a w rzeczywistości od -75% do +75% trudności potwora). Sugerowaliście nam również, że przedrostki w jednej formie nie będą pasować dla każdego potwora i w związku z tym mamy możliwość ustalenia przedrostka, wyglądu oraz koloru dla każdego potwora, dla każdego z poziomów trudności, aby wprowadzić trochę różnorodności oraz wyeliminować przypadki takie jak “Większy Żmija” 🙂

Zgodnie z zapowiedzią, głównie by ułatwić życie mistrzom gry, system DifficultyLevel został zintegrowany z systemem regionów, abyśmy mogli w bardzo prosty i przejrzysty sposób wdrażać go do świata.

<region name="Wulkan_LVL1" parent="Default">
    <difficultyLevel Normal="80" Greater="20"/>
</region>

Pierwsze testy systemu przebiegły bardzo pomyślnie i aktualnie wszystko wskazuje na to, że działa zgodnie z założeniami, ale mimo to będziemy uważnie się przyglądać, czy aby na pewno. Natomiast testy integracji systemu DifficultyLevel z systemem regionów ujawniły pewne problemy…

Problemy z regionami

Od samego początku testów rzuciło nam się w oczy, że gra informowała nas czasami, że “opuściliśmy miasto”, kiedy my z całą pewnością wciąż byliśmy w w jego granicach. Po szybkiej inspekcji czy w definicji regionów nie ma dziur ani anomalii odłożyliśmy problem na później, ponieważ nie powodował problemów z rozgrywką, a przynajmniej tak nam się wydawało.

Podczas ostatnich testów zauważyliśmy, że gdy gra mówiła nam, że opuściliśmy dany obszar, to serwer na prawdę tak uważał, co skutkowało niepoprawnym działaniem systemów populacji rasowej NPC, spawnów strażników, plotek, nietolerancji rasowej, kilku innych pomniejszych systemów oraz nowego systemu DifficultyLevel. Narzędzia do pracy z regionami, o których wspomnieliśmy w Nelderim DevBlog #2 pokazały nam, że dany region obejmuje obszar w którym się znajdowaliśmy, ale nie jest regionem głównym, z którego brane sa wartości dla systemów. Dało nam to do zrozumienia, że dane regionów są poprawne i problem leży w kodzie serwera.

Znalezienie problemu zajęło nam wyjątkowo długo, bo ten okazał się być mocno nieoczywistym. Winowajcą okazała się zbyt nadgorliwa optymalizacja w funkcji zajmującej się rejestrowaniem regionów, i jak z każdym problemem znajdującym się w części ogólnej serwera, nakreślenie problemu oraz potencjalną poprawkę dostarczyliśmy do zespołu ServUO.

Przy okazji naprostowaliśmy kilka nieścisłości z ostatnich porządków w regionach oraz naprawiliśmy wczytywanie konfiguracji naszego rozszerzenia systemu regionów oraz kilku innych systemów które współdzieliły kod ładujący konfigurację.

Początek prac nad systemem gainów

Mając system Loot w stanie stabilnym, gdzie większość implementacji jest gotowa i zostało nam teraz powoli szlifować to co mamy i uzupełniać dodatkami, postanowiliśmy rozpocząć pracę nad kolejnym dużym aspektem rozgrywki jakim jest trening umiejętności naszych wirtualnych postaci. Nasze prace w tym kierunku są na bardzo wczesnym poziomie, ale na ten moment mamy już część pomysłów i ustaleń które możemy wam zdradzić.

Po pierwsze chcemy przywrócić znane z pierwszej odsłony Nelderim modyfikowanie szybkości gainów w zależności od regionu w którym się znajdujemy, czyli w domach będzie najwolniej, w miastach troche szybciej, w terenach niesprecyzowanych będzie obowiązywać bazowy współczynnik przyrostów umiejętności, natomiast w podziemiach, gdzie jest najniebezpieczniej, postacie będą trenować najszybciej. Chcemy zachęcić takim podejściem graczy do trenowania umiejętności podczas normalnej rozgrywki, i tym samym zniechęcić do wytrenowania postaci w pełni w domowym zaciszu.

Drugą kwestią jest to, że chcemy w miarę możliwości ujednolicić czas potrzebny na wytrenowanie każdej umiejętności i zrobić to w usystematyzowany sposób. Do tej pory współczynniki dla poszczególnych umiejętności były ustalane raczej na oko i korygowane zgodnie ze spostrzeżeniami ekipy oraz graczy. Dla każdej istniejącej umiejętności, których na chwilę obecną jest 58, chcemy ustalić optymalny sposób treningu, biorąc pod uwagę przeróżne czynniki i na tej podstawie liczyć estymaty czasu wymaganego na osiągnięcie żądanej wartości umiejętności, co posłuży nam do ustalenia współczynników gainów dla umiejętności. Miłym efektem ubocznym tego przedsięwzięcia będzie komenda dostępna dla graczy, która obliczy szacunkowy czas jaki będzie potrzebny, żeby wytrenować daną umiejętność na żądany poziom (zakładając, że sposób treningu umiejętności jest zgodny z naszym sposobem treningu :))

Ciekawym dodatkiem, który planujemy wykorzystać, jest istniejący na oryginalnym systemie UO system gwarantowanych gainow Guaranteed Gain System. System ten w skrócie gwarantuje gain dla postaci, jeżeli od ostatniego gainu minęło odpowiednio dużo czasu. Powinno to ułatwić graczom, którzy grają rzadziej, szybciej osiągnąć żądany poziom umiejętności.

To tylko garść aspektów, które wpływają na system gainów, ale wiemy że chcemy mieć je na trzeciej odsłonie Nelderim. Wszystko to jest jak na razie w powijakach, część rzeczy jest w ogóle nie sprecyzowana, część jest ustalona ogólnikowo, a jeszcze inne aspekty są w ogóle nie ruszone, nie wiemy jeszcze o ich istnieniu, albo zwyczajnie chwilowo wypadły nam z głowy. W każdym razie na pewno jest to ogrom pracy i jak zawsze, zachęcamy was mocno do wyrażania swojej opinii oraz dawania nam sugestii na serwerze Discord, bo wiemy, że nieprzemyślane decyzje oraz przeoczenia potrafią wywoływać u graczy negatywne emocje.

Co nowego przynosi ServUO

Zgodnie z tradycją, dzielimy się z wami porcją nowości, które daje nam migracja na ServUO.

Nowe okręty

Dodatek High Seas, który wyszedł w roku 2010 wprowadził zmiany w topornym systemie pływania oraz umożliwił korzystanie z wielkich galeonów.

Kluczową zmianą jest pływanie za pomocą użycia myszy. (Więcej info TUTAJ). Aby móc pływać galeonem za pomocą myszki, wystarczy 2x kliknąć na ster (zaznaczony na czerwono). Dodatkowo, galeony, w odróżnieniu od zwykłych łodzi, mają możliwość zainstalowania dział, które, między innymi można wykonać przy wykorzystaniu kombinacji kilku umiejętności rzemieślniczych. Każdy z galeonów ma miejsca na zainstalowanie dział (zaznaczone na pomarańczowo).

Na ten statek dostajemy się poprzez 2x klik na linę, które można zauważyć na screenie.

Samo pływanie wygląda też inaczej. Dzięki ServUO oraz clientowi ClassicUO możemy widzieć jak nasz statek płynie… płynnie 😉 (smooth sailing).

Również ładownośc galeonów jest znacznie większa, niż ładowność klasycznych łodzi. Np. ten, którym pływaliśmy w trakcie testów ma ładowność 28 000 kamieni.

Więcej info o typach galeonów i ich specyfikacji znajdziecie TUTAJ.

Kolejną różnicą między zwykłymi statkami, a galeonami jest fakt, iż są one jak domki. Mają runę zamiast klucza, na którą można się teleportować. Można zarządzać również ich zabezpieczeniami, zabronić wstępu, pozwolić obsługiwać statek, itd. (Więcej info TUTAJ).

Możemy wyrzucić również użytkowników z naszego statku

Jak wcześniej wspomnieliśmy, mamy dostęp do armat, więc jakoś trzeba z nich strzelać. Na Nelderim mieliśmy już dość uproszczony system oblężenia z wykorzystaniem armat, jednakże, statki korzystają z zupełnie innych, odświeżonych armat z własnym gumpem. Armaty ładujemy amunicją oraz prochem. Do tego trzeba mieć wycior oraz pochodnię. Większość z tych rzeczy można stworzyć.

Obrażenia zadawane statkiem wyrażane są nawet w tysiącach. Tutaj kaczy zadał 5000 obrażeń wrogiemu okrętowi. (Więcej info TUTAJ).

Zadane obrażenia powodują uszkodzenia statku, które należy naprawić wykorzystując powszechnie dostępne materiały (drewno, materiał). Jeśli tego nie zrobimy, nasz statek będzie nieco wolniejszy. Więcej info TUTAJ.

Podsumowanie

Kończąc już dzisiejszy wpis, ostatnie dwa tygodnie zaawocowały dużą ilością testów nowych fragmentów gry, planowaniem dalszej koncepcji, naprawianiem błędów oraz tworzeniem nowych narzędzi, które w przyszłości wspomogą nas w symulowaniu pewnych aspektów, dzięki czemu będziemy mogli dokładniej zbalansować wiele kwestii. Więcej informacji o tym już za dwa tygodnie, więc wyczekujcie i przyłączajcie się do dyskusji oraz propozycji na naszym kanale Discord.

Read More

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!

Read More