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ć.