Monthly Archives sierpień 2023

Nelderim DevBlog #38

Uff, jak gorąco.

Ostatnie upały ostro dały nam się we znaki, a ulewy z piorunami nie zachęcały do siedzenia przy włączonym komputerze.

Jednakże nie powstrzymało nas to przed dowiezieniem DevBloga z tylko malutką obsuwą, niezależną z resztą od pogody 🙂

CentrED#

Mamy nadzieję, że temat nowego edytora map wam się jeszcze nie przejadł 😀

Pierwszym wyzwaniem ostatnich dwóch tygodni było zaimplementowanie możliwości zaznaczania poszczególnych obiektów na mapie za pomocą myszy i jak się przekonaliśmy, nie jest to takie proste zadanie.

Na samym początku należało w ogóle zapoznać się z tematem i poznać istniejące rozwiązania, aby nie wymyślać koła na nowo.

Po dość obszernym googlowaniu, udało się wyodrębnić dwie metody, które potencjalnie pasowałyby do naszego edytora:

  1. Mouse Picking with Ray Casting
  2. Framebuffer 3D Color Picking

Na pierwszy rzut oka, pierwsza metoda wydawała się prostsza, jednakże po wstępnym eksperymencie, okazało się że wykrywanie przezroczystości w grafikach będzie wymagało zdecydowanie zbyt wiele pracy i ta metoda, raczej sprawdziła by się w pełni trójwymiarowej aplikacji z pełnoprawnymi modelami 3D.

Druga metoda posiada tą przewagę, że dużo obliczeń jest wykonywane przez kartę graficzną i wiele problemów najzwyczajniej rozwiązuje sie samo, jednakże nie udało się znaleźć żadnego pełnego przykładu użycia tej metody z naszym językiem programowania i frameworkiem graficznym.

W praktyce, metoda ta okazała się być banalnie proste w implementacji i po dosłownie kilku iteracjach udało nam się osiągnąć sukces 🙂

Poniżej możecie zobaczyć jak “wygląda” zastosowanie takiej metody. 🙂

Kolor kodowanie poszczególnych grafik w osobnym buforze graficznym, bez obsługi przezroczystości.
Prawie kompletny obraz, z obsługą przezroczystości oraz poprawnym formatem kolorów, teraz już chyba poznajecie co to za miejsce 🙂

Teraz wystarczy tylko odczytać kolor pixela pod kursorem, odkodować z tego numer obiektu i gotowe.

Proste, prawda? 🙂

Mając zaimplementowaną obsługę myszy, szybko przydrutowaliśmy tu i tam i w efekcie udało nam się wykonać pierwsze edycje w postaci podmiany grafiki kilku obiektów 🙂

Widzicie co się zmieniło?

Przy okazji bardzo proste okazało się dodanie możliwości zmiany rozmiaru okna i nie jesteśmy już teraz limitowani do zaledwie 1024×900 pikseli 😀

Po uzyskaniu kilku punktów umiejętności w renderowanie do przeróżnych buforów graficznych, okazało się, że bardzo proste jest renderowanie obrazu w dowolnej rozdzielczości prosto do pliku!

Tak więc możecie zobaczyć na własne oczy tasandorę w rozdzielczości 16K, tylko uwaga, ponieważ zajmuje to bagatela 300MB.

TASANDORA_16K.jpg

Jeżeli macie wrażenie, że może się to bardzo przydać do tworzenia map użytych na naszej stronie www, to macie rację i na pewno skorzystamy z takiej możliwości 🙂

Następnym krokiem było stworzenie prototypów pierwszy narzędzi edytora, aby zobaczyć z czym to się je i czy komunikacja z serwerem na pewno działa ( oczywiście nie działała ) i powstały bardzo prymitywne, aczkolwiek użyteczne narzędzia do kolorowania obiektów i zmiany wysokości obiektów.

Proste testy tychże narzędzi wykazały, że architektura klienta nie ma prawa działać i należało ją dość mocno zmienić, żeby miało to ręce i nogi.

