Dobra to spróbujmy, najwyżej @bojowonastawionaowca usunie.
Ask me anything w zakresie:
- gamedev - 4 lata doświadczenia, pracowałem przy testach funkcjonalnych, compatibility, 2 lata jako Compliance Engineer. Maczałem palce w kilku dużych tytułach, największy to marka AAA, sprzedany w kilkunastu milionach kopii
- Testy porównawcze A/B - 2 lata
- Testy aplikacji SaaS - 5 lat
Ogółem 12 lat w QA. Aktualna i poprzednia firma to top of the top w swojej branży. Poprzednia to słynne Oracle.
@Marcus-Aurelius-64 - niby super, gratulacje - bo nawet chińska kasa nie śmierdzi - ale musisz uważać by Cię nie wyruchali bo w negocjacjach są sprytni - koniecznie umowę musi przejrzeć dobry prawnik - poza tym bierz procent od każdej sprzedanej sztuki, bo inaczej skończysz jak Sapkowski biorąc kasę z góry (niemniej zawsze Cię mogą oszukać ile cyfrowych egzemplarzy sprzedali - więc uważaj).
@Marcus-Aurelius-64 Radzę uważac, bo chińczycy są bardzo wyczuelni na punkcie lokalizacji ich gier i lubią robić review bombing. Jeśli wchodzisz w lokalizacje, zadbaj o to by była porządna, kilka mniejszych gier widziałem że dostaly już po ocenach przez chińczyków.
Bawiłem się ostatnio z kilkoma nowymi rzeczami.
Dear ImGui zastąpiłem Avalonią (interfejs). Dużo lepiej robi mi się w tym drugim interfejs.
Dodałem obsługę ładowania modeli z plików w formacie GLB (na razie obsługa samych modeli z teksturami, bez animacji itd.).
Do systemu ECS dodałem nowy typ komponentu - Skrypt (na wzór np. MonoBehaviour z Unity). Wszystko na razie w podstawowej formie. Z poziomu skryptu jest dostęp do innych komponentów obiektu, do którego jest podpięty.
No i finalnie światła i cienie. Jak na razie najtrudniejsza rzecz, którą robiłem. Dużo zabawy z tym, żeby to działało wydajnie albo żeby w ogóle działało :v Nie są jeszcze idealne
Poruszające się światło działa z użyciem Skryptu.
Jeszcze trochę i będę mógł robić jakieś proste gierki na moim silniku.
Z poziomu skryptów nie ma jeszcze dostępu do interfejsu.
Kamerę muszę zintegrować z systemem ecs.
Nie dotykałem jeszcze niczego związanego z dźwiękiem.
Porządki z systemem assetów.
Dzięki temu projekcikowi miałem okazję popróbować nowe rzeczy, co w ostatnim czasie podochodziło do c#.
Naprawiłem przenikanie na ramionach i biodrach edytując keyframe'y animacji, natomiast łokcie i kolana dalej są rozstrzelone - najpewniej mogę to naprawić tak samo, tylko to będzie zabawa z transformacją 2 lub 3 kości zamiast jednej i pewnie więcej keyframe'ow niż te poprzednie. No i dla każdej kolejnej animacji trza będzie to zrobić od nowa, nosz kurr... #gry #gamedev #grafika3d #unrealengine
W końcu udało się wyeksportować szkielet łobota, tak, żeby były tylko potrzebne kości (trzeba było pobrać plugin). Tylko w retargecie model jest z jakiegoś powodu przesunięty w c⁎⁎j w górę i clippuje przy animacjach #gry #gamedev #unrealengine #grafika3d
Podjąłem decyzję, że od teraz moja działalność giereczkowotwórcza będzie się odbywać pod nazwą El Pollo Hermano (nawiązanie do mojego nazwiska), żeby oddzielić ją trochę od profili tutaj i w biaukolandii - profil na itch już jest zmieniony (https://el-pollo-hermano.itch.io/ ) suppi/patreon nie chce mi się na razie ruszać i tak tam się nic nie dzieje. Poniżej logo #gry #gownowpis #gamedev #graphicdesign
Udało mi się ostatnio wrócić na trochę dłużej do projektu własnego "silnika gier".
Nie poddałem się jeszcze. Trochę różnych zmian wprowadzałem i podokrążyłem kilka rzeczy, żeby były w stanie działać. Na filmiku pokazuję proste animacje tłoku. Na razie na tylko tyle mnie stać, jeśli chodzi o tworzenie w blenderze.
Będzie troszkę technicznego pitolenia.
Najtrudniejsze, nad czym ostatnio główkowałem, to VAT (vertex animation texture). W skrócie, animacje obiektów nie ogarnia jak to zazwyczaj bywa CPU tylko GPU. U mnie animacje zapisuję jako plik png, dzięki czemu bez problemu mogę taką grafikę wykorzystać w shaderze. Pomysł na samo wykorzystanie pliku graficznego do zapisywania tego typu danych jest imo bardzo ciekawy. Każdy piksel, np. w formacie PNG, ma kilka warstw (RGBA) i w każdej z tych warstw można zapisać jakieś dane, np. nową pozycję danego wierzchołka.
Kolejne wyzwanie, które sobie wymyśliłem, to przejście z programowania w samym OpenGL (Silk.Net.OpenGL) na coś bardziej nowszego i uniwersalnego.
Trafiłem na Zenith.NET, bibliotekę-warstwę, gdzie, pisząc jedno, będzie to bez problemów działać na różnych API graficznych (Vulkan 1.4, DX12 oraz Metal) pod spodem. Poziom kontroli nad tym, jak wszystko działa, można porównać do tego, jakby programowało się w samym Vulkan-ie. Dodatkowym plusem jest jeszcze obsługa języka shaderów Slang (HLSL). Miodzio.
W wyrenderowaniu pojedynczego obiektu z teksturami lub kolorami nie mam już najmniejszego problemu.
Pod górkę zaczyna się, gdy chce się więcej obiektów na raz wyrenderować. Wtedy nie ma wyjścia i jedynym wyjściem jest zabawa z optymalizacją. Cach-owanie czego się da, batch rendering i inne pomniejsze.
Batch rendering można porównać do wysyłania wiadomości do wielu ludzi. Zamiast wysyłać do każdego człeka po kolei wiadomość, rozsyłamy na raz grupowo do wszystkich. Także zamiast wysyłać pojedynczą instrukcję dla każdego obiektu, wysyłamy jedną, żeby na raz wygenerowało ich kilka.
Zacząłem dodatkowo implementować pierwszą wersję systemu ECS. Odpowiada za zarządzanie obiektami, ich właściwościami i takie tam.
Co do GUI, to nadal pozostaje Dear ImGui. Aż takim masochistą nie jestem, żeby coś swojego robić.
Obiekty do renderowania wczytuję z plików .obj. Jest jednym z najprostszych formatów plików 3d, w których bez czytania dokumentacji ogarniesz zapisane dane. W parze ładuję też plik .mtl, który zawiera informację o kolorach i teksturach i jest tak samo prosty jak .obj.
Jak będą siły i czas, to będę sobie nadal w tym grzebał. Motywacja nadal jest, zwłaszcza że udało mi się parę blokerów pokonać i coś już faktycznie zaczyna działać, a to mnie jeszcze bardziej motywuje.
Robię to głównie dla siebie. Lubię poznawać, jak coś pod spodem działa. Tym razem padło na grafikę komputerową.
Im dłużej samemu w tym siedzę, tym bardziej podziwiam tych, co spędzają w tym większość swojego czasu.
Web-ówka się do tego nie umywa.
Szanuje fes ludzi którzy potrafią takie rzeczy albo chociaż wiedzą jak się za takie coś zabrać.
Web-ówka się do tego nie umywa.
Ta, ogólnie webdev to jest chyba najprostsza gałąź programowania z niemal zerowym progiem wstępu. Już nawet tworzenie aplikacji desktopowych (poza electronem) jest trudniejsze.
Jedynie różnica taka, że pojedyncza osoba jest w stanie napisać jakiś duży projekt webowy w sensownym czasie a tymczasem tego silnika nigdy nie skończysz xd. W sensie fajny projekt aby się pobawić i pouczyć albo żeby wpisać sobie go do portfolio. No ale na dłuższą mete pisanie czegoś takiego samemu nie ma większego sensu. No i na githubie jest masa takich eksperymentalnych niedokończonych silników w przeróżnych językach.
Trafiłem na Zenith.NET , bibliotekę-warstwę, gdzie, pisząc jedno, będzie to bez problemów działać na różnych API graficznych (Vulkan 1.4, DX12 oraz Metal) pod spodem. Poziom kontroli nad tym, jak wszystko działa, można porównać do tego, jakby programowało się w samym Vulkan-ie. Dodatkowym plusem jest jeszcze obsługa języka shaderów Slang (HLSL). Miodzio.
Na Twoim miejscu skupiłbym się nie na tym jakie drzwi otwiera, a na tym jaka jest tego cena, i w jakie ograniczenia Cię to wepchnie na kolejnych etapach.
@tomasz-frankowski Akurat dobrze wiem co ze sobą to niesie.
Ograniczenia? Jak się siedzi nad tym samemu to największe. Śledzę sobie kilka OSS silników I widzę, ilu ludzi potrzeba, żeby coś sensownego osiągnąć. Samo to, że w zespole można sobie podzielić na role kto się czym zajmuje I specjalizuje dużo daje. Samemu muszę być ekspertem we wszystkim.
A to tylko część ograniczeń.
Nie planuje też robić kto wie jakich rzeczy, nie ma to być też pełnoprawny silnik. Bez edytora, żadnych wodotryskow I przekombinowanych rzeczy.
@Garf ekspert ma wielokrotne doświadczenie w całym procesie wdrożenia. Ekspert się nie wyjebie- zastanów się czy nie robisz tego żeby się jednak trochę poobijać. Bo bez obijania niczego się nie nauczysz.
chwilka przerwy od spamowania gdzie możecie zobaczyć mój najnowszy film,
info jest na moim tagu: #w8jek
a na piąteczek chciałem się pochwalić swoim małym fanartem, zainspirowanym pewną polską grą, która niedawno miała premierę:
użyłem trochę hakiermańskich sposobów do zbejkowania wszystkiego, ale coś tam jest (tylko normale pod pewnymi kątami wyglądają na wypukłe a pod innymi na wklęsłe, więc może trzeba będzie zrobić normale od nowa) #grafika3d #gamedev #blender
Dodałeś dużo małych detali, ale nie ma ich w ogóle w średniej wielkosci. Ani na geometrii (highpoli ani lowpoly), ani na teksturach.
Dodaj troche średniej wielkości detalu na highpoly.
Np. szkło na hełmie tak po prostu przechodzi do metalu. Klapke z tyłu otwiera sie/trzyma sie na sile dobrej woli.
"hakiermańskich sposobów do zbejkowania" troche sie marnuje, bo wcale tego detalu na tym highpoly nie ma za dużo.
A na teksturach gryzie sie, że model jest czysty jak z fabryki, ale ma pełno uszkodzeń powierzchniowych od używania. Może zabrudź go troche.
Dorobiłem detale do materiału przez plugin Uberpaint, ale to domyślnie robi vertex paint i za c⁎⁎ja nie da się tego dobrze zbejkować, tylko bake diffuse'a działa dobrze #grafika3d #gamedev #blender #tworczoscwlasna
2-3 lata temu zacząłem modelować postać robota do gry, którą chcę zrobić, ale odłożyłem ten projekt do szuflady, teraz do niego pomału wracam (utworzyłem na razie projekt unreala i stworzyłem mappingi inputów). Oryginalny model był mocno high poly, więc trzeba było zrobic retopo, ale, że jestem leniwy to szukałem długo najlepszego sposobu, żeby zrobić to automatycznie. Stanęło na tym, że użyłem modyfikatora decimate w trybie unsubdivide i dostałem nawet niezłą topologię prostokątów, pomijając parę miejsc z nieco gęstszymi trójkątami ale c⁎⁎j, zostaw tak. Zrobiłem UV unwrap i zbejkowałem tekstury z proceduralnych materiałów i normal mapę z detali wersji high poly. Tak to wygląda teraz #grafika3d #blender #gamedev #tworczoscwlasna
@MrGerwant Polecam Boxcutter i Hardops (addons) do modelowania takich brył. W nich to wygląda na robótkę na 20 minut. I większość niedoskonałości można nimi poprawić niedestrukcyjnie.
Co myślicie o gierce mobile o wedkowaniu, ktora wyglada mniej więcej jak google maps ? Kazdy zainteresowany moglby łowić w swojej okolicy. Nastawiam sie narwalizm, gameplay typu spokojna rozgrywka z pracą w tle i wiadomościami push ( np ze jest branie). Przemieszcczanie sie zajmuje czas, trzeba kombinować z miejscami i metodami.
Pobawiłem się Metahuman Grooms for Houdini i niby udało się zrobić jakiegoś grooma, ale nie mogę eksportować, nie wiem czemu #houdini #grafika3d #unrealengine #gamedev #zalesie