Gry paragrafowe

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 29 października 2017, 01:58

Suriel napisał(a):

Czemu w tekscie jest zdanie '"pamietaj by wymazać z karty..." . Czy nie powinien robić tego automat?
Ależ oczywiście, że automat to robi :). A jak myślisz - skąd mechanizm wiedziałby, że postać nie ma już wody co powoduje większą stratę wytrzymałości - czyli drugi zrzut ekranowy? B)

Teksty paragrafów jeszcze nie są poprawione i jest to aktualnie najmniejszy problem. Uwierz, gorsze są te nagłe zmiany mechaniki per jakichś paragraf gdzie wszystko staje na głowie. Skutecznie utrudnia to ich obróbkę. W tej chwili dotarłem od pierwszego do 119 paragrafu, ale po drodze mam odznaczonych 19 :) paragrafów, które zachowują się w niestandardowy sposób np. dziwne zdarzenia w walce lub niestandardowy sposób zbierania przedmiotów.

Ale przynajmniej udaje mi się utrzymać tempo prac na akceptowalnym poziomie co nie zmienia faktu że do końca jeszcze sporo brakuje. Obiektywnie rzecz ujmując stopień zaawansowania prac oceniam na jakieś 25%.

Nie oszukując w najbliższym czasie przyda mi się pomoc w poprawieniu tekstu paragrafów po kątem Twojej uwagi - czyli zbędnej treści. I jeśli już ktoś byłby chętny to zrobić to musi być zwarty i gotowy wykonać zadanie możliwie szybko. Ew kilka osób, tak żeby każdy wziął na siebie np. po 50 paragrafów - obrobienie takiej ilości tekstu zajmie max 1-2h wieczorkiem.
Ostatnio zmieniony 29 października 2017, 02:07 przez ghasta, łącznie zmieniany 1 raz.

Awatar użytkownika
Suriel
Reactions:
Posty: 3733
Rejestracja: 19 września 2010, 22:20
Lokalizacja: Wawa
Has thanked: 87 times
Been thanked: 150 times

Post autor: Suriel » 29 października 2017, 08:53

Ok rozumiem. Jestem ciekawy efektu. Ciekawy skomplikowany silnik.
Jeżeli zabałaganione biurko jest oznaką zabałaganionego umysłu, oznaką czego jest puste biurko? Albert Einstein

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 30 października 2017, 00:57

Oj, jest skomplikowany, możesz mi wierzyć na słowo.

Poniżej przykład poziomu komplikacji:
W ramach paragrafu 32 mamy:
1. walkę z przeciwnikiem
2. podczas której otrzymujemy - na czas walki - ograniczenie do zdolności ataku i
3. jeśli walka trwa do 5 rund mamy wyjście A
4. jeśli walka trwa więcej niż 5 rund mamy wyjście B
5. jeśli przegrywamy mamy wyjście C

;-)
I, co najważniejsze, aktualny silnik obsługuje już taką sytuację.

Gwoli ścisłości bo nie napisałem ;) (i chwalenia się)

Działanie takich paragrafów nie jest zaszyte na twardo w kodzie pod postacią jeśli paragraf 32 to zrób walkę tak ale ogranicz ją śmak, a wyjście daj takie jeśli runda x/y/z ponieważ nie dałoby rady tego ogarnąć w kodzie. Tak skomplikowanych paragrafów jest naprawdę dużo i pisanie kodu działający tylko w ramach jednego paragrafu jest czystą stratą czasu.
Tu (w skrócie) po otworzeniu paragrafu i w zależności od jego konfiguracji, rejestrowane są wydarzenia, na które później reagują odpowiednie miejsca w kodzie. W Sladumie też to trochę tak działało, ale elastyczność rozwiązania była niewielka, nie miała możliwości typu: zakończenia walki w wybranej rundzie, opcji ucieczki z walki, wyłączania użycia przedmiotów w czasie walki. Nowy silnik potrafi to zrobić.
Ale w sumie zawsze tak jest z pierwszym podejściem do problemu. Drugie zazwyczaj jest lepsze.
Dość dobrze przejrzałem możliwości jakie daje javascriptowy framework Angulara i w o wiele większym stopniu je wykorzystuję. Kod jest bardziej skomplikowany, a jednocześnie łatwiej definiować niektóre elementy czy specjalne wydarzenia. Jak znajdę czas to opiszę to dokładnie na blogu.
Ostatnio zmieniony 31 października 2017, 10:21 przez ghasta, łącznie zmieniany 1 raz.

