Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Wciąż walczę z nauką podstaw 3ds Max i Unity.

21.05.2021 22:25
1
Kondzio_one20
45
Centurion

Wciąż walczę z nauką podstaw 3ds Max i Unity.

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?

21.05.2021 22:27
2
odpowiedz
8 odpowiedzi
Decadence
0
Chorąży

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?

post wyedytowany przez Decadence 2021-05-21 22:31:07
21.05.2021 22:33
2.1
Kondzio_one20
45
Centurion

Ja takich rzeczy nie miałem na matematyce rozszerzonej. A gdzie się mogę tego nauczyć?

21.05.2021 22:36
2.2
Decadence
0
Chorąży

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.

post wyedytowany przez Decadence 2021-05-21 22:41:29
21.05.2021 22:43
2.3
Decadence
0
Chorąży

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!

post wyedytowany przez Decadence 2021-05-21 22:45:48
21.05.2021 22:43
Fett
2.4
Fett
233
Avatar

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

post wyedytowany przez Fett 2021-05-21 22:50:36
21.05.2021 22:46
2.5
Decadence
0
Chorąży

Fett -- Jak powiedzieć prawdę i nie rżnąć głupa, raczej. Może jeszcze zaczniesz twierdzić, że fizykiem teoretycznym można zostać nie rozumiejąc ułamków zwykłych, co?

post wyedytowany przez Decadence 2021-05-21 22:46:59
21.05.2021 22:49
2.6
Decadence
0
Chorąży

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.

21.05.2021 22:54
2.7
Decadence
0
Chorąży

Fett -- Tak Fett, jakby ktoś chciał nauczyć się jeździć konno to wpierw zaleciłbym mu poczytać ludzi, którzy już się tego uczyli, poczytac o koniach i konnej jeździe, o podstawowych technikach, zasadach bezpieczeństwa, a dopiero potem iśc na kurs. -- Ty oczywiście miałbyś podejście inne i skończyłoby się to tym, że gość by miał paranoję i przeładowanie mózgu informacjami instruktora, bo nie wyrobił sobie nawet ogólnego zdania co się dzieje.

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.

post wyedytowany przez Decadence 2021-05-21 22:57:11
24.05.2021 02:30
Persecutor
2.8
Persecutor
43
Tosho Daimosu

Ja takich rzeczy nie miałem na matematyce rozszerzonej. A gdzie się mogę tego nauczyć?

Z książek i na studiach :)

post wyedytowany przez Persecutor 2021-05-24 02:30:37
21.05.2021 22:46
3
odpowiedz
5 odpowiedzi
MOD
182
Generał

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.

post wyedytowany przez MOD 2021-05-21 22:47:57
21.05.2021 22:47
3.1
Decadence
0
Chorąży

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.

21.05.2021 22:53
3.2
MOD
182
Generał

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.

21.05.2021 22:59
3.3
Decadence
0
Chorąży

MOD -- W takim razie, jeśli gośc kiedykolwiek programował, mówisz o książce którą wyrzuciłbym od razu do śmieci z tej prostej przyczyny, że nie miałbym cierpliwości do autora, który myśli, że jest dobrym pomysłem uczyć programowania I programowania gier w jednym wykładzie i mnie zanudza co dwie strony banałami, ktore dawno znam, a nie umie - bo zawsze tacy nie umieją - wyjaśnić w najmniejszym stopniu realnie złożonych zagadnień, albo nawet o nich wspomnieć.

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.

post wyedytowany przez Decadence 2021-05-21 23:04:08
21.05.2021 23:05
3.4
Decadence
0
Chorąży

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ę!

post wyedytowany przez Decadence 2021-05-21 23:08:47
21.05.2021 23:14
3.5
Decadence
0
Chorąży

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.

21.05.2021 23:16
4
odpowiedz
3 odpowiedzi
MOD
182
Generał

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.

21.05.2021 23:23
4.1
Decadence
0
Chorąży

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!

post wyedytowany przez Decadence 2021-05-21 23:26:52
21.05.2021 23:44
4.2
MOD
182
Generał

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.

21.05.2021 23:58
4.3
Decadence
0
Chorąży

