Monthly Archives luty 2022

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!

Read More

Nelderim DevBlog #1

UWAGA, UWAGA, MIESZKAŃCY ZIEMI NELDERIM! Na rozkaz wielmożnego Namiestnika Tasandory – Soteriosa – oznajmia się co następuje…

O co chodzi?

Oficjalnie mamy przyjemność ogłosić, że rozpoczynamy serię codwutygodniowych raportów z tego co udało nam się dokonać. A zatem zaczynając od dzisiaj, w co drugi piątek, w godzinach wieczornych na naszej stronie będziemy udostępniać wpis, gdzie umieścimy postępy prac, nowości, ciekawostki i przeróżne inne informacje, które mogą was zainteresować. Postaramy się utrzymać nasz dziennik w formie przystępnej dla każdego, ale dodatkowo okraszonej bardziej technicznymi szczegółami dla bardziej dociekliwych.

Kolejne kroki w migracji na ServUO

Jak zapewne wiecie, od dłuższego czasu część naszych sił poświęcamy na odświeżenie serwera i przeniesienie naszego świata na silnik ServUO, gdyż wersja silnika na której obecnie działa Nelderim, ma już około 15 lat i nadeszła pora na powiew świeżości 🙂

Trochę ponad 2 tygodnie temu udało nam się zmobilizować w szeregach i rozpocząć kolejny etap migracji, a mianowicie wystartowaliśmy zamknięte testy wewnątrz ekipy! Dokładnie tak, migracja na ServUO to nie mit, a prace są zaawansowane na tyle, że jesteśmy w stanie “grać” bez większych problemów, ale po kolei.

ServUO daje nam ogromne możliwości:

  • Użycie najnowszego klienta ultimy, co oznacza sprawniejszą i bardziej rozbudowaną komunikację między klientem a serwerem oraz dostęp do nowych grafik i animacji
  • Silnik, który jest aktywnie rozwijany, czyli wprowadzanie nowości oraz poprawek na nasz serwer na bieżąco
  • Społeczność ServUO, która dostarcza ogrom gotowych skryptów, grafik oraz inspiracji, a także wsparcie jeżeli szukamy rozwiązania problemu lub opinii
  • Projekt jest technologicznie “na czasie” 🙂
Smoczy żółw

Co już mamy:

  • Cały nasz kod jest dostosowany do silnika i się kompiluje
  • 99,9% świata wczytuje się ( reszta to mało znaczące szczegóły)
  • Rasy są zaimplementowane
  • Korzystamy ze sztucznej inteligencji potworów dostarczanej razem z ServUO, ale przenieśliśmy nasze zmiany powodujące, że każdy potwór potrafi być wyzwaniem
  • System Loot został został przepisany, na bardzo podobny, ale dużo “czystszy” i łatwiejszy w dostosowywaniu
  • System “trudności” potworów, na którym bazuje system Loot otrzymał kilka poprawek i bierze pod uwagę niektóre nowości dostępne w ServUO
  • Znaczna część nazw, tekstów i komunikatów została przetłumaczona (niestety wszystkie tłumaczenia musimy przenosić ręcznie )
  • Spora część naszych skryptów już działa, albo wymaga tylko aktywacji
  • Okazało się, że część rzeczy które chcieliśmy zrobić na obecnym silniku, jest już dodane albo poprawione na ServUO

Pierwszy próby testów

Zaczęło się od uruchomienia skromnej maszyny, specjalnie na testy. Już w tej kwestii szykują się duże zmiany, szczególnie dla nas, ponieważ Nelderim będzie działać na systemie Linux. Głównymi powodami jest to, że ServUO posiada oficjalne wsparcie dla systemów Linux, koszty licencji na system Windows Server potrafią być wyższe niż koszty samego sprzętu oraz to że w odpowiednich rękach Linux daje nam większe możliwości.

Pierwsza próba okazała się totalna porażką i nie udało nam się nawet wystartować serwera. Okazało się, że po dłuższej przerwie w pracach, niektóre części kodu się nie kompilują, a gdy to zostało rozwiązane zostaliśmy przywitani wieloma błędami przy próbie załadowania świata na nowy silnik. Nie zatrzymało nas to, bo mamy już dość pokaźne doświadczenie z takimi przypadkami, ale trzeba było przesunąć sesję testów na inny dzień i uporać się z problemami w międzyczasie.

