image ©Maxim Nikolaev
Cotygodnik. 2012-08-26 - sir_herrbatka

Niestety nowe wydanie wciąż nie jest dostępne między innymi z powodu opóźnionej tar-kulki dla Linux, ale bez obaw — w przyszłym tygodniu powinno się już udać. Z drugiej strony w sama porę powrócił do nas WeirdSexy, spiker gawędzący w kultowych już filmikach prezentujących nowe wersje OpenMW. Dopiero teraz mogliśmy uświadomić sobie, jak niezbędna jest to osoba — oczywiście zdawaliśmy sobie sprawę z zasięgu klipów na youtube ale czyj głos może zagwarantować status internetowego hitu? K1ll ze swym pełnokrwistym niemieckim akcentem, ap0 wcielając się w rolę francuskiego kochanka czy też może skusilibyśmy się na Prawdziwy Norweski Black Metalowy Growl w wykonaniu Rebel-Raider?

Na szczęście los oszczędził nam tego dylematu.

Eli2 nieprzerwanie od niepamiętnych już czasów pracuje nad edytorem ale swą drogą kroczy w pojedynkę — ciężar wysiłku spoczywa na tylko jego barkach, więc brnie powoli… Kod edytora wciąż nie dojrzał do stanu w którym więcej osób mogłoby przy nim dłubać ale sam programista stwierdził, że nie obraziłby się gdyby znawca Qt4 przynajmniej dokładnie przejrzał aplikację i udzielił wskazówek. Czyta nas może jakiś rasowy Qt-hacker?

Nasze demo (znane także jako „Example Suite” — nazwa godna Monthy Pythona) rozwija się nadspodziewanie dobrze. Greendogo uzyskał pozwolenie na wykorzystanie wysokiej jakości zasobów autorstwa Vurt (drzewa) oraz Westly (rasy). Nasza malutka TC może ostatecznie okazać się przydatna głównie z racji na modele w swoim archiwum i jednoczesnym dostępie za darmo: dzięki temu będzie mogła stanowić podstawę do budowy gier dla autorów którzy chcieliby całkowicie odciąć się od wymogu instalacji Morrowind na dysku.

Oczywiście mógłbym także napisać o głębi portretów psychologicznych postaci, przemyślanej historii pełnej zaskakujących zwrotów akcji oraz innych walorach naszej produkcji ale nie chcę was okłamywać. W rzeczywistości Example Suite to pod względem fabularnym dzieło klasy B lub C.

Część z was na pewno zainteresuje ostatni pomysł Lgro: serwer jenkins automatycznie budujący paczki z OpenMW Nightly. Dzięki nim będziecie mogli być testować nowinki dopiero co dodane do gałęzi main bez konieczności własnoręcznego kompilowania.

To tyle. Szkoda, że nie udało się zorganizować wydania na czas — żal mi szczególnie bo bardzo chciałbym podzielić się z wami planami na najbliższą przyszłość które to, zapewniam was, prezentują się wyjątkowo spektakularnie.

… i stało się tak, że Zini zakończył refaktoryzację mw-subsystems nawet pomimo przesiadki z Ubuntu na Mint. Spokój wobec wstrząsu jakie wywołać może tylko nagła zmiana codziennie widzianych kolorów (wyobraźcie sobie tylko, że trawa na stepie ciągnącym się po horyzont staje się pomarańczowa) najlepiej świadczy o poziomie kwalifikacji naszego lidera. Zakładam, że interesują was te szczegóły — bo jakże mogłoby być inaczej, ale najważniejsze, iż nowe wydanie jest już blisko. Bardzo blisko, bo w fazie RC.

Ostatnie zadanie przypadło w udziale Greye. Jak już wspominałem pracował nad zadaniem „Player Controls” które z wielu istotnych powodów jest wręcz fundamentalne dla przyszłych wydań. Ponadto już w 0.17.0 będziecie mogli zobaczyć postać bohatera — jest już renderowana, a ponadto pojawił się tryb widoku z za pleców oraz widok „postojowy”.

Nie przecinamy wstęgi i nie urządzamy imprezy z okazji nowej, niebywale wspaniałej, niewątpliwie najlepszej od czasów poprzedniej wersji OpenMW bo wciąż ogrom prac przed nami. Nie ma powodu by zatrzymywać się bo skutkować może to tylko utratą tempa.