MOD -- Właśnie nie wiem czy przyjdzie. Bo jak już gdzieś wpadniesz, to każą ci klepać co masz klepać, a spróbuj zawalać terminy, bo chcesz się czegos nauczyć (chyba że po nocach siedzieć, to może nie zawalisz, chyba że z powodu, że po paru takich dniach będziesz zombie). Programistów zaczyna się traktowac jak zwykłych wyrobników na taśmie. Nie interesuj sie, rób swoje.

Dobranoc

post wyedytowany przez Decadence 2021-05-21 23:59:36
21.05.2021 23:46
5
odpowiedz
4 odpowiedzi
Decadence
0
Chorąży

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ł?

post wyedytowany przez Decadence 2021-05-21 23:50:54
22.05.2021 13:20
5.1
MOD
182
Generał
post wyedytowany przez MOD 2021-05-22 13:25:55
22.05.2021 13:42
Amadeusz ^^
5.2
Amadeusz ^^
200
of the Abyss

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.

post wyedytowany przez Amadeusz ^^ 2021-05-22 13:44:38
23.05.2021 21:05
5.3
Resurgence
0
Legionista

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).

post wyedytowany przez Resurgence 2021-05-23 21:07:22
23.05.2021 21:38
5.4
Resurgence
0
Legionista

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.

22.05.2021 16:53
6
odpowiedz
23 odpowiedzi
Kine
13
Chorąży

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

post wyedytowany przez Kine 2021-05-22 16:57:33
23.05.2021 21:15
6.1
Resurgence
0
Legionista

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)

post wyedytowany przez Resurgence 2021-05-23 21:16:55
23.05.2021 22:02
6.2
Kine
13
Chorąży

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

post wyedytowany przez Kine 2021-05-23 22:06:15
23.05.2021 22:10
6.3
Resurgence
0
Legionista

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.

post wyedytowany przez Resurgence 2021-05-23 22:14:21
23.05.2021 22:13
6.4
Kine
13
Chorąży

Estetyka ma znaczenie - tego uczy Python i dlatego doradziłem Pythona

23.05.2021 22:15
6.5
Kine
13
Chorąży

W Pythonie 3.6 dodano fstringi co diametralnie zmienia wcześniejszą zasadę formatowania na czytelną

23.05.2021 22:15
6.6
Resurgence
0
Legionista

Kine -- Acha, estetyka? Czyżbyś sam był hipsterem? Nie, estetyka nie ma znaczenia. Przejrzystość kodu ma. No tak, w Ptyhonie 3.6 coś dodano, a połowa środowiska nadal siedzi na Pythonie 2 i się wykłóca, który ma być przyszłością. Co pokazuje jakie to środowisko. Nie opowiadaj bajek.

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.

post wyedytowany przez Resurgence 2021-05-23 22:18:51
23.05.2021 22:18
6.7
Kine
13
Chorąży

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

23.05.2021 22:20
6.8
Resurgence
0
Legionista

Kine -- Najszybszy? W 15 minut zacząłby pisać grafikę w Javie mając dobry tutorial. To jest parę linijek kodu, żeby odpalić okno w Javie spod Swinga i uzyskać dostęp do narzędzi graficznych. To samo Javascript i przeglądarka.

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ę?

post wyedytowany przez Resurgence 2021-05-23 22:21:44
23.05.2021 22:21
6.9
Kine
13
Chorąży

Jeżeli java jest przejrzystsza od Pythona to ja chyba jestem nie z tej ziemi

23.05.2021 22:23
6.10
Resurgence
0
Legionista

Kine -- Oczywiście, że jest znacznie przejrzystsza. Jest przegadana i zbyt rozwlekła, ale znacznie bardziej przejrzysta. Mylisz skrótowość z przejrzystością, co często pozostaje w totalnej wprost opozycji. Mogę Ci w jednej linijce napisac kod, który tobie zająłby z 20 (bawiąc się operacjami bitowymi), ale nikt przy zdrowych zmysłach nie powie, że to mój kod był bardziej przejrzysty.

Wpisz na yt: Creating a NES emulator in C++11 (PART 1/2), kanał bisqwit.

Można i tak :)

post wyedytowany przez Resurgence 2021-05-23 22:26:29
23.05.2021 22:30
6.11
Kine
13
Chorąży

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

