piątek, 3 kwietnia 2015

Dziennik modułoroba, p. 2

Mimo że jestem jedyną osobą na świecie, którą to obchodzi, zamieszczam zapiski z kolejnych kliku dni spędzonych na tworzeniu modułu do Neverwinter Nights.
Because I goddamn can.



Dzień 10:

Praca z Poligonem. Ale po kolei.
Najpierw uświadomiłem sobie, że jakiś psychotyczny gracz może wpaść na pomysł, że nie pogada ze strażnikiem, który ma umożliwić ucieczkę z więzienia. Co wtedy? Postać będzie stała w miejscu jak kołek, przez wieczność (a przynajmniej tak długo, psychotycznemu graczowi się nie znudzi. Albo jego komputer nie stanie w płomieniach).
Musiałem napisać skrypt, który sprawdza datę. Gdy wybija północ, czyli w jakieś osiem minut po rozpoczęciu gry - po naszą PC przychodzą smutni panowie z bezpieki i torturują na śmierć. (Oczywiście, przychodzą tylko w formie werbalnej, czyli w dialogu wewnętrznym - szkoda tracić czas na spawnowanie NPCów, których i tak żaden zdrowy na umyśle gracz NIGDY nie zobaczy. Dialog też jest króciutki i bez szczegółowych opisów - znowu, prawie nikt go nigdy nie przeczyta, więc szkoda czasu na więcej. Ważne jest to, że koniec tego dialogu oznacza zakończenie modułu, podobnie jak w przypadku próby grania facetem).
To sprowadziło mnie do następnego problemu - temu dialogowi też musi towarzyszyć ściemnienie ekranu (tak, jak podczas seksu). Jak wspominałem wcześniej, ściemnienie to nie kłopot, ale potem trzeba znowu włączyć światło. Ten skrypt, który miałem, miał drobny problem, który kiedyś mógł okazać się potężnym problemem. Więc musiałem wykombinować, jak zmusić program do usunięcia z postaci tylko efektów wizualnych, nie ruszając ewentualnych buffów, klątw i chorób.
Dzięki likwidującemu ekwipunek postaci skryptowi z pewnego tutoriala, udało mi się zrozumieć, jaką strukturę musi mieć pożądany skrypt. W końcu napisałem taki, który wydaje się działać prawidłowo.

Zaczynam rozumieć, dlaczego programiści zarabiają tyle pieniędzy. I dlaczego software nie zawsze działa tak, jak powinien...

-------------------

Dzień 11:

Pracowity (i długi) dzień.
Najpierw na Poligonie opracowałem skrypt, dzięki któremu PC i pomagający jej w ucieczce strażnik znikną z więzienia i pojawią się w innym obszarze - znaczy, uciekną z paki. Brzmi o wiele krócej, niż trwało w rzeczywistości.

Następnie w Revolution Calling wyreżyserowałem dialog (zawierający werbalny seks) między PC a strażnikiem. Wyreżyserowałem, nie napisałem - czyli "tylko" stworzyłem wszystkie "node'y" w konwersacji, w każdym zostawiając krótką notatkę po polsku, jaka treść się ma w nim wyświetlać, i dołączyłem odpowiednie skrypty (na zgaszenie światła, zapalenie, na wyteleportowanie do następnej sceny/obszaru, no i skrypt decydujący losowo, czy PC ma orgazm, i następny, zliczający orgazmy i na tej podstawie ustalający libido PC. Naprawdę, marnuję swoje talenty nie pracując w pornobiznesie). Później przysiądę do tego i napiszę pełną, opisową treść po angielsku.

Stworzyłem też małą, leśną polanę, na którą ucieka nasz duet. Napisałem krótki skrypt i dialog, żeby psychotyczny gracz, próbujący wrócić do miasteczka, usłyszał od PC, że to zły pomysł i nic z tego. Mordowałem się długo z tym, żeby zmusić NPC, aby po tym, jak się spawnuje w obszarze razem z PC, zaczął z nią dialog. Następnie napisałem skrypt odsyłający NPCa do wszystkich diabłów. Po tym, jak strażnik sobie idzie, a PC zostaje sama w ciemnym lesie, zaczyna kolejny dialog wewnętrzny.

--------------------

Dzień 12:

Dialog ze strażnikiem napisany - próbowałem iść bardziej w stronę erotyki, ale skończyło się na zwykłym porno. Szczerze mówiąc - to może i dobry chwyt. Zwykłych modułów z przygodami wszelakimi jest na NWN Vault od groma, takich dla dorosłych - kilka, może kilkanaście. Przynajmniej rynek nie jest nasycony...

Wyszedł problem z moim "genialnym" skryptem, który po dotarciu PC i strażnika na polanę, miał inicjować dialog między nimi. Otóż skrypt raz działa, raz nie. Zawsze śmiałem się z informatyków, którzy po tym, jak melduje się im problem z programem, natychmiast odpowiadają "wczoraj działało". Teraz też mogę tak powiedzieć.

Mnóstwo czasu poświęcone na próby, eksperymenty w Poligonie, uruchamianie gry i ładowanie na przemian modów... I jasne jest jedno: w Poligonie taki sam skrypt działa, w Revolution Calling czasem tak, czasem nie.