Scrawl oczywiście to rozumie, a ponieważ input system łasił się już od jakiegoś czasu to poszedł na pierwszy ogień. Dzięki przepisaniu tej części kodu oraz dodatkowemu wysiłkowi włożonemu w GUI można już ustawić czułość myszy.

Z pewnością wiecie, że w ustawieniach Morrowind można sprecyzować czułość myszy w osi pionowej i poziomej, mam jednak szczerą nadzieję, że rozstanie z dwoma suwakami nie będzie wymagało krzyków, płaczu oraz innych objawów Czarnej Rozpaczy bo sens tego rozdziału wymyka się naszemu pojmowaniu. W związku z powyższym: jeśli wystąpią okoliczności (których wyobrazić sobie nie potrafimy) wymagające dostosowania reakcji myszy w sposób aż tak zawiły, jedynym sposobem pozostaje edycja pliku z konfiguracją.

Gdy teraz o tym myślę wydaje mi się, że ciekawie byłoby spróbować ustawić czułość w poziomie wyższą niż w pionie, bo w końcu łatwiej jest rozejrzeć się na boki niż zadrzeć głowę do góry.

Nowością są niezależne ustawienia czułości myszy dla GUI. Pamiętajcie tylko, że jeśli ustawicie ją na najniższą wartość możecie mieć „drobne” problemy z przesunięciem suwaka w prawo. Cierpliwość w takim wypadku będzie niezbędna.

Jhooks1 sprawił, że można już obrócić npc za pomocą instrukcji setangle. Dodatkowo naprawił animacje, które teraz są gładziutkie niczym futerko kota i w żadnym wypadku nie unoszą animowanej postaci w powietrze.

Eli2 spokojnie podąża swoją ścieżką. Edytor rozwija się doskonale, choć jak twierdzi sam programista jest to obecnie w większości jeden wielki hak (ale taki przez ck). Od wydania 1.0.0 oddziela nas jeszcze może 6 lub 8 numerków ale edytor byłby przydatny już teraz; CS trudno nazwać cudem techniki i wielu modderów z pewnością przesiadło się na coś wydajniejszego i bardziej ergonomicznego.

W gruncie rzeczy nas także można zaliczyć do grona modderów bo planujemy wypuszczenie dema prezentującego silnik, jednocześnie sprawiając trochę frajdy dla gracza ale to głupota i kto by właściwie chciał o tym czytać?

ble ble ble 2012-08-12 - sir_herrbatka

Nowe forum OpenMW ma dokładnie rok. Drobna rocznica, wagi rzec by się chciało piórkowej, ale jednak rocznica, a każde tego typu święto powinno być przede wszystkim okazją by wspomnieć minione wydarzenia.

Stare forum OpenMW przeżyło atak wandala, inwazję spambotów reklamujących ruskie porno, viagrę niewiadomego pochodzenia oraz inne produkty podobnego sortu, a na dodatek działało z szybkością otyłego ślimaka o słabym sercu. Ostatecznie admin porzucił projekt, do którego to wniosku doszliśmy po miesiącu naszych nieudanych prób kontaktu.

Lgro zawodowo nie jest administratorem, ale zapewniam was, że profesjonalizmu mu nie brakuje. Postawił nowe forum, przeniósł tematy ze starego forum do archiwum (ręcznie), a na dodatek odzyskał znaczną część wiki (która to padła znacznie wcześniej). Ostatecznie OpenMW zyskało nową domenę, nową stronę i wszystko działało jak w zegarku do czasu gdy serwery nie wytrzymały obciążenia po niesławnym artykule na slashdot. Lgro jednak rozwiązał i ten problem, tak, że teraz możemy śmiało powiedzieć: Lgro, jesteś wielki!

A stare forum… Obumarłe i suche niczym wylinka ale wciąż obecne w internecie z tego tylko powodu, że nie ma osoby która byłaby w stanie je ostatecznie zamknąć.

Wracając jednak do wydarzeń bieżących, bo to przecież one i tylko one stanowią krew odżywiającą wszelkie tkanki tego projektu — napędzają nasze marzenia i plany.

Ci spośród was którzy używają dystrybucji Gentoo wiedzą zapewne o istnieniu overlay autorstwa Edmondo, ale jeśli próbowaliście zainstalować ostatnio w ten sposób OpenMW najpewniej spotkało was rozczarowanie. Od kiedy (szeroko opisywany na łamach tego bloga) nowy system shaderów został włączony do głównej gałęzi powróciliśmy, przynajmniej tymczasowo, do submodułów git. Na szczęście Edmondo wciąż jest gotów służyć pomocą i poprawkami więc, overlay powinien znowu działać jak należy.