23.05.2021 22:34
6.12
Resurgence
0
Legionista

Kine -- NIgdzie nie twierdziłem, że C++ jest przejrzyste. To bełkot. Wynika to jednak z dwóch zasadniczych przyczyn. 1. Historii i kompatybilności z C i poprzednimi wersjami języka 2. Złożoności zagadnień w jakich tego języka się używa.

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?

post wyedytowany przez Resurgence 2021-05-23 22:35:51
23.05.2021 22:42
6.13
Kine
13
Chorąży

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

post wyedytowany przez Kine 2021-05-23 22:44:24
23.05.2021 22:44
6.14
Resurgence
0
Legionista

Kine -- Nawiasy klamrowe, kolego są podstawą i nawet najwięksi zwolennicy Pythona którzy wiedzą o czym mówią potrafią to przyznać. Ewidentnie nigdy nie pisałes kodu, który przekroczyłby 1000 linijek, albo byłby jakkolwiek głębiej - z konieczności - zagnieżdżony syntaktycznie. Zers.... a nie na pythonie zrozumial o co w takim kodzie chodzi (dalsze poziomy zagnieżdżenia miałbyś parę podstron w prawo).

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?

post wyedytowany przez Resurgence 2021-05-23 22:47:35
23.05.2021 22:53
6.15
Kine
13
Chorąży

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

23.05.2021 22:56
6.16
Resurgence
0
Legionista

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.

post wyedytowany przez Resurgence 2021-05-23 23:00:57
23.05.2021 23:09
6.17
Kine
13
Chorąży

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.

post wyedytowany przez Kine 2021-05-23 23:13:57
23.05.2021 23:12
6.18
Resurgence
0
Legionista

Kine -- Wydaje mi się, że ze zdolności parsowania tekstu to raczej słynie Pearl, a większość językow ma od dawna bibliotek zarówno do konwertowania formatów jak i wbudowaną obsługe wyrażeń regularnych, które wystarczają do większości zastosowań. Od Javy specjalistą żadnym nie jestem (w ogóle specjalista nie jestem), ale wydaje mi się, że to język z wyjątkowym wprost ogromem bibliotek i api, i to w pełni profesjonalnych. Nie przypadkiem to najpopularniejszy język programowania świata.

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.

post wyedytowany przez Resurgence 2021-05-23 23:15:48
23.05.2021 23:31
6.19
Kine
13
Chorąży

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

post wyedytowany przez Kine 2021-05-23 23:32:52
24.05.2021 00:02
6.20
Kine
13
Chorąży
Wideo

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

24.05.2021 00:16
6.21
Resurgence
0
Legionista

Kine -- Ta, jasne. Słuchaj w dziesiejszych czasach, w ktorych więcej jest sekt wśrod informatyków, niż religijnych na świecie, losowych programistów i ich zdania. Póki dokładnie nie prześledzisz kim jest ten gość, jakie ma podstawy żeby coś takiego głosić (zajmowal się np. kiedykolwiek wykształceniem kogoś od podstaw do kariery?), jakie ma w tym profity potencjalnie, gdzie pracuje i czy przypadkiem jego firma nie promuje akurat jakichś rozwiązań, czy sam nie sprzedaje kursow, co pisał poza tym w sieci.... to nawet sie nie zabieraj za takich filozofów!

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

24.05.2021 09:30
6.22
Resurgence
0
Legionista

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

post wyedytowany przez Resurgence 2021-05-24 09:33:20
24.05.2021 13:46
6.23
Kine
13
Chorąży

Kondzio_one20 prawdopodobnie zapomniał o wątku - ale niech sam wybierze - teraz już do Pythona nie będę go przekonywał. Tak sobie myślę Resurgence, że masz takie zdanie bo nigdy nie pisałeś w Pythonie - jak byś trochę popisał to może miałbyś inne zdanie

22.05.2021 18:20
7
odpowiedz
Kine
13
Chorąży

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.

22.05.2021 19:07
8
odpowiedz
Kine
13
Chorąży

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.

24.05.2021 14:47
9
odpowiedz
Kine
13
Chorąży

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

Forum: Wciąż walczę z nauką podstaw 3ds Max i Unity.