Awatar użytkownika
Suriel
Reactions:
Posty: 3733
Rejestracja: 19 września 2010, 22:20
Lokalizacja: Wawa
Has thanked: 87 times
Been thanked: 150 times

Post autor: Suriel » 30 października 2017, 12:18

Jak ci nikt z tymi paragrafami mie pomoże to daj znać. Wprawdzie teraz tygodnie mam takie że w soboty kończę ok 23:00 i nosem się już podpieram byleby iść dalej ale..
Jeżeli zabałaganione biurko jest oznaką zabałaganionego umysłu, oznaką czego jest puste biurko? Albert Einstein

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 30 października 2017, 13:00

Dzięki. Jeszcze trochę czasu minie zanim to nastąpi.
A co do możliwych godzin zajmowania się hobby to mam podobnie. Zresztą widać to w godzinach moich wpisów: godzina 0:51, 00:57 , 01:58 ....

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 31 października 2017, 01:21

I znowu piszę o jakiejś absolutnie głupiej godzinie:)
ALE
Dojechałem z przerabianiem do 200 paragrafu. Z tego ok. 40 paragrafów ma różne drobne problemy (np. źle generujący się log z walki czy niepotrzebnie dostępne wyjścia).

W załączeniu pierwszy zrzut walki. Walka odbywa się w cyklu sterowanym przez silnik (można go zatrzymać).
Na zrzucie pierwszym i drugim widać jak pomiędzy rundami zmieniają się warunki walki, zrzut trzeci to zakończenie potyczki.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 02 listopada 2017, 00:03

Udało mi się dojechać do definicji 350 paragrafu. Czyli ostatniego paragrafu gry.
Z pewnej ciekawej przyczyny w ciągu jednego dnia udało mi się przerobić 150 paragrafów. Autor (nieodżałowany Joe Dever) do jakiegoś 150 paragrafu zmieniał lub utrudniał narzucone przez siebie zasady gry. Skutecznie utrudnia to kodowanie.
Powyżej 150 paragrafu uspokaja się i przestaje kombinować. W efekcie najwięcej błędnych lub działających nieprawidłowo paragrafów jest pomiędzy 1 a 150. Ostatecznie moje zapiski wskazują, że na zakodowanych 350 paragrafów 299 paragrafów jest OK zaś 51 zawiera różne błędy.

Na szczęście pojedyncze poprawki likwidują błędy w kilku paragrafach pod rząd więc zalepienie tego pójdzie szybko.

Jako, że ilość paragrafów jest znaczna (i gra jest duża) zrobiłem ... Edytor paragrafów w ramach którego można zmienić tekst paragrafu i część jego konfiguracji :D. Muszę go jeszcze doszlifować, ale z potrzeby chwili powstało bardzo ułatwiające pracę rozwiązanie.

Po poprawieniu podstawowych, blokujących rozgrywkę błędów, biorę się za ulepszacze!

Na zrzucie z przeglądarki: po lewej widać treść ostatniego paragrafu, a po prawej okno konsoli przeglądarki. Do konsoli logowana jest część informacji jakie mają miejsce w silniku gry i uwierzcie mi - dzieje tam się sporo.

Stopień zaawansowania prac oceniam na ... 45-50% :P Jeszcze sporo kodu powstanie zanim gra będzie spełniała określone przeze mnie założenia.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 06 listopada 2017, 01:17

I znowu piszę o dziwnej porze ALE:
Ostatnimi wieczorami poprawiam błędne paragrafy oraz dodaję różne drobne funkcjonalności. Zgodnie z moimi zapiskami pozostało mi 25 paragrafów, w których znajdują się jakieś błędy np. nie mają pełnej konfiguracji lub (zwykle) źle wyświetlają dostępne wyjścia.

Moja walka z javąscript zaowocuje co najmniej dwoma większymi wpisami na blogu spowodowanymi opracowywaniem mechanizmu rozpoznawania przedmiotów oraz mechaniką prowadzenia walki. Rozgryzienie problemów związanych z tymi elementami silnika kosztowało mnie kilka dobrych godzin pisania kodu.
Przy okazji w stronę monitora poleciało sporo przekleństw :)

idę spać bo rano do pracy

Araven
Reactions:
Posty: 8334
Rejestracja: 13 lipca 2011, 14:56
Has thanked: 1 time
Been thanked: 1 time

Post autor: Araven » 06 listopada 2017, 19:09

Super fajnie to brzmi i wygląda. A ten Twój kod by dał rade rozstrzygać walki w PBF po wprowadzeniu podstawowych danych obu stron?

Awatar użytkownika
czegoj
Site Admin
Reactions:
Posty: 3837
Rejestracja: 18 listopada 2008, 23:34
Has thanked: 5 times
Been thanked: 10 times
Kontakt:

Post autor: czegoj » 06 listopada 2017, 20:33

Na pewno, problem w tym, że to nie zapisuje się na serwerze, tylko jest po stronie przeglądarki. Dodatkowo musiałby ghasta stworzyć formularz wprowadzania danych, bo bez tego to nie bardzo.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 07 listopada 2017, 00:55

Czegoj ma rację. Jeśli chcesz to z kimś współdzielić - trzeba osadzić to na serwerze + jakiś formularz. Mam i wiedzę i umiejętności na takie zadanie, ale przełożenie na kod przysłowiowo prostej mechaniki walki nie jest trywialnym zadaniem .
Dodatkowo pod jaką mechanikę tworzyć takie rozwiązanie :/
Za dużo niewiadomych. Szkoda energii.


p.s.
A mi zostało już tylko 19 niedorobionych paragrafów. W załączeniu jeden z pokręconych paragrafów: można w nim znaleźć masę różnego rodzaju przedmiotów, trzeba wypić wodę, złapać amunicję...

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 12 listopada 2017, 02:36

Ponownie dziwna pora na pisanie, ale spieszę donieść, że pozostało mi do oprogramowania w jakichś sposób jedynie 7 paragrafów z 350.

Poza poprawianiem samych paragrafów zająłem się także:
- oknem postaci - już można otworzyć i przejrzeć charakterystyki
- mapa - też już można podejrzeć
- drobnymi elementami graficznymi - min.: pojawiły się ikonki broni/amunicji/umiejętności
- mniejszymi lub większymi powiadomieniami wyświetlanymi graczowi

Co ciekawe lista TODO (do zrobienia) wydłużyła się o kolejne elementy i z tego powodu odnoszę wrażenie, że nie posuwam się naprzód. Mam nadzieję zdążyć z gierką do końca roku :/ ponieważ zostało jeszcze sporo do zrobienia.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 14 listopada 2017, 01:36

Takie małe porównanie:
Wygląd sprzed miesiąca
Obrazek

I wygląd podpicowany - wszystkie widoczne elementy są oprogramowane

Obrazek


To nie jest jest jeszcze ostateczny wygląd GUI ale bardzo bliski temu co chcę osiągnąć.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 21 listopada 2017, 09:53

Kolejny drobny sukces - pojawiła się opcja zapisu danych postaci i ich odczytu przy kolejnym podejściu. Z takim zabezpieczeniem roguelike - jeśli postać zginęła w walce, to niestety nie ma czego odczytywać :p. Pewnie pojawi się konfigurowalna opcja czy śmierć, przy danej konfiguracji postaci, jest nieodwracalna czy też nie.

Przyznam, że jestem już trochę zmęczony tym co piszę, ale w oddali widzę koniec prac.

ghasta
Reactions:
Posty: 2334
Rejestracja: 29 września 2010, 23:48
Been thanked: 1 time
Kontakt:

Post autor: ghasta » 25 listopada 2017, 17:20

Miałem napisać więcej, ale teraz nie zdążę ;/

W skrócie rzecz ujmując - silnik uzyskał możliwość przejścia stworzoną postacią od 1 do 350 paragrafu. Wszystkie paragrafy zostały oprogramowane i zachowują się (raczej) prawidłowo.

Do poprawienia zostały drobne błędy oraz brak mechanizmu tworzenia dodatkowych pasów z amunicją jeśli podstawowy pas przepełni się. Oba elementy nie wpływają na możliwość przejścia gry.

Teraz skupiam się na utworzeniu wszelkich dodatkowych rozwiązań, które w międzyczsie wymyśliłem.

p.s.
Będę potrzebował pomocy w zedytowaniu treści paragrafów i linków przekierowujących.
Czy ktoś jest chętny pomóc w tym zadaniu? Dostarczam potrzebne do tego narzedzia :)

ODPOWIEDZ