Gieneq Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 @H1M4W4R1 może nie pracowałem w twojej branży zawodowo, ale amatorsko pisałem programy w grafice i przerobiłem od deski do deski kurs OpenGL, który serdecznie polecam 🙂 Szczerze jest tam sporo matmy. W zaawansowanym game devie pewnie to są tylko narzędzia (niewiem, nie znam się), ale działasz najpewniej na wektorach ale samo to wymaga matmy. Prosta operacja "dot product", którą wielokrotnie używałem pisząc shadery, przydaje się też w uczeniu sztucznych sieci neuronowych, badaniu korelacji sygnałów, itp. W kontekście gier i grafiki tematy jakie potrzebowałem to m.in: operacje na wektorach i macierzach, przekształcenia afiniczne, rożne odwzorowania układów współrzędnych, funkcje liniowe i interpolacja, podstawy fizyki: kinematyka, rozkład sił, pole jednorodne i centralne (symulacja przyciągania). Do tego pojawiają się algorytmy. Oczywiście zależy co robisz. Jak gość z tutoriala pokazywał jak samemu zaimplementować kolizje z terenem, to omawiał współrzędne barycentryczne? czy jakoś tak... implementacja dźwięku przestrzennego - fizyka się kłania, dźwięk zanika kwadratowo, przestrzeń zmienia się logarytmicznie... matmy jest sporo 😕 Oczywiście da się tego uniknąć. Ostatnio czytałem o tym, że w pythonie da się pisać supewydajne programy porównywalne z odpowiednikami w C... pod warunkiem, że unikasz składni pythona 🙂 więc jeżeli weźmiesz pakiet numpy i będziesz żonglował funkcjami to nawet nie ma tam miejsca na matmę. To już jest jednak programowanie wysokopoziomowe Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 1 minutę temu, ethanak napisał: void main(int argc, char *argv[]) { game *game=make_game(random()); save_game(game, argv[1]); } no bez przesady... Po prostu większość rzeczy matematycznych jest robiona przez biblioteki silnika gry i jedyne czym się przejmujesz to dodaj wielokąty wykonaj komendę z dokumentacji, która weryfikuje czy na siebie nachodzą 1 minutę temu, Gieneq napisał: W kontekście gier i grafiki tematy jakie potrzebowałem to m.in: operacje na wektorach i macierzach, przekształcenia afiniczne, rożne odwzorowania układów współrzędnych, funkcje liniowe i interpolacja, podstawy fizyki: kinematyka, rozkład sił, pole jednorodne i centralne (symulacja przyciągania). Do tego pojawiają się algorytmy. Oczywiście zależy co robisz. Jak gość z tutoriala pokazywał jak samemu zaimplementować kolizje z terenem, to omawiał współrzędne barycentryczne? czy jakoś tak... implementacja dźwięku przestrzennego - fizyka się kłania, dźwięk zanika kwadratowo, przestrzeń zmienia się logarytmicznie... matmy jest sporo 😕 Oczywiście da się tego uniknąć. Ostatnio czytałem o tym, że w pythonie da się pisać supewydajne programy porównywalne z odpowiednikami w C... pod warunkiem, że unikasz składni pythona 🙂 więc jeżeli weźmiesz pakiet numpy i będziesz żonglował funkcjami to nawet nie ma tam miejsca na matmę. To już jest jednak programowanie wysokopoziomowe Praktycznie to wszystko robi silnik. Obecnie praktycznie żadna gra nie jest tworzona na niskim poziomie, bo średni czas na zaprojektowanie gry mobilnej od zera do wypuszczenia reklamy to ok. 3-4 dni robocze. Na niskim poziomie trwałoby to wieki, dlatego stosuje się programowanie wysokopoziomowe (czasami wspomagając się "średnim" poziomem - np. język IL). Potrzebujesz dźwięku - dodajesz źródło dźwięku, ustawiasz parametry, gotowe. Potrzebujesz kolizji, dodajesz do obiektu skrypt "Rigidbody", ustalasz masę, gotowe... Teraz nie ma czasu na zabawę w algorytmy, bo inaczej wypadasz z branży, albo ktoś sprząta ci fajny pomysł sprzed nosa. Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 (edytowany) @H1M4W4R1 domyślam się, że nie trwa to tyle. Gość z tego kanału pisał 3 gry: pierwsza po 2 latach do kosza - przekombinowana, nie znał się, nieciekawa. Druga po chyba 3 latach pisania trafiła na Steama i coś tam zarabia - sam kupiłem, żeby wesprzeć gościa za świetny content. Teraz robi 3 grę... ETA: 3 lata. Oczywiście projekt zaczynał od narysowania trójkąta w przestrzeni, ale już przy 3 projekcie nabudował silnik który zrobił przy 2, więc można powiedzieć, że kiedyś fizyka się kończy a zaczyna się silnik. Choć i tak jestem zdania, że no macierz perspektywy to chyba trzeba umieć napisać, nawet obudzonym w środku nocy 😄 Edytowano Wrzesień 9, 2021 przez Gieneq Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 3 minuty temu, H1M4W4R1 napisał: średni czas na zaprojektowanie gry mobilnej od zera do wypuszczenia reklamy to ok. 3-4 dni robocze. No tak, a ja swoją Milenę pisałem sześć lat... ale ja muszę być niekumaty 😞 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
H1M4W4R1 Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 Przed chwilą, Gieneq napisał: domyślam się, że nie trwa to tyle. Gość z tego kanału pisał 3 gry: pierwsza po 2 latach do kosza - przekombinowana, nie znał się, nieciekawa. Druga po chyba 3 latach pisania trafiła na Steama i coś tam zarabia - sam kupiłem, żeby wesprzeć gościa za świetny content. Teraz robi 3 grę... ETA: 3 lata. Oczywiście projekt zaczynał od narysowania trójkąta w przestrzeni, ale już przy 3 projekcie nabudował silnik który zrobił przy 2, więc można powiedzieć, że kiedyś fizyka się kończy a zaczyna się silnik. Średnio z opóźnieniami wychodzi tydzień do dwóch... (MVP) i do miesiąca (pełnoprawna gra mobilna) Przykład: Patrz CrossWords - od 7 do 10 czerwca. Bomberman miał opóźnienie, bo grafik z zespołu miał urlop... Jak zawsze ci graficy się obijają i tworzą opóźnienia... 4 minuty temu, ethanak napisał: No tak, a ja swoją Milenę pisałem sześć lat... ale ja muszę być niekumaty 😞 Ale porównaj sobie jej jakość z jakością kodu w typowej grze mobilnej 😛 (zwłaszcza wydajności) Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Wrzesień 9, 2021 Udostępnij Wrzesień 9, 2021 @H1M4W4R1 nie mam jak porównać - gdybym miał do dyspozycji funkcję z jakiegoś silnika typu "is_verb(const char *word, int *stress)" to bym się nie zastanawiał tylko zastosował. Tylko skąd wytrzasnąć taki silnik 😞 Cytuj Link do komentarza Share on other sites More sharing options...
qwerty2021 Wrzesień 10, 2021 Autor tematu Udostępnij Wrzesień 10, 2021 No dobrze, tak żeby było konkretniej. Pierwszy temat "Filtr Kalmana dla znających tylko tabliczkę mnożenia." Potrafi ktoś napisać taki artykuł? Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Wrzesień 13, 2021 Udostępnij Wrzesień 13, 2021 (edytowany) @qwerty2021 na komputerze w sumie to nie wychodzisz poza podstawowe operacje, bo komputer nie umie tych innych. Nie wiem czy wie co to sinus, raczej nie, ale wie co to szereg Taylora i nim rozwiązuje przybliżenia funkcji. Co do filtru Kalmana to tam jedyna trudność to operacje macierzowe, które są powtarzalnym dodawaniem i mnożenie. Na forbocie jest kilka artykułów, ale fakt mogą być dość trudne dla początkujących więc można wziać to pod uwagę. Edytowano Wrzesień 13, 2021 przez Gieneq Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!