W międzyczasie poprawiania klienta, udało się również stworzyć pierwszą, już funkcjonalną iterację okienka logowania do serwera, a także wspaniałą funkcję startowania lokalnego serwera z poziomu klienta.

Ostatecznie udało nam się wyprostować sytuację nowego klienta, a naszym następnym celem jest zaimplementowanie pierwszego zestawu narzędzi edytora, a pierwsze efekty prezentują się następująco

Ostatnie podziały:

Jak ostatnio informowaliśmy, jesteśmy na końcówce podziału dungeonów na podregiony. Z racji dość obłożonego grafiku naszych ekipantów, udało się jedynie podzielić jeden kolejny Dungeon – Leże Lodowych Smoków.

Do podziału został jeszcze Gorogon, potem tylko wpięcie wszystkiego w spawnery i system jest gotowy pod gradację mobów na ServUO 🙂

Powyżej przykład istniejącego już spawnera, który jest wpisany w jeden z regionów. Później będziemy mogli w pliku XML nadać intensywność danego poziomu moba w danej puli regionu.

Co nowego przynosi ServUO

Dzisiejszy wpis o ServUO ucieszy w szczególności Drowy. Mamy do zaprezentowania nowego bossa – pająka: Navrey (nazwa robocza: Navrey Nocne-Oko), która znajduje się w OSIowym dungeonie Underworld.

Jest podatna na typy zabójców Arachnidów i Pająków. Posiada potężne zaklęcia, potężne ataki wręcz oraz zdolność paraliżowania postaci za pomocą rzuconych sieci.

(fragment przetłumaczony z oryginalnego artykułu z uoguide – informacje mogą różnić się od tego co finalnie zastaniecie na servuo)

Powszechnie uważa się, że jest to możliwe, ale trudne, aby gracze mogli ją zabić samodzielnie. Niektóre dialogi (z questa, który można wziąć od goblina w dungu) sugerują, że efektywnie rządzi jednym z plemion Goblinów znalezionych w Podziemiach. Można ją znaleźć w Leżu Navrey Night-Eyes, do którego można się dostać przez teleporter na 57° N, 17° W, wewnątrz dungeonu Underworld.

Kiedy postać zostanie sparaliżowana jej rzuconą siecią, może uciec, zakładając i zdejmując Kamienne Buty (Artefakt z dodatku SA). Mikstury niewidzialności również działają, gdy jesteśmy w sieci, ale nie pomogą, gdy rzuci na nas zaklęcie “Reveal”.

Podsumowanie

Jak widać, prace cały czas trwają i pewnie jeszcze trochę potrwają, ale systematyczność i upór z pewnością doprowadzą nas do końca migracji 🙂

Do następnego!

Read More

Zmiany i poprawki

  • dodanie do górniczego autoquesta parametru, który powoduje, iż można go zrobić raz na 24h
  • dodanie wpisu o w.w. zmianie na WWW
  • podpięcie spawnerów w dungu z Szeolem pod nowe regiony
  • podpięcie spawnerów w Garth pod nowe regiony
  • usunięcie błędnie wpisanego czaru Wir Śmierci, który pojawiał się czarach Barda w LootPack
  • dodano brakujący wpis w kodzie Starożytnego Żuka Runicznego, który powodował brak artefaktów
  • poprawki w mapie (by anik)
  • aktualizacja spisu artefaktów z map w sezonie letnim na WWW
  • podział Leża Ognistych Smokow na nowe podregiony i wpięcie ich w drop pieczęci Skrzyni Chaosu
  • podział Loen Torech na regiony pod system gradacji mobów na ServUO
Read More

Nelderim DevBlog #37

Witamy serdecznie w pierwszym DevBlogu po pierwszym oficjalnym zlocie tej edycji Nelderim 🙂

Świetnie się bawiliśmy, ale mimo wszystko nie zwalniamy tempa i przychodzimy do was z kolejną porcją nowości i postępów!

Dalsze prace nad CentrEDem

Przez ostatnie dwa tygodnie lwia część naszego wolnego czasu została zainwestowana w rozwój nowego CentrEDa.

Udało się znacząco zoptymalizować renderer i na sensownym zbliżeniu wszystko działa bardzo płynnie, pomimo, że wciąż jest jeszcze bardzo duże pole do dalszej optymalizacji.

Wyeliminowaliśmy też problem migoczących obiektów, który fachowo nazywa się Z-fighting, a także problem niektórych obiektów przenikających przez teren.

Potwierdziliśmy również że komunikacja z serwerem w czasie rzeczywistym działa i edycje wykonane przez innych użytkowników widoczne są w aplikacji.

Przeprowadziliśmy pierwsze próby interfejsu graficznego i zapowiada się obiecująco.

Udało nam się również nareszcie wprowadzić obsługę kolorów Ultimy i świat prezentuję się dokładnie tak jak powinien 🙂

Osiagnęliśmy chyba wszystko jeżeli chodzi o zoom 🙂
Nareszcie udało się wprowadzić obsługę kolorów + prototypowy interfejs

Poniżej możecie również znaleźć kilka krótkich nagrań z postępów

Testowanie współczynnika wysokości
Pierwsze wizualne potwierdzenie komunikacji z serwerem

Jak widać, postęp jest dość spory i możliwe, że już niedługo uda się zrobić pierwsze edycje nowym edytorem 🙂

Dalsze podziały

Jak już wiecie, od długiego czasu staramy się po trochu dzielić obecnie istniejące dungeony, na mniejsze części, które mają posłużyć, jako podsystem wspomagający segregację mobów na poziomy oraz zwiększenie trudności na ostatnich poziomach lochów, ale przede wszystkim, umożliwienie każdej postaci, niezależnie od poziomu wytrenowania, na wejście do każdego dungeonu i dojście do pewnego etapu.

Proces podziału został prawie zakończony. Zostały jeszcze 2 dungeony do podzielenia.

Choć system obecnie nie jest doskonały, to chcielibyśmy, abyście mieli z tyłu głowy, iż to tylko sposób, który ma przysłużyć się większemu systemowi, który został zaprojektowany przez kaczego i opisany w jednym z pierwszych DevBlogów, i może zostać dopracowany, gdy ten system wejdzie w życie.

Co nowego przynosi ServUO

W poprzednim DevBlogu pisaliśmy o Oczarowywaniu Węży, a to dlatego, że ta mechanika jest wykorzystywana, by dostać się do nowego bossa – Meduzy.

Meduza to potężny przeciwnik, którego można znaleźć w jej kryjówce w lochu Stygian Abyss. Aby uzyskać dostęp do Kryjówki Meduzy, należy umieścić cztery Rzadkie Jaja Węża na ołtarzu niedaleko wejścia do jej kryjówki. Rzadkie Jaja Węża można zdobyć bezpośrednio z Gniazd Węży lub za pomocą Fletu Zaklinacza Węży.

Aby dostać się do Meduzy, w oryginalnej wersji gry, trzeba przebyć cały loch. Istnieje kilka dróg.

Tamerzy oraz postaci z przywołańcami mogą ją pokonać, ale ich zwierzęta/przywołańce będą często przekształcane w kamień i kopiowane. Zawsze należy jak najszybciej zabić kopię. Owe kopie będą nas atakować.

Dodatkowo, w lochu Meduzy można znaleźć wiele skamieniałych potworów, które w trakcie walki z bossem są “odmrażane”. Potwory będą nas atakować.

Przykład walki z tym bossem z innego serwera:

Podsumowanie

Ostatnio nasza uwaga jest skierowana trochę bardziej w kierunku około serwerowym, niż bezpośrednio w stronę migracji, ale zapewniamy, że jest to tylko przejściowe i już niedługo pasek postępu zacznie znowu się zapełniać 🙂

My wracamy do roboty, a was zapraszamy z powrotem za kolejne dwa tygodnie 🙂

Do następnego!

Read More