Eli2 kontynuuje prace nad edytorem: auto uzupełnianie zostało dodane, filtry mogą być także wczytywane z plików. Dodatkowo do zadania przyłączył się Lgro: zaczął od wprowadzenia kilku poprawek oraz umożliwienia wykorzystania innych kodowań znaków. Mam cichą nadzieję, że teraz edytor naprawdę wystartuje — nadzieję może i cichą ale jednak artykułowaną bo jak pokazują doświadczenia szczypta oczekiwań działa mobilizująco. ;-)

greye jest na półmetku zadania „player control”: na zaimplementowanie wciąż czekają węzły kamery, a tymczasem programista zajął się naprawianiem błędów w funkcji przekraczania granic obszaru.

Corristo naprawił Ogre3D dla OSX, dzięki czemu kursor menu pod tym systemem powinien poruszać się z jednakową prędkością niezależnie od liczby FPS.

Gus kontynuuje swoją pracę z poprzedniego tygodnia.

Scrawl tymczasem dodał podstawowe menu główne wyświetlane po naciśnięciu klawisza esc. Zawiera jedynie trzy przyciski: Return, Options, Quit.

Jhooks1 wprowadził nową metodę wykrywania kolizji o której pisałem tydzień temu także dla stworzeń.

Zini znowu refaktoryzuje kod, tym razem w mw-subsystem. Ktoś to MUSI robić.

Jeśli śledzicie OpenMW wystarczająco starannie obrazek taki jak ten może wydawać się znajomy. Otóż jak widać właśnie mergujemy wszystkie gotowe gałęzie co stanowi preludium do… tak! OpenMW 0.17.0. Co prawda nie wiele będzie nowych „gameplayowych” funkcji ale jednak wprowadziliśmy daleko idące usprawnienia w czeluściach silnika więc intensywna seria testów jest bardzo potrzebna, a każdy z was może nam pomóc raportując napotkane błędy.

Dzięki wykorzystaniu biblioteki shiny poszerzyliśmy zakres sprzętu na którym działa gra, nowe system animacji jest o wiele wydajniejszy niż stary.

Cóż, czy muszę jeszcze zachęcać?

To jest tytuł. 2012-08-05 - sir_herrbatka

Zjawisko „spelling nazi” zdaje się nasilać. Wnioskuję po fakcie iż wystarczy już tylko jeden mój post bez korekty by ktoś zwrócił uwagę na błędy w tekście. Takie sytuacje naturalnie ciążą w kierunku teorii spiskowych — umysł wyszukuje ukrytego zagrożenia by móc zmierzyć się z nim na otwartym polu bądź uciec jeśli przeciwnik jest zbyt potężny.

Ależ nie jestem paranoikiem! A przynajmniej nie większym niż ogół populacji ludzkiej być powinien. Powiem więcej: moje lęki mają nawet coś w rodzaju uzasadnienia bo powiedzcie: Któż może wiedzieć? Może powstała jakaś podziemna organizacja koordynująca działania Bojowników Przeciwko Lolcatom?

Do rzeczy.

Tydzień ponad wszelką wątpliwość można zaliczyć do tych bardziej udanych. Zacznijmy od prostej kontynuacji wątków z zeszłego tygodnia. Jak zapewne pamiętacie powszechne uniesienie wywołało zakończenie prac nad nowym, znacznie lepszym systemem animacji. Równocześnie oznaczało to, że Chris i jhooks1 nagle zostali bez przydzielonego zadania, ale, oczywiście nie na długo. Zini niemal natychmiast stwierdził, że „Tak być nie może.” w wyniku czego Chris zajął się implementacją „billboard nodes” zaś jhooks1 zainteresował się od dawna obecnym problem kolizji z npc.

Cały kłopot wynika ze sposobu w jaki obsługujemy kolizję z npc. W starym silniku stosuje się bardzo prostą sztuczkę: na użytek kolizji nie stosuje się samych modeli postaci, tylko kształty sfer tworzone wokół nich. Bardzo łatwo to dostrzec gdy postać zderza się ze ścianą: mimo, że wciąż zachowany jest pewien dystans od ściany postać nie jest w stanie iść dalej.