Na szczęście zauważyłem jeden detal - kiedy dialog się zaczyna, w chat-logu pierwsza kwestia wyświetla się dwa razy.
Krótko mówiąc, chyba skrypt odpala dwa razy - raz dla PC i raz dla NPC. Najwyraźniej czasem takie podwójne odpalenie nie przeszkadza, a czasem dialog się nie odbywa.
Rozwiązanie jest proste - zmodyfikowałem skrypt, żeby odpalał tylko dla PC. Na razie działa, zobaczymy, czy jutro też tak będzie...

Poza tym stworzyłem następny leśny obszar, gdzie PC będzie mieć szansę pozbyć się więziennych ciuchów.

---------------

Dzień 13:

Na zrobionym wczoraj obszarze stoi szałas-leśniczówka. Dzisiaj stworzyłem jej wnętrze. I zajęło mi to cały roboczodzień... bo najpierw musiałem znaleźć taki tileset, żeby wnętrze w miarę pasowało do zewnętrza. I szczerze mówiąc nie znalazłem. Z zewnątrz chatka jest wykonana z desek. Od środka ma położony tynk na ścianach. Z zewnątrz ma wyraźny komin. W środku nie ma kominka - bo zwyczajnie nie ma na niego miejsca.
Niestety, taka specyfika NWN. Za to zresztą od początku tej gry nie lubiłem - jeśli chodzi o grafikę ten produkt zwyczajnie leży i kwiczy.
Może następny dzień będzie bardziej produktywny.

------------------

Dzień 14:

Kurwajegomaćpierdolonywdupęzajebany skrypt na odpalanie dialogu po ucieczce z więzienia dalej działa tylko wtedy, kiedy ma odpowiedni humor...
Muszę zająć się czymś innym, żeby nie zwariować.
OK, w szałasie umieściłem skrzynkę, w niej ciuchy i gorzałę (z myślą o następnej przeszkodzie na drodze PC), a samą skrzynkę zamknąłem tak, że tylko rogue ma szansę otworzyć. Inne klasy będą musiały wykazać się innymi zdolnościami, aby zmienić ciuchy i zdobyć wódzię (bądźmy szczerzy: PC innej klasy będzie musiała przespać się z właścicielem skrzynki. Albo poderżnąć mu gardło).

--------------------

Dzień 15:

Sprawiający problemy skrypt wygenerowałem w LSG (znaczy generatorze). Różni się od mojego dokładnie jedną funkcją... Zamiast "GetObjectByTag", mam teraz "GetNearestObjectByTag". I wygląda na to, że ta wersja działa.

Poza tym powstał kolejny obszar, tym razem duży, muszą na nim zmieścić się dwie możliwe ścieżki dla PC (przy czym jedna musi być wyraźnie taka, że PC nadkłada drogi), dwa patrole okupantów, zajazd i dyliżans. Uruchomiłem dwa Area Transitions.

-------------------

Dzień 16:

OK... ten nieszczęsny skrypt wpędziłby mnie w alkoholizm... gdybym już tu nie był.
Po bardzo starannym obadaniu problemu, wyciągnąłem następujące wnioski:
- wciąż nie wiem, co nie działa.
- objaw pojawia się, gdy uruchomię grę po resecie komputera i załaduję moda. Wtedy skrypt nie odpala.
- ale, kiedy następnie wyjdę z gry i uruchomię ją ponownie, znowu załaduję moduł... nagle skrypt działa prawidłowo.
- co podsuwa mi pomysł, że problem nie tkwi w module, ale w mojej kopii gry/moim laptopie.

Na razie wymyśliłem, jak obejść kłopot (skrypt już nie jest odpalany na wejściu do obszaru, tylko co sześć sekund na NPC, przy czym deklarując i modyfikując zmienne i ustawiwszy conditionale zmuszam go, aby pożądany dialog uruchamiał się tylko raz, wtedy, kiedy trzeba).
Tyle na dziś.

---------------------

Kilka tygodni temu, zanim zacząłem tworzenie modułu, wymyśliłem sobie, że będzie to ponura historyjka z motywami erotycznymi. Trochę się tej erotyki obawiałem - bo co będzie, jeśli to, co napiszę, będzie nudne albo żenujące, a nie erotyczne? Gdzieś po drodze strzelił mi w głowie jakiś hamulec i zboczyłem (Ha! Tania gra słów! Mógłbym się załapać do cholernego Teleexpresu!) w kierunku zwykłej pornografii.
Odkryłem, że bardzo łatwo przychodzi mi jej pisanie.
To zdumiewające - tyle lat pisałem najróżniejsze rzeczy, zwykle mniej, czasem bardziej udane, nigdy nie było w nich erotyki, zawsze z trudem walczyłem z moim mózgiem o każdy wyraz, czasem przez tydzień pracowałem nad jednym zdaniem opowiadania, które i tak skończyło w koszu... A tutaj piszę pornola i idzie gładziuteńko.
Teraz wygląda na to, że spod mojej klawiatury wyjdzie totalny porno-moduł.

I dobrze. Jeśli nikomu się nie spodoba, przynajmniej uczciwe będę mógł powiedzieć, że pisząc go świetnie się bawiłem i było to bardzo pouczające zajęcie.

Brak komentarzy:

Prześlij komentarz