Dzień dobry wszystkim. Skończyłem niedawno technikum informatyczne i teraz mam ponad 4 miesiące wakacji. Te wakacje chciałbym wykorzystać na naukę programowania gier w Unity i naukę tworzenia grafiki 3D w 3ds Max. Aktualnie to bardzo dobrze się znam na fotografii, projektowaniu graficznym w 2D i projektowaniu UI. Teraz chciałbym się nauczyć nowych rzeczy, jakimi są grafika 3d w 3DS Max i programowanie gier w Unity i Unreal Engine, ponieważ te oba hobby mają duże znaczenie w produkcji gier komputerowych. A sam streaming gier to dla mnie za mało. Jednakże ja wciąż mam problem z ogarnięciem podstaw 3DS Max, Unity i Unreal Engine. Jeśli ja chcę stworzyć samodzielnie grę mobilną, to ja muszę znać dobrze Unity, Unreal Engine i 3DS Max. Wiecie może, jak ja mogę na spokojnie ogarnąć dobrze Unity, Unreal Engine i 3DS Max?
Tak jak się wszystko w programowaniu ogarnia. Dokumentacja i praktyka. "W matematyce nie ma drogi specjalnie dla królów.“ - Euklides.
Nie będę ci polecał, żeby zacząć od prawdziwych podstaw z lat 80/90-tych kiedy pisało się własne software renderery od wyświetlenia piksela, po pełne środowisko 3d, bo wiem że współcześnie mało kogo na to stać (chociaż takie podstawy ogarniają człowieka jak nic innego), a nie jest to też niezbędne, żeby wskoczyć na rynek.
Masz w ogóle podstawy chociażby w geometrii analitycznej, algebrze liniowej (macierze, przekształcenia liniowe), elementarnej fizyce newtonowskiej, czymkolwiek takim?
Ja takich rzeczy nie miałem na matematyce rozszerzonej. A gdzie się mogę tego nauczyć?
Jak chcesz mieć podstawy, a moim zdaniem bez tego to nie ma najmniejszego sensu, gry - nawet na współczesnych zaawansowanych gotowych engine'ach i api - to nadal matma i fiza w znaczącej mierze, możesz zacząć od tej książki (całkiem dobre wprowadzenie):
Mathematics for 3D Game Programming and Computer Graphics - Eric Lengyel (do znalezienia w sieci w wersji pdf)
Jest wiele innych dobrych książek. Nie musisz oczywiście poznawać każdego zagadnienia z góry, ani tym bardziej w szczegółach, wpierw rzeczy najważniejsze (żeby wyrobić sobie wyobrażenie jak to w ogóle działa i co wchodzi w grę).
------
Jest też świetna strona internetowa o tym jak napisac własny prosty engine 3D (a przynajmniej jego podstawowe elementy dotyczące renderingu): scratchapixel. Też nie musisz tego wszystkiego wiedzieć, ale poczytaj żeby rozumiec co się dzieje pod maską jak używasz gotowych narzędzi.
Ogólnie, zanim się za coś weźmiesz, kiedykolwiek w programowaniu, wpierw zbuduj sobie ogólny obraz z czym to się je. Tak jest znacznie łatwiej.
Potem poczytaj o samych narzędziach o których wspomniałeś. Dopiero potem wymyśl jakiś prosty projekt, na początek jak najprostszy (jak nie pisałeś gier 2d, to nie zaczynaj od 3d! napisz chociażby tetrisa czy arcanoid), a dopiero potem się bierz za coś poważniejszego!
Jak zniechęcić do nauki czegokolwiek - część 1 XD
Rozumiem, że jeżeli ktoś chciałby się nauczyć jeździć konno to zasugerowałbyś mu na wstępie zaznajomić się atlasem anatomii klinicznej konia
Jak rzeczywiście nigdy nie pisałeś żadnej gry, nawet najprostszej, real-time, to przyda Ci się na pewno też stronka: gameprogrammingpatterns. Na początek np. ich artykuł o game loop.
Macierzy używa się nawet w zwykłych animacjach css, a ty się zachowujesz jakbym polecił mu podręcznik z uniwersyteckiej analizy liniowej. Nie, książka którą poleciłem, to po prostu kompedium podstaowywch narzędzi matematycznych jakich się używa w programowaniu gier, dość powierzchowna zresztą, taki punkt orientacji.
Jest jasne, że nie musi tego wszystkiego znać! Ale warto wiedzieć co będzie trzeba z czasem na pewno znać! W ogóle co wchodzi w grę.
Na pewno się przyda.
Jak znasz angielski to kursy Unity lub Unreal Engine na udemy, możesz wykupić. Na youtube też masz miliony filmików. Na stronie Unity są też tutoriale. Jest też masa książek o Unity np. ostatnio czytałem taką i uważam, że jest dobra:
Casey Hardman "Programowanie gier przy użyciu Unity i C#"
albo ta:
Jeremy Gibson Bond "Projektowanie gier przy użyciu środowiska Unity i języka C#"
Ogólnie materiałów od groma. Ostatnio na stronie Unity dali więcej tutoriali za darmo z okazji pandemii.
Gość prawdopodobnie nie pisał nigdy nawet tetrisa, a ty chcesz żeby zaczynał od książek od Unity? Niech wpierw w ogóle wyrobi sobie ogólny obraz czegokolwiek.
Fajnie, że oceniasz przydatność książek, których nie czytałeś. W drugiej książce zawartość "programistyczna" zaczyna się od "Witaj świecie". Dalej jest rozpisane na czym polegają instrukcje warunkowe. Da się prościej?
Casey Hardman "Programowanie gier przy użyciu Unity i C#" tutaj też na początku są instukcje warunkowe rozpisane, czym są typy danych i takie rzeczy.
Ale fakt, nie czytałem tej książki. Może to jakiś wyjątek. Aczkolwie zajęło mi lata często, żeby znaleźć podręcznik, który wyjaśniał jakąś trapiąco mnie kwestię (zazwyczaj z lat 70-tych, albo 80-tych), bo tak się współczesnie książki pisze: jak tutoriale - zostań programista w weekend.
Zreszta napisałem w pierwszym zdaniu: dokumentacja i praktyka. Reszta to tylko pomoce.
A potem rozmawiam z Polakiem młodym w UK, który mówi, że studiuje programowanie gier na licencjacie, a nie wie co to jest Directx, nie mówiąc już o podstawach matmy.
Zresztą napisałem w pierwszym zdaniu: dokumentacja i praktyka. Reszta to tylko pomoce. I oczywiście społeczność internetowa. Stackexchange, stackoverflow, tak to w praktyce działa. W każdym informatycznym zagadnieniu.
I żadnej książki bym nie dotykał, bez wstępnego poczytania o co w ogóle chodzi i jakie są podstawowe idee w programowaniu gier. Jak w ogóle działa rendering, jakie sa jego kolejne stopnie, czym jest scena, czym kamera, co to w ogóle jest engine itd. Nie po to, żeby to znać na wylot, a po to, żeby mieć rozeznanie jakie klocki wchodzą w grę!
No chyba że gośc w ogóle nie programował, to owszem, masz rację, wówczas taka książka może być dobrym pomysłem.
Rozumiem Twoje podejście. Ale mimo wszystko uważam, że od czegoś trzeba zacząć i najlepiej zacząć od najprostszych rzeczy, szczególnie, że napisał że ma problem z ogarnięciem podstaw. Nie uważam, że ogarnięcie jakiś prostych rzeczy na początek komukolwiek zaszkodzi. Osobiście też nie chciałem kupować Casey Hardman "Programowanie gier przy użyciu Unity i C#" bo sprawdziłem w Empiku i tak jak Ty patrze to znam, to znam itd. Jednak kupiłem, przeczytałem i nie żałuję. Ale to jest moje podejście , lubię po prostu czytać i kolekcjonować książki.
To czym jest scena, kamera i engine w tych książkach właśnie jest rozpisane.
Dobra, przyznam, może trochę poleciałem z ta matmą, ale prędzej czy później się tego nie uniknie. Jasne, że trzeba zaczynać od prostych rzeczy. Stąd pisałem o tetrisie czy arcanoidzie, a nie rzucaniu się na gierkę 3d (nonsens!).
Ale jak już się coś takiego napisze, wyrobi się sobie ogólna opinię od podstawach 2d, potem coś tam liźnie 3d, a ma się do tego zacięcie i talent, to moim zdaniem jest bardzo dobrym pomysłem spróbować napisac własny renderer, tak jak to się robiło dekady temu standardowo. To daje po prostu inny poziom zrozumienia wielu etapów, które się dzieją pod spodem. Inne też docenienie zagadnień.
A im więcej matmy znasz i fizy, tym tak naprawdę lepiej. Obecnie wszyscy udają, że każdy może być Bóg wie kim. Ja wiem, że wieloma osobami nie mógłbym być. Po prostu przyjrzałem się z czym to się wiąże. Nie mam na tyle inteligencji i/lub zaparcia.
Ja potrafię nawet robotę zawalać, bo chcę coś zrobić sam, zbadać, wyważyć te otwarte drzwi których niby się nie powinno. I co? Bardzo często to potem procentuje, nawet w zdawałoby się głupich zagadnieniach. Gdybym tego nie robił, to potem często tematy, które właśnie dlatego ogarnąłem w miarę szybko, zajęłyby mi w cholerę czasu.
Ale tego się współcześnie nie docenia. Nie wyważaj otwartych drzwi, kursik, piecząteczka i niby jesteś gotów. Jasne... Szkoda, że to wszystko zacząłem jako już "stary" człowiek, bo bym wam udowodnił jak to podejście procentuje, gdybym zaczął to 2 dekady temu!
Wierzę w to, że wiedza nie szkodzi. Wierzę w to że warto wiedzieć więcej i całe życie się uczyć i doskonalić i to procentuje. Ale w branży potrzeba ludzi o różnym stopniu zaawansowanania. Na rozwój też przyjdzie czas. Nasz bohater może w ogóle uznać, że programowanie to nie dla niego i woli ogarniać grafikę.
Dobranoc.
Dobranoc
Tak przy okazji, jeśli wiecie co to jest cron (bardzo proste, a jednocześnie popularne narzędzie do tworzenia harmonogramu zadań systemowych na systemach ala unix) , znacie może jakiś algorytm, który z wyznaczonych na cronie dat jest w stanie znaleźć najbliższą obecnego momentu w czasie?
Sam zapis już sobie przeparsowałem na możliwe minuty, godziny, dni miesiąca, miesiące, dni tygodnia, więc mam te dane. Ale teraz muszę wyznaczyć jak najprościej timestamp z tego najbliższej wyznaczonej tak daty. Próbuję to pisac z palca i dochodze do wniosku, że ilośc warunków, pętli itp. jaka przy tym powstaje przyprawia mnie o zawrót głowy. Może ktoś to jakoś uogólnił?
A możesz podać przykładowy zapis daty?
Nie znam się na Cronie ale znalazłem takie rzeczy:
https://www.google.com/search?client=opera&q=cron+date+calculator&sourceid=opera&ie=UTF-8&oe=UTF-8
https://stackoverflow.com/questions/321494/calculate-when-a-cron-job-will-be-executed-then-next-time
Może okażą się przydatne.
Wrzucasz CRONy przekonwertowane na milisekundy od północy 1 stycznia 1970 (aka czas unixowy) do jakiejś kolekcji, każdy większy language ma do tego narzędzia, (np. Javowy Timestamp ma metodę getTime(), C# ma DateTimeOffset itd).
Po tym szukasz najmniejszej dodatniej różnicy czasu (ponownie - w milisekundach), a w jaki sposób to zrobisz to pełna dowolność (tu się będzie różniło tylko performance):
- możesz iteracyjnie (każdy vs każdy),
- możesz wrzucić dane do sortowanej kolekcji i wziąć index +1 (względem obecnej daty)
itd itp.
Wiadomo, im mniejsza różnica w milisekundach (mowa o wartości dodatniej - ujemne będą z przeszłości) tym bliżej wybranemu czasowi do kolejnego w hierarchii CRONa.
Dzięki za odpowiedzi, ale już sobie poradziłem. W moim przypadku chodziło precyzyjnie o to, żeby na podstawie stringa z definicją reguły crona, wyznaczyć timestamp występujący po obecnym momencie w czasie, najbliższy tego momentu. Gdybym miał już timestampy to nie byłoby w tym absolutnie żadnego problemu przecież, żeby znaleźć najbliższy obecnej chwili.
Parsowanie stringa do tablic możliwych minut, godzin, miesięcy, dni miesiąca, dni tygodnia (dwa ostatnie mogą się pokrywac i trzeba to zmerge'ować) miałem już zrobione.
Wyznaczanie wszystkim możliwych timestampów z zapisu crona nie miałoby sensu, bo cron potencjalnie wyznacza nieskończonośc momentów w czasie. Nawet ograniczenie możliwości np. do obecnego roku, to niezbyt wydajne rozwiązanie.
Więc robię to po prostu w stylu licznika samochodowego, ktory zaczyna od roku (sam dodaję lata do danych, cron nie ma lat), idzie przez miesiące (zaczynając od obecnego lub wyższego niż obecny z kandydatów), możliwe dni miesiąca itd. i jak nie znajduje kandydatów to podnosi index wyższego rzedu, a resetuje do najniższych możliwych wartości niższe i ponawia sprawdzenie.
Dopisałem sam do tego własne funkcje kalendarzowe np. sprawdzanie, który danego dnia danego miesiąca danego roku jest dzień tygodnia, nie dlatego, że ich nie było w standardzie (to akurat php), ale dlatego, że standardowe nie miały prostego przełożenia z zapisu tablicowego na wywołania funkcji (musiałbym dodatkowo przerabiać zapis cyfrowy na jakieś standardy zapisu daty - strata czasu).
BTW. Przy okazji testowania nie mogłem darowac i musiałem sprawdzić ile jest w roku możliwych piątków 13-stego. Jeśli gdzieś się nie machnąłem możliwe sa maksymalnie 3, zarówno w roku przestępnym jak i zwykłym.
Nie znam się ale się wypowiem :) - żartowałem - trochę się zorientowałem w temacie.
Programowanie gier to temat bardzo ciekawy, ale osobiście bym odradzał - trzeba mieć naprawdę wysokiego skila żeby się tym zajmować - dla zabawy możesz przerobić tego typu publikacje
[link] (Sweigart) Invent your computer games with Python
ale jeżeli myślisz o poważnym zajmowaniu się tematem to przed tobą trudna, mozolna i długa droga.
Polecałbym najpierw nauczyć się programowania w Pythonie bo tu niski próg wejścia, choć wysoki jeżeli chodzi o ścieżki kariery (Machine Learning itp)- możesz posiłkować się takimi książeczkami jak "Misja Python" jak stworzyć grę w Pythonie czy ten Sweigart. Najlepszą książką na początek jest "Python instrukcje dla Programisty" (crash course) - zresztą Sweigart ją polecał, a dopiero potem przejść na c# lub c++ (Unity, Unreal). Tyle ode mnie
Ja odradzam Pythona czyba, że zamiarzasz się zająć data science, ai itp. To jest poza tym tak naprawdę głównie tzw. glue language, czy coś co służy do łatania ze sobą różnyżnych technologii. Albo przypadatne czasami narzędzie do szybkiego prototypowania, czy pisania skryptow systemowych. Poza tym to jest przereklamowana zabawka, która uczy złych nawyków i nie wiadomo co z nią zasadniczo począć.
Jak chcesz pisać gry komputerowe, to na początek najlepiej pójdź w Javę (której znajomość przyda Ci się jakbyś chciał się zając dziesiątkami rzeczy), albo Javascript i html5 (javascript, szczególnie w webie, jest obecnie wszechobecna). Gry z pierwszej półki (AAA) pisze się w C++, ale nawet nie próbój na początku rzucać się na ten język.
Nie tylko oba te języki są wszechobecne i znajduja mase innych zastosowań, umożliwiają bardzo szybkcie przejście do rzeczy. Na Javie możesz przy użyciu Swinga odpalić okno i zająć się grafiką po paru linijkach, Javascript natomiast ma dostęp do elementu canvas z html5.
W przypadku Javy masz tez na yt naprawdę niezłą playlistę w której autor pokazuje krok po kroku jak stworzyć własny prosty, zanbawkowy engine 3d, co - jak pisałem wcześniej - jest warto chociaż zobaczyć, żeby wyrobić sobie ogólny obraz:
3D Game Engine Development Tutorial (kanał: thebennybox)
Jestem całkowicie innego zdania - właśnie dobrych nawyków uczy. Nie sugerowałem autorowi zostanie Pythonistą. Jeżeli chcesz się ekspresowo nauczyć programować i pisania kodu w dobrym stylu - czytelnego bez obciążania pamięciowego jak w c++ to właśnie Python jest najlepszy - uczy dobrych praktyk clean kodu i to koledze radziłem bo właśnie tam każde wcięcie i pierdółka ma znaczenie. Nie radziłem mu uczyć się po to aby został w Pythonie. Wątpię, że kolega się nauczy szybko programować w javie. Język to tylko narzędzie - gdy się nauczysz jednego języka z przejściem na inny nie będzie problemów - a z Pythonem zrobi to najszybciej - dlatego sugerowałem Pythona. Z moich obserwacji programistów Javy zauważyłem, że znacznie wolniej piszą kod w javie niż w Pythonie
Uczy fatalnych nawyków. Poczytaj inżynierów systemowych i ludzi, którzy biorą udział w dużych projektach, a nie współczesnych infantylnych odchyłów, dla których ważniejsza jest moda i bycie cool, niż cokolwiek związanego z realną pracą! Nie zauważyłeś, że współczesną debatą zaczynają rządzić hipsterzy, a nie ludzi co relanie coś robią?
Przy czymkolwiek większym Python zmienia się w niezarządzalny bełkot. Sama idea, żeby formatować tekst przy użyciu wcięż zasługuje na całą książkę, która to wyśmiewa. Jest to nie tylko nieczytelne (poza banalnymi programikami), jest to dodatkowo - nieprzenośne!
Ponadto - poza tym co wymieniłem, Python nie do wielu rzeczy się w ogóle nadaje, to co z niego wyniesiesz nie znajduje zastosowań ani prostych przełożeń w innych (znacznie popularniejszych i mających znacznie większy zakres użyć) językach. Pythona nie ma absolutnie sensu się uczyć na początek, a już zupełnie jak ktoś chce programować gry.
Duże gry tworzy się w C++. Mniejsze różnie, ale np. własnie w Javie (która jest tez powszechna na androidzie) czy właśnie javiescript jak na przeglądarki (webgl itp.). Z Javy jest proste przejście na C++. Zarówno Java jak i Javascript i ich znajomość na wysokim poziomie zapewni pracę w dziesiątkach interesujących dziedzin. Powodzenia z Pythonem.
W Pythonie 3.6 dodano fstringi co diametralnie zmienia wcześniejszą zasadę formatowania na czytelną
Jak ktoś nie idzie w ai, czy data science, nawet nie powinien myślec o pythonie, bo nic mu to nie da. Jakbym miał np. pisac mała webapkę, miliard razy wolałbym wybrać js, a przy większym projekcie javę. W szczególności, że obu tych języków mógłbym użyć przy dziesiątkach innych projektów. A typową standardową stronę i tak się pisze od backendu niemal zawsze w php-cu.
Z jednym się zgodzę łatwiej przejść z javy na c++ to fakt ale wcale to nie jest najszybsza droga nauki - ja podałem najszybszy wariant
Ale załóżmy że nie wiadomo po co zaczął uczyć się to robić w Pythonie, gdzie kończy się to na poziomie zabawy, bo w tym się żadnych gierek nie pisze (może sa jakieś wyjątki). I co potem? Ma się uczyć innego języka, bo stracil czas na Pythonową piaskownicę?
Wpisz na yt: Creating a NES emulator in C++11 (PART 1/2), kanał bisqwit.
Można i tak :)
Dla mnie java c c++ zupełnie nie są przejrzystsze właśnie że jest nadmiar niepotrzebnych słów - tak jak to ująłeś przegadana
Co jest według Ciebie nieprzejrzystego w Javie? Pomijająć ogromny zasób bibliotek i api to znacznie prostszy język w nauce niż Python! Znacznie mniej "skondensowany". Co w tym jest nieprzejrzystego?
sama zasada bzdurnych nawiasów klamrowych podobna jak c i c++ to już dla mnie wprowadza niepotrzebne zamieszanie - nie zastanawiałeś się czasem dlaczego programiści javy tak wolno piszą kod a z Pythonem nie sprawia im nic trudności. Ale masz rację javę mało znam przerobiłem jeden tutorial i nie powinienem się wypowiadać - może java nie jest taka zła - wtedy zwracam honor javie
Co w Pythonie nie sprawia trudności? Podaj mi 1, słownie JEDEN przykład zaawansowanego narzędzia napisanego od A do Z w Pythonie. Nie przypadkiem nawet znacznie mniejsze projekty, jak tylko urosły, często uciekały z Pythona drzwiami i oknami z przepisaniem całego stacku. To kosztuje ogromne pieniądze, a i tak to robili. Ciekawe dlaczego?
Może dlatego, że Python - jeśli nie ma być tylko dodatkiem i middleware tu i ówdzie - nie nadaje się absolutnie do żadnych dużych projektów i jest totalnie nieutrzymywalny?
dla mnie ewidentną zaletą Pythona jest to że w nim się pisze po prostu szybciej dlatego jest używany do prototypów - co się przekłada chyba także na czas i kasę dla firmy
Co się pisze szybciej? Jakieś prototypowanie rozwiązań, pewne obszarowe rozwiązania w których akurat Python jest dobry, kelejenie przy jego użyciu innych technologii (jako że ma wyjścia na wiele interfaceów), czy skrypty systemowe, jakąś mała webapkę na startupie, bo trzeba szybko machnąć, a potem będzie się myślec na jaki język przejśc dalej jakby się rozwinęła? Owszem. Nic poza tym w nim się szybkciej nie pisze, bo nic poza tym się w nim W OGÓLE nie pisze.
To tak jak z ludźmi, ktorzy wciąż narzekają na obiektówkę. Też jej nienawidzę. Weźmy web. Interface, który normalnie bym z palca w html, css, js i php machnął w 10 minut, może zająć dwa dni, żeby ogarnąć. Ale dlaczego tak jest?
Otóż dlatego, że jest wpięty w system. Co to oznacza? Otóż oznacza to tyle, że np. jest wpięty w cache'owanie danego frameworka ktory wie co można, a czego nie można (bo to np. dane wrażliwe danego użytkownika, a nie element każdej podstrony) wrzucić w cache. Jest wpięty w cały system wypluwania markupu na stronę i modyfikowalny zwykłymi definicjami xml do pewnego stopnia. Wpięty w system tłumaczenia tekstów (wielojęzyczność). Wpięty w reguły dostepu (jaką akcję jaki użytkownik z jakimi uprawnienieniami ma prawo wykonać). Wpięty w system statystyk strony. Może wręcz wprost mapowany na tablice w bazach danych (a dalej modele) jeśli dodatkowo coś zapisuję z formularzy.
I tak dalej i temu podobne. Ale najłatwiej potem pierd... po co ten cały bloat jak się nie wie o czym pisze.
Drugą zaletą Pythona jest to że jest idealny do przetwarzania tekstu - to co ja bym musiał zrobić w tydzień w c++ (jakieś karkołomne akrobacje choćby kodowaniem utf-8, formatem docx, exelem, pdf-ami)w Pythonie da się ogarnąć w półgodziny może krócej.
Mimo to, jak przyjdzie co do czego (tak jak powyżej z cronem) czasami znacznie szybciej, jak temat nie jest zbyt skomplikowany, jest napisać prosty parserek z palca, niż szukać jakichś gotowych rozwiązań, wpinac je w resztę i jeszcze sprawdzać co poeta miał na myśli.
Zresztą, ciągnięcie tej debaty nie ma sensu. Jeśli chodzi o programowanie gier, nie mam żadnych wątpliwości, że Java będzie znacznie lepszym wyborem, niż Python.
java będzie lepszym wyborem - przyznaję ci rację, choć nadal uważam, że nauczenie Pythona zajmie chyba mniej czasu niż javy. Dla mnie Python jest prostszy od javy
offtopic A tu co programista java uważa. Czy Python to dobry język na początek nauki
[link]
Dlatego polecałem Pythona na początek nauki
To samo dotyczy innych dziedzin. Są fizycy, którzy tylko chodza po mediach i zapewniają o podrózach w czasie i kosmitach. Czasami mają nawet jakiś dorobek. Ale nutjob, to nutjob. Newton szukał kamienia filozoficznego, parał się czarną magią i należał do paru sekt. Przy okazji wynalazł rachunek różniczkowy :D
W przypadku polecanego kanału z yt, a mianowicie: thebennybox, miałem oczywiście na myśli playlistę: 3D Software Rendering Tutorial (bo tam pokazuje jak stworzyć prosty software renderer). Ale wszystkie tutoriale tego gościa, w zależności czego szukamy, są warte uwagi.
Pierwszy "epizod" z tej playlisty: #0 3D Software Rendering Tutorial: FAQ
Nie mogę wklejać linków ale tego Sweigarta można poczytać za darmo na stronie autora. Drugim tomem jego jest "Making games with Python and pygame" też na jego stronie można poczytać. Polecałbym też wypożyczyć z biblioteki (nie kupować, bo ma złe tłumaczenie i jest w cholerę przestarzała, ma cenę z kosmosu) serię "Perełki programowania gier". Zorientujesz się trochę w temacie dzięki niej. U mnie jest w bibliotece ale niestety tylko I tom.
Mi się odechciało zajmowania tematem gdy zorientowałem się jaki jest próg wejścia w programowanie gier - myślę, że seria perełki dobrze to ilustruje, odechciało mi się też jak przejrzałem kod źródłowy niby prostych gierek typu "pingus". Ale skoro wybrałeś rozszerzoną matmę to w twoim wypadku może nie będzie tak źle. Nie chciałbym cię zniechęcać, ale też nie będę owijać w bawełnę - temat nie jest łatwy. Ale jeżeli cię to kręci to ciągnij dalej temat.
Tak w sumie przepraszam - nie powinienem wypowiadać się skoro się mało znam, bo wypadło to jak trolling, ale miałem dobre intencje. Unity to c# więc nie powinienem doradzać Pythona