Nadszedł dzień kolejnych testów, entuzjazm w ekipie był na wysokim poziomie po ówczesnych doniesieniach, że “serwer wstaje” i “można się łączyć”. Niestety szybko zderzyliśmy się z rzeczywistością, gdy okazało się, że rzeczywiście można się łączyć, a nawet poruszać, ale nie widać ani innych graczy ani żadnych istot. Tym razem problemem okazały się niepoprawnie przygotowane pliki z mapą.

Istoty zapadnięte pod ziemię

Gdy już zaczęliśmy widzieć nasze postacie nawzajem oraz otaczające nas istoty, okazało się, że testowa maszyna jest zbyt słaba i rozgrywka jest praktycznie niemożliwa ze względu na ogromne opóźnienia. Winne temu okazały się karawany oraz miejskie patrole, które zostały wyłączone, dopóki nie zostaną przepisane na nowy sposób, dużo mniej obciążający serwer.

Do czterech razy sztuka, nadszedł kolejny dzień testów, udało nam się połączyć, widzimy siebie, widzimy świat dookoła nas, ping jest stale “zielony”, zapowiada się świetnie, idziemy na PvM!

Ciekawsze przypadki z testów

Jednym z problemów, który doskwierał nam podczas pierwszych testów, był fakt, iż przy każdej zmianie statystyk (obniżeniu przez czar, lub podwyższeniu przez mikstury) postać zrzucała z siebie wszystko do plecaka. Po długiej analizie okazało się, że problem jest w kodzie dostarczanym przez zespół ServUO, i został już rozwiązany.

Kolejną niedogodnością były moby, które czasami potrafiły być zupełnie niewidoczne dla niektórych graczy, ale cały czas poruszały się i atakowały każdego na swojej drodze, niezależnie czy je widział czy nie. W tym przypadku poprawka również została przygotowana przez zespół ServUO.

Początkowo z powodu niepoprawnego znaku w jednej z formuł, przedmioty w każdym potworze były porównywalne z tymi które aktualnie możecie znaleźć w zwłokach najpotężniejszych władców podziemi, i również zostało to błyskawicznie poprawione

W trakcie testów doskwierały nam też nieregularne crashe klienta ClassicUO. Problemem okazał się system pór roku i został dezaktywowany. Problem ten zostanie rozwiązany w przyszłości, jak uporamy się z ważniejszymi kwestiami

Po drodze spotkaliśmy też kilka mniejszych problemów takich jak nieprzetłumaczone nazwy, potwory bez imienia, nieruchome potwory( problem z AI ), agresywne ropuchy, teleporty prowadzące w nicość, tasandora w płomieniach i wyłożona czaszkami ( wymagana podmiana grafik ).

Tasandora w płomieniach

Pomimo wszystkich tych niedogodności udało nam się odbyć wyprawę do Garth i pokonać demona znajdującego się na końcu pierwszego poziomu podziemia, co uzmysłowiło nam, że czeka nasz jeszcze troche pracy nad balansem w systemie Loot.

Co dalej?

Przez ostatnie dwa tygodnie poświęciliśmy bardzo dużo czasu, ale udowodniło nam to, że nasza praca do tej pory nie poszła na marne i że Nelderim na nowym silniku jest coraz bliżej. Mamy działający serwer, który jeszcze nie jest gotowy na graczy, ale jest wystarczający, żeby testować czy wszystko z naszym światem jest w porządku. Przed nami wciąż długa droga do końca migracji, ale już teraz możemy wam zdradzić, że przygotowujemy się do udostępnienia wam możliwości śledzenia na bieżąco postępów w pracach nad ServUO, a także planujemy testy dla ograniczonej grupy graczy, jak większość pracy będzie zrobiona.

I to by było na tyle, za dwa tygodnie możecie spodziewać się kolejnej dawki opowieści z naszych walk z serwerem, świeżych informacji o postępach w migracji oraz garść informacji z tego co będzie dla was przygotowane jak tylko Nelderim na ServUO będzie gotowe.

Dajcie znać czy taki format wam się podoba i co możemy poprawić.

Read More