Dev update: rozwiązałem problem niepoprawnie wyświetlanych opisów #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev

Dev update: rozwiązałem problem niepoprawnie wyświetlanych opisów #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev

Zaloguj się aby komentować
Dev update: zrobiłem dojebany ekran tytułowy https://streamable.com/lk4ai9 #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
@MrGerwant definitywnie należy zrobić quest pt.: Kiedyś to było, kuurła...
Na podstawie: https://youtu.be/BpkAuqpvmFI i podobnych.
Jaki silnik używasz?
Zaloguj się aby komentować
#difflelog #diffle #gamedev hehe
Pojawiło się pytanie o to jak działają hashe w linkach. A siedziałem cicho, bo kogo to interesuje. A ja szczerze bardzo zadowolony jestem jak to działa i tylko czekałem. dx
@Heheszki zwrócił uwagę, że te same hasła mają ten sam koniec. To prawda.
Wczorajszy (niedzisiejszy) wynik:
Jego hash:
QIpUTYtUWbl5SM2UWLllGcuQDZk1iclRnL0gDOtMXYr5CMuITMuEjLxEjL2gTMtQXeyVWblhSI
Wchodzimy np. https://onlinestringtools.com/reverse-string i odwracamy kod:
IShlbWVyeXQtMTg2LjExLjEuMTIuMC5rYXMtODg0LnRlci1kZDQucGllLWU2MS5lbWUtYTUpIQ
Dekodujemy bash64 np. https://www.base64decode.org/ i dostajemy:
!(emeryt-186.11.1.12.0.kas-884.ter-dd4.pie-e61.eme-a5)!
Jak ktoś da za krótki link to mu urwie hasło i wyświetli “Niestety ten link wygasł lub jest uszkodzony.” @Felonious_Gru czasami wstawia takie linki dając spacje. !( i )! są z tego samego powodu.
Co znaczą części
emeryt - hasło
186 - dzień roku
jeśli ktoś przestawi godzinę i wrzuci to jak zobaczy, że my mamy 185 dzień i to jutrzejsze hasło to zamiast spoilerów jest “Ten link powinien wkrótce działać".
11 - prawidłowych
1 - w złej pozycji
12 - nieprawidłowych
0 - wpisanych jako nieprawidłowe
Te liczby nie są wyświetlane w rezultacie, po nich są słowa i dla hasła emeryt i słów dalej jest liczony wynik tak jak w normalnej grze, te cyfry służą jako suma kontrolna, jak coś jest inaczej to link wygasł.
kas-884 - kasztan
ter-dd4 - terror
pie-e61 - pierw
eme-a5 - emeryt (hasło)
Z tego jestem dumny. Jak wpisujecie kasztan, to diffle pobiera chunk-kas.json z tablicą słów na kas, kąs etc. 884 to pozycja słowa kasztan w systemie szesnastkowym w pobranej tablicy.
Dlaczego? Bo krócej. 243 to w systemie szesnastkowym F3. A Bash64 to będzie MjQz i RjM, cel to mieć url sensownej długości. Z tego samego powodu nie ma tam całych słów.
Akurat w naszym przypadku to nie ma takiego znaczenia, bo link by był krótszy z całymi słowami.
!(emeryt-186.11.1.12.0.kasztan.terror.pierw.emeryt)!
Ale hasło było krótkie i nie miało polskich znaków (te w bashu są zwykle dłuższe) tu długość jest stała 6 znaków, a przy słowach startowych po 15 liter to się szybko zwraca.
But there is more…
Wychodzę z założenia, że jak ktoś strzela dużo słów to w pewnym momencie ma początek słowa.
I na przykład wpisane po kolei:
korzyść, korzeń, korytarz, kora, koran
W tym co wyżej skutkuje kor-123.kor-420.kor-312.kor-12.kor-1098
Ale ja wiedząc, że początek jest ten sam tnę te słowa do kor-123.420.312.12.1098
+ potem do szesnastkowego jeszcze (1098 -> 44a, 12 -> c).
Jak po kor jest kon to jest n-cyfra i odtwarza te litery patrząc na wcześniejsze słowo.
I teraz czasami aktualizuje słownik słów (nie wygrywających tylko tych do wpisania) i wtedy te cyfry się mogą przesunąć, jeśli suma kontrolna się rozejdzie, jest informacja, że link wygasł, ale teoretycznie jeśli po aktualizacji suma działa to link może działać i jest też jakieś ryzyko, że słowa się zmieniły, ale bez wpływu na wynik wtedy czyjś wynik ma oszukane słowo/a.
Nie ma co tej wiedzy używać do oszukiwania, bo wystarczy w trybie prywatnym zgadnąć hasło i potem w normalnym wpisać co się chce i się będzie miało super linka z wynikiem.
Z programistycznych rzeczy to testy jednostkowe nie są tak szanowane, ale właśnie ten ficzer jest nimi pokryty i każdy etap tego wygenerowania linku z słów i słów z linku jest pokryty testami i to po prostu ma działać i się nie psuć.
#difflepl #diffleen #grywebowe
@Deykun Ha! DZIĘKUJĘ że zaspokoiłeś moją ciekawość 🥹 Dotarłem do odwrócenia, ale skorzystałem z kiepskiego dekodera który wyrzucił krzaki, wróciłem do punktu wyjścia. W końcu doszedłem do wniosku, że pewnie api podmienia niektóre znaki w sposób który mnie nie ciekawi, bo jednak szukałem czegoś co będzie widać też gołym okiem :) Bardzo fajne.
Zaloguj się aby komentować
Dev update: naprawiłem wczytywanie drużyny z sejwa zrobionego po wyjściu z budynku (w zasadzie to nie wczytywanie tu było problemem, tylko ustawienia spawnowania - gra nie spawnuje domyślnie aktorów, gdy jest w tym miejscu jakiś obiekt z kolizją, ale da się to zmienić dla każdej klasy, np. spawnować obok, gdzie już kolizji nie ma), natomiast dalej nie wiem co się dzieje z questami - niby zapisują się poprawnie, ale przy wczytaniu w obiekcie sejwa w tablicy na questy jest pusto, mimo, że przy zapisie były dane, nie mam pojęcia o co tu chodzi i debugowanie przyniosło więcej pytań niż odpowiedzi #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
[UPDATE] Wczytywanie questów już działa (patrz komentarz)
[UPDATE 2] nagrałem na dowód, że działa (mam nadzieje, że wszystko widać) https://streamable.com/lgmzua
Jedna rzecz, którą zauważyłem teraz to, że w klasie Sejwa nie dałem makra UPROPERTY() [które, powoduje, że Garbage Collector nie niszczy obiektu, wcześniej przez to wyskakiwały mi nulle podczas walki w miejsce skilli postaci) do tablicy Questów - chociaż wątpię, że tylko o to chodziło, bo raczej Unreal nie odpala "odśmiecania" po zaledwie paru sekundach, więcej się dowiem jak odpalę znowu, tylko naprawiam jeszcze jedną małą rzecz
Zaloguj się aby komentować
Dev update: wczytywanie działa połowicznie np. wczytywanie sojuszników działa tylko przy zapisie przy wejściu do budynku a nie przy wyjściu z niego (nwm z jakiej racji), a wczytanie questów nie działa w ogóle #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Dev update: wczytywanie obiektów na mapie działa (choć pewnie robie to w mało optymalny sposob, ale hooy z tym) - po ponownym uruchomieniu już nie mogę wejść w interakcję ze śmietnikami ograbionymi wcześniej #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Dev update: wygląda na to, że poprawnie tworzy sejwa. Jeszcze nie robiłem wczytywania, także nie wiem, czy dobrze odtworzy sojuszników, ale w pliku pomiędzy nieczytelnym bełkotem znaków widać imiona towarzyszy i nazwy moich zmiennych, więc chyba jest ok. Jeszcze nie zapisuję ekwipunku, obiektów na mapie czy questów, ale to trza na spokojnie. No i nie widzę też mojej pięknej ikonki sejwa (możliwe, że zapis trwa zbyt szybko, żeby ją ujrzeć i trzeba zrobić timer np. 2-sekundowy, żeby się pokazała) #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Dev update: porobiłem struktury danych, z których będą tworzone i odczytywane zapisy, w pewnym momencie wgl mi nie kompilowało, nie mogłem znaleźć błędu, ale okazało się, że jeden specyfikator, którego użyłem nie może być używany tam, gdzie go chciałem użyć, jak to wywaliłem to poszło #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Zrobiłem animowaną ikonkę zapisu, uważam, że jest idealna #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev https://streamable.com/lidi6e
Zaloguj się aby komentować
Dev update: zacząłem pracować nad sejwami, poszperałem po necie jak się to robi i zacząłem pisać klasy. Tak się zastanawiałem i chyba to jak mam zrobione Questy wymusza bym Lokacje poza Sieradzem dodawał do głównej mapy w podobny sposób co wnętrza budynków (coś takiego co się nazywa LevelInstacne, czyli cały odrębny level wstawiać na mapę jako obiekt), żeby przy przejściu między poziomami nie znikały Questy #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Dev update: naprawiłem buga z promptem do rozmowy (przyczyną była niewłaściwa kolejność działań - wyświetlałem prompta zanim sprawdziłem czy aktor, który wszedł w kolizję z triggerem enpca to nasza postać, więc pewnie wywoływało dla innych obiektów na mapie randomowo) i crashe przy zamykaniu gry (nie dałem sprawdzania nulli w klasie triggerów wyjścia z budynku). Jutro zacznę robić system sejwów #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Dev update: Dodałem na mapę wnętrza domu Somsiada i komisariatu, zrobiłem stosowne cutscenki, dodalem je do gry razem z napisaniem celów questa, ale żeby to wszystko przetestować to muszę chyba zrobić w końcu system sejwów, bo nie chce mi się rozpoczynać od nowa za każdym razem. Opisy questów chyba wywalę bo za c⁎⁎ja nie wiem, jak zrobić, żeby sie poprawnie wyświetlały (nie mogę zrobić nowej linii) poza opcją "na chama", czyli przechowywanie opisu jako kilka zmiennych po jednej na każdą linijkę tekstu zamiast wszystko naraz, mam też crashe przy wychodzeniu z gry i prompt do interakcji się odpala przy pierwszej cutscence nie wiadomo z jakiej racji #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
Hej!
Trochę choróbsko a trochę nadmiar pracy zmusił mnie do zrobienia przerwy we wspomnieniach z pracy w #gamedev .
Ale wracam z ciekawą historyjką, jak przepchnąłem swój pomysł na animację do gry i prawie się "wywaliłem" i 20 tys poszło by w piach
To już było jak przy projekcie jakiś czas pracowałem, miałem za sobą skończoną dużą cześć jednego levelu gry, gdzie mieliśmy walkę z Boss'em. Ogólnie w skrócie, projekt już miał wydawcę, budżetowanie rozpisane, wszystko pozatwierdzane, wtedy ja wpadam na pomysł - zróbmy scenę walki z bosem na kozaku! Niech będzie to uwieńczenie całego tego levelu i historii na grubo. Problem oczywiście leżał w aktorach, ponieważ o ile studenci ze szkoły teatralnej świetnie sprawdzali się w dialogach to o tyle z walką mieli tyle wspólnego, że czasem chwycili kij od miotły i bili się po tyłkach, a jakość którą chcieliśmy dowieźć przekraczała tą granicę. Dodatkowo, nasz boss walczył obiema rękami bronią krótką, co całkowicie wykluczało wykorzystania osoby, którą "zabralibyśmy z przystanku autobusowego, żeby mógł rozpocząć swoją karierę jako aktor Motion Capture. Padła propozycja do producenta - czy mamy budżet na sesję MoCap z kaskaderami. Miałem przepracowany wtedy niecały rok i może to zbyt małe doświadczenie i oczekiwania, żeby usłyszeć jasne, robimy. Na start dostałem odpowiedź - nie, nie mamy na to budżetu. Róbmy na tym co mamy. Smutny więc wróciłem do robienia prototypu i przeglądania paczek animacji combatowych, które kupiliśmy i szukania w nich animacji, z których mógłbym skleić coś w miarę fajnego. Aż do momentu, gdy nasz zespół zaskoczyło "małe trzęsienie ziemi" od strony GameDesignera.
GameDesigner to w skrócie osoba, która odpowiada za całokształt wyglądu gry na każdej płaszczyźnie. Od typu gry, sposobu poruszania się postaci, poruszania się kamery, trybów i mechanik, sposobu walki czy w ogóle będzie walka. Wygląd wizualny oczywiście GameDesigner nakreśla swoje koncepcje we współpracy z innymi artystami, ale w skrócie - GameDesigner to osoba która określa jak ta gra ma wyglądać pod kątem grywalności.
No i nasz GameDesigner zwrócił się do mnie z taskiem przygotowania w między czasie animacji Combatowych. Mieli kupione paczki, wymyślili sobie archetypy wrogów (czy to silni, powolni przeciwnicy, czy szybcy i zwinni). I tak podczas tych rozmów pytam go to jakim archetypem będzie nasz Boss z Levelu X ?
GD: Noo unikalnym, nie można go sklasyfikować pod żaden z tych, ona ma swoją unikalną broń i nią będzie walczyć.
Ja: Ok, to skąd weźmiemy do niego animacje?
GD: A to nie da rady z tych paczek wziąć?
Ja: Noo nie, bo tak jak mówisz - jest unikalny i nie ma takich animacji dostępnych :D. Zresztą przeczytajmy scenariusz
A w scenariuszu nasz Narrative Design (czyli osoba od strony Fabularnej) we współpracy właśnie z tym GameDesignerem zaakceptowali pomysł, by nasz Boss walczył dwoma broniami, poruszał się w nieprzewidywalny sposób, robił salta, gwiazdy, obroty - cuda wianki. Po lekkiej konsternacji gdy powiedziałem że mamy jeszcze finalne Cutsceny z tym bossem do zrobienia a "góra" powiedziała, że nie ma na to budżetu, GD się wkur*** i powiedział że jutro wróci do mnie z tym tematem - nawet nie doczekałem jutra, już po południu dostałem dyspozycję do znalezienia grupy kaskaderów, która specjalizuje się w tego typie broni i żeby prosić o wycenę i umawiać sesję - pieniądz się znalazł :D.
Uruchomiłem moje stare kontakty, dostałem namiary na chłopaków - mega osoby. Z mojego doświadczenia z nimi powiem Wam, że nie spodziewałem się że środowisko kaskaderskie jest takie, hmm - hermetyczne? W Polsce nie ma zbyt dużo grup kaskaderskich, raczej dzielą się oni w Polsce na rejony, nie wchodzą sobie w paradę a często ze sobą współpracują. Też ciężko się do takiej grupy dostać, jeżeli chciałbyś zostać kaskaderem i bardzo fajnie mi to chłopaki wyjaśnili. Na planie często Twoje życie i zdrowie zależy od Twojego kolegi kaskadera i musisz mu niesamowicie ufać. Nie mówimy tutaj tylko o scenach walki ale także upadkach z wysokości, olinowaniu jak i różnych kraksach. Anyway, przedstawiłem pomysł, wysłałem referencje jakich efektów oczekujemy, scenariusz z nakreśleniem tej postaci a samemu zacząłem przygotowywać tzw. CombatDesign z moim GD - czyli jak ta postać ma walczyć.
Chłopaki z kaskaderki przygotowali pierwsze ujęcia referencyjne z treningów, ponieważ musieli się do sesji odpowiednio przygotować a my mieliśmy przyklepać scenariusz. Wynajęliśmy salę do Kickboxingu (stwierdziliśmy, że dość miękkie podłoże będzie idealne do wszelkich upadków), jadę tam z samego rana z całym sprzętem.
Mieliśmy na to 8 godzin, same nagrywki miały być w 7, ponieważ dochodzi tzw. "zmęczenie aktora" i wiąże się to już ze słabszymi efektami finalnymi jak i robi się też już niebezpieczne. Rozkładam cały sprzęt, przyjeżdżają chłopaki i dopiero teraz widzę dokładnie, że jeden z nich z aparycji przypomina trochę "takiego wesołego wujka z wesela". Lekko brzuszek wystaje, pocieszna mordka. W głowie od razu, jak oni będą robić te wszystkie wyskoki z mieczami, salta itp. No nic, zapłacone, muszę to maksymalnie wykorzystać, zwłaszcza że to moja inicjatywa. Przebierają się, kalibruje ich, wybieramy scenariusz i nagle - wywala system. Błąd czujnika. Sprawdzam co jest nie tak, ponowna kalibracja, przechodzimy do sesji - błąd czujnika. FAK! Nigdy wcześniej oczywiście się to nie działo. Co robić. Już 1,5 godziny za nami, bo oczywiście rozgrzewka, rozłożenie sprzętu, scenariusz, pierwsze próby. Próbuje poprzepinać je - dalej po krotkim czasie wywala błąd. 1 czujnik z nogi dzisiaj postanowił się zepsuć. Sesji nie mamy na kiedy przełożyć, bo chłopaki mają terminy po 3-4 tygodnie zajęte, do kolejnego milestone'a (kamień milowy, kolejny termin oddania kolejnego etapu prac projektu) trzeba już te animacje dowieźć. Ostatnia deska ratunku - kolega który przejął moją "schedę" w poprzedniej firmie w której pracowałem jako dystrybutor tegoż oto cudownego sprzętu do MoCapu. Szybki telefon, że czujnik padł, grube tysiące leżą na stole, nie mam jak sesji poprowadzić. Mówi, dobra wpadaj byle szybko, bo szefostwo wyjechało do klienta i jutro wraca (czemu taka konspira zastanawiacie się? A ponieważ gdy odchodziłem to okazałem się "tą złą osobą" która zostawiła biedną firmę na lodzie i nie bardzo byli skorzy do pomocy mi, a do swoich klientów byli - ale w płatnej formie
Bierzemy się za nagrywki. Przechodzimy grubo w temat Finishera, scenka gdzie bohater wykańcza naszego Boss'a i wtedy mój wujaszek z wesela wprawia mnie w opad szczęki. Na prawdę, finalnie chciałbym się tak ruszać w jego wieku, a podejrzenia grały mi w głowie że ma ok 43+. Salto w tył z podparciem ręki, fikołki, machanie mieczem. Podczas sesji wielokrotnie micha mi się cieszyła, jak widziałem te ewolucje i szeroko otwierałem oczy gdy miecz przelatywał te 5 cm od twarzy. Znają się na robocie i były to bardzo dobrze wydane pieniądze. Cała sesja zleciała w świetnej atmosferze, ja mocno odetchnąłem z ulga, bo niby nie z mojej winy ale jednak pod moją "operatorką" sprzęt nawalił i była tam kupa kasy do przewalenia.
Jeżeli jesteście zainteresowani bardziej szczegółowymi opisami np prac jak one wyglądają, to dajcie znać to będę mógł zrobić coś w stylu artykułu jak wyglądał np mój dzień z pracy jako animator z robieniem mini sesji MoCap w pokoju i obróbką tego :).
#indiegamedev #gry #pracbaza #grykomputerowe #motioncapture #animacja #praca #technologia #unrealengine #unity #gamedevelopment
@dotevo Wszystko jest zależne od danego materiału. Ogólnie nad 1 Cutsceną trwającą np 15 sekund z interakcją z przedmiotami, to schodziło z 2-3 dni. Animacje pod gameplay, czyli te które są przy sterowaniu postacią - to kwestia jak dużo trzeba przerabiać, jak dużo poprawek, jak wygląda nasza postać końcowa, czy nie trzeba robić jakiś dodatkowych "haków" na animki, żeby wyglądało ładniej bo technicznie gdzieś były niedociągnięcia. Rekordowo 1 dnia nagrałem 350 różnych ujęć z MoCapu, wykorzystałem z tego może z 20% :).
Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev Dev update: osadzeni w areszcie

Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev Dev update: kolejne detale na komisariacie


Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev Dev update: dolny poziom komisariatu razem z aresztem (nie miałem możliwości zrobić pożądnej klatki schodowej, więc są schody z dziury w podłodze, ale przynajmniej funkcjonalne)

Zaloguj się aby komentować
Ma ktoś poratować dobre zdjęcie pustego okienka takiego jak w urzędzie/na poczcie od frontu? Potrzebuję do lokacji (komisariat) #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev
Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev Dev update: łazienka Somsiada

Zaloguj się aby komentować
#konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev Dev update: kuchnia u Somsiada

Zaloguj się aby komentować