Jak do tej pory, owszem używaliśmy takiej kapsuły, ale jedynie na użytek postaci gracza. Konsekwencje są łatwe do dostrzeżenia, zbytnie zbliżenie się do npc często kończy się beznadziejnym utknięciem w miejscu.

Na szczęście to już za nami. Jhooks1 wprowadził kapsuły kolizji także dla npc.

Jak już wspomniałem Chris pracuje nad „billboard nodes”. Jestem pewien, że przynajmniej niektórzy spośród was, moi drodzy czytelnicy kojarzy przynajmniej „Billboard Trees” dodawane do świata Morrowind przez co po niektóre mody. Trzeba przyznać, że takie drzewa prezentują się wyśmienicie na tle rozległych krajobrazów wyspy, z całą pewnością o klasę wyżej od wszelkich modeli roślin stworzonych przez Bethesdę na użytek gry, należy jednak podkreślić, że technika jako taka ma szersze możliwości.

Na razie jesteśmy jedynie w fazie doświadczeń, i niestety zanosi się na to, że pozostaniemy w niej nie-wiadomo-jak-długo, bo Chris wciąż nie uzyskał zadowalających wyników.

Greye nadal sprawuje się świetnie. Zadanie związane z upuszczaniem przedmiotów zostało zakończone i teraz nastała pora na „player-control”. To bardzo istotne zagadnienie, jak do tej pory odgradzające nas nad wyraz skutecznie od wielu, a nawet bardzo wielu, funkcji składających się grę.

gus wrócił! I bardzo dobrze, że wrócił bo miał przed sobą inne poważne wyzwanie do ugryzienia. W nowo utworzonej gałęzi „Object_movement_creation” po pierwsze należy sprawić by obiekty inne niż postać gracza były w stanie przekraczać granice komórek, tak jak choćby skrzekacz w pościgu za swoją niechybną zagładą oraz, po drugie, wprowadzić komendy które umożliwiłyby przetestowanie punktu pierwszego. Jak na razie co prawda spełniono zamierzenia, ale brak jest testów które mogłyby to potwierdzić. Już wkrótce…

To zadanie również należy zaliczyć do grupy kluczowych i fundamentalnych, być może nawet w większy stopniu niż poprzednie.

Eli2 pracuje nad edytorem. I to nie tylko w tym tygodniu ale już od dawna, po prostu nie uważałem za stosowne o tym informować. Jak na razie GUI edytora ma charakter zdecydowanie prowizoryczny, a jednak już teraz, na tak wczesnym etapie prezentuje się wcale nieźle: filtry w oknie pozycji działają, wyświetlane są odpowiednie pozycje. Zapowiada się pogromca wysłużonego Construction Set.

Edytor jest nam potrzebny, bo w planach jest rozszerzenie możliwości w zakresie moddingu (przykładowo wiele exteriorów tak jak w Drżących Wyspach), a do tego trudno zabrać się na poważnie bez własnego formatu modów. By pracować z takim formatem niezbędne są odpowiednie narzędzia które, niestety, musimy stworzyć od podstaw.

O ironio wsparcie dla wielu esm oraz esp jest wciąż w bardzo wczesnej fazie, praktycznie bez żadnych postępów. Na szczęście Mark76 wrócił niedawno z Indii i zaprezentował nam stworzone przez niego testowe pluginy mające zademonstrować kłopotliwe kanty w jego implementacji. Czeka nas długa droga zanim ta konkretna funkcja zawita do stabilnego wydania OpenMW — to pewne.

Zini postanowił dodać dwie nowe opcje z którymi może zostać uruchomiony OpenMW, obie o przeznaczeniu czysto testowym.

  • Opcja „–script-console” udostępni dodatkowe, obecne jedynie w konsoli polecenia (jak na razie nie ma takich poleceń, ale będą tworzone w miarę potrzeb).
  • Opcja „–script-run” pozwala załadować z pliku i uruchomić wraz z OpenMW skrypt, bez potrzeby tworzenia moda.
  • Jakiś czas temu dołączył do nas nowy programista o nicku Sorcerer. Zajął się przenoszeniem ustawień z morrowind.ini do openmw.cfg. Importer już działa.

    Scrawl co prawda nie pracuje bezpośrednio nad OpenMW, ale usprawnia i wzbogaca swoją nową bibliotekę shiny z której korzystamy. W tym tygodniu dodał LOD material generator, co cieszy bo choć nie planujemy dodać LOD przed 1.0.0 na pewno z chęcią zobaczymy tą funkcję w wydaniach późniejszych.