#gamedev

43
667

Z dziennika indie developera:


Godzina 01:40.

W końcu skończyłem tworzyć bibliotekę open-source do tworzenia drzew behawioralnych dla silnika Defold.

Pewnie nie mówi Ci to zbyt wiele dzienniczku, ale nie przejmuj się, mi też.


Efekty widać na wideo.

def-behavior-tree - Defold library for creating complex AI behaviors (youtube.com)


Pewnie zapytasz co tam się dzieje? Otóż normalnie tym stateczkiem steruje gracz, ale tutaj, wszystkim steruje podstępne AI (ale nie takie jak te całe czaty gpt), to takie zwykłe NPC jak w grach które znasz.

Te całe okienko po prawej pokazuje aktywne zadania wykonywane na drzewie.

Statek tańczy jak by dostawała pierdolca, dopóki meteoryt nie pojawi się zbyt blisko.

Wtedy zaczyna strzelać, ale tak leniwie, pojedyncze strzały, więcej mu się nie chce.

No chyba, że do jaśnie pana podleci więcej meteorytów, jak ich będzie więcej niż 3, to wtedy zaczyna napierdalać z laserka jeb jeb jeb.

To wszystko sprawdza sobie w tym drzewku behawioralnym.


Po przerobieniu sobie tej całej biblioteki, w końcu mogę normalnie zapisywać ostatnie zachowanie NPC i je wczytywać.

Wcześniej to nie było możliwe. Dlatego oficjalnie mogę etap zapisywania i wczytywania stanu prototypu mojej gry.


Dobranoc


#gamedev  #gry  #indiedev  #piraci #programowanie #brickfiction

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Witam w trzecim poście z cyklu #ciekawostkilodzkie


Dziś zajmiemy się czymś, czego nie widać, chodząc po mieście, ani grzebiąc w archiwalnych bazach. Dziś pomówimy o... grach komputerowych. Otóż DNA Łodzi można znaleźć w wielu produkcjach, o których nie mieliście nawet pojęcia.


  1. Zaczniemy od Wiedźmina, który jest łodzianinem z krwi i kości. To tutaj urodził się i mieszka do dziś Andrzej Sapkowski, autor całej serii książek o Wiedźminie. Stąd pochodzi także jeden z twórców CD Projekt, tutaj także powstawał pierwszy Wiedźmin, a CD Projekt RED, którego dopisek jest nawiązaniem do ceglanej estetyki całego miasta (patrz logo w komentarzu), miał pracownię w Łodzi, przy ulicy Traktorowej. Dziś w mieście znajduje się Skwer Wiedźmina, na którym mają stanąć pomniki bohaterów gry, a jeden z największych polskich murali (zdjęcie), przedstawiający właśnie Geralta, znajduje się w samym centrum miasta.

  2. Wpływ Łodzi na CD Projekt nie zakończył się też na tym. Za dobór muzyki do Cyberpunka 2077 odpowiadał lider łódzkiego zespołu Cool Kids of Death, Krzysztof Ostrowski. Wybrał on też łódzkich artystów do stworzenia niektórych utworów, które dziś znamy w grze.

  3. Cool Kids of Death, powstały w Łodzi, jest także odpowiedzialny za muzykę do This War of Mine.

  4. Gra Medieval Dynasty, wieloletni hit Steama (polecam serdecznie, gra mnie wciągnęła na kilkaset h), jest grą stworzoną przez łódzkie studio Render Cube, które dzięki jej sukcesowi na całym świecie, utorowało sobie drogę na rynek giełdowy. Łódź nie jest im obojętna, gdyż w grze jest kilka nawiązań do miasta, chociażby w fabularnej opowieści o dalekim mieście Navis (z łac. Łódź).

  5. W grze DMC: Devil May Cry, twórcy gry wykorzystali łódzki mural pt. "Dziewczyna w kąpieli" (ul. Pomorska 67).

  6. Twórcy serii gier Farm Manager, firma Cleversan Software, wywodzą się z inkubatora łódzkiego parku technologicznego Bionanopark.

  7. Także z miasta Łodzi wywodzi się gra SUPERHOT, która zdobyła popularność na świecie.

  8. Tank Mechanic Simulator również powstało w siedzibie łódzkiej firmy DeGenerals.

  9. Jedna z esportowych map do gry Counter Strike: Global Offensive, została zlokalizowana w Hi Piotrkowska — najwyższym łódzkim biurowcu. Odpowiada za to firma Erbud, wykonawca budowlany tego obiektu.

  10. Firma Epic Games, znana wszystkim nie tylko z gry Fortnite, dwa lata temu otworzyła biuro właśnie w Łodzi. Stało się to we współpracy z firmą Studio Plastic, która w kooperacji z Sony stworzyła takie gry na PlayStation jak Bound, Datura, czy Linger in Shadows, a w kooperacji z CD Projekt RED także za edukacyjną grę dla odwiedzających Centrum Komiksu i Narracji Interaktywnej w słynnym EC1.

  11. Dziś posiadająca siedzibę w mieście, lecz pochodząca ze Smardzewa koło Łodzi, powstała firma Wastelands Interactive, odpowiadająca wraz z łódzkim Big Cheese Studio S.A. za Cooking Simulator.


Jeśli zapomniałem o czymś, piszcie w komentarzach. W nich załączam również zdjęcia powiązane z ww. grami.


#lodz #gry #wiedzmin #cp2077 #grykomputerowe #gamedev #informatyka

25e9ef0a-9876-4aa3-b7f6-db56cf3af1d0

Zaloguj się aby komentować

@MrGerwant Szwagier weź ty minie nie wku*** jak zmieniłem ustawienia grafy na ultra to myślałem, że wentylator w karcie mi urwie ( ͡° ͜ʖ ͡°)

Zaloguj się aby komentować

Zaloguj się aby komentować

Dev update: zaimplementowałem kupowanie przedmiotów, ale jeszcze nie działa - widzę pusty ekwipunek sklepu.

P.S. Przeszedłem to co jest gotowe ze stoperem w ręku i stąd wynika, że gejpleju jest na około 25 minut - wystarczy na demko? #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #gamedev

Dodaj do sklepu możliwość zakupu dildosa. Fajna byłaby też możliwość kupna kondonów i możliwość ich nadmuchania jak baloniki xd

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

@zachlapany_szczypior no właśnie dobrze, dla dumnego, postawnego Polaka są na górze a dla zgarbionych niemieckich emerytów są na dole

Zaloguj się aby komentować

Dev update: zacząłem dodawać nowe opcje dialogowe do pierwszego głównego questa, ale jeszcze okazało się, że wprowadzenie zapisu i odczytu posuło zaliczanie misji, więc musiałem to naprawiać (już działa). Bonus: pod poprzednim postem w komentarzu napisałem, że nie ma dużej różnicy pomiędzy ustawieniami grafiki, w budynkach jednak jest. Załączam screeny #konkursnanajbardziejgownianymemznosaczem #wirsprawiedliwosci #grysprawiedliwe #gamedev

0fe573df-1f5f-4e26-851f-07554b9a6f35
78694dd0-6717-45db-948b-7fe6aadde338
7fd3f157-62d8-491d-93a1-2621cf34c3af
f9856d83-6ed7-4571-8976-cde3318bc530
1217abd6-e74c-4fd4-b277-9160f7b4f42d

Wyskoczył jeszcze błąd, który powoduje, że nie zalicza się cel zadania, który wymaga ukończenia innego zadania, ale jeszcze nie wiem co tam jest nie tak

Zaloguj się aby komentować

@sierzant_armii_12_malp np. jak ktoś chce sobie jeszcze bardziej zbrzydzić gorszym antialiasingiem i teksturami (ugułem różnic dużych tu nie ma, przy niższych ustawieniach postacie bardziej się gibią przy chodzeniu)

Jak się zwiększy rozdzielke za wysoko to powinnien się pokazywać wir i crush gry, wiadomo ze jak ktoś gra na większej niż stare dobre hd to złodziej chciwy.

Zaloguj się aby komentować

@mtriciak33 wcześniej myślałem, że kategorycznie nie opublikuję, dopóki wszystko nie będzie gotowe, ale jednak może wypchnę jakieś demko, zobaczymy

Zaloguj się aby komentować

Zaloguj się aby komentować

@MrGerwant kur*a ziomek do niedawna miałem takie paski przy drzwiach i oknach (wymienione kilka lat temu na mozaikę z lat 70. i teraz mam piksele)


znalazłem stare zdjęcie na street view

2da8019e-3367-493e-b50b-b8bd6f3b6005
c1b43bd4-fee8-4fd1-af93-f001cf701e28

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:

https://deykun.github.io/diffle-lang/pl?r=QIpUTYtUWbl5SM2UWLllGcuQDZk1iclRnL0gDOtMXYr5CMuITMuEjLxEjL2gTMtQXeyVWblhSI


Jego hash:

QIpUTYtUWbl5SM2UWLllGcuQDZk1iclRnL0gDOtMXYr5CMuITMuEjLxEjL2gTMtQXeyVWblhSI


Wchodzimy np. https://onlinestringtools.com/reverse-stringi 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.

@Dzemik_Skrytozerca nie dałoby rady, bo postują też angielskie diffle, i nie dodałbym tam. Daj #diffle na czarno i będziesz miał gwarancje, że wytniesz też zapominalskich